apraksts uzdevumi suutiit jauns statuss rezultati helps apraksts

rezistor Pretestības 3 sek.


 Uzdevums

Pēteris Neuzmanīgais bija ļoti cītīgi sagatavojies fizikas kontroldarbam un iemācījies visu vajadzīgo teoriju, taču pieļāva neskaitāmas neuzmanības kļūdas un tādēļ saņēma nesekmīgu atzīmi. Skolotāja Sliktere ļāva Pēterim uzlabot atzīmi, izpildot papildus mājasdarbu, kurā Pēterim jāparāda savas zināšanas dažādu slēgumu kopējās pretestības noteikšanā. Pēteris ir izpildījis mājas darbu, taču baidās, ka atkal varētu būt pieļāvis neuzmanības kļūdas, tāpēc viņš lūdz uzrakstīt programmu, kas izrēķinātu doto slēgumu pretestību, lai viņš varētu tās iegūtos rezultātus salīdzināt ar savējiem.

Pēteris zina, ka pretestības mēra omos un to, ka, ja divas pretestības vai divus jau izveidotus slēgumus saslēdz virknē, tad to kopējo pretestību aprēķina, saskaitot abu saslēdzamo pretestību vai slēgumu pretestības: Rk = R1 + R 2. Savukārt, ja divas pretestības vai jau izveidotus slēgumus saslēdz paralēli, tad spēkā ir vienādība 1/Rk = 1/R1 + 1/R2.

Jūsu uzdevums - uzrakstīt datorprogrammu, kas aprēķina doto slēgumu pretestības.

 
 Ievaddati

Teksta faila rezistor.dat katra no rindiņām var būt kāda no sekojošiem tipiem:

  1. Pirmais simbols-identifikators ir “R”, pēc kura seko vesels skaitlis S (1 ≤ S ≤ 1 000 000). Šāda tipa rindiņa apraksta slēgumu, kuru veido viens pats rezistors, kura pretestība ir S omi.
  2. Pirmais simbols-identifikators ir “V”, pēc kura seko divi veseli skaitļi N1 un N2 (1 ≤ N1,N2 < Nc), kur N c ir šīs rindiņas numurs ievaddatu failā. Šāda tipa rindiņa apraksta slēgumu, kuru iegūst, virknē saslēdzot N1-ajā un N2-ajā rindiņā aprakstīto slēgumu kopijas.
  3. Pirmais simbols-identifikators ir “P”, pēc kura seko divi veseli skaitļi N1 un N2 (1 ≤ N1,N2 < Nc), kur Nc ir šīs rindiņas numurs ievaddatu failā. Šāda tipa rindiņa apraksta slēgumu, kuru iegūst, paralēli saslēdzot N1-ajā un N2-ajā rindiņā aprakstīto slēgumu kopijas.
  4. Pirmais un vienīgais simbols-identifikators ir “X”. Šī rindiņa apzīmē faila beigas un ir pēdējā rindiņa ievaddatu failā.
Simbols-identifikators un tam sekojošs skaitlis, kā arī katri divi blakusskaitļi failā atdalīti ar tukšumzīmi.

Ievaddatu failā būs ne vairāk kā 100 001 rindiņa.

 
 Izvaddati

Teksta failam rezistor.rez ir jāsatur par vienu rindiņu mazāk nekā ievaddatu failam. Katrā no tām jāizvada viens pozitīvs skaitlis - izvaddatu faila i-tajā rindiņā jāizvada ievaddatu faila i-tajā rindiņā aprakstītā slēguma pretestība omos. Rezultāti jāizvada ar tieši divām zīmēm aiz decimālā punkta, noapaļojot līdz simtdaļām. Zināms, ka neviena slēguma pretestība nebūs lielāka par 10 000 000 omu.

 
 Piemērs

rezistor.datrezistor.rez
R 2
P 1 1
P 1 2
V 3 3
V 1 3
X
2.00
1.00
0.67
1.33
2.67

 
 Atsauces
Uzdevums izmantots Latvijas 20. informātikas olimpiādes I (skolas) kārtā.

Drukāšanai

 

Copyright © 2001 Girts Folkmanis, LIIS