Programavimo pamokėlės

pamokelesm

Mokymų ciklas „Programavimo pamokėlės" skirtos visiems, kurie nori išmokti programuoti.

IT galvosūkiai

itgalvosukiai

Konkurso tikslas – skatinti moksleivius domėtis IT sprendžiant įvairiausius galvosūkius.

Informikas

informikasm

Konkurso tikslas – supažindinti moksleivius su menu informacinėse technologijose ir mūsų talismanu.

Dr. J. P. Kazicko konkursai

kkonkursai

Žemaitijos, Aukštaitijos, Suvalkijos ir Dzūkijos regionuose vykdomas IT konkursas.

       

Užduotis

gear

 

Pradinių duomenų failo detales_data.txt pirmoje eilutėje įrašytas bendrovės sandėlyje esančių detalių rūšių kiekis n (n < 1000). Likusiose n eilučių įrašyti duomenys apie kiekvieną detalę: triženklis detalės kodas (sveikasis skaičius), tos rūšies detalių skaičius (sveikasis skaičius), detalės vieneto kaina (realusis skaičius) ir brokuotų detalių kiekis (sveikasis skaičius).

Parašykite programą, skaičiuojančią:

  • kiek yra kiekvienos rūšies nebrokuotų detalių;
  • kiek kainavo kiekvienos rūšies nebrokuotos detalės;
  • kiek iš viso buvo brokuotų detalių;
  • kiek kainavo visos detalės (įskaitant ir brokuotas);
  • kiek procentų nuostolių patirs bendrovė dėl brokuotų detalių.

Skaičiavimų rezultatus išveskite į rezultatų failą detales_res.txt. Rezultatų faile turi būti: pirmosiose n eilučių: pradiniai duomenys, nebrokuotų detalių skaičius, nebrokuotų detalių kaina, visų detalių kaina (įskaitant ir brokuotas), po to išvedamas bendras brokuotų detalių skaičius, pinigų suma, kurią kainavo visos detalės ir kiek procentų nuostolių patirs bendrovė dviejų ženklų po kablelio tikslumu.

Pradiniai duomenys Rezultatai
3 123 12 1.20 5 7 8.40 14.40
123 12 1.20 5 213 15 2.30 9 6 13.80 34.50
213 15 2.30 9 415 14 3.21 2 12 6.42 44.94
415 14 3.21 2 16
  93.84
  30.50

Reikalavimai

  • Naudokite sveikųjų ir realiųjų skaičių masyvus: sveikųjų – kiekiams ir kodams, realiųjų – detalių kainoms saugoti.
  • Sukurkite pradinių duomenų skaitymo funkciją void. Joje į masyvus sudėkite detalių kodus, kiekius (visų ir brokuotų) ir detalės vieneto kainas.
  • Sukurkite funkciją void, kuri suformuotų: nebrokuotų detalių masyvą (sveikųjų skaičių masyvas) bei nebrokuotų ir visų detalių kainų masyvus (realiųjų skaičių).
  • Sukurkite detalių kainų sumos skaičiavimo funkciją, grąžinančią apskaičiuotą sumą per funkcijos vardą. Funkciją panaudokite atlikdami d ir e užduotis.
  • Sukurkite brokuotų detalių kiekio skaičiavimo funkciją, grąžinančią apskaičiuotą kiekį per funkcijos vardą. Funkciją panaudokite atlikdami c užduotį.
  • Rezultatų išvedimui į failą parašykite funkciją void.

Papildoma informacija

  • Lygis: 2
  • Taškai: 100
Į viršų