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.
Teksta faila rezistor.dat katra no rindiņām var būt kāda no sekojošiem tipiem:
Ievaddatu failā būs ne vairāk kā 100 001 rindiņa.
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.
rezistor.dat | rezistor.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 |