Paralelno vezani otpornici¶
Autor zadatka: Rade Radišić <radisic.rade@uns.ac.rs>
Dat je niz realnih brojeva od maksimalno 20 elemenata.
Učitati n
pozitivnih elemenata, gde svaka vrednost u nizu predstavlja otpornost jednog otpornika izraženu u omima.
Otpornosti mogu biti isključivo pozitivne, realne vrednosti.
Uneti putem standardnog ulaza napon U
, koja predstavlja realnu vrednost.
Otpornici su paralelno povezani i predstavljaju električno kolo.
Za paralelno vezane otpornosti iz niza izračunati i ispisati:
Ukupnu jačinu struje u električnom kolu.
Procentualni udeo struje koji protiče kroz prvi od potrošača u odnosu na ukupnu jačinu struje u električnom kolu.
Formirati novi niz u odnosu na ulazni, gde su pojedinačni elementi snage otpornika.
Ispise vrednosti zaokružiti na dve decimale.
Za ulazni niz otpornosti [1, 20, 15, 10, 6, 2.5]
i vrednost napona od 5
volti, očekivani ispis na standardnom izlazu je:
Unesite broj clanova niza: 6
R[0] = 1
R[1] = 20
R[2] = 15
R[3] = 10
R[4] = 6
R[5] = 2.5
Unesite jacinu napona u voltima: 5
Ukupna struja: 8.92A
Procentualni udeo struje: 56.07%
[25.00W, 1.25W, 1.67W, 2.50W, 4.17W, 10.00W]
Korisne matematičke formule
Otpornost između paralelno vezanih otpornika:
Omov zakon:
Džulov zakon:
Primer rešenja¶
1#include <stdio.h>
2#include <math.h>
3
4#define MAX_SIZE 20
5
6int main() {
7 double R[MAX_SIZE];
8 int i, n;
9
10 do {
11 printf("Unesite broj clanova niza: ");
12 scanf("%d", &n);
13 } while(n <= 0 || n > MAX_SIZE);
14
15 for(i = 0;i < n;i++) {
16 do {
17 printf("R[%d] = ", i);
18 scanf("%lf", &R[i]);
19 } while(R[i] <= 0);
20 }
21
22 double U;
23
24 printf("Unesite jacinu napona u voltima: ");
25 scanf("%lf", &U);
26 printf("\n");
27
28 double ukupna_otpornost, ukupna_provodnost = 0, ukupna_struja;
29
30 for(i = 0;i < n;i++) {
31 ukupna_provodnost += 1 / R[i];
32 }
33 ukupna_otpornost = 1 / ukupna_provodnost;
34
35 ukupna_struja = U / ukupna_otpornost;
36 printf("Ukupna struja: %.2lfA\n", ukupna_struja);
37
38 double otpornost_ostalih, provodnost_ostalih = 0, struja_prvog, procenat;
39
40 for(i = 1;i < n;i++) {
41 provodnost_ostalih += 1 / R[i];
42 }
43 otpornost_ostalih = 1 / provodnost_ostalih;
44
45 struja_prvog = otpornost_ostalih / (otpornost_ostalih + R[0]) * ukupna_struja;
46 procenat = struja_prvog / ukupna_struja * 100;
47
48 printf("Procentualni udeo struje: %.2lf%%\n", procenat);
49
50 double P[MAX_SIZE];
51
52 for(i = 0;i < n;i++) {
53 P[i] = pow(U, 2) / R[i];
54 }
55
56 printf("[");
57 for(i = 0;i < n;i++) {
58 if(i > 0) {
59 printf(", ");
60 }
61 printf("%.2lfW", P[i]);
62 }
63 printf("]\n");
64
65 return 0;
66}
67