You are on page 1of 86

Kauno technologijos universitetas

Informatikos fakultetas

Programavimo pamokls
2013-2014 m.m. uduoi rinkinys

Uduotis reng: Daina Ardzeviit, Aivaras iurlionis, Vytautas Grigeleviius,


Andrius Ragelis, Egidijus ivinskas, Kstutis Vakeviius, Darius Matulis, Jrat
Gimbutien, Neringa Valeikien, Gintar Bernotaityt, Egl Mickeviit,
Albertas Dinda, Irma Laauskien, Renata Burbait
Turinys
1. Tiesiniai algoritmai ................................................................................................................... 6
1. Pamoka. ................................................................................................................................... 6
2. Akvariumas. ............................................................................................................................. 6
3. Taupykl. ................................................................................................................................. 6
4. Automobilis.............................................................................................................................. 6
5. Statybininkas. .......................................................................................................................... 7
6. Trapecijos plotas. .................................................................................................................... 7
7. Puodeli pakavimas. ............................................................................................................... 7
8. Keltas....................................................................................................................................... 7
9. Gimtadienis. ............................................................................................................................ 8
10. Mariaus saldainiai. ............................................................................................................... 8
2. akotieji algoritmai ................................................................................................................... 8
1. Paraiutininkas........................................................................................................................ 8
2. Didioji kdrin varl.............................................................................................................. 9
3. Matematika. ............................................................................................................................. 9
4. Bandels. ................................................................................................................................. 9
5. Geriausia klas. ..................................................................................................................... 10
6. iemojantys paukiai. .......................................................................................................... 10
7. Jonuko problema. .................................................................................................................. 10
8. Skaiiai. ................................................................................................................................. 11
3. Cikliniai algoritmai. inomo kartojim skaiiaus ciklas .................................................... 11
1. Konkursas. ............................................................................................................................. 11
2. Kelias mokykl. ................................................................................................................... 11
3. Snaigs u lango. ................................................................................................................... 12
4. Kaldins egluts................................................................................................................... 12
5. Draug skaiiai. .................................................................................................................... 13
6. Kauliukai. .............................................................................................................................. 13
7. uoliai per virvut. ................................................................................................................ 14
8. Bgimo varybos. .................................................................................................................. 14
9. Pirkiniai................................................................................................................................. 15
4. Cikliniai algoritmai. Neinomo kartojim skaiiaus ciklas ................................................ 15
1. Voveryt. ................................................................................................................................ 15
2 Degalai. .................................................................................................................................. 15
3. Saldainiai. ............................................................................................................................. 16
4. Knyga. ................................................................................................................................... 16
5. Kurjeris.................................................................................................................................. 16
6. Skaiiuotuvas......................................................................................................................... 17
7. Karnavalas. ........................................................................................................................... 17
8. Atvirukai. ............................................................................................................................... 18
5. Skaitymas i failo. Raymas fail......................................................................................... 18
1. Bendrabutis. .......................................................................................................................... 18
2. Piramids. ............................................................................................................................. 19
3. Viiukai. ............................................................................................................................... 20
4. aidimo kauliukas ................................................................................................................. 20
5. Vjo jgain ........................................................................................................................... 21

2
6. Ciklas cikle............................................................................................................................... 21
1. Skaii dalyba. ...................................................................................................................... 21
2. Udavini sprendimo varybos. ............................................................................................ 21
3. Automobili lenktyns. .......................................................................................................... 22
4. Kauliukai. .............................................................................................................................. 23
5. Beveik tobulieji skaiiai. ....................................................................................................... 23
7. akotieji ir cikliniai algoritmai .............................................................................................. 24
1. Temperatra. ......................................................................................................................... 24
2. LEGO robotas. ...................................................................................................................... 25
3. Keliautojai. ............................................................................................................................ 26
4. Lenktyns. .............................................................................................................................. 26
5. Keli eismo taisykls. ............................................................................................................ 26
8. Funkcija, grinanti apskaiiuot reikm per funkcijos vard ........................................ 27
1. Skaitymas............................................................................................................................... 27
2. Plytels. ................................................................................................................................. 27
3. Trikampio plotas. .................................................................................................................. 28
4. Laimingi bilietai. ................................................................................................................... 28
5. Taupymas. ............................................................................................................................. 28
6. Mobilusis telefonas isimoktinai.......................................................................................... 29
7. Kelion. ................................................................................................................................. 30
8. Kodavimas. ............................................................................................................................ 31
9. Funkcija su parametrais-nuorodomis ................................................................................... 32
1. Biliet kaina. ......................................................................................................................... 32
2. Kelion. ................................................................................................................................. 32
3. Lyginumas. ............................................................................................................................ 33
4. Gamyba. ................................................................................................................................ 34
5. Dieta. ..................................................................................................................................... 34
6. Skrajuts. ............................................................................................................................... 35
7. Paprastoji trupmena.............................................................................................................. 36
10. Masyvai. Veiksmai su masyv elementais. Sumos, kiekio, vidurkio skaiiavimas ......... 37
1. Avalyns parduotuv. ............................................................................................................ 37
2. Moligai. ............................................................................................................................... 38
3. Taupymas. ............................................................................................................................. 38
4. Varybos. ............................................................................................................................... 40
5. Balsavimas. ........................................................................................................................... 42
6. Svetains populiarumas......................................................................................................... 42
7. Geografijos kontrolinio darbo paymi pasiskirstymas........................................................ 43
11. Masyvai. Didiausios ir maiausios reikmi paieka ....................................................... 44
1. Dailusis iuoimas................................................................................................................. 44
2. Indliai. ................................................................................................................................. 44
3. Teleloto. ................................................................................................................................. 45
4. Pinig keitimas. ..................................................................................................................... 46
5. Mokini giai. ....................................................................................................................... 47
6. Autobuso vairuotojo darbo ir poilsio reimas. ..................................................................... 48

3
12. Masyvo element alinimas ir terpimas............................................................................. 49
1. Informacini technologij konkursas. ................................................................................... 49
2. Komanda. .............................................................................................................................. 50
3. algirio komandos 2013/2014 met sezonas. ....................................................................... 51
4. Parduotuv. ........................................................................................................................... 51
13. Dvimatis masyvas .................................................................................................................. 52
1. Didiausio ir maiausio element minimali suma. ............................................................... 52
2. Matematikos kontroliniai darbai........................................................................................... 53
3. Sandaugos striainse. ......................................................................................................... 53
4. Magikasis kvadratas. ........................................................................................................... 54
5. Laiv mis............................................................................................................................ 55
14. vairs udaviniai, kuriuose naudojamas masyvo duomen tipas ................................... 56
1. Slpyns. ................................................................................................................................ 56
2. Pakuots. ............................................................................................................................... 56
3. Informacijos ifravimas. ........................................................................................................ 57
4. Televizijos laidos reitingas. ................................................................................................... 59
5. Automobiliai. ......................................................................................................................... 60
15. Simboliai ................................................................................................................................ 61
1. Balss A ir E. ......................................................................................................................... 61
2. Linksmas sukeitimas. ............................................................................................................. 61
3. Kodavimas. ............................................................................................................................ 62
4. Kentauras. ............................................................................................................................. 62
5. Bdvardi linksniuots. ....................................................................................................... 63
16. Simboli eiluts ..................................................................................................................... 64
1. odi paieka. ...................................................................................................................... 64
2. Simboli eiluts: Skirtingi Simboliai. .................................................................................... 64
3. odiai palindromai. ............................................................................................................. 65
4. Kaldin Eglut. .................................................................................................................... 66
5. Olimpins plaukimo varybos. .............................................................................................. 67
17. Struktros (raai). Struktr (ra) masyvai .................................................................. 68
1. Oro temperatros matavimai. ............................................................................................... 68
2. noringiausia princes........................................................................................................... 69
3. Padang ymjimas. .............................................................................................................. 69
18. Veiksmai su struktr (ra) masyv elementais ............................................................. 70
1. Prekyba elektronikos prekmis.............................................................................................. 70
2. Gimtadieniai. ......................................................................................................................... 71
3. Mokini vidurkiai. ................................................................................................................. 72
4. viesuoli miestelio skaitytojai. ............................................................................................ 73
19. Struktr (ra) masyv element rikiavimas ................................................................. 74
1. Populiariausios programavimo kalbos. ................................................................................ 74
2. domiausi filmai..................................................................................................................... 75
3. Skaniausi saldainiai. ............................................................................................................. 76
4. Geriausi draugai. .................................................................................................................. 77
20. Struktr (ra) masyv element alinimas ................................................................... 78
1. Prekyba buitine technika. ...................................................................................................... 78
2. Registracija. .......................................................................................................................... 79
3. Muzikos album parduotuv. ................................................................................................ 80
4
21. vairs udaviniai su struktr (ra) masyvais .............................................................. 82
1. Buto paieka. ......................................................................................................................... 82
2. Programuotoj klas. ............................................................................................................ 82
3. Krepinis................................................................................................................................ 83
4. Orientacinio sporto varybos. ............................................................................................... 85

5
1. Tiesiniai algoritmai

1. Pamoka. Paraykite program, kuri padt Petriukui suskaiiuoti, kiek pamok jis turi per
savait ir kiek tai sudarys minui. Klaviatra vedami 5 skaiiai, reikiantys kiekvienos dienos
pamok skaii.

Duomenys Rezultatai
Kiek pamok yra pirmadien? 5 Pamok skaiius: 24
Kiek pamok yra antradien? 6 Tai sudaro minui: 1080
Kiek pamok yra treiadien? 4
Kiek pamok yra ketvirtadien? 5
Kiek pamok yra penktadien? 4

2. Akvariumas. Akvariume gyvena a uv. Kiekvien dien Petriukas akvarium deda b


uv. Paraykite program, kuri suskaiiuot kiek i viso bus uv po n dien. Rezultat reikia
ivesti su paaikinamaisiais odiais.

Duomenys Rezultatai
Kiek uv gyvena akvariume? 5
Kiek uv akvarium dedama kiekvien Po 3 dien akvariume gyvens 14
dien? 3 uv.
Kiek dien prajo? 3

3. Taupykl. Jonas turi kiaul taupykl, kurioje yra a monet po 5 ct, b monet po 20 ct ir c
monet po 2 Lt. Kitokios verts monet taupyklje nra. Paraykite program, kuri
suskaiiuot, kiek pinig kiaulje taupyklje i viso turi Jonas. Atsakym pateikite litais, pvz.:
kai taupyklje yra 12 monet po 5 ct, 5 monetos po 20 ct ir 6 monetos po 2 Lt, tuomet ekrane
turi bti rodoma: Taupyklje yra 13.60 Lt.

Duomenys Rezultatai
Kiek yra monet po 5 ct? 5 Taupyklje yra 6.25 Lt.
Kiek yra monet po 20 ct? 0
Kiek yra monet po 2 Lt? 3

4. Automobilis. Automobili tunelio po Nepriklausomybs aikte Vilniuje ilgis lygus 264 m.


Paraykite program, kuri apskaiiuot, kelias sekundes s automobilis vaiuoja iuo tuneliu, jei
jo greitis yra v km/h? Rezultatus pateikite imtj tikslumu.
Duomenys Rezultatai
Koks automobilio greitis? 60 Automobilis tunel pravaiuos per 15.84 s

6
5. Statybininkas. Statybininkui reikia pastatyti sien, kurios ilgis yra a metr, o auktis h metr
(a ir h sveikieji skaiiai). Kiek reiks plyt, kuri ilgis 20 cm, o auktis 10 cm ir kiek kainuos
plytos, jeigu vienos plytos kaina k Lt. Pinig sum pateikti imtj tikslumu.
Duomenys Rezultatai
Sienos ilgis 4 m Plyt kiekis: 600
Sienos auktis 3 m Plytos kainuos 300.00 Lt
Plytos kaina 0.5 Lt

6. Trapecijos plotas. Paraykite program, kuri, vedus trapecijos pagrind a ir b bei auktins
h ilgius, apskaiiuot trapecijos plot.
Duomenys Rezultatai
Trapecijos ilgesniojo pagrindo ilgis: 5 Trapecijos plotas: 16
Trapecijos trumpesniojo pagrindo ilgis: 3
Trapecijos auktins ilgis: 4

7. Puodeli pakavimas. vien kartonin dut telpa trys puodeliai. Pakuotojas uklijuoja
dut ir isiunia j parduotuv, jei ji pilna. I viso reikia supakuoti m puodeli. Paraykite
program, kuri apskaiiuot, kelios bus pilnos duts ir kiek puodeli liks nesupakuota.

Duomenys Rezultatai
Puodeli, kuriuos reikia Piln dui skaiius: 2
supakuoti, skaiius: 7 Nesupakuot puodeli skaiius: 1

8. Keltas. Paraykite program, kuri suskaiiuot, kelis kartus keltui teks kelti per up k
automobili, jeigu vienu metu jis gali perkelti m automobili. Keltas kelia tik tada, kai yra
pilnas (susidaro m automobili.) Taip pat iveskite automobili skaii, kuriems persikelti per
up nepavyks (jei buvo 11 automobili, o kelt telpa 10, tai 10 perkels, o vienas liks
neperkeltas).
Duomenys Rezultatai
Automobili skaiius: 27 Perkels per kart: 2
kelt telpa automobili: 10 Liks neperkelta: 7

7
9. Gimtadienis. Tautvydas rengia gimtadienio vent. Nordamas pavaiinti sveius, jis ikep
a sausaini. Prasidjus ventei, jis pastebjo, kad dar b draug ikep lygiai tiek pat sausaini
kaip ir jis, ir atsine gimtadien. ventje i viso dalyvavo c moni (skaitant ir pat
jubiliat). Nordamas, kad nei vienas nelikt nuskriaustas, Tautvydas sausainius visiems
sveiams padalijo po lygiai ir, kadangi iandien jo gimtadienis, likusius po dalyb nusprend
pasilikti sau. Paraykite program, kuri apskaiiuot, po kiek sausaini gavo kiekvienas
gimtadienio dalyvis ir kiek papildomai sausaini atiteko Tautvydui.

Duomenys Rezultatai
Kiek sausaini ikep Tautvydas? 20 Kiekvienas vents dalyvis gavo
Keli draugai dar atsine po tiek pat po 4 sausainius
sausaini? 4 Tautvydui papildomai atiteko 4
Kiek moni i viso dalyvavo ventje? sausainiai
24

10. Mariaus saldainiai. Marius kiekvien dien gauna po n saldaini. Jis suvalgo po a
saldaini, o likusius kaupia Kald dovanoms. Kai Marius pradjo kaupti saldainius, iki Kald
buvo lik k dien. Paraykite program, kuri suskaiiuot keliems draugams d Marius gals
paruoti kaldinius saldaini rinkinius, jei kiekviename rinkinyje bus po a saldaini ir kiek
saldaini s liks supakavus dovanas.

Duomenys Rezultatai
Kiek saldaini gauna Marius? 15 Marius dovanas paruo 60 draug.
Po kiek saldaini suvalgo? 4 Supakavus dovanas liks 2 saldainiai.
Kelios dienos liko iki Kald? 22

2. akotieji algoritmai

1. Paraiutininkas. Paraiutininkas oka i h metr aukio. Vos ioks, ikart pradeda skleisti
paraiut, kuris iki galo isiskleidia per t sekundi. Paraykite program, kuri apskaiiuot, ar
paraiutas sps isiskleisti prie paraiutininkui pasiekiant em. Laikas, per kur objektas
2h
nukrenta i aukio h randamas pagal formul: t = . ia g - laisvojo kritimo pagreitis, kuris
g
yra lygus 9.8 m/s2.
Pavyzdiui, vedus tokius pradinius duomenis, ekran turt bti ivedami rezultatai:
I kokio aukio oka paraiutininkas? 200 Paraiutas isiskleis
Per kiek sekundi isiskleidia jo
paraiutas? 2

I kokio aukio oka paraiutininkas? 50.9 Paraiutas neisiskleis


Per kiek sekundi isiskleidia jo
paraiutas? 3.3

8
2. Didioji kdrin varl. Didioji kdrin varl beuodegis varliagyvis. Ji sveria m gram (m -
realusis skaiius). Mokslininkai, tyrinjantys didisias kdrines varles, nusprend n varli
stebti. Jei stebimos varls svers daugiau kaip 5 kilogramus, ekrane turi bti rodomas praneimas
,,Varli stebjimui pakanka, jei maiau ,,Varli stebjimui per maai.
Kiek sveria varl? 100 Varli stebjimui pakanka
Kiek varli norima stebti? 1000

Kiek sveria varl? 75 Varli stebjimui per maai


Kiek varli norima stebti? 50

3. Matematika. Petriukas per pusmet gavo 5 matematikos paymius. Mokytoja nusprend


padaryti vaikams staigmen: mokiniai, kuri paymi vidurkis yra didesnis u 9, gaus tris
saldainius, o mokiniams, kuri vidurkis yra tarp 7 ir 9, skaitant intervalo galus, bus apdovanoti
dviem saldainiais. Visi likusieji gaus po vien saldain.
Paraykite program, kuri pagal vestus Petriuko paymius apskaiiuot, kiek saldaini jis
gaus.

Kokius paymius gavo Petriukas? 8 9 6 Petriukas gaus du saldainius


5 10

Kokius paymius gavo Petriukas? 10 10 Petriukas gaus tris saldainius


8 9 10

Kokius paymius gavo Petriukas? 5 5 4 Petriukas gaus vien saldain


5 5

4. Bandels. Julius, grs i mokyklos namo, rado tok mamos ratel:


Nueik parduotuv ir nupirk bandeli su varke.
Jei viena bandel kainuos ne daugiau kaip a Lt, nupirk n1 bandeli;
Jei daugiau nei a, bet maiau nei b, nupirk n2 bandeli;
O jei kainuos b arba daugiau, negu b - n3 bandeli.
Nujs parduotuv, Julius pamat, kad bandel kainuoja k Lt.
Paraykite program, kuri apskaiiuot, kiek pinig u bandeles sumoks Julius.
(a visada maiau nei b).
Pavyzdiui, ekrane vedus tokius duomenis, turt bti ivedami tokie rezultatai:
veskite kainas a ir b: 1.50 1.70 U bandeles bus sumokta: 3.90 Lt.
veskite kiekius n1, n2, n3: 3 2 1
veskite bandels kain: 1.30

veskite kainas a ir b: 1.50 1.70 U bandeles bus sumokta: 3.20 Lt.


veskite kiekius n1, n2, n3: 3 2 1
veskite bandels kain: 1.60

veskite kainas a ir b: 1.50 1.70 U bandeles bus sumokta: 2.05 Lt.


veskite kiekius n1, n2, n3: 3 2 1
veskite bandels kain: 2.05

9
5. Geriausia klas. Giraits mokykloje yra keturios deimtos klass: a, b, c ir d. Direktorius
atlieka analiz, nori surasti geriausiai besimokani deimtok klas, pasiirti, keliais balais
kiekvienos kitos klass vidurkis yra maesnis u geriausiai besimokanios klass vidurk.
Paraykite program, kuri surast, koks yra didiausias vidurkis ir keliais balais skiriasi likusi
klasi vidurkiai nuo geriausiai besimokanios klass vidurkio.

veskite klasi vidurkius: 7 8.5 Didiausias vidurkis: 9


9 6 Kit klasi vidurkiai skiriasi: 2, 0.5,
3

veskite klasi vidurkius: 7 8 Didiausias: 9.5


9.5 6 Kit klasi vidurkiai skiriasi: 2.5,
1.5, 3.5

6. iemojantys paukiai. Gamtininkas registruoja likusius iemoti paukius. Jo tikslas yra


nustatyti, kurios i trij pauki ri atstov liko iemoti daugiausia. Klaviatra vedami trij
pauki ri kiekiai, paraykite program, kuri surikiuot juos i eils nuo didiausio iki
maiausio ir apskaiiuot, kiek skiriasi didiausias ir maiausias kiekiai.

veskite kiek kiekvienos ries 1800


pauki liko iemoti: 1500
1000 1500 1800 1000
Skirtumas tarp didiausio ir maiausio
kiekio: 800

veskite kiek kiekvienos ries 6200


pauki liko iemoti: 5000
5000 3500 6200 3500
Skirtumas tarp didiausio ir maiausio
kiekio: 2700

7. Jonuko problema. Jonukas ino, kad mokytoja jam gali duoti sprsti vien i trij kontrolinio
darbo variant. Atlikdamas uduot jis gaus du skaiius a ir b, o jam reiks apskaiiuoti x
reikm pagal vien i trij formuli.
Pirmas variantas: x = ab+3;
Antras variantas: x = a+b;
Treias variantas: x = a-b.
Paraykite program, kuri padt Jonukui pasitikrinti, ar jis teisingai skaiiuoja x reikm
sprsdamas kiekvieno varianto uduot.

veskite uduoties variant. 1 Atsakymas: x = 13


veskite a reikm. 5
veskite b reikm. 2

veskite uduoties variant. 2 Atsakymas: x = 2


veskite a reikm. 5
veskite b reikm. 2

10
veskite uduoties variant. 3 Atsakymas: x = -1
veskite a reikm. 2
veskite b reikm. 3

8. Skaiiai. Per matematikos pamok teko nustatyti, kurie i duotj teigiam skaii a, b ir c
yra skaiiaus trys kartotiniai. Jei yra keli, reikia ivesti pirm rast, jeigu nra nei vieno, reikia
ivesti - nra.
Paraykite program, sprendiani udavin.

veskite a reikm. 5 Atsakymas: 3


veskite b reikm. 2
veskite c reikm. 3

veskite a reikm. 6 Atsakymas: 6


veskite b reikm. 3
veskite c reikm. 7

veskite a reikm. 1 Atsakymas: nra


veskite b reikm. 2
veskite c reikm. 5

3. Cikliniai algoritmai. inomo kartojim skaiiaus ciklas

1. Konkursas. Restorano ,,Skanu" vadybininkas sugalvojo surengti konkurs lankytojams, kurio


metu galima laimti markinlius su restorano logotipu. Visi lankytojai kartu su sskaita gauna
po vien kortel, ant kurios paraytas sveikasis teigiamas skaiius i intervalo [a;b] (a
intervalo pradia, b intervalo pabaiga). Laimi tie lankytojai, kuri kortelse raytas skaiius
dalijasi i 6. Paraykite program, kuri apskaiiuot, kiek markinli reikia usakyti restorano
vadybininkui.

Duomenys Rezultatai
veskite intervalo pradi: 5 Reikaling markinli skaiius: 4
veskite intervalo pabaig: 24

veskite intervalo pradi: 31 Reikaling markinli skaiius: 5


veskite intervalo pabaig: 62

2. Kelias mokykl. Kiekvien dien Petriukas, eidamas mokykl, skaiiuoja kiekvien savo
ingsn ir aidia tok aidim: kai ingsni skaiius baigiasi nuliu, Petriukas suploja rankomis, o
kai penketu - spragteli pirtais. Paraykite program, kuri suskaiiuot, kiek kart Petriukas
suplos rankomis ir kiek spragtels pirtais, jei jam iki mokyklos yra lygiai n ingsni.

11
Duomenys Rezultatai
veskite ingsni kiek iki mokyklos: 15 Suplojim bus: 1
Spragteljim bus: 2

veskite ingsni kiek iki mokyklos: 426 Suplojim bus: 42


Spragteljim bus: 43

3. Snaigs u lango. Per atostogas Simas turjo daugiau laisvo laiko ir nutar suskaiiuoti, kiek
sningant po jo namo langu nukrenta snaigi. Jis pastebjo, kad kiekvien kit sekund nukrenta
dvigubai daugiau snaigi, nei prie tai buvusi. Paraykite program, skaiiuojani kiek snaigi
s bus nukrit per n sekundi, kai per pirmj sekund nukrito k snaigi.

Duomenys Rezultatai
veskite, kiek snaigi nukrito per pirmj sekund ir kiek 35
sekundi snigo: 5 3

veskite, kiek snaigi nukrito per pirmj sekund ir kiek 30


sekundi snigo: 2 4

4. Kaldins egluts. Prie Kaldas miko urdijos prekiauja vairaus aukio eglutmis.
prekybos viet atveta n eglui. J aukiai yra e1, e2, , en. Paraykite program,
skaiiuojani vidutin egluts aukt.

Duomenys Rezultatai
Kiek eglui atveta? 6 Egluts aukio vidurkis: 155.5 cm
veskite 1 egluts aukt: 167
veskite 2 egluts aukt: 134
veskite 3 egluts aukt:: 145
veskite 4 egluts aukt: 156
veskite 5 egluts aukt: 155
veskite 6 egluts aukt: 176

12
5. Draug skaiiai. 10 draug sugalvojo po vien skaii iki 100 ir juos ura ant korteli.
Paraykite program, surandani keli draugai sugalvojo lyginius skaiius. Jeigu toki skaii
bus, ekrane turi bti rodomas j kiekis, prieingu atveju ekrane turi bti rodomas odis Nra.

Duomenys Rezultatai
veskite draug sugalvotus Atsakymas: 4
skaiius:
2
9
4
100
25
5
6
3
5
85

veskite draug sugalvotus Atsakymas: Nra


skaiius:
5
3
99
55
35
47
11
63
51
91

6. Kauliukai. Tomas dalyvauja loterijoje. Jis meta n standartini loimo kauliuk (ant j sieneli
skaiiai nuo 1 iki 6). Kiekvieno skaiiaus ikritimo tikimyb yra vienoda. Loterija laimima tada,
jei Tomo irident skaii suma yra didesn nei pus visos galimos tak sumos. Paraykite
program, kuri nustatyt:
koks maksimalus tak kiekis;
kiek i viso tak surinko Tomas;
koks jo surinkt tak vidurkis
ar berniukas laimjo loterijoje.
Pradiniai duomenys kauliuk kiekis n ir iridentas kiekvieno kauliuko skaiius.
Duomenys Rezultatai
veskite kauliuk kiek: 4 I viso buvo galima surinkti tak:
1-o kauliuko tak kiekis: 5 24
2-o kauliuko tak kiekis: 3 Tomas i viso surinko: 11 tak
3-o kauliuko tak kiekis: 2 Jo tak vidurkis: 2.8
4-o kauliuko tak kiekis: 1 Loterija pralaimta.

13
veskite kauliuk kiek: 7 I viso buvo galima surinkti tak:
1-o kauliuko tak kiekis: 6 42
2-o kauliuko tak kiekis: 6 Tomas i viso surinko: 30 tak
3-o kauliuko tak kiekis: 2 Jo tak vidurkis: 4.3
4-o kauliuko tak kiekis: 2 Loterija laimta.
5-o kauliuko tak kiekis: 5
6-o kauliuko tak kiekis: 4
7-o kauliuko tak kiekis: 5

7. uoliai per virvut. Kazys ir Onut tikra komanda: Kazys padeda Onutei ruotis sporto
rungiai, kurioje Onut okinja per virvut. Ji kartoja uoliukus m kart ir pirmuoju bandymu
atlieka k1, antruoju k2, ..., m-tuoju km uoliuk. Paraykite program, kuri padt Kaziui
suskaiiuoti, kiek kart i viso Onut peroko per virvut ir koks vidutinis vienu bandymu atlikt
uoliuk skaiius.
Duomenys Rezultatai
Kiek kart okinjo:3 I viso: 90
Kiek suokinjo kart 1 bandymu: 20 Vidutinikai: 30
Kiek suokinjo kart 2 bandymu: 40
Kiek suokinjo kart 3 bandymu: 30

Kiek kart okinjo:2 I viso: 30


Kiek suokinjo kart 1 bandymu: 10 Vidutinikai: 15
Kiek suokinjo kart 2 bandymu: 20

8. Bgimo varybos. Varybose dalyvauja n bgik. Pirmasis bgikas veik distancij per k1
sekundi, antrasis per k2, ..., n-tasis per kn. Paraykite program, surandani, kuris bgikas
veik distancij greiiausiai (ispausdinti bgiko laik) ir keliomis sekundmis jis buvo
greitesnis u vidutinikai bgus bgik.
Duomenys Rezultatai
Kiek dalyvavo bgik: 3 Greiiausio bgiko laikas: 32 sek.
veskite 1 bgiko laik: 25 Jis buvo 7 sek geresnis u vidurk.
veskite 2 bgiko laik: 20
veskite 3 bgiko laik: 32

Kiek dalyvavo bgik: 4 Greiiausio bgiko laikas: 20 sek.


veskite 1 bgiko laik: 22 Jis buvo: 3 sek geresnis u vidurk.
veskite 2 bgiko laik: 20
veskite 3 bgiko laik: 25
veskite 4 bgiko laik: 25

14
9. Pirkiniai. Mama liep Petriukui nupirkti n pirkini. Kiekvienas pirkinys turi savo kain
(centais) ir svor (gramais). Petriukas gali paneti tik iki 5 kg. Paraykite program, kuri
suskaiiuot, kiek vidutinikai kainuoja vienas pirkinys, ir ar Petriukas gals parneti visus
pirkinius i parduotuvs.

Duomenys Rezultatai
Kiek buvo pirkini: 2 Pirkinio vidutin kaina: 8 Lt 80 ct.
veskite 1 pirkinio kain ir svor: Petriukas gals parneti pirkinius.
105 2000
veskite 2 pirkinio kain ir svor:
1655 2550

Kiek buvo pirkini: 2 Pirkinio vidutin kaina: 13 Lt 80


veskite 1 pirkinio kain ir svor: ct.
105 3000 Petriukas negals parneti pirkini.
veskite 2 pirkinio kain ir svor:
2655 2550

4. Cikliniai algoritmai. Neinomo kartojim skaiiaus ciklas

1. Voveryt. Per vasar voveryt sukaup X rieutli. Prasidjus iemai voveryt kartu su savo
V voveriuk sugrauia pusryiams, pietums ir vakarienei po vien rieut kiekvienas.
Apskaiiuokite, kelioms dienoms K voverytei su voveriukais uteks sukaupt rieut.
Patikrinkite, ar rieut uteks visai iemai, jeigu iema trunka 92 dienas.

Duomenys Rezultatai
Sukauptas rieut kiekis X =900 Rieut sukaupta 99 dienoms
Voveriuk skaiiusV=2 Rieut uteks visai iemai

Sukauptas rieut kiekis X =800 Rieut sukaupta 66 dienoms


Voveriuk skaiius V=3 Rieut neuteks visai iemai

2 Degalai. eima isireng kelion automobiliu. Jie pripild kuro bak, kurio talpa t litr ir
nusprend vaiuoti tol, kol bake bus degal. Lyginmis kelions dienomis automobilis suvartos n
litr degal, o nelyginmis - 2n litr. Paraykite program, kuri surast, kiek dien truks eimos
kelion.

Duomenys Rezultatai
veskite kuro bako talp: 20 Keliauti bus galima 3 dien/(as)/().
veskite kuro snaudas n: 5

veskite kuro bako talp: 112 Keliauti bus galima 7 dien/(as)/().


veskite kuro snaudas n: 11

15
3. Saldainiai. Petriukas gavo n saldaini. Kiekvien dien jis nori suvalgyti skirting skaii
saldaini x. Kelias dienas Petriukas gals mgautis saldainiais ir kiek jam dar liks nesuvalgyt
saldaini tuo atveju, jei paskutinei dienai saldaini nebeutekt.
Pastaba: kiekvien dien suvalgomi saldainiai turi bti vedinjami atskirai, jie turi bti
vedinjami tol, kol Petriukas nebus suvalgs vis saldaini.

Duomenys Rezultatai
Petriukas gavo saldaini: 25 Petriukui saldaini uteks 3 dienoms
Per dien suvalg: 7 ir jam liks 3 saldainiai.
Per dien suvalg: 7
Per dien suvalg: 8
Per dien suvalg: 5

4. Knyga. Tadas mgsta skaityti knygas, taiau jam labai sunku pradti skaityti. Knygoje yra m
skyri Pirm dien Tadas perskait 1 skyri, antr 2, trei 3 ir t.t. Kiekvien kit dien jis
perskaito vienu skyriumi daugiau, negu prie tai buvusi dien. Programa turi apskaiiuoti, per
kelias dienas d Tadas perskaitys vis knyg ir kelis skyrius s vidutinikai per dien perskaito
Tadas. Paskutinei dienai gali likti maiau skyri.

Duomenys Rezultatai
veskite knygos skyri Tadas vis knyg perskaitys per 4 dienas (-).
skaii: 8 Tadas vidutinikai per dien perskait 2 skyrius
(-).

veskite knygos skyri Tadas vis knyg perskaitys per 6 dienas (-).
skaii: 17 Tadas vidutinikai per dien perskait 2.83
skyrius (-).

5. Kurjeris. Siunt perveimo monje dirbantis kurjeris gavo uduot parengti perveim
statistik:
1. kiek vykd usakym, kuri suma virijo 100 Lt;
2. u koki vidutin sum per dien iveiojo preki;
3. kiek i viso preki iveiojo.
Jis neino, kiek usakym vykdys per dien, todl baigs darb program ves nul (0), tai
reik, kad darbo diena baigta ir reikia pateikti rezultatus. Parenkite program, kuri leist
neinom skaii kart kurjeriui vesti usakymo sum (skaiiavimai baigiami vedus nul, nulis
skaiiuojant vidurk ir kiek nebus pridtas) ir pateikt skaiiavim rezultatus.

Duomenys Rezultatai
veskite sum: 1. 1
110 2. 80
80 3. 3
50
0

16
veskite sum: 1. 2
60 2. 125
90 3. 4
150
200
0

6. Skaiiuotuvas. Danut dirba buhaltere, todl jai kartais reikia atlikti aritmetinius skaiiavimus
su dideliais skaii kiekiais. Ji skundiasi, kad sunku ir nepatogu daug kart spaudinti
skaiiuotuvo klavius, todl ji papra Js, kad paraytumte program, kurios pradioje
pakakt vesti aritmetinio veiksmo simbol, ir bt galima vedinti skaiius, su kuriais bus
atliekama ta operacija, operacijos pabaiga ufiksuojama vedus nul.
Pavyzdiui, Danut isirenka sumos skaiiavimo operacij, tada vedinja skaiius, juos reikia
sumuoti tol, kol ves nul, tada baigti skaiiavim ir pateikti rezultat.
Reikia sukurti skaiiuotuv tokiems veiksmams atlikti: suma - 1, atimtis - 2, daugyba - 3,
didiausia reikm sraute - 4, maiausia reikm sraute - 5. (Danut ves veiksm reikiant
skaii, nepamirkite jos informuoti jungus program, koks skaiius kok veiksm reik).

Duomenys Rezultatai
veskite veiksm: 4 max: 70
15
20
70
-20
0

veskite veiksm: 1 sum: 72


12
10
50
0

7. Karnavalas. Mokykloje rengiamas karnavalas. Prie karnaval visi mokiniai turjo pasiruoti
kaukes. Kiekvieno mokinio kauk buvo vertinta tam tikru balu nuo 1 iki 10 (vertinimai
sveikieji skaiiai). Karnavalo dien. visi karnaval atvyk mokiniai, turjo praneti, kokius
vertinimus gavo. karnaval galjo patekti tik tie mokiniai, kuri kauks vertintos ne maiau
kaip 5 balais.
Kiek mokini atvyko karnaval yra neinoma. Paraykite program, kuri suskaiiuot keli
mokiniai i viso band patekti karnaval, ir keli i j pateko.
Pastaba: Turt bti vedinjami kiekvieno mokinio kauks vertinimo balai. Duomen vedimas
baigiamas nuliu.

17
Duomenys Rezultatai
veskite kiek bal gavo mokinys: 4 karnaval jo 5 mokiniai, pateko 3.
veskite kiek bal gavo mokinys: 2
veskite kiek bal gavo mokinys: 6
veskite kiek bal gavo mokinys: 8
veskite kiek bal gavo mokinys: 5

veskite kiek bal gavo mokinys: 5 karnaval jo 5 mokiniai, pateko 2.


veskite kiek bal gavo mokinys:5
veskite kiek bal gavo mokinys: 1
veskite kiek bal gavo mokinys: 2
veskite kiek bal gavo mokinys: 6

8. Atvirukai. Linas nori nupirkti vienos ries atvirukus savo m draugams. Parduotuvje yra n
ri atviruk, kuri kiekvienos ries kiekiai yra k1, k2, k3,...,kn. Paraykite program, kuri
apskaiiuot, keli ri atviruk x i parduotuvje esani n ri utekt visiems Lino
draugams.

Duomenys Rezultatai
Keliems draugams Linas nori 2 ri atviruk utekt visiems Lino
dovanoti atvirukus? 7 draugams
Kiek ri atviruk yra
parduotuvje? 3
Kiek yra 1 ries atviruk? 6
Kiek yra 2 ries atviruk? 10
Kiek yra 3 ries atviruk? 9

Keliems draugams Linas nori 3 ri atviruk utekt visiems Lino


dovanoti atvirukus? 5 draugams
Kiek ri atviruk yra
parduotuvje? 3
Kiek yra 1 ries atviruk? 6
Kiek yra 2 ries atviruk? 10
Kiek yra 3 ries atviruk? 9

5. Skaitymas i failo. Raymas fail

1. Bendrabutis. Bendrabutyje kiekviename kambaryje yra fiksuojama, kiek elektros energijos


(kilovatvalandmis) inaudojama per mnes. Bendrabuio gyventojai susitar, kad kiekvieno
kambario gyventojai kas mnes moks vienod mok u elektr - tai yra tiek, kiek vidutinikai
kambaryje buvo suvartota elektros. Paraykite program, kuri surast t sum.
Pradiniai duomenys pateikti duomen faile Duomenys.txt atskirose eilutse:
pirmas skaiius - kambari skaiius bendrabutyje;
antras skaiius - elektros kaina litais u kilovatvaland;
likusieji n skaii - kiekvieno kambario suvartota elektros energija kilovatvalandmis.

18
Rezultat faile Rezultatai.txt turi bti rayta:
u koki sum suvartota energijos kiekviename kambaryje, nurodant kambario numer ir
pinig sum dviej enkl po kablelio tikslumu;
koki pinig sum u sunaudot elektros energij turi sumokti viso bendrabuio
gyventojai;
koki pinig sum u elektros energij turs sumokti vieno kambario gyventojai.

Duomenys.txt Rezultatai.txt
5 1. 25.00 Lt.
0.5 2. 30.00 Lt.
50 3. 27.50 Lt.
60 4. 35.00 Lt.
55 5. 2.50 Lt.
70 I viso sunaudota: u 120.00 Lt.
5 Vieno kambario gyventojai moks: 24.00 Lt.

8 1. 20.00 Lt.
0.5 2. 15.00 Lt.
40 3. 12.65 Lt.
30 4. 3.00 Lt.
25.3 5. 5.50 Lt.
6 6. 0.00 Lt.
11 7. 35.00 Lt.
0 8. 40.00 Lt.
70 I viso sunaudota: u 131.15 Lt.
80 Vieno kambario gyventojai moks: 16.39 Lt.

2. Piramids. I rutuliuk dliojamos tokios piramids, kaip parodyta paveiksllyje:

Piramids numeris nurodo, kiek laipteli ji turi. Kiekvienos piramids sekantis laiptelis turi vienu
rutuliuku daugiau, nei prie tai buvs. Paraykite program, kuri tekstiniame faile Rezultatai.txt
ispausdint toki sek: kiekvienas i-asis sekos narys yra i-osios piramids rutuliuk suma.
Kintamasis n nurodo, kiek sekos nari i viso reikia ispausdinti. J reikia perskaityti i failo
Duomenys.txt.

19
Duomenys.txt Rezultatai.txt
4 1
3
6
10

10 1
3
6
10
15
21
28
36
45
55

3. Viiukai. Turguje registruojami parduodami viiukai. Duomenys surayti faile


Duomenys.txt, kurio pirmojoje eilutje yra parduodam viiuk skaiius, o kitose eilutse
mas ir amius (savaitmis).
Paraykite program, kuri surast ir rezultat faile Rezultatai.txt ispausdint pradinius viiuk
duomenis, didiausios mass viiuko numer ir jauniausio viiuko numer.

Duomenys.txt Rezultatai.txt
4 Pradiniai duomenys:
42 5 Viiukas Nr.1: mas: 42 amius: 5
47 6 Viiukas Nr.2: mas: 47 amius: 6
40 5 Viiukas Nr.3: mas: 40 amius: 5
35 4 Viiukas Nr.4: mas: 35 amius: 4
Rezultatai:
Didiausias viiukas: Nr.2
Jauniausias viiukas: Nr.4

4. aidimo kauliukas. Aurelija mt aidimo kauliuk (su akutmis nuo 1 iki 6) ir duomen
failo Duomenys.txt pirmj eilut ra metim skaii, o kitas eilutes ra imest akui
skaii. Paraykite program, kuri suskaiiuot, kiek kart buvo imestos 1, 2, 3, 4, 5, 6 akuts.
Rezultat iveskite rezultat faile Rezultatai.txt.

Duomenys.txt Rezultatai.txt
8 1 akut 1
6 2 akuts 1
4 3 akuts 0
5 4 akuts 2
6 5 akuts 1
2 6 akuts - 3
4
6
1

20
5. Vjo jgain. Pradini duomen failo Duomenys.txt pirmoje eilutje raytas mnesio dien d
skaiius, kai buvo atlikti vjo krypties ir greiio matavimai. Likusiose d eilui rayta po du
skaiius, atskirtus tarpeliais. Pirmasis skaiius yra sveikasis ir nurodo t dien vyravusi vjo
krypt (1 iaur, 2 piets, 3 rytai, 4 vakarai), antrasis skaiius yra realusis ir nurodo tos
dienos vidutin vjo greit. Paraykite program, kuri rezultat failo Rezultatai.txt pirmoje
eilutje rayt keturis tarpeliais vienas nuo kito atskirtus skaiius, kurie reikia, kiek kart i
viso pt kiekvienos krypties vjas. Antroje failo eilutje turi bti raytas odis TAIP, jei galima
statyti vjo jgain. Slygos vjo jgainei: ne maiau kaip 75 procentus vis dien vjo greitis
buvo ne maesnis kaip 5.0 m / s.
Duomenys.txt Rezultatai.txt
10 2 3 2 3
1 4.3 NE
1 5.2
2 4.3
3 4.1
2 5.0
4 5.1
3 4.2
4 4.5
2 4.5
4 5.2

6. Ciklas cikle

1. Skaii dalyba. Paraykite program, kuri i duoto skaii intervalo [a;b] imt i eils po
vien skaii ir surast, kiek dalikli turi kiekvienas skaiius, neskaitant vieneto ir paties
skaiiaus. Pavyzdiui, turime skaii 6. Jis be liekanos dalijasi i 3 ir 2, t.y. jis dalijasi i 2
skaii.

Duomenys Rezultatai

veskite intervalo pradi ir pabaig: Skaiius | Dalijasi i:


2; 5 2 0
3 0
4 1
5 0

veskite intervalo pradi ir pabaig: Skaiius | Dalijasi i:


15; 19 15 2
16 2
17 0
18 3
19 0

2. Udavini sprendimo varybos. Mokiniai, ruodamiesi matematikos egzaminui, sugalvojo


suorganizuoti savaits trukms udavini sprendimo varybas. Visi mokiniai sprend skirtingus
udavinius. Reikia apskaiiuoti, kiek udavini isprend kiekvienas mokinys per savait ir kiek
udavini i viso mokiniai isprend per savait.
Duomen failo Duomenys.txt pirmoje eilutje raytas varybose dalyvavusi mokini skaiius
n. Tolesnse eilutse surayti skaiiai tokia tvarka: pirmas skaiius d rodo, kelias dienas mokinys
sprend udavinius, o likusieji d skaiiai kiek udavini isprend kiekvien dien. Atsakymai
turi bti surayti rezultat fail Rezultatai.txt.

21
Duomenys.txt Paaikinimai
5 Moksleivi skaiius
5 3 2 3 1 2 Pirmas moksleivis dirbo 5 dienas; toliau yra kiekvienos
3 6 2 4 dienos udavini sk.
4 2 2 1 2 Antras moksleivis dirbo 3 dienas; toliau yra kiekvienos
3 3 3 3 dienos udavini sk.
2 3 4 Treias moksleivis dirbo 4 dienas; toliau yra kiekvienos
dienos udavini sk.
Ketvirtas moksleivis dirbo 3 dienas; toliau yra kiekvienos
dienos udavini sk.
Penktas moksleivis dirbo 2 dienas; toliau yra kiekvienos
dienos udavini sk.

Rezultatai.txt Paaikinimai
11 Pirmas moksleivis isprend 11 udavini.
12 Antras moksleivis isprend 12 udavini.
7 Treias moksleivis isprend 7 udavinius.
9 Ketvirtas moksleivis isprend 9 udavinius.
7 Penktas moksleivis isprend 7 udavinius.
46 Visi moksleiviai isprend 46 udavinius.

3. Automobili lenktyns.Vyksta iedins automobili lenktyns. Reikia isiaikinti santykinai


maiausiai degal sunaudojus sportinink (sunaudot degal kiekis / nuvaiuot rat kiekis).
Duomenys apie lenktynes rayti tekstiniame faile Duomenys.txt. Pirmoje eilutje raytas
lenktyninink skaiius n. Tolesnse n failo eilui raytas sportininko numeris, jo nuvaiuot
rat skaiius ir ivardyta, kiek kiekviename rate jis sunaudojo degal.
Paraykite program, randani, kuris lenktynininkas sunaudojo maiausiai degal.
Pavyzdiai:
Duomenys Rezultatai

3 Maiausiai degal sunaudojo 1


1 4 2 3 2 4 lenktynininkas
2 2 4 5
3 4 4 4 5 4

2 Maiausiai degal sunaudojo 2


1 5 7 8 8 7 9 lenktynininkas
2 4 7 7 8 6

22
4. Kauliukai. n draug sugalvojo paaisti kauliukais. Kiekvienas aidjas meta kauliuk vien
kart, jei ikrits akui skaiius yra lyginis, jis ridena dar kart, taip ridendamas, kol ikrenta
nelyginis akui skaiius. Surinkti takai sumuojasi. Paraykite program, skaiiuojani, kuris
aidjas surinko daugiausia tak.
Pirmoje duomen failo Duomenys.txt eilutje pateikiamas aidj skaiius n. Tolesnse n eilui
pateikiamas kauliuk metim skaiius ir ridenant kauliuk atsivert akui skaiiai.
Duomenys Paaikinimai
3 aidj skaiius
2 4 5 Pirmas aidjas kauliuk rideno du kartus ir irideno: 4 ir 5
1 9 Antras aidjas kauliuk rideno vien kart ir irideno: 9
4 4 2 2 7 Treias aidjas kauliuk rideno keturis kartus ir irideno: 4, 2,
2, 7

Rezultatas Paaikinimai
3 Daugiausiai tak surinko 3 aidjas.

5. Beveik tobulieji skaiiai. Tobuluoju skaiiumi vadinamas toks skaiius, kurio dalikli,
maesni u pat skaii, suma lygi jam paiam. Pvz.: toks yra 6, nes 1+2+3=6. (Skaiius 6 be
liekanos dalijasi i 1, 2 ir 3). Toki skaii nra daug. Vien intervale [1;10000] toki skaii tra
4. Js uduotis - parayti program, kuri intervale [a;b] rast tobuluosius skaiius tam tikru
tikslumu c. Tokiu atveju tobuluoju bus laikomas toks skaiius s, kurio dalikli, maesni u j
pat, suma bus intervale [s-c;s+c]. Pradiniai duomenys, intervalo riai a ir b bei tikslumas c,
rayti tekstiniame faile Duomenys.txt. Rezultatai spausdinami tekstiniame faile Rezultatai.txt.
Js programa papildomai turi:
ispausdinti, kiek pirmini skaii (toki, kurie turi tik du daliklius: 1 ir save pat) yra
intervale [a;b];
patikrinti intervalo rius (a negali bti daugiau u b). Tokiu atveju - programa
nevykdoma;
spausdinant prie kiekvieno skaiiaus nurodyti jo dalikli kiek ir tikruosius tobuluosius
skaiius paymti dviem vaigdutm (**) .

Duomenys Rezultatai
6 100 1 6**; Suma: (6); Dalikli skaiius: 3
Paaikinimas: 8*; Suma: (7); Dalikli skaiius: 3
(Intervalas [6;100] ir tikslumas c = 16*; Suma: (15); Dalikli skaiius: 4
1) 28**; Suma: (28); Dalikli skaiius: 5
32*; Suma: (31); Dalikli skaiius: 5
64*; Suma: (63); Dalikli skaiius: 6
Pirmini skaii kiekis intervale: 22

23
5 50 5 5; Suma: (1); Dalikli skaiius: 1
Paaikinimas: 6**; Suma: (6); Dalikli skaiius: 3
(Intervalas [5;50] ir tikslumas c = 8; Suma: (7); Dalikli skaiius: 3
5) 9; Suma: (4); Dalikli skaiius: 2
10; Suma: (8); Dalikli skaiius: 3
12; Suma: (16); Dalikli skaiius: 5
14; Suma: (10); Dalikli skaiius: 3
16; Suma: (15); Dalikli skaiius: 4
18; Suma: (21); Dalikli skaiius: 5
20; Suma: (22); Dalikli skaiius: 5
28**; Suma: (28); Dalikli skaiius: 5
32; Suma: (31); Dalikli skaiius: 5
44; Suma: (40); Dalikli skaiius: 5
Pirmini skaii kiekis intervale: 13

200 199 10 Netinkami riai.


Netinkami riai (a > b)

7. akotieji ir cikliniai algoritmai

1. Temperatra. Duomen faile Duomenys.txt stulpeliu surayti kiekvienos dienos


temperatros matavimai. Duomen kiekis nra nurodytas. Paraykite program, kuri rezultat
faile Rezultatai.txt rayt:
1. dviej gretim dien temperatros pokyt,
2. rast dien skaii (kiek matavim duomen faile),
3. didiausi temperatros pokyt tarp dviej dien absoliutine verte (nesvarbu, ar atilo,
ar atvso).
Temperatra pateikiama deimtj tikslumu.

Duomenys.txt Rezultatai.txt

15.1 15.1
16.3 (+1.2)
14.0 16.3
13.3 (-2.3)
17.5 14.0
17.6 (-0.7)
17.6 13.3
16.7 (+4.2)
17.5
(+0.1)
17.6
(+0.0)
17.6
(-0.9)
16.7
---------------
Dien skaiius: 8
Didiausias temperatros pokytis:
+4.2

24
-0.9 -0.9
0.2 (+1.1)
0.0 0.2
0.3 (-0.2)
1.0 0.0
2.3 (+0.3)
-0.5 0.3
-0.5 (+0.7)
-0.6 1.0
-1.4 (+1.3)
0.0 2.3
-1.5 (-2.8)
-0.5
(+0.0)
-0.5
(-0.1)
-0.6
(-0.8)
-1.4
(+1.4)
0.0
(-1.5)
-1.5
---------------
Dien skaiius: 12
Didiausias temperatros pokytis: -
2.8

2. LEGO robotas. Linas nusprend 6 mnesius taupyti pinigus LEGO robotui, kuris kainuoja a
Lt. Kiekvien mnes jis skirting kart kiek n taupykl mesdavo pinigus. Duomen faile
Duomenys.txt yra 6 eiluts, kuriose pirmasis skaiius nurodo, kiek kart n t mnes Linas
taupykl met pinig, o kiti skaiiai toje eilutje nurodo, kiek pinig m (litais) Linas met.
Duomen failo paskutiniojoje (septintoje) eilutje yra nurodyta norimo LEGO roboto kaina a
(litais). Paraykite program, kuri suskaiiuot, kiek Linas per eis mnesius sutaup pinig ir
ar j uteks nusipirkti norim LEGO robot, o rezultatus rayt rezultat fail Rezultatai.txt.

Duomenys Paaikinimai
4 6 1.7 4.3 5 Pirm mnes Linas taupykl met 4 kartus (6 Lt,
6 7 5.5 6.2 6.1 2.2 6 8.7 Lt, 4.3 Lt, 5 Lt)
3 8.56 3.33 7 Antr mnes Linas met 6 kartus (7 Lt, 5.5 Lt,
5 6 8 3.3 6 1.4 6.2 Lt, 6.1 Lt, 2.2 Lt, 6 Lt)
5 7 9.2 2.5 6 5 Trei mnes Linas met 3 kartus (...)
6 7 3.3 5 2 5 7 Ketvirt mnes Linas met 5 kartus (...)
150.99 Penkt mnes Linas met 5 kartus (...)
et mnes Linas met 6 kartus (...)
Norimas Lego robotas kainuoja 150.99 Lt
Rezultatai Paaikinimai
152.59 Linas per 6 mn. sutaup 152.59 Lt
Uteks Linui uteks sutaupyt pinig nusipirkti norim
Lego robot.

25
3. Keliautojai. Draugai sutar keliauti Latvij praleisti atostog. Kiekvienas susikrov po
kuprin ar lagamin ir atvyko autobus stot. U vien kilogram bagao reikia mokti b lit
bagao mokest. Duomen failo Duomenys.txt pirmoje eilutje parayta, kiek draug n vaiuos
Latvij, antroje eilutje surayta, kiek m1, m2 ... mn kg svr kiekvieno draugo kuprin arba
lagaminas, treioje kiek lit b reikia mokti u vien kilogram bagao. Paraykite program,
kuri suskaiiuot ir rezultat fail Rezultatai.txt rayt, kiek kilogram bagao kb veasi visi
draugai ir koki sum s jie turs sumokti u baga.

Duomenys Paaikinimai
5 Vaiavo 5 draugai
5.5 3.6 4.8 5.1 6 Kiekvieno draugo bagao svoris
2 Bagao mokestis u vien kilogram bagao
Rezultatai Paaikinimai
25 kg Visi draugai veasi 25 kg bagao
50 Lt Daugams reiks sumokti 50 Lt u baga

4. Lenktyns. Lenktynse dalyvavo n pilot. Apie kiekvien pilot inoma tokia informacija: jo
vidutinis greitis, bei tai, ar finiavo, ar ne. Sudarykite sra pilot, kuri greitis buvo didesnis
u v. Jei pilotas nefiniavo, jo greitis turi bti sumainamas 20%.

Duomenys Paaikinimai
3 45 Dalyvavo trys pilotai, siektinas greitis (v) 45
50 1 Piloto greitis 50 , finiavo. (1 - finiavo, 0 -
60 1 neifiniavo)
45 0 Piloto greitis 60, finiavo
Piloto greitis 45, nefiniavo, todl jo greitis
36

Rezultatai Paaikinimai
50 Du pilotai virijo duotj greit.
60
Duomenys Paaikinimai
2 25 Dalyvavo du pilotai, siektinas greitis (v) 25
30 1 Piloto greitis 30 , finiavo. (1 - finiavo, 0 -
20 1 neifiniavo)
Piloto greitis 20, finiavo

Rezultatai Paaikinimai
30 Vienas pilotas virijo duotj greit.

5. Keli eismo taisykls. Vairavimo mokyklai kiekvienos vasaros pradioje ikyla problema,
kad ateina labai daug mokini, todl reikia sukurti program, padedani paskirstyti srautus
vairavimo instruktoriams. Mokykloje i viso yra trys vairavimo instruktoriai.
Pradini duomen faile Duomenys.txt faile surayta informacija apie mokinius. Pirmoje eilutje
raytas mokini skaiius. Likusiose eilutse rayta: mokinio numeris ir jo mokjimo vairuoti
balas 10-ies bal sistemoje.

26
fail Rezultatai.txt reikia surayti kiekvienam instruktoriui jo mokini numerius, bet mokinius
reikia paskirstyti taip, kad pirmasis instruktorius dirbt tik su 1-3 balus, antrasis 4-6 balus, o
treiasis 7-10 bal surinkusiais mokiniais.

Duomenys.txt Rezultatai.txt
6 Pirmasis: 5 6
1 4 Antrasis: 1 2
2 6 Treiasis: 3 4
3 7
4 9
5 1
6 3

8. Funkcija, grinanti apskaiiuot reikm per funkcijos vard

1. Skaitymas. Mokinys perskait n puslapi knyg. Pirmj dien jis perskait a puslapi. Kiekvien
sekani dien mokinys perskaitydavo b puslapi daugiau, negu prie tai buvusi dien. Per kelias dienas
mokinys perskait knyg?
Pradini duomen faile Duomenys.txt raytas pradiniai duomenys n, a ir b.
Rezultat faile Rezultatai.txt turi bti raytas dien skaiius.
Reikalavimai programai:
1. sukurkite funkcij, skaiiuojani per kelias dienas mokinys perskaitys knyg.

Pradiniai duomenys Rezultatai


120 20 3 5

132 20 3 6

200 15 5 7

2. Plytels. Sukurkite program, kuri grind plyteli klojjui padt apskaiiuoti, kiek reiks
staiakampi plyteli, norint pilnai ikloti staiakampio ploto formos grindis. Jei plytel reikia nupjauti,
nupjautoji dalis grindims kloti nebenaudojama.
Pradini duomen faile Duomenys.txt rayti plytels matmenys centimetrais (x plytels ilgis, y
plytels plotis) ir grind matmenys metrais (sx grind ilgis, sy grind plotis).
Rezultat faile Rezultatai.txt reikia ivesti plyteli skaii.

Reikalavimai programai:
1. sukurkite funkcij, skaiiuojani, kiek plyteli reiks grindims ikloti.

Pradini duomen pavyzdiai Rezultatai


30 30 3 6 200

40 50 2 3 30

40 50 3 3 48

27
3. Trikampio plotas. Staiakampje koordinai ploktumoje nubraiytas trikampis, kurio virni A, B
ir C koordinats inomos. Parenkite program, skaiiuojani trikampio plot.
Pradini duomen failo Duomenys.txt trijose eilutse rayta po du sveikuosius skaiius kiekvienos
trikampio virns koordinats x ir y.
Rezultat faile Rezultatai.txt reikia pateikti trikampio plot imtj tikslumu.
Reikalavimai programai:
1. sukurkite funkcij, skaiiuojani trikampio kratins ilg (atstum tarp dviej tak);
2. sukurkite funkcij, skaiiuojani trikampio plot.
Pradiniai duomenys Rezultatai
10 20 317.50
20 -5
-5 -6

4. Laimingi bilietai. Autobus parko administracija nusprend keleiviams, kuri bilietai laimingi,
dovanoti dovanas. Autobuso bilietas laikomas laimingu, jei jo numerio skaiius ir jam atbulas
skaiius sutampa (pvz., 12321). Bilietai numeruojami nuo n iki m (didiausia m reikm ne
didesn u 10000000). Paraykite program, kuri suskaiiuot, kiek bus laiming biliet.
Pradini duomen faile Duomenys.txt raytos n ir m reikms. Rezultat faile Rezultatai.txt
reikia rayti laiming biliet skaii.
Reikalavimai programai:
1. sukurkite funkcij, formuojani natrinio skaiiaus atbul skaii.
Pradiniai duomenys Rezultatai
120 142 3

5. Taupymas. Jonas buvo geras technikas ir kartais atlikdavo nauj kompiuteri elektros
sunaudojimo testus. Jis apibendrintus test duomenis sura fail, kad Petras priimt
sprendim, ar verta visus organizacijos kompiuterius pakeisti naujais. Kadangi Petras yra labai
uimtas mogus, todl papra padti jam parayti program, kuri apskaiiuot, kiek bt
sutaupyta/prarasta pinig mokant u elektr per nurodyt laikotarp, kad bt galima priimti
sprendim pakeisti kompiuterius.
Pradini duomen faile Testai.txt rayta:
pirmoje eilutje rayta vienos laiko zonos elektros energijos kaina Lt/kWh;
antroje eilutje rayti keturi skaiiai: senj kompiuteri minimali naudojama galia
vatais, prastai dirbant naudojama galia vatais, maksimalia apkrova dirbanio
kompiuterio naudojama galia vatais, bei kompiuterio likutin vert litais;
treioje eilutje rayti keturi skaiiai: naujj kompiuteri minimali naudojama galia
vatais, prastai dirbant naudojama galia vatais ir maksimalia apkrova dirbanio
kompiuterio naudojama galia vatais, bei naujo kompiuterio kaina litais;
ketvirtoje eilutje raytas skaiius rodo, kelis kartus naujas kompiuteris dirba spariau u
sen (skaiiuojant CPU greit);
penktoje eilutje yra raas, kelis metus dar planuojama naudoti sen arba nauj
kompiuter.

28
Rezultat faile Patarimas.txt turi bti rayta:
pirmoje eilutje kelis kartus naujas kompiuteris dirba spariau u sen kompiuter;
antroje eilutje koki pinig sum vidutinikai sutaupys naujas kompiuteris per
planuojam naudoti laikotarp;
treioje eilutje koki papildom pinig sum kainuos naujas kompiuteris;
ketvirtoje eilutje kiek vertas senas kompiuteris.
Reikalavimai programai:
1. sukurkite funkcij, grinani seno ir naujo kompiuteri elektros energijos snaud skirtum
litais.
Sprendiant udavin galima daryti prielaid, kad kompiuteriai yra serveriai ir niekada
neijungiami. (120 W - 42 W) * 0.001 ( kW) * 4*365*24 ( kWh) * 0.487 = 1331,03 Lt

Duomenys Rezultatai
0.487 7.2
40 42 70 1200 1331.03
100 120 170 400 1200
7.2 400
4

6. Mobilusis telefonas isimoktinai. Sukurkite program, kuri apskaiiuot, keliais procentais


pabrangs isimoktinai perkamas mobilusis telefonas. Kiekvieno vlesnio mnesio palkanos
litais skaiiuojamos nuo likusios neimoktos telefono kainos. Pvz., jei telefono kaina - 600 Lt, o
isimokjimo laikotarpis - 12 mn., tada pirmj mnes palkanos skaiiuojamos nuo 600 Lt,
antrj nuo 550 Lt ir t.t. Be to, sudarant isimokjimo sutart, yra skaiiuojamas fiksuotas
sutarties mokestis. Pradini duomen faile Duomenys.txt rayta: telefono pradin kaina K,
mnesin palkan norma N, isimokjimo u telefon laikotarpis mnesiais L, sutarties
mokestis M.
Rezultat faile Rezultatai.txt reikia pateikti telefono pabrangimo kain procentais.
Reikalavimai programai:
1. sukurkite funkcij, skaiiuojani, kiek i viso pabrangs telefonas per laikotarp L;
2. sukurkite funkcij, skaiiuojani keliais procentais pabrangs telefonas.

Duomenys Rezultatai
500.0 0.2 3 20.0 4.4

500.0 0.15 12 20.0 5

700.0 0.25 24 25.0 6.7

29
7. Kelion. n asmen a mokini ir b mokytoj planuoja vykti kaimo turizmo sodyb
Nemunlis. Vienos paros ioje sodyboje kain galima apskaiiuoti remiantis emiau pateikta
informacija:

moni skaiius: Kaina vienam mogui


maiau nei 10; x Lt
nuo 10 iki 19; y Lt
nuo 20 iki 30. z Lt

Paraykite program, skaiiuojani:


kiek kainuot viena para sodyboje n moni grupei;
kiek kainuot viena para ioje sodyboje moni grupei, jei kartu su n asmen grupe vykt
keturi vaik nam aukltiniai;
po kiek lit u vien par ioje sodyboje turt sumokti kiekvienas n asmen grups
narys, jeigu jie nutart sumokti ne tik u save, bet ir u keturis vaik globos nam
aukltinius.
Pradini duomen failo Duomenys.txt pirmoje eilutje rayti trys skaiiai: n, a ir b, antroje
eilutje raytos kainos, kurias mokt turistai x, y ir z.
Rezultat faile Rezultatai.txt turi bti rayta:
pirmoje failo eilutje kiek kainuos para sodyboje visai n moni grupei, kiek mokt a
mokiniai ir kiek b mokytoj, jeigu jie vykt atskirai;
antroje eilutje kiek kainuos para sodyboje visai n moni grupei ir keturiems vaik
globos nam aukltiniams;
treioje eilutje po kiek lit u vien par ioje sodyboje moks kiekvienas n asmen
grups narys, u save ir u keturis vaik globos nam aukltinius.
Reikalavimai programai:
1. sukurti funkcij, skaiiuojani kelions kain.
Pradiniai duomenys Rezultatai
9 7 2 495.00 385.00 110.00
55 50 45 650.00
72.22

30
8. Kodavimas. Draugs Aist ir Valdon sugalvojo susirainti specialiu formatu. Joms buvo
svarbiausia tik tai, kad kiti nesuprast apie k jos susirainja. Draugs susitar, kad kiekvienas
simbolis, kurio joms prireiks, bus atvaizduotas skaiiumi, o skaiiai vienas nuo kito bus atskirti
tarpais. Skaiiaus susiejim su simboliu jos pavadino AV (Aist Valdon) koduote ir sukr
atitikmen lentel, kad prisimint koks skaiius kok simbol atitinka.
Simbolis Skaiius Simbolis Skaiius Simbolis Skaiius Simbolis Skaiius
32 tarpas 65 A 82 R 105 i
33 ! 66 B 83 S 106 j
44 , 67 C 84 T 107 k
46 . 68 D 85 U 108 l
48 0 69 E 86 V 109 m
49 1 70 F 87 W 110 n
50 2 71 G 88 X 111 o
51 3 72 H 89 Y 112 p
52 4 73 I 90 Z 113 q
53 5 74 J 97 a 114 r
54 6 75 K 98 b 115 s
55 7 76 L 99 c 116 t
56 8 77 M 100 d 117 u
57 9 78 N 101 e 118 v
63 ? 79 O 102 f 119 w
80 P 103 g 120 x
81 Q 104 h 121 y
122 z
Aist para laik Valdonei ir nori sitikinti, ar laike yra tik leistini simboliai. Kadangi Aistei
sudtinga pamatyti savo klaidas, tad reikia padti Aistei ir parayti program, kuri patikrint, ar
laike visi skaiiai turi AV koduots atitikmenis.
Laikas, kur reikia patikrinti, raytas duomen faile Valdonei.txt. Atsakym rayti faile
Tikrinimo_rezultatai.txt. Jeigu laikas yra teisingas, faile turi bti raytas odis Teisingai, kitu
atveju kiekvienam skaiiui, neturiniam atitikmens AV koduotje, spausdinti Neteisingas
simbolis. Vienam neteisingam skaiiui skiriama viena eilut.

Reikalavimai programai:
sukurkite funkcij, kuri grina reikm true, jei skaiius turi atitikmen AV koduotje, arba
reikm false, jei skaiius tokio atitikmens neturi.

Valdonei.txt Tikrinimo_rezultatai.txt
65 114 32 110 111 114 105 32 114 121 Teisingai
116 111 106 32 115 117 115 105 116
105 107 116 105 32 107 105 101 109
101 32 49 53 32 104 63
1 Neteisingas simbolis
1 2 Neteisingas simbolis
Neteisingas simbolis

31
9. Funkcija su parametrais-nuorodomis

1. Biliet kaina. Dramos teatro sals planas yra apraomas vienetuk (1) ir nuliuk (0) lentele. 1
reikia, kad sals vieta yra uimta, 0 neuimta. Pirma lentels eilut atitinka pirm teatro
sals eil, antra antr ir t. t. Bilietai pirmose dvejose eilse kainuoja po 100 Lt, treioje ir
ketvirtoje po 70 Lt, o likusiose po 40 Lt. Sukurkite program, kuri apskaiiuot spektaklyje
u parduotus bilietus surinkt pinig sum ir vidutin biliet kain.
Pradini duomen faile Duomenys.txt yra duotas sals uimtumo planas. Pirmoje eilutje rayta,
kiek salje yra eili ir kiekvienoje eilje esani viet skaiius.
Rezultat faile Rezultatai.txt reikia ivesti spektaklyje u parduotus bilietus surinkt pinig sum
ir vidutin biliet kain.
Reikalavimai programai:
1. Sukurti funkcij apskaiiuojani vienos vietos kain, priklausomai nuo eils.
2. Sukurti funkcij void (procedr), apskaiiuojani gaut pinig sum u parduotus
bilietus ir vidutin biliet kain.
Duomenys Rezultatai
6 10 3080 70.00
0 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 1 1 0
0 0 1 1 1 1 1 1 1 0
0 1 1 1 1 0 1 0 1 1
0 1 1 1 1 1 0 1 1 1
0 1 1 1 0 1 1 0 1 1

3 11 1330 83.12
0 1 0 1 0 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 1 1 0 1

2. Kelion. Turistas nusprend aplankyti n (1 n 10) miest juose nesustodamas pailsti. I


pradinio tako jis ivyko val valand ir min minui. Yra inomi atstumai tarp miest si
kilometrais ir vidutinis turisto greitis vi km/val kiekviename etape. Apskaiiuokite, kuriuo paros
laiku (valandomis ir minutmis) turistas pasieks kiekvien miest. Turistas gali keliauti ne vien
par. Visi duomenys yra sveikieji skaiiai.
Pradini duomen failo Duomenys.txt pirmoje eilutje urayta ivykimo laikas valandomis ir
minutmis; antroje eilutje uraytas aplankyt miest skaiius n; likusiose n eilui nurodyta po
du sveikuosius skaiius: atstumai tarp miest Ai-1 ir Ai bei vidutinis turisto greitis km/val tame
etape.
Rezultat faile Rezultatai.txt reikia pateikti miesto numer ir kuriuo laiku (valandos, minuts) jis
bus tame mieste.

32
Reikalavimai programai:
1. sukurti funkcij void C++ (procedr Pascal), skaiiuojani, kuriuo laiku (valandos,
minuts) turistas atvyksta konkret miest.
Duomenys Rezultatai

15 35 1 17 35
5 2 18 21
100 50 3 20 29
50 65 4 22 39
150 70 5 0 51
120 55
110 50

3. Lyginumas. terptini sistem programuotojas sugalvojo parayti program, patikrinani


duomen perdavim bevieliu bdu, kad galt inoti, ar duomenys buvo persisti be klaid. Jei
duomenys persiuniami su klaidomis, tada reikia sisti dar kart. Duomenys siuniami i A B,
B vietoje jie yra patikrinami. Kad bt manoma patikrinti, susitarta, kad prie siuniam
duomen bus pridedamas papildomas skaiius, kuris parodo, ar vis duomen skaii suma yra
lyginis skaiius, ar nelyginis (paskutiniojo skaiiaus reikm yra lygi 0, kai suma yra lyginis; 1 -
kai suma nelyginis skaiius).
Patikrinus atsistus duomenis ir nustaius, kad duomenys buvo nepaeisti keliaujant beviele
terpe, reikia ivesti Duomenys atsisti skmingai, o nustaius, kad duomenys buvo paeisti,
arba jeigu specialiojo papildomo skaiiaus reikm nelygi 1 arba 0, ivesti praneim Duomen
atsisti be klaid nepavyko, reikia pakartoti siuntim.
Duomenys Duomen paaikinimas Rezultatai
2 11 10 1 2 - reali duomen kiekis Duomenys atsisti skmingai
11 ir 10 - perduodami
reals duomenys
1 - papildomas specialusis
skaiius

2 11 21 0 2 - reali duomen kiekis Duomenys atsisti skmingai


11 ir 21 - perduodami
reals duomenys
0 - papildomas specialusis
skaiius

1 11 0 1 - reali duomen kiekis Duomen atsisti be klaid


11 - perduodamas realus nepavyko, reikia pakartoti
duomuo siuntim
0 - papildomas specialusis
skaiius

Reikalavimas programai:
1. Privalo bti bent viena funkcija, kurioje bent vienas parametras bt nuoroda. Pavyzdiui,
gali bti tokia funkcija:
a. C++: void skaityti(ifstream & in, int & n, int &
duomenu_lyginumas, int & lyginumas);
b. Pascal: procedure skaityti(var ivedimas : text; var n :
integer; var duomenu_lyginumas : integer; var lyginumas : integer);

33
4. Gamyba. Keturiuose cecho baruose gaminami dviej ri gaminiai. Reikia sudaryti tok
gamybos plan, kad atidavus pagamintus gaminius, bt gautas didiausias pelnas.
Pirmame bare dirbama ne daugiau h1 valand, antrame h2 valand, treiame h3 valand ir
ketvirtame h4 valand. Lentelje nurodyta, kiek laiko (valandomis) reikia kiekvienos ries
gaminiui pagaminti atitinkamame bare. Nulis rodo, kad gaminys atitinkamame bare
negaminamas.

Gaminiai Baras 1 Baras 2 Baras 3 Baras 4

I 4 3 0 2

II 2 6 4 0

Bare galima dirbti 16 30 16 12


(val.)

Atidavs vien I ries gamin cechas gauna a Lt peln, II ries b Lt peln.


Paraykite program, kuri apskaiiuot, kiek barai turi pagaminti I ir II ries gamini, kad
mon gaut didiausi peln.
Duomen faile Duomenys.txt::
pirmoje eilutje nurodyta, kok peln gauna u I ries gamin ir u II ries gamin;
antroje eilutje nurodyta kiek valand dirba kiekvienas baras;
treioje eilutje I gaminio gaminimo laikas baruose;
ketvirtoje eilutje II gaminio gaminimo laikas baruose.
Rezultat faile Rezultatai.txt rayti:
du skaiiai: kiek gaminama I ir II ries gamini.
mons pelnas pagaminus gaminius.

Reikalavimai programai:
1. sukurti procedr (funkcij void C++), skaiiuojani, kiek I ir II ries gamini gamina
barai, ir mons peln.
Duomenys Rezultatai
3 4 2 4
16 30 16 12 pelnas 22 Lt
4 3 0 2
2 6 4 0

5. Dieta. Vaida nutar numesti kelet kilogram. Ilgai rinkosi diet. iniasklaidoje rado straipsn
apie griki diet. Laikantis ios dietos galima valgyti tik grikius. Yra inoma, kad 100 gram
griki kruop yra 69,3 g angliavandeni, 12,6 gram baltym ir 3,1 gram riebal. Kadangi
Vaidai i dieta patiko dar ir todl, kad beveik nereikia gaminti, tai ji nusprend n dien maitintis
tik grikiais.
Vaida inodama diet pasekmes nutar pasikonsultuoti su dietologe. Dietolog rekomendavo
suvartoti ne maiau 1800 kcal per dien. inoma, kad 100 gram griki turi 349 kcal.
Pradini duomen faile Duomenys.txt raytas dien skaiius n, nurodantis kiek dien Vaida
valg tik grikius. Antroje eilutje nurodyta, kiek 100 g griki yra angliavandeni, baltym ir
34
riebal. Likusiose n eilui rayti sveikieji skaiiai nurodo, kiek gram griki suvartojo Vaida
per dien.
Rezultat fale Rezultatai.txt raykite:
kiek gram angliavandeni, baltym ir riebal suvartota kiekvien dien;
kiek buvo dien, kai Vaida suvartojo reikiam kiek kalorij.
Reikalavimai programai:
1. sukurti procedr (funkcij void C++), skaiiuojani kiek gram angliavandeni,
baltym ir riebal suvartota kiekvien dien,
2. funkcij, skaiiuojani, kiek buvo dien, kai Vaida suvartojo reikiam kalorij kiek.
Duomenys Rezultatai
5 415.8 75.6 18.6
69.3 12.6 3.1 103.95 18.9 4.65
600 207.9 37.8 9.3
150 277.2 50.4 12.4
300 485.1 88.2 21.7
400 Vaida suvartojo reikiam kalorij
700 kiek 2 dienas

6. Skrajuts. Mokinys vasaros atostog metu sidarbino ineioti skrajutes. Mokinys dirbo pagal
grafik: pirmadieniais 5 darbo valandas, antradieniais 6 val., treiadieniais 4 val. Taiau
mokinys, kai kuriomis dienomis dirbo daugiau valand, kai kuriomis maiau.
Sukurkite program, kuri apskaiiuot kiek valand mokinys dirbo, kiek buvo dien, kai virijo
valand kiek ir kiek dien, kai nepasiek darbo grafike numatyto valand skaiiaus. iuos
skaiiavimus atlikite kiekvienai savaitei atskirai ir bendrai visoms savaitms.
Pradini duomen faile Duomenys.txt pirmoje eilutje duotas dirbt savaii skaiius, kitose
eilutse kiek valand mokinys dirbo savaits pirmadien, antradien ir treiadien. Vienai
savaitei skiriama viena eilut.
Rezultat faile Rezultatai.txt raykite kiekvienos savaits darbo valand skaii, dien skaii,
kai buvo virytas ir nepasiektas darbo grafike numatytas valand skaiius.
Paskutinje eilutje raykite kiek valand dirbo i viso, kiek i viso buvo dien, kai virijo ir kai
nepasiek darbo grafike numatyto valand skaiiaus.

Reikalavimai programai. Reikia sukurti dvi funkcijas:


1. Funkcij, suskaiiuojani kiek valand mokinys dirbo, kiek buvo dien, kai virijo ir kiek
dien, kai nepasiek darbo grafike numatyto valand skaiiaus per vien savait.
2. Funkcij, ivedani rezultatus rezultat fail. Funkcija turi bti tinkama vienos savaits ir
bendriems vis savaii rezultatams ivesti.

35
Pradini duomen Rezultatai Rezultat paaikinimai
pavyzdys
4 23 1 2 Pirmasis skaiius rodo dirbt valand
8 4 11 23 2 1 skaii, antrasis kiek buvo dien, kai
7 9 7 18 1 2 virijo numatyt valand skaii,
5 6 7 21 2 1 treiasis kiek buvo dien, kai
8 9 4 85 6 6 nepasiek numatyto valand skaiiaus.

7. Paprastoji trupmena. Paprastj trupmen sudaro trys dalys: sveikoji dalis, skaitiklis ir
vardiklis. Mokiniai mokosi sudti ir atimti paprastsias trupmenas. Rengdama savarankiko
darbo uduotis, mokytoja pareng pradini duomen fail. Pirmoje eilutje ji nurod uduoi
skaii n. Tolesnse n eilui ra po eis tarpais atskirtus sveikuosius skaiius: pirmosios
trupmenos sveikoji dalis, pirmosios trupmenos skaitiklis, pirmosios trupmenos vardiklis,
antrosios trupmenos sveikoji dalis, antrosios trupmenos skaitiklis, antrosios trupmenos vardiklis.
Jei trupmena sveikosios dalies neturi, tai duomen faile jos vietoje raomas nulis. Parenkite
program, kuri apskaiiuot trupmen sum ir skirtum. Rezultatai: suprastintos trupmenos su
iskirtomis sveikosiomis dalimis. Rezultat pateikite lentele tekstiniame faile.
Reikalavimai programai:
1. sukurkite funkcijas void C++ (procedras Pascal), skaiiuojanias trupmen sum ir
skirtum;
2. sukurkite funkcij void C++ (procedras Pascal) trupmenos prastinimui;
sukurkite funkcij void C++ (procedras Pascal) vienos trupmenos ivedimui.

Duomenys Rezultatai
3 -------------------------------------------------------
1 4 5 0 3 4 T1 T2 Suma Skirtumas
1 3 5 2 2 9 -------------------------------------------------------
0 7 8 2 7 8 1 4 / 5 3 / 4 2 11 /20 1 1 /20
1 3 / 5 2 2 / 9 3 37 /45 -28 /45
7 / 8 2 7 / 8 3 3 / 4 -2

36
10. Masyvai. Veiksmai su masyv elementais. Sumos, kiekio, vidurkio skaiiavimas

1. Avalyns parduotuv. Parduotuv prekiauja vyrika ir moterika avalyne. Kiekvien dien yra
vedama apskaita: uraoma, kiek bat por yra parduota ir pasiymima informacija apie
parduot por vyrika ar moterika bei poros kaina. Parayti program, kuri rast:
u koki pinig sum parduota moterikos ir vyrikos avalyns atskirai;
kiek vidutinikai kainavo moterik ir vyrik bat pora;
u koki pinig sum parduota avalyns per dien.
Pradini duomen faile Duomenys.txt rayta:
pirmoje eilutje nurodomas per dien parduot bat por skaiius n (1 n 100);
tolesnse n eilui rayta informacija apie vien bat por: simbolis v (vyriki batai) arba
m (moteriki batai) bei bat poros kaina litais (realusis skaiius).
Skaiiavim rezultatus pateikite dviej skaii po kablelio tikslumu faile Rezultatai.txt.

Reikalavimai programai:
1. duomenims saugoti naudokite masyvus;
2. sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. sukurkite funkcij void C++ (procedr Pascal), randani vyrik arba moterik por
kain sum bei vidutin poros kain;
4. sukurkite funkcij, grainani reikm per savo vard C++, (funkcij Pascal),
apskaiiuojani bendr pinig sum;
5. sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal) .

Duomenys Rezultatai
5 Moterika avalyn:
v 102.56 per dien parduota u 314.91 Lt
m 215.70 vidutinikai viena bat pora kainavo 157.45 Lt
m 99.21 Vyrika avalyn:
v 200.00 per dien parduota u 478.55 Lt
v 175.99 vidutinikai viena bat pora kainavo 159.52 Lt
I viso per dien parduota avalyns u 793.46 Lt

2 Moterika avalyn:
m 245.70 per dien parduota u 396.69 Lt
m 150.99 vidutinikai viena bat pora kainavo 198.35 Lt
Vyrika avalyn:
Prekiauta nebuvo
I viso per dien parduota avalyns u 396.69 Lt.

37
2. Moligai. kininkas augina moligus ir pristato supirkimo punkt. Supirkimo punkte
priimami tik tie moligai, kuri svoris yra ne maesnis u p1 kilogram ir ne didesnis u p2
kilogram. Paraykite program, kuri apskaiiuot:
vidutin vis molig svor;
keli moligai bus veami supirkimo punkt;
atrinkt molig vidutin svor ir pateikt veam molig svori sra.
Pradini duomen failo Duomenys.txt pirmoje eilutje rayti 3 skaiiai. Pirmas skaiius yra
sveikasis ir parodo kiek molig n (1 n 100) kininkas uaugino. Tolesni du realieji skaiiai
parodo svorio ribas p1 ir p2. Antroje pradini duomen failo eilutje yra surayti kiekvieno
moligo svoriai kilogramais (realieji skaiiai).
Skaiiavim rezultatus pateikite trij skaii po kablelio tikslumu faile Rezultatai.txt.
Reikalavimai programai:
1. duomenims saugoti naudokite masyvus;
2. sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. sukurkite funkcij void C++ (procedr Pascal), atrenkani tinkamus supirkimui
moligus nauj masyv ir randani t molig kiek;
4. sukurkite funkcij, grainani reikm per savo vard C++, (funkcij Pascal),
apskaiiuojani molig svori vidurk;
5. sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal) .

Duomenys Rezultatai
5 2.5 5.0 Vis molig vidutinis svoris: 3.810 kg
2.00 4.75 3.50 5.80 3.00 supirkim atrinkta: 3
Vidutinis vieno atrinkto moligo svoris:
3.750 kg
Atrinkt molig svori sraas: 4.750 3.500
3.000
.

2 2.5 5.0 Vis molig vidutinis svoris: 4.200 kg


2.00 6.40 supirkimo punkt atrinkt molig nra.

3. Taupymas. Trys klass draugai: Simas, Linas ir Mantas dalyvavo mokykloje organizuotoje
paskaitoje Kaip taupyti pinigus?. Paskaitoje jie suinojo, kad daugiau pinig galima turti trim
bdais: daugiau udirbti, priversti pinigus dirbti arba tiesiog maiau ileisti. Pirmieji du punktai
reikalauja nauj gdi ir ymiai daugiau pastang, tuo tarpu taupymas yra paprastas metodas,
kurio efektyvum apriboja tik gaunam pajam suma, todl draugai daug negalvoj nutar
taupyti.
Visiems trims vaikinams pirmj mnesio dien tvai duoda pinig: Simas gauna a lit, Linas
b lit, Mantas c lit. Kiekvien dien vaikinai tam tikr sum pinig ileidia. Ilaidas
kruopiai fiksuoja taupymo urnale.

38
Paraykite program, kuri:
apskaiiuot kiekvieno mokinio ilaidas per k dien;
kiek kiekvienas vaikinas vidutinikai ileidia pinig per vien dien;
koki pinig sum ileido kiekvienas per k dien;
kiek buvo dien i viso, kai vaikinai ileido daugiau pinig u vidutines dienos ilaidas
(skaiiuojama bendra dien suma: pirmo vaikino dien skaiius + antro vaikino dien
skaiius + treio vaikino dien skaiius).
Duomen faile Duomenys.txt:
pirmoje eilutje raytas dien kiekis k,
antroje eilutje trys realieji skaiiai kiekvieno vaikino turima pinig suma litais;
likusiose k eilui kiekvieno vaikino ileidiami pinigai per dien (realieji skaiiai).
Rezultat faile Rezultatai.txt raykite:
kiekvieno vaikino ileist pinig sum per k dien;
kiekvieno vaikino vidutinikai ileidiam pinig sum per dien;
kiek pinig liko kiekvienam vaikinui;
kiek buvo dien, kai vaikinai ileido daugiau u vidutines dienos ilaidas.
Reikalavimai programai:
1. naudokite realij skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite funkcij, skaiiuojani kiek pinig ileido kiekvienas vaikinas;
4. sukurkite funkcij, skaiiuojani kiek vidutinikai pinig ileidia kiekvienas vaikinas
per dien;
5. sukurkite funkcij, kuri apskaiiuot kiek pinig liko kiekvienam vaikinui;
6. sukurkite funkcij, kuri apskaiiuot kiek kart visi vaikinai ileido daugiau pinig u
vidutines dienos ilaidas;
7. sukurkite rezultat raymo fail procedr (funkcij void C++).

Duomenys Rezultatai
10
Vaikinai ileido:
100.00 105.00 120.00
2.50 3.00 1.50 28.00 20.60 25.07
7.00 5.00 4.00
3.25 2.75 1.57 Dienos ilaid vidurkis:
2.50 2.35 2.40 2.80 2.06 2.51
0.00 1.50 2.00
0.00 0.00 0.00 Vaikinams liko pinig:
4.25 2.75 3.25 Simui 72.00; Linui 84.40; Mantui 94.93
1.25 1.00 1.35
5.25 1.25 6.00 Dien skaiius, kai vaikinai ileido daugiau u
2.00 1.00 3.00 savo dienos vidurk: 13

39
4. Varybos. uolo gimnazijoje kiekvienais metais vyksta sportins varybos. Varybose
dalyvauja visos klass. Kiekviena klas turi suburti tris mirias komandas (sudarytas i
vaikin ir mergin): krepinio, tinklinio ir futbolo. Taisyklse numatyta, kad mokinys gali
bti tik vienos komandos narys, krepinio komand turi sudaryti ne maiau 7 nariai, futbolo
ne maiau 12, tinklinio 7.
1b klass mokiniai nusprend sudaryti komandas pagal gebjim aisti (krepin, futbol ar
tinklin), Paraykite program, kiek komand suburs 1b klas.
Duomen faile Duomenys.txt:
pirmoje duomen failo eilutje raytas mokini skaiius n (n 30);
likusiose n eilui nurodyta informacija apie mokin: lytis (mergina M, vaikinas V),
gis cm ir sporto aka (kuri mokiniui sekasi geriausiai: krepinis K, futbolas F,
tinklinis T), kai kurie mokiniai neseniai sirgo ir negaljo dalyvauti varybose, jie nutar
palaikyti komandas. Duomen faile jie paymti S raide.
Rezultat faile Rezultatai.txt raykite:
kiek mokini gali aisti krepin,
jei mokini gebani aisti krepin skaiius ne maesnis u 7, kiek tarp j vaikin ir
mergin;
krepinio komandos sudt;
krepinio komandos gio vidurk.
kiek mokini gali aisti tinklin,
Jei mokini daugiau skaiius ne maesnis u 7, kiek tarp j vaikin ir mergin;
tinklinio komandos sudt;
tiek mokini gali aisti futbol,
Jei mokini skaiius ne maesnis u 12, kiek tarp j vaikin ir mergin;
futbolo komandos sudt.
kiek mokini sudarys komand palaikymo grup, kiek tarp j vaikin ir mergin;
palaikymo komandos sudt.
Reikalavimai programai:
1. naudokite sveikj skaii ir simboli masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite procedr (funkcij void C++) skaiiuojani, kiek mokini aidia tik
krepin, tik tinklin, tik futbol, kiek mergin ir vaikin kiekvienoje komandoje;
4. sukurkite funkcij krepinio komandos vidurkiui apskaiiuoti;
5. sukurkite rezultat raymo fail procedr (funkcij void C++).

40
Duomenys Rezultatai
30 aidia krepin 7
M 180 K komand sudaro vaikinai 4 merginos 3
V 182 K M 180 K
V 175 T V 182 K
V 178 F V 189 K
M 164 F V 188 K
M 175 T M 175 K
M 162 S M 173 K
V 189 K V 196 K
V 188 K krepinio komandos gio vidurkis 183
M 153 T aidia tinklin 7
M 168 S komand sudaro vaikinai 3 merginos 4
M 175 K V 175 T
M 170 T M 175 T
M 163 T M 153 T
M 169 S M 170 T
M 165 F M 163 T
M 173 K V 176 T
V 178 F V 182 T
V 178 F aidia futbol 12
V 176 T komand sudaro vaikinai 8 merginos 4
V 189 F V 178 F
V 196 K M 164 F
V 182 T M 165 F
V 177 F V 178 F
M 159 S V 178 F
M 178 F V 189 F
V 169 F V 177 F
M 159 F M 178 F
V 179 F V 169 F
V 176 F M 159 F
V 179 F
V 176 F
komand palaikymo grup 4
palaikymo komand sudaro vaikinai 0 merginos 4
M 162 S
M 168 S
M 169 S
M 159 S

30 aidia krepin 4
M 180 K krepinio komandos sudaryti negals
V 182 S aidia tinklin 7
V 175 T komand sudaro vaikinai 3 merginos 4
V 178 F V 175 T
M 164 F M 175 T
M 175 T M 153 T
M 162 S M 170 T
V 189 S M 163 T
V 188 K V 176 T
M 153 T V 182 T
M 168 S aidia futbol 12
M 175 S komand sudaro vaikinai 8 merginos 4
M 170 T V 178 F
M 163 T M 164 F
M 169 S M 165 F
M 165 F V 178 F
M 173 K V 178 F
V 178 F V 189 F
V 178 F V 177 F
V 176 T M 178 F
V 189 F V 169 F
V 196 K M 159 F
V 182 T V 179 F
V 177 F V 176 F

41
M 159 S komand palaikymo grup 7
M 178 F palaikymo komand sudaro vaikinai 2 merginos 5
V 169 F V 182 S
M 159 F M 162 S
V 179 F V 189 S
V 176 F M 168 S
M 175 S
M 169 S
M 159 S

5. Balsavimas. Reikia sudaryti geriausio konsultanto/moksleivio/dstytojo/... rinkim


rezultat lentel i upildyt balsavimo biuleteni. Visi biuleteniai buvo upildyti teisingai.
Udavinio supaprastinimui naudojamas daugumos metodas.
Reikalavimai programai:
1. naudokite sveikj skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite rezultat raymo fail procedr (funkcij void C++).
Pradiniai duomenys pateikti faile balsavimo_duomenys.txt:
11 5 Pirmasis skaiius - balsavusij skaiius n, 1 n 1000;
antrasis skaiius - kandidat skaiius k, 1 k 100.

1 Tolesnse n eilui rayta,u kur kandidat balsavo kiekvienas


3 rinkjas.
2
1
5
3
4
2
1
3
2

fail balsavimo_lentele.txt ivesti lentel:

Kandidato nr. Bals kiekis


1 3
2 3
3 3
4 1
5 1

6. Svetains populiarumas. Reikia sudaryti internetins svetains lankomumo supaprastint


suvestin: kiek kart daugiausiai buvo perirtas vienas puslapis ir kiek puslapi daugiausiai
perirjo vienas lankytojas.
Reikalavimai programai:
1. naudokite sveikj skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite didiausios reikms radimo funkcij;
4. sukurkite rezultat raymo fail procedr (funkcij void C++).

42
Pradiniai duomenys skaitomi i failo puslapi_periros.txt:

7 3 2 Pirmasis skaiius - perir skaiius p, 1 p 231,


antrasis skaiius - puslapi skaiius k, 1 k 1000,
treiasis skaiius - lankytoj skaiius lank, 1 lank 1000

1 1 Tolesnse p eilui rayta: puslapio unikalus numeris ir


1 2 lankytojo unikalus numeris, pvz. 2 1 puslapio unikalus
2 1 numeris yra 2, lankytojo unikalus numeris yra 1.
3 2
3 2
3 2
3 2

Rezultat faile lankomumo_suvestin.txt turi bti rayta:

Vienas puslapis daugiausiai perirtas: 4 kartus.


Vienas lankytojas daugiausiai perirjo: 5 puslapius.

7. Geografijos kontrolinio darbo paymi pasiskirstymas. Mokyklos dienyne mokytojas sura


geografijos kontrolinio darbo paymius. Paymiai kinta nuo 1 iki 10. Paraykite program, kuri
suskaiiuot po kiek procent yra 10-uk, 9-uk, ...., 1-uk.
Pradini duomen failo Duomenys.txt pirmoje eilutje raytas paymi kiekis, antroje eilutje
kiekvieno mokinio geografijos kontrolinio darbo paymiai vienas nuo kito atskirti tarpais.
Rezultat faile Rezultatai.txt reikia rayti, kiek procent koki paymi buvo parayta u
kontrolin darb: paymys ir kiek procent toki paymi parayta dviej enkl po kablelio
tikslumu.
Reikalavimai programai:
1. naudokite sveikj skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite funkcij, skaiiuojani paymi pasiskirstym procentais;
4. sukurkite rezultat raymo fail procedr (funkcij void C++).

Duomenys Rezultatai

13 1 7.69
1 5 8 7 10 9 9 8 7 7 4 6 8 2 0.00
3 0.00
4 7.69
5 7.69
6 7.69
7 23.08
8 23.08
9 15.38
10 7.69

43
11. Masyvai. Didiausios ir maiausios reikmi paieka

1. Dailusis iuoimas. Dailiojo iuoimo teisj brigad sudaro n (5 <= n <= 12) ios sporto
akos inov. Vertindami sportininko pasirodym, jie skiria balus u atlikimo technik ir
artistikum. Vertinimo skal yra ei bal, naudojant ir skaiiaus deimtsias dalis. Vienas pats
aukiausias ir vienas pats emiausias veriai atmetami. Jei keli teisjai dav didiausi ar
maiausi vertinim, atmetami pirmo srae teisjo balai. Sukurkite program sportininko bal
vidurkiui apskaiiuoti.
Pradini duomen faile Duomenys.txt yra suraoma:
Pirmoje eilutje nurodoma, kiek teisj n (5 n 12) vertina sportinink.
Tolimesnse n eilui yra suraoma po du realiuosius skaiius, nurodanius teisjo
skirtus balus u technik ir artistikum.
Rezultat faile Rezultatai.txt reikia pateikti skirtingose eilutse veri u technik ir artistikum
vidurkius (vidurkius pateikti vieno skaiiaus po kablelio tikslumu).

Reikalavimai programai:
1. duomenims saugoti naudokite masyvus.
2. sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. sukurkite tris funkcijas, grainanias reikm per savo vard C++, (funkcij Pascal),
apskaiiuojanias: maiausi vertinim, didiausi vertinim, vidurk be maiausio ir
didiausio vertinim;
4. sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).

Duomenys Rezultatai
7 5.4
5.6 5.8 5.7
5.2 5.7
5.5 5.8
5.2 5.4
5.4 5.5
5.3 5.8
5.7 5.6

2. Indliai. Banke yra n (1 n 10000) klient. J indli sumos suraytos sra. Kiekvienas
klientas ukoduotas unikaliu skaiiumi, kuris sutampa su indli sum srao eils numeriu.
Banko valdytojui prireik informacijos apie didiausi ir maiausi banke laikomus indlius, t.y.
kliento kodo ir indlio dydio, vidutinio indli dydio bei vis indli srao, irikiuoto
majimo tvarka (pateikiama kodas ir indlis). Parayti program, kuri tai atlikt.
Pradini duomen faile Bankas.txt: pirmoje eilutje banko klient kiekis n (1 n 10000).
Antroje eilutje n realij skaii banko klient indliai litais.

44
Reikalavimai programai:

1. duomenims saugoti naudokite masyvus;


2. sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. sukurkite funkcijas void C++ (procedr Pascal), randani didiausio arba maiausio
indlio dyd ir kliento kod;
4. sukurkite funkcij, grainani reikm per savo vard C++, (funkcij Pascal),
apskaiiuojani indli dydi vidurk;
5. sukurkite funkcij void C++ (procedr Pascal), rikiuojani indli sra majimo
tvarka;
6. sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).

Rezultat failo Rezultatai.txt pavyzdys yra pateiktas (indli reikms pateikiamos dviej skaii
po kablelio tikslumu).
Duomenys Rezultatai
6 Didiausias indlis 1987564.97 kodas 5
1987.23 456.57 235.89 789.48 1987564.97 Maiausias indlis 235.89 kodas 3
978687.67 Vidutinis indlio dydis 494953.64
Kodas Indlis
5 1987564.97
6 978687.67
1 1987.23
4 789.48
2 456.57
3 235.89

3. Teleloto. Petras kiekvien savait perka po kelis Teleloto bilietus (bilietas kainuoja 2 Lt),
tikdamasis iloti daug pinig ir pakeliauti po pasaul. Jis veda uraus: kiekvien kart rao,
kiek pinig ileido bilietams ir kiek ilo.
Paraykite program, kuri apskaiiuot:
kiek i viso pinig buvo ileista bilietams ir kiek pinig ilota;
Petro didiausi laimjim, bei kiek biliet jis pirko;
ar galutinis rezultatas buvo nuostolingas, pelningas ar nulinis, t.y. kiek ileista, tiek ir
ilota.

Duomen faile Duomenys.txt:


pirmoje eilutje paraytas biliet pirkimo skaiius n (0<n <53),
kitose n eilui yra po du skaiius: pirmasis reikia, u kiek pinig pirkta loterijos biliet,
o antrasis kiek laimta.
Visi skaiiai sveikieji.

45
Rezultat faile Rezultatai.txt raykite:
pirmoje eilutje du skaiius: kiek pinig ileido Petras bilietams ir kiek laimjo;
antroje eilutje Petro didiausi laimjim;
treioje eilutje kiek i viso biliet pirko Petras;
ketvirtoje eilutje galutin rezultat: od Nuostolis, jeigu ileido pinig daugiau nei
laimjo, ir nuostolio dyd pralot pinig skaii; od Pelnas, jeigu ilota daugiau,
nei ileista pinig bilietams, ir koks gautas pelnas. Jeigu pinig ilota tiek, kiek ileista
bilietams pirkti, tuomet tik od Lygiosios.
Reikalavimai programai:
1. naudokite sveikj skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite funkcij, skaiiuojani kiek pinig ileido bilietams pirkti ir kiek laimjo i
viso.
4. sukurkite funkcij, skaiiuojani Petro didiausi laimjim;
5. sukurkite funkcij, skaiiuojani kiek biliet pirko Petras;
6. sukurkite rezultat raymo fail procedr (funkcij void C++).
Duomenys Rezultatai
10 56 Lt 2198 Lt
2 10 Didiausias laimjimas 2000 Lt
4 0 Petras pirko 28 bilietus
6 100 Pelnas 2142 Lt
2 78
10 2
2 0
10 8
4 0
6 0
10 2000

4. Pinig keitimas. Jonas k tik gro i Jungtini Amerikos valstij ir ketina kelet mnesi
praleisti Lietuvoje, todl jam reikia dolerius pasikeisti litus. Jis perirjo dolerio pirkimo kurs
bankuose (grynaisiais ir negrynaisiais pinigais).
Paraykite program, kuri nustatyt, kur bank pasirinkti Jonui, kad bt pelningiausia dolerius
pakeisti litus atsiskaitant grynaisiais pinigais ir atsiskaitant negrynaisiais pinigais ir kuriuose
nepelningiausia.

Duomen faile Duomenys.txt:


pirmoje eilutje raytas bank skaiius n (n > 0),
kitose n eilui yra raytas banko pavadinimas (20 pozicij) ir du skaiiai: pirmasis
reikia dolerio vert perkant grynaisiais pinigais, antrasis perkant negrynaisiais pinigais.

46
Duomenys Rezultatai
6 Pelningiausia keisti grynuosius
AB Seb bankas 2.4866 2.4901 pinigus dolerio vert 2.5101 Lt
iauli bankas 2.5100 2.5040 iauli bankas
Medicinos bankas 2.5032 2.5096 Pelningiausia keisti
Swedbank 2.4938 2.5549 negrynuosius pinigus dolerio
Nordea bank 2.4827 2.4356 vert 2.5549 Lt Medicinos
DNB bankas 2.5079 2.5044 bankas
Pelningiausia keisti
negrynuosius pinigus dolerio
vert 2.5549 Lt Swedbank
Maiausiai pelninga keisti
grynuosius pinigus dolerio
vert 2.4827 Lt Nordea bank
Maiausiai pelninga keisti
negrynuosius pinigus dolerio
vert 2.4356 Lt Nordea bank

Rezultat faile Rezultatai.txt raykite:


pirmoje eilutje kuriame banke Jonui geriausia keisti pinigus mokant grynaisiais;
antroje eilutje kuriame banke Jonui geriausia keisti pinigus mokant negrynaisiais;
treioje eilutje kuriame banke Jonui labiausiai nuostolinga keisti grynuosius pinigus;
ketvirtoje eilutje kuriame banke Jonui labiausiai nuostolinga keisti negrynuosius
pinigus.
Jei yra keli bankai, juos iveskite tokia eils tvarka, kokia jie nurodyti duomen faile.

Reikalavimai programai:
1. naudokite eiluts ir realij skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite funkcij, pelningiausiam pinig keitimui rasti.
4. sukurkite funkcij, nuostolingiausiam pinig keitimui rasti.
5. sukurkite rezultat raymo fail procedr (funkcij void C++).

5. Mokini giai. Mokyklos medicinos kabinete buvo matuojami klass mokini giai.
Gydytojas kiekvienos klass mokinio gius usira ssiuvin. Paraykite program, padedani
gydytojui apskaiiuoti didiausi ir maiausi kiekvienos klass mokinio g, klass mokini
gi vidurk, o taip pat nustatyti, kurie giai virija klass mokini gi vidurk.
Pradini duomen failo Duomenys.txt pirmoje eilutje saugomas klass mokini skaiius n,
toliau n sveikj skaii, nurodani kiekvieno mokinio g.

Rezultat faile Rezultatai.txt reikia ivesti didiausi ir maiausi g, gi vidurk, o taip pat
gius, kurie virija klass mokini gi vidurk.

47
Reikalavimai programai:
1. naudokite sveikj skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite funkcijas, skaiiuojanias: didiausi ir maiausi g (viena arba dvi
funkcijos), gi vidurk, klass vidurk virijanius gius.
4. sukurkite rezultat raymo fail procedr (funkcij void C++).

Duomenys Rezultatai
15 Didiausias gis: 190
164 176 173 152 146 181 190 171 180 Maiausias gis: 146
158 160 170 184 173 165 Vidutinis gis: 169.53
Virijantys vidurk giai: 176 173
181 190 171 180 170 184 173

6. Autobuso vairuotojo darbo ir poilsio reimas. Autobuso vairuotojas dirba 20 dien per
mnes ir per vien dien turi vidutinikai nuvaiuoti tam tikr kilometr kiek. Taiau autobuso
vairuotojui labai svarbus darbo ir poilsio reimas, todl kiekvien dien leidiama nukrypti nuo
ios normos ne daugiau kaip 20%. Kitu atveju vairuotojui taikoma bauda mainant bazin
atlyginim po 1 Lt u kiekvien viryt ar trkstam kilometr. Atlyginimas mainamas tik u
tuos kilometrus, kurie virija ar kuri trksta vertinus leistin nukrypimo norm.

Pradini duomen faile Duomenys.txt pirmoje eilutje raytas vairuotojui vidutinikai per dien
nuvaiuoti priklausantis kilometr skaiius ir vairuotojo bazinis atlyginimas, o sekaniose
vairuotojo kiekvien mnesio darbo dien nuvaiuot kilometr skaiius.

Rezultat faile Rezultatai.txt reikia ivesti:


kiek vairuotojas vidutinikai nuvaiuoja kilometr per dien (skaiiuojamas vieno
mnesio vidurkis);
kiek buvo dien per mnes, kai virijo ir kiek dien, kai nepasiek vidutinio reikiamo
nuvaiuoti kilometr skaiiaus;
kiek buvo dien, kai paeid darbo ir poilsio reim;
mnesio dien, kuri reimas paeistas labiausiai;
kokio dydio atlyginim vairuotojas gaus.

48
Reikalavimai programai:
1. naudokite sveikj skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite funkcij, suskaiiuojani autobuso vairuotojo per dien nuvaiuot kilometr
vidurk;
4. sukurkite funkcij, suskaiiuojani kiek dien per mnes vairuotojas virija ir kiek
nepasiekia vidutinio reikiamo nuvaiuoti kilometr skaiiaus, o taip pat kiek dien vairuotojas
paeidia darbo ir poilsio reim;
5. sukurkite funkcij, apskaiiuojani mnesio dien, kuri reimas paeidiamas
labiausiai;
6. sukurkite funkcij, suskaiiuojani galutin vairuotojo atlyginim;
7. sukurkite rezultat raymo fail procedr (funkcij void C++).

Duomenys Rezultatai
400 3000 Vidutinikai nuvaiuoja per dien: 387.6
500 Dien kiekis, kai virijama: 9
300 Dien kiekis, kai atsiliekama: 11
250 Dienos, kai paeidiamas reimas: 5
420 Mnesio diena, kuri reimas paeidiamas
380 labiausiai: 13
410 Galutinis atlyginimas: 2550
360
330
370
390
360
370
100
600
430
425
429
470
458
400

12. Masyvo element alinimas ir terpimas

1. Informacini technologij konkursas. Informacini technologij konkurso I etape dalyvavo


n (1 n 100) mokini. J pasirodymas buvo vertinamas k bal (0 k 100) ir gauti balai
surayti sra. II etap patenks tik tie mokiniai, kuri surinkti balai virys vis mokini gaut
bal vidurk. Sukurkite program, kuri srae palikt tik atrinkt II etap mokini balus ir
urayt, keli mokiniai atrinkti dalyvauti II konkurso etape.
Pradini duomen faile Duomenys.txt: pirmoje eilutje nurodyta, kiek mokini n dalyvavo
konkurse. Antroje eilutje pateikiama n sveikj skaii, nurodani mokini balus.

49
Rezultat failo Rezultatai.txt pavyzdys pateiktas lentelje.
Duomenys.txt Rezultatai.txt
10 II etape dalyvaus 5 mokiniai
95 25 100 12 56 74 5 80 36 45 Jie surinko bal:
95 100 56 74 80

Reikalavimai programai:
1. duomenims saugoti naudokite masyvus;
2. sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. sukurkite funkcij, grainani reikm per savo vard C++, (funkcij Pascal),
apskaiiuojani bal vidurk;
4. sukurkite dvi funkcijas void C++ (procedras Pascal): 1) elemento alinimui bei 2)
alinamo elemento suradimui;
5. sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).

2. Komanda. uolininki tol komand reikia irinkti 10 sportininki. Atrankos kriterijus


komand patenka sportininks, turinios geriausius asmeninius rezultatus. Po pirmo atrankos
etapo buvo atrinkta n (1 n 10) sportininki. J geriausi rezultatai didjimo tvarka surayti
faile Duomenys1.txt. Po antro atrankos etapo buvo atrinkta dar m (1 m 10) sportininki. J
geriausi rezultatai nerikiuoti surayti faile Duomenys2.txt. Paraykite program, kuri irinkt
geriausias 10 sportininki, j geriausi rezultat sraas turi bti pateikiamas didjimo tvarka,
bei pranet, jei rinktin dar pilnai nesuformuota. Jei dviej sportininki rezultatai vienodi,
komand patenka pirm atrankos etap veikusi sportinink.
Pradini duomen pirmame faile Duomenys1.txt: pirmoje eilutje nurodytas sportininki skaiius
n. Antroje eilutje rayta n realij skaii sportininki geriausi rezultatai metrais, irikiuoti
didjimo tvarka.
Pradini duomen antrame faile Duomenys2.txt: pirmoje eilutje raytas sportininki skaiius m.
Antroje eilutje rayta m realij skaii sportininki geriausi rezultatai metrais.
Rezultat failo Rezultatai.txt pavyzdys pateiktas lentelje.

Duomenys1.txt Duomenys2.txt Rezultatai.txt


6 7 Atrinkt sportininki geriausi
4.26 4.56 4.98 4.99 4.97 4.21 5.23 5.00 4.32 rezultat sraas:
5.02 5.10 5.12 4.75 4.56 4.75 4.97 4.98 4.99 5.00 5.02
5.10 5.12 5.23

5 2 Komandai dar trksta 3


4.26 4.56 4.98 4.99 4.97 4.21 sportininki
5.02 Atrinkt sportininki geriausi
rezultat sraas:
4.21 4.26 4.56 4.97 4.98 4.99
5.02

Reikalavimai programai:
1. duomenims saugoti naudokite masyvus;
2. sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. sukurkite tris funkcijas void C++ (procedr Pascal), atliekanias: 1) terpimo, 2)
alinimo veiksmus bei 3) surandani, kur reikia terpti sportinink;
4. sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).
50
3. algirio komandos 2013/2014 met sezonas. algirio krepinio komandos sudt 2013/2014
met sezon sudaro komandos senbuviai (rungtyniav prajus sezon) ir naujokai. Paraykite
program, kokia sezon komandos sudtis. aidjai turi bti idstyti pagal g (terpkite
naujok duomenis senj aidj sra nekeisdami idstymo tvarkos).
Duoti du duomen failai. Komandos senbuviai rayti faile senbuviai.txt, naujokai naujokai.txt.
Fail pirmoje eilutje nurodytas aidj skaiius, antroje aidj giai.
Rezultat faile komanda.txt raykite 2013/2014 met sezono algirio krepinio komandos
krepinink gius.
Reikalavimai programai:
1. naudokite sveikj skaii masyvus;
2. sukurkite pradini duomen vien arba dvi skaitymo procedras (funkcijas void C++);
3. sukurkite nauj nari terpimo procedr (funkcij C++);
4. sukurkite rezultat raymo fail procedr (funkcij void C++).
senbuviai.txt naujokai.txt komanda.txt
5 10 217 211 210 208 205 204 203 198
211 210 205 204 217 208 203 196 195 195 196 195 195 193 193 190 183
198 193 193 190 183

4. Parduotuv. Maisto preki parduotuvje yra n (1 < n < 200) preki. Ant kiekvienos preks
pakuots uraytas preks galiojimo laikas. Pardavjas kiekvien dien periri vis preki
galiojimo laik, ir, jei galiojimo laikas pasibaigs, prekes iima i prekybos. Paraykite
program, kuri i pradini duomen paalint prekes, kuri galiojimo laikas pasibaigs ir
apskaiiuot kelios preki rys iimtos i prekybos, kiek preki vienet iimta i prekybos ir
kok nuostol patirs parduotuv.
Duomen faile Duomenys.txt pirmoje eilutje raytas preki skaiius n ir data, kai pardavjas
tikrina preki galiojimo laik. Kitose failo eilutse nurodytas preki kiekis, preks kaina, preks
galiojimo laikas.
Rezultat faile Rezultatai.txt raykite:
prekes, kuri galiojimo laikas tinkamas: preki kiek, kain ir galiojimo laik (duomenis
pateikite lentele);
keli ri preki baigsi galiojimo laikas;
kiek preki reiks iimti i prekybos;
kok nuostol patirs parduotuv.
Reikalavimai programai:
1. naudokite sveikj ir realij skaii masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcijas void C++);
3. sukurkite alinimo procedr (funkcij C++);
4. sukurkite rezultat raymo fail procedr (funkcij void C++).

51
Duomenys.txt Rezultatai.txt
16 20140224
10 12.45 20140221
5 20.45 20140315
15 10.95 20140425
7 4.50 20140627
8 15.85 20150121
6 4.56 20141228
10 12.30 20140312
12 15.00 20140225
2 30.42 20140223
11 8.69 20140315
30 7.89 20140315
4 9.69 20140817
5 6.98 20140521
8 8.78 20140624
6 14.98 20140228
12 2.18 20140225

13. Dvimatis masyvas

1. Didiausio ir maiausio element minimali suma. Duotas sveikj skaii dvimatis


masyvas A(n,m), kur (2 n, m 100). Eilut, kurios didiausio ir maiausio element suma
yra minimali, reikia paalinti i masyvo. Jei yra dvi vienodos minimalios sumos, alinti pirmiau
esani eilut.
Spausdinti pradin ir pertvarkyt dvimaius masyvus lentelmis, uraant eilui ir stulpeli
numerius.
Pradini duomen faile Duomenys.txt:
Pirmoje eilutje nurodytas eilui kiekis n ir stulpeli kiekis m. Kitose eilutse suraomos
dvimaio masyvo reikms.
Rezultat failo Rezultatai.txt pavyzdys pateiktas lentelje.
Duomenys Rezultatai
5 6
0 5 -9 10 5 7
0 0 -2 -3 5 10
1 9 4 8 7 5
-5 -9 -2 -1 -1 -6
4 5 8 0 0 -4

52
Reikalavimai programai:
1. Duomenims saugoti naudokite dvimat masyv masyvus.
2. Sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal).
3. Sukurkite dvi funkcijas void C++ (procedr Pascal): pirma randa eilui didiausio ir
maiausio elemento sumas, antroji alina i dvimaio masyvo vien eilut.
4. Sukurkite funkcij, grinani reikm per savo vard C++, (funkcij Pascal),
surandani eiluts, kurios suma maiausia, indeks.
5. Sukurkite dvimaio masyvo reikmi raymo fail funkcij void C++ (procedr
Pascal).

2. Matematikos kontroliniai darbai. n (1 n 30) mokini per pusmet rao m (1 m 10)


matematikos kontrolini darb. Lentelje (matricoje), sudarytoje i n eilui (1 eilut 1
mokinys) ir m stulpeli (1 stulpelis 1 kontrolinis), yra surayti vertinimai deimtbalje
sistemoje. Reikia rasti kiekvieno mokinio vertinim vidurk ir kiekvieno kontrolinio darbo
vertinim vidurk. Vidurkius pateikite dviej skaii po kablelio tikslumu. Pateikt lentel
reikia surikiuoti mokini vidurki majimo tvarka.
Pradini duomen faile Duomenys.txt: pirmoje eilutje nurodytas lentels eilui (t.y. mokini)
skaiius n ir stulpeli (t.y. kontrolini darb) skaiius m. Tolesnse n eilui yra surayta po m
vertinim.
Rezultat failo Rezultatai.txt pavyzdys pateiktas lentelje (spausdinami ir mokini, ir
kontrolini darb numeriai, vertinimai, vidurkiai).

Pradiniai duomenys Rezultatai

5 7
10 5 9 2 5 9 8
10 10 9 9 8 9 7
2 6 7 3 5 5 6
5 9 8 9 8 7 6
8 6 6 3 7 8 8
Reikalavimai programai:
1. vertinimams saugoti naudokite dvimat masyv, vidurkiams - vienmat.
2. Sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal).
3. Sukurkite dvi funkcijas void C++ (procedras Pascal), skirtas vidurkiams dvimaio
masyvo eilutje ir stulpelyje rasti.
4. Sukurkite funkcij void C++ (procedras Pascal), kuri surikiuoja duomenis majimo
tvarka.
5. Sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).

3. Sandaugos striainse. Duota n x n dydio natralij skaii lentel. Patikrinkite, ar ios


lentels pagrindini striaini skaii sandaugos lygios. Raskite visas kvadratines lenteles
(pradins lentels dal), tenkinanias i slyg. 1 x 1 dydio lentel taip pat gali bti sprendiniu.
Duomen failo Duomenys.txt pirmoje eilutje raytas lentels dydis skaiius n (2 n 8),
likusiose n eilui pateikiami lentel sudarantys skaiiai.
Rezultat faile raykite rastas kvadratines lenteles, kuri striaini sandaugos lygios.

53
Reikalavimai programai:
1. Duomenims saugoti naudokite daugiamat masyv.
2. Sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal).
3. Sukurkite funkcij, skaiiuojani striaini sandaugas C++, (procedr Pascal).
4. Sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).
Duomenys Rezultatas
3 4 5 6
4 5 6 1 3 2
1 3 2 2 7 3
2 7 3
4

3 3 2 1
3 2 1 3 2 3
3 2 3 3 2 1
3 2 1
3 2
3 2

4. Magikasis kvadratas. Magikuoju kvadratu vadiname kvadratin natralij skaii lentel,


kurios kiekvieno stulpelio, kiekvienos eiluts ir abiej striaini sumos lygios.
Duota n x n kvadratin natralij skaii lentel. Paraykite program, kuri nustatyt, ar duotas
kvadratas yra magikasis.
Pradiniai duomenys pateikti pradini duomen faile Duomenys.txt. Pirmoje eilutje raytas
natralusis skaiius n (2 n 50). Tolesnse n eilui po n natralij skaii (kvadratin
lentel).
Pradiniai duomenys yra tokie, kad bet kurios eiluts, stulpelio ar striains suma nevirys long
long (C++), maxlongint (Pascal).
Rezultat raykite tekstin rezultat fail Rezultatai.txt.
Jei duotoji lentel yra magikasis kvadratas, tai rezultatas turi bti praneimas: magikasis
kvadratas, jei ne nemagikasis kvadratas.
Reikalavimai programai:
1. Duomenims saugoti naudokite dvimat masyv.
2. Sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal).
3. Sukurkite funkcij, skaiiuojani striaini, eilui ir stulpeli sumas C++, (procedr
Pascal).
4. Sukurkite funkcij, patikrinani ar striaini, eilui ir stulpeli sumos yra lygios.
5. Sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).
Duomenys Rezultatai
3 Magikasis kvadratas
2 9 4
7 5 3
6 1 8

54
3 Nemagikasis kvadratas
12 17 16
12 15 11
14 13 18

5. Laiv mis. Sudarykite program, kuri klasikinio aidimo Laiv mis


(http://en.wikipedia.org/wiki/Battleship_(game)) aidimo lauko matricoje atsitiktine tvarka
idstyt vienvieius, dvivieius, trivieius ir keturvieius laivus. aidimo lango matricos ilgis ir
plotis yra x langeli. aidimo lauke laivai gali bti talpinami tik i kairs dein. Jei langeliai
uimti vienvieio laivo, jie ymimi 1, dvivieio 22, trivieio - 333, keturvieio 4444. Jei
talpinant laiv aidim lauk nustatoma, kad kuris nors langelis uimtas kito laivo laivas
nebekuriamas.
Duomen failo Duomenys.txt pirmoje eilutje raytas skaiius, nusakantis aidim lango ilg ir
plot, antroje reikiam sukurti vienviei, dviviei, triviei ir keturviei laiv kiekiai.
Rezultat faile Rezultatai.txt turi bti ivedama sukurto laiv mio lauko matrica, o taip pat kiek
vienviei, dviviei, triviei ir keturviei laiv nepavyko sukurti.
Reikalavimai programai:
1. Sukurti funkcijas, pildanias laivus aidim lauke.
2. Sukurti duomen fail nuskaitanias ir rezultatus ivedanias funkcijas.
3. Atsitiktinio skaiiaus generavimui galima naudoti funkcij rand();
4. aidimo laukui saugoti reikia naudoti dvimat masyv.

Pradini duomen pavyzdys Galimi rezultatai (dl funkcijos random


panaudojimo, rezultatai kiekvien kart gali
skirtis)
12 000000000000
2 2 3 5 000000333000
044440000000
000044440000
000000000000
000022000100
000000002200
000000444400
000000000000
000000000000
013330000000
000000000000

Nepavyko suformuoti:
Vienvieiu: 0
Dviviei: 0
Triviei: 1
Keturviei: 2

55
14. vairs udaviniai, kuriuose naudojamas masyvo duomen tipas

1. Slpyns. Vaikai (j buvo n) susirinko kieme ir sutar paaisti tradicines slpynes. Taiau vos
tik sustojo eil skaiiuotei, atbgo dar vienas (n+1)-asis vaikas. Vaikai sutiko priimti j aisti tik
su slyga, kad jis pirmas liks neirti ir iekoti pasislpusi, taiau jis privalo dalyvauti
skaiiuotje ir likti paskutinis po skaiiuots.
Skaiiuot pradedama nuo pirmo stovinio vaiko. Jeigu pasiekiamas eils galas, tai skaiiuoti
pradedama vl nuo eils pradios. I eils ieina vaikas, kuriam tenka skaiiuots paskutinis
odis. Skaiiuot toliau tsiama nuo toliau stovinio vaiko. Paskutinis liks vaikas iekos
pasislpusi.
Paraykite program, kuri patart, kurioje eils vietoje turi atsistoti atbgs vaikas, kad po
skaiiuots jis likt paskutinis.
Pradini duomen faile Duomenys.txt yra suraoma:
Pirmoje eilutje yra trys sveikieji skaiiai: pradinis vaik skaiius n (1 < n 25), skaiiuotje
esani odi skaiius k (1 < k 50), naujai atbgusio vaiko numeris nr. Antroje eilutje
nurodyti vaik numeriai tokia tvarka, kokia jie sustojo eil skaiiuotei prie atbgant naujokui.
Vaik numeriai nepasikartoja ir gali bti bet kokie sveiki skaiiai.
Rezultat faile Rezultatai.txt turi bti n+1 skaii seka pradin vaik numeri seka su
reikiamoje vietoje terptu atbgusio vaiko numeriu.

Reikalavimai programai:

1. Duomenims saugoti naudokite vienmat masyv.


2. Sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. Sukurkite funkcijas void C++ (procedr Pascal): terpiani element masyv, alinani
element i masyvo ir surandani viet, kur reikia terpti;
4. Sukurkite dvimaio masyvo reikmi raymo fail funkcij void C++ (procedr Pascal).

Duomenys Rezultatai
5 7 13 12 16 3 2 13 1
12 16 3 2 1

2. Pakuots. Parduotuvje prekiaujama miltais, supakuotais po vien ir po du kilogramus.


Kiekvienas pirkjas perka ne maiau kaip 1 kg ir ne daugiau kaip 50 kg milt. Pardavjas
pirmiausia nori iparduoti didesnes milt pakuotes. Jei pirkjas perka daugiau kaip 1 kg milt,
pardavjas duoda pakuotes po 2 kg ir, jei reikia, 1 kg pakuot (pvz. perkant 5 kg milt,
duodamos dvi 2 kg ir vien 1 kg pakuot). Kai 2 kg pakuots baigiasi, pardavjas pardavinja 1
kg pakuotes.
Parenkite program, kuri apskaiiuot:
1. kiek 1 kg ir kiek 2 kg milt pakuoi pardav pardavjas;
2. keli pirkjai nusipirko bent vien milt pakuot;
3. kiek kilogram milt nusipirko paskutinis pirkjas, dar gavs bent vien milt pakuot.
Pradini duomen faile Duomenys.txt yra surayta:
pirmoje eilutje nurodyta, kiek milt pakuoi yra parduotuvje: n1 (1 n1 100) 1 kg
ir n2 (1 n2 100) 2 kg.

56
antroje eilutje uraytas pirkj skaiius n (1 n1 100);
tolesnse n eilui nurodyta, kiek kilogram milt pageidauja pirkti kiekvienas pirkjas.
Rezultat faile Rezultatai.txt:
pirmoje eilutje nurodyti, kiek 1 kg ir 2 kg pakuoi nupirkta (jei kurios ries pakuoi
nra parduota, rayti nul);
antroje eilutje keli pirkjai nupirko bent vien milt pakuot;
treioje eilutje kelis kilogramus milt nusipirko paskutinis pirkjas, dar gavs bent
vien milt pakuot.
Reikalavimai programai:
1. pirkj pageidavimams saugoti naudokite vienmaius skaii masyvus.
2. sukurkite pradini duomen skaitymo funkcij void C++ (procedr Pascal);
3. sukurkite funkcij void C++ (procedras Pascal) suskaiiuojani reikiamus dydius,
4. sukurkite rezultat raymo fail funkcij void C++ (procedr Pascal).

Duomenys Rezultatai
1 2 1 1
2 2
1 2
3

3. Informacijos ifravimas. Jau sen senovje monms kilo poreikis apsaugoti svarbi
informacij nuo nesav moni aki, neleisti konkurentams ja pasinaudoti. Itin aktualu tai
buvo karyboje, prekyboje srityse, kur, suinojus j paslaptis, bet koks prieinink ingsnis
galjo atneti neskm. Todl buvo galvojama, kaip bt galima uifruoti informacij, kad ji
bt neprieinama konkurentams.
tai vienas i ifravimo bd: parenkamas odis, vadinamas raktu. Teksto, kur reikia uifruoti,
simboliai suskirstomi grupes. Simboli kiekis grupje sutampa su duoto rakto ilgiu.
Paskutiniojoje grupje gali bti maiau raidi.
Pavyzdiui, duotas raktas pieva ir tekstas, kuri reikia uifruoti Tik nedaugelis, apirj naujj
Vilniaus preks enkl, pasakyt, kad tai Gedimino pilies bokto kontras.

57
p i e v a
4 3 2 5 1
T i k n
e d a u g
e l i s ,
a p i
r j
n a u j
j V
i l n i a
u s p r
e k s
e n k l
, p a
s a k y t
, k a
d t a i
G e d i
m i n o
p i l i e
s b o k
t o k
o n t r
a s .
Rakto raids sunumeruojamos. Maesn numer turi raid, kuri lotynikoje abclje eina
pirmiau. Tuomet paraome pirmojo stulpelio simbolius, po to antrojo, ir t. t. Gauname uifruot
tekst:
ng,ijVar lataii ekkrkaipan n k tenlbot.idlarnjlske,a, Gii
tnsTee iuesd mpsoa usju ipskpykadoio
Paraykite program duotam tekstui uifruoti.

Pradiniai duomenys rayti faile Duomenys.txt. Pirmoje eilutje raytas raktas, antroje pats
tekstas. Raktas sudarytas tik i maj lotynik raidi, jame nra vienod raidi. Rakt
sudaro ne daugiau kaip 7 simboliai, teksto ilgis nevirija 150 Tekstas gali bti sudarytas i
raidi, tarp, skyrybos enkl.
Rezultat spausdinkite faile Rezultatas.txt.
Reikalavimai programai:
1. naudokite masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite procedr (funkcij void C++), rakto raidi numeriams rasti;
4. sukurkite procedr (funkcij void C++), uifruojani tekst;
5. sukurkite rezultat raymo fail procedr (funkcij void C++).

58
Duomenys Rezultatai
pieva ng,ijVar lataii ekkrkaipan n k
Tik nedaugelis, apirj naujj tenlbot.idlarnjlske,a, Gii tnsTee
Vilniaus preks enkl, pasakyt, iuesd mpsoa usju ipskpykadoio
kad tai Gedimino pilies bokto
kontras.

4. Televizijos laidos reitingas. Nuo io pavasario TV100 pradjo transliuoti nauj pavakario
laid paaugliams. Krjams labai svarbus laidos reitingas, nes reitingas parodo, kokia
visuomens visumos dalis irjo tam tikr laid ir reklam.
Reitingas skaiiuojamas po kiekvienos laidos. Situacija keiiasi, po vienos laidos buvs auktas
reitingas po kitos laidos krenta ir atvirkiai.
inoma, kad laidos reitingas buvo skaiiuojamas po n laid. Paraykite program, kuri rast tok
ilgiausi laid sra, kad jame reitingai tiktai didt arba bent pasilikt tokie patys. Jei
sprendini gali bti keletas, utenka rasti vien.
Pradiniai duomenys pateikiami duomen faile Duomenys.txt. Pirmoje eilutje raytas laid
skaiius n (3 <=n<=100), tolesnse n eilui rayti atitinkam laid reitingai: pirmoje i i
eilui raytas reitingas po pirmosios laidos, antroje po antrosios laidos ir t. t.
Rezultatai raomi fail Rezultatai.txt. Pirmoje eilutje raykite rastojo ilgiausio laid srao
ilg, tolesnse sra einani laid numerius.

Reikalavimai programai:
1. naudokite sveikj skaii masyv(-us);
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite procedr (funkcij void C) maksimaliam laid kiekiui ir laidoms rasti;
4. sukurkite rezultat raymo fail procedr (funkcij void C++).

Duomenys Rezultatai
6 4
5 1
10 3
5 5
12 6
8
13
7 6
9 1
9 2
9 3
11 5
10 6
10 7
12

59
5. Automobiliai. Prekybos mon darbui turi sigijusi tam tikr kiek automobili. Bgant laikui
automobiliai susidvi, pradeda gesti, todl mons vadovas remdamasis automobili
charakteristikomis, kuri sra kiekvien met pradioje sudaro vairuotojai, priima sprendim
kai kuriuos j parduoti. Taip pat kiekvienais metais monei nuperkamas tam tikras kiekis nauj
arba dvt automobili. Automobilio charakteristika apibdinama jo pavadinimu, nuvaiuota
rida ir dien kiekiu, kur automobiliu negalima buvo dirbti dl remonto. Automobilis
parduodamas tada, jei nuvaiuota rida arba remonto dien kiekis virija maksimaliai nustatytas
reikmes. Paraykite program, leidiani papildyti mons automobili sra naujais
automobiliais, o taip pat i mons automobili srao paalinti parduodamus automobilius.
Duomen failo Duomenys.txt pirmoje eilutje duota maksimali rida ir remonto dien kiekis,
kuriuos virijus automobilis yra parduodamas, antroje - mons turim automobili kiekis ir j
sraas. Toliau duomen faile yra duodamas mons perkam automobili kiekis ir perkam
automobili sraas.
Rezultat faile Rezultatai.txt turi bti ivedamas po automobili pirkimo ir pardavimo
suformuotas naujas mons automobili sraas, o taip pat ivedamas ribins ridos automobili
sraas, kur ribin rida tai rida, didesn arba lygi 85% maksimaliai nustatytos ridos.

Reikalavimai programai:
1. Sukurti funkcijas, papildanias ar alinanias automobili srao elementus, o taip pat
funkcij, sudarani ribins ridos automobili sra.
2. Sukurti duomen skaitymo i failo ir rezultat raymo fail funkcijas.
3. Sraams saugoti reikia naudoti masyvus.

Duomenys Rezultatai
45000 25 Naujas automobili sraas:
7 Volkswagen_Polo 44000 24
Volkswagen_Polo 44000 24 Opel_Meriva 29000 24
Opel_Meriva 29000 24 Fiat_Panda 39000 23
Fiat_Panda 46000 5 Citroen_Berlingo 21000 24
Fiat_Panda 39000 23 Volkswagen_Polo 20000 0
Citroen_Berlingo 21000 24 Skoda_Fabia 40000 0
Opel_Astra 70000 26 Volkswagen_Golf 30000 0
Fiat_Ducato 90000 45
3 Ribins ridos automobiliai:
Volkswagen_Polo 20000 0 Volkswagen_Polo 44000 24
Skoda_Fabia 40000 0 Fiat_Panda 39000 23
Volkswagen_Golf 30000 0 Skoda_Fabia 40000 0

60
15. Simboliai

1. Balss A ir E. Petriukas nutar atlikti tyrim, kuri bals a ar e daniau pasikartoja tekste.
Pasirinks tekst suskaiiavo, kelis kartus kiekviena bals pasikartoja tekste. Paraykite
program, kuri suskaiiuot, kelios tekste yra balss a ir kelios e, kuri bals ir kiek procent
daniau pasikartoja tekste. Pradiniai duomenys rayti faile Duomenys.txt. Rezultatai raomi
fail Rezultatai.txt.
Reikalavimai programai:
1. sukurkite pradini duomen skaitymo funkcij;
2. sukurkite balsi kiekio skaiiavimo funkcij;
3. sukurkite rezultat raymo fail funkcij.

Duomenys Rezultatai

iandien yra labai graus orelis Raid a pasikartoja tekste 6 kartus.


Kaune. Raid e pasikartoja tekste 3 kartus.
Raid a pasikartoja 50 % daniau.

2. Linksmas sukeitimas. Penktokai raydami rainlius labai danai sukeiia gretimas raides
vietomis. Tai pastebjusi mokytoja nusprend su vaikais paaisti aidim, pagrst dviej
gretim raidi sukeitimu: kiekviename odyje visos raids suporuojamos ir poros raids
sukeiiamos vietomis. Paskutin odio raid gali likti ir be poros, jei odyje yra nelyginis
raidi skaiius ir jinai tuomet lieka savo vietoje. Pvz., sukeitus raides vietomis odyje
KOMPIUTERIS, gaunamas odis OKPMUIETIRS.
Paraykite program, kuri pagal aprayt algoritm i duomen faile Duomenys.txt rayto odio
suformuot ir rezultat fail Rezultatai.txt rayt naujai suformuot od.
Reikalavimai programai:
1. naudokite char simbolius ar j masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite dviej gretim raidi sukeitimo procedr (funkcij void C++);
4. sukurkite rezultat raymo fail procedr (funkcij void C++).

Duomenys Rezultatai
informatika niofmrtakia

61
3. Kodavimas. Telefono numerio skaitmenys (iskyrus 0 ir 1) koduojami trimis lotynikos
abcls raidmis:
2 ABC
3 DEF
4 GHI
5 JKL
6 MNO
7 PQR
8 STU
9 VWX
Septyni skaitmen telefono numeriai yra siuniami pasirinktu main kanalu. Kartais gavjas dl
trikdi gauna ne visai tikslius skaii kodus. I trij vieno kodo raidi klaidinga bna tik
viena.
Uduotis. Itaisykite perdavimo klaidas, nurodykite klaid skaii ir atkoduokite telefono
numer.
Duomenys. Duomen failo Duom.txt pirmoje eilutje raytas perduodam telefono numeri
skaiius n. Likusiose n eilui rayti perduoti telefono numeri kodai. Duomenys pateikti
teisingai, t.y nra atuoni numerio skaitmen kod ir pan.
Rezultatai. Rezultat faile Rez.txt ivedamas itaisytas kodas. Ivedamas odis Klaidos:, po to
klaid skaiius. Ivedamas odis Tel.nr.:, po to atkoduotas telefono numeris.
Duomenys Rezultatai

3 ABCABCDEFDEFGHIGHIGHI Klaidos: 0 Tel. nr.:2233444


ABCABCDEFDEFGHIGHIGHI ABCDEFMNOPQRSTUVWXSTU Klaidos: 4 Tel. nr.:2367898
ABBDEFNNOPRRSTUVVXSTU VWXSTUPQRMNOJKLGHIDEF Klaidos: 7 Tel. nr.:9876543
VWYSTXPPRMMOKKLGHHDBF

Reikalavimai programai:
1. naudokite char simbolius ar j masyvus;
2. sukurkite funkcij, kuri nustato, ar kode nra klaid;
3. sukurkite kod taisani procedr arba funkcij;
4. sukurkite skaiiaus atkodavimo funkcij.
4. Kentauras. iniukui atsibodo aisti achmatais, todl jis nutar paskaityti Homero Iliad ir
Odisj. Netrukus jis surado msling persona Kentaur ir nutar, kad btent tokios figros
trksta achmatuose. Kentauras yra mitologinis graik gyvnas, turintis irgo kn ir mogaus
galv bei liemen.
iniukas norjo turti labai stipri achmat figr, kurios jimai bt panas irgo, tik
langeli skaiius nebt ribojamas (irgas gali eiti 2 langelius pirmyn ir vien on, arba 1
langel pirmyn ir du on).
achmat figros padtis lentoje nusakoma raide ir skaiiumi. Paveiksllyje pavaizduotos
Kentauro padtys G1 ir E5. Jeigu tai bt jo uolis, tai galima bt apskaiiuoti to uolio ilg: 4
langeliai pirmyn ir 2 on. uolio ilgis yra 6.
Parenkite program, kuri apskaiiuot ilgiausi Kentauro uol.
Pradini duomen faile Duomenys.txt rayta:
62
pirmojoje eilutje ufiksuot Kentauro padi achmat lentoje skaiius n;
tolesnse n eilui yra po du simbolius raid ir skaii. Tai Kentauro padtys achmat
lentoje. Tarp raids ir skaiiaus tarpo nra.
Apribojimai: 2 n 100. achmat lenta standartin.
Rezultat faile Rezultatai.txt raykite vienintel skaii ilgiausi Kentauro uol.
Reikalavimai programai:
naudokite char simbolius;
sukurkite pradini duomen skaitymo procedr (funkcij void C++);
sukurkite rezultat raymo fail procedr (funkcij void C++);
sukurkite funkcij, kuri skaiiuoja Kentauro vieno uolio ilg.
Duomenys Rezultatai

3 8
A1
B4
G1

5. Bdvardi linksniuots. Tekstiniame faile Duomenys.txt yra pateikta n odi eilui.


Kiekvienoje i n eilui raytas bdvardio vienaskaitos ir daugiskaitos vardininkas. Paraykite
program, kuri nustatyt kiekvieno bdvardio linksniuot ir rezultat faile Rezultatai.txt
pateikt statistik: po kiek buvo kiekvienos linksniuots bdvardi: pirmoje failo eilutje I,
antroje II, treioje III linksniuots bdvardi skaiius.
Lietuvi kalboje yra trys bdvardi linksniuots, r. lentel:

I linksniuot II linksniuot III linksniuot


Vyr. g. Mot. g. Vyr. g. Mot. g. Vyr. g. Mot. g.
-as -a -us -i -is -
-ys

Reikalavimai programai:
1. sukurkite pradini duomen skaitymo funkcij;
2. sukurkite skaiiavimo funkcij;
3. sukurkite rezultat raymo fail funkcij.

63
Duomenys Rezultatai

5 2
Graus gras 2
Naujas nauji 1
Senas seni
Didelis dideli
Jaukus jauks

16. Simboli eiluts

1. odi paieka. Faile Duomenys.txt raytas tekstas. Pirmoje failo eilutje raytas odis, kur
norima rasti tekste, kitose eilutse tekstas, kuriame turi bti atliekama odio paieka. Reikia
sudaryti algoritm, kuris suskaiiuot, kiek kart tekste pasikartoja iekomas odis. Rezultatus
pateikti Rezultatai.txt faile.
Reikalavimai programai:
1. Sukurkite pradini duomen skaitymo funkcij;
2. Sukurkite odio paiekos funkcij;
3. Sukurkite rezultat raymo funkcij.
Duomenys Rezultatai

Labai 4
Labai labai seniai, vienoje alyje, Limandijoje,
gyveno labai maas berniukas Adrianas. eima, kurioje
jis gyveno, buvo labai didel ir neturtinga. Net
Kald ventei eima neturjo pinig duonai nupirkti.

2. Simboli eiluts: Skirtingi Simboliai. Duotos dvi simboli eiluts A ir B. Reikia sudaryti
algoritm randant simbolius, kurie yra eilutje A, bet kuri nra eilutje B. Tekstas sudarytas i
didij ir maj raidi (jos laikomos skirtingomis), bei skaitmen. Simboliai gali kartotis. Jei
visi simboliai kurie yra eilutje A taip pat yra ir eilutje B, spausdinti atsakym Taip, kitu
atveju spausdinti visus trkstamus simbolius, atskirtus tarpais. Vienod simboli rezultat faile
spausdinti negalima.
Patarimas: Simboli eilutes string galima naudoti kaip masyvus.
Kiekybiniai ribojimai. Eiluts nebus ilgesns nei 100 simboli ir trumpesns nei 1 simbolis,
jose nebus tarp.
Reikalavimai programai:
1. Naudokite string simboli eilutes/simboli masyvus.
2. Pradinius duomenis vesti i failo (input.txt), rezultatus taip pat rayti fail (output.txt).
3. Sukurkite funkcij, kuri i patikrina ar simbolis yra eilutje/simboli masyve.
4. Rezultat faile visi simboliai turi bti unikals.

64
Duomenys Rezultatai

abcdefg b c d
gaefa

gaefa Taip
abcdefg

aaaaaaab a
b

1234 2 4
13579

1122334455 Taip
123456

3. odiai palindromai. Palindromas yra odis arba odi eilut, kuri i abiej gal skaitoma
vienodai. Pavyzdiui, "SDK UU KDS".
Uduotis. Paraykite program, kuri itirt n (1 n 50) teksto eilui ir nustatyt, kurios i j
yra palindromai.
Pastabos:
Teksto eilutse nra skyrybos enkl, o tarpai paliekami ten, kur j reikia.
Teksto eilutse didiosios ir maosios raids laikomos vienodomis.
Simboli skaiius eilutje nevirija 80.
Pradiniai duomenys rayti faile duom.txt. Pirmoje failo eilutje raytas teksto eilui skaiius n.
emiau raytos teksto eiluts.
Rezultatai raomi tekstin fail rez.txt.
Reikalavimai programai:
1. Sudaryta procedra (funkcija), kuri i failo perskaito teksto eilutes.
2. Sudaryta funkcija, kuri i teksto eiluts paalina tarpo enklus.
3. Sudaryta funkcija, kuri nustato, ar teksto eilut yra palindromas.
4. Sudaryta procedra (funkcija) kuri rao rezultatus tekstin fail.

Duomenys Rezultatai

6 Kol einu unie lok


Kol einu unie lok Madam
A einu Argi ten ne TIGRA
Madam Ir Ona nori
Argi ten ne TIGRA
Mama nori
Ir Ona nori

65
4. Kaldin Eglut. Prie pat Kaldas Jurgiuko ttis atne namus grai eglut. Jurgiukas kaip
tik kr sveikinimus savo draugams. Sveikinim buvo sugalvojs daug ir labai grai, taiau
norjosi irasti nematyt sveikinimo pateikimo form. Jam staiga kilo idja Kald sveikinimus
surayti eglute. Tam reikia sugalvoti taisykles, pagal kurias i paprasto teksto gautume eglut:
Pirmojoje egluts eilutje bus vienas odis.
Kitose kaskart vis vienu odiu daugiau, kol uteks teksto duotojoje eilutje.
Likusi nepilna duotosios eiluts dalis sudarys nauj eilut.
Taip pertvarkoma kiekviena duotojo teksto eilut.
Be to, tekstas pertvarkytose eilutse patraukiamas tai vien, tai kit pus taip, kad
egluts kamienui likt tik vienas simbolis (irkite pavyzdius).
Jurgiukas prisimin, kad visus sveikinimus turi tekstiniuose failuose. Kaip bt gerai parayti
program, kuri u j visus sveikinimus surayt eglute. Padkite Jurgiukui, juk iki Kald jau ne
tiek daug laiko beliko.
Duomenys. Pirmojoje duomen failo Duomenys.txt eilutje yra teksto eilui skaiius n.
Likusiose n eilui yra tekstas. Tekste gali bti skyrybos enklai, kurie pagal raybos taisykles
glaudiami prie odi pabaigos.
Rezultatai. Tekstas spausdinamas tekstin fail Rezultatai.txt egluts forma. Kairje pusje
upildant reikiamu tarpo simboli skaiiumi.
Kiekybiniai ribojimai. Duotasis tekstas sudarytas ne daugiau kaip i 10 (n 10) eilui.
Pertvarkytas tekstas turt uimti ne daugiau kaip 100 eilui. Kiekvienoje duotojo teksto
eilutje ne daugiau kaip 255 simboliai.
Reikalavimai programai:
1. naudokite string simboli eilutes/eilui masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite rezultat raymo fail procedr (funkcij void C++);
4. sukurkite funkcij, kuri i duoto teksto suformuoja eglute idstyt tekst.

Duomenys Rezultatai
4
Ei, draugui, iemos vidury
Roges jei turi, tai gerai!
kaln aukiausi, pat baliausi
kopt jei gali, tai gerai!

66
2
A b c d e f g h i j k
O mano eglut graesn!

5. Olimpins plaukimo varybos. Olimpinse aidynse individuali sporto ak rezultatai


skelbiami taip: sportininko vardas ir pavard, alies, kuriai atstovauja sportininkas, santrumpa ir
sportininko pasiektas rezultatas.
Tarptautinis Olimpinis Komitetas oficialiai naudoja ali pavadinim santrumpas i trij raidi,
pvz.: LTU Lietuvos Respublika, PNG Papua Naujoji Gvinja ir t.t.
Lina kno kultros pamokai turi parengti statistinius duomenis apie Londono olimpiados
plaukimo varybas. Interneto svetainje http://www.olympic.org/olympic-results/london-
2012/swimming ji surado vis plaukimo rungi rezultatus. Surastus rezultatus mergina planuoja
perkelti pateikt. Savo sumanymu Lina pasidalino su klass draugais. Draugai jai patar
pateikt dti ne alies santrump, o piln pavadinim. Kad darbas vykt spariau, santrumpos
keitimui pilnu pavadinimu reikia sukurti program.
Tekstinio failo salys.txt pirmoje eilutje Lina ra ali skaii n. Tolesnse n failo eilui
rayta: alies santrumpa, kuri sudaro trys raids ir pilnas alies pavadinimas, kur gali sudaryti
iki 7 odi (r., http://lt.wikipedia.org/wiki/Sraas:ali sraas), alys idstytos atsitiktine
tvarka.
Kitame tekstiniame faile plaukikai.txt surayti vienos rungties 8 geriausi plaukik vardai ir
pavards (skiriama 20 pozicij), ali santrumpos ir pasiekti rezultatai. Vienam plaukikui
skiriama viena eilut.
Rezultat faile galutinis_sarasas.txt reikia suformuoti nauj sra, kuriame bt plaukik vardai
ir pavards (skiriama 20 pozicij), pilni ali pavadinimai ir pasiekti rezultatai.
Reikalavimai programai:
1. naudokite simboli eilutes ir simboli eilui masyvus;
2. sukurkite pradini duomen apie alis skaitymo procedr (funkcij void C++);
3. sukurkite pradini duomen apie plaukik rezultatus skaitymo procedr (funkcij void
C++);
4. sukurkite funkcij, kuri i santrumpos grina piln alies pavadinim;
5. sukurkite rezultat raymo fail procedr (funkcij void C++).

Tekstinio failo salys.txt fragmentas (fail su vis ali pavadinimais parsisisite spragtelj
nuorod)

67
202
AFG Afganistano Islamo Valstyb
IRL Airijos Respublika
ALB Albanijos Respublika
ALG Alyro Liaudies Demokratin Respublika
ASA Ryt Samoa
....
LTU Lietuvos Respublika
....
VIE Vietnamo Socialistin Respublika
GER Vokietijos Federacin Respublika
ZAM Zambijos Respublika
ZIM Zimbabvs Respublika
CPV aliojo Kyulio Respublika

Duomenys Rezultatai
Ruta MEILUTYTE LTU 1:05.47 Ruta MEILUTYTE Lietuvos Respublika 1:05.47
Rebecca SONI USA 1:05.55 Rebecca SONI Jungtins Amerikos Valstijos 1:05.55
Japonija 1:06.46
Satomi SUZUKI JPN 1:06.46 Satomi SUZUKI
Jamaika 1:06.93
Alia ATKINSON JAM 1:06.93 Alia ATKINSON
Australijos Sandrauga 1:06.95
Leisel JONES AUS 1:06.95 Leisel JONES Jungtins Amerikos Valstijos 1:06.96
Breeja LARSON USA 1:06.96 Breeja LARSON Rusijos Federacija 1:06.98
Iuliia EFIMOVA RUS 1:06.98 Iuliia EFIMOVA Danijos Karalyst 1:07.55
Rikke PEDERSEN DEN 1:07.55 Rikke PEDERSEN

17. Struktros (raai). Struktr (ra) masyvai

1. Oro temperatros matavimai. Faile Duomenys.txt pateikti oro temperatros matavimai.


Pirmoje eilutje rayti 2 sveikieji skaiiai: keli mnesi duomenys ir kiek kart matuota oro
temperatra kiekvien mnes. Tolesnse eilutse pateikti kiekvieno mnesio matavimai.
Paraykite program, skaiiuojani kiekvieno mnesio vidutin temperatr ir bendr vidutin
temperatr.
Reikalavimai programai:
1. duomenims saugoti naudokite rao (struktros) duomen tip ir ra (struktr)
masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite vidurkio skaiiavimo funkcij;
4. sukurkite rezultat raymo fail procedr (funkcij void C++).
Duomenys Rezultatai

3 6 Sausis -10.13
Sausis -11.5 -10.3 -12 -6.5 -5 -15.5 Vasaris -9.22
Vasaris -16 -14.5 -11 -10.3 -3.5 0 Kovas 3.37
Kovas -3 -2.5 0 5 9.5 11.2 Bendras matavim vidurkis: -5.33

68
2. noringiausia princes. Karalius turjo dukr. Niekaip jis negaljo jos ileisti nors u kokio
princo, nes dukra vis rasdavo silomame prince ypatyb, dl kurios j atstumdavo.
Kart karalius nutar ileisti savo dukr u aukiausio gio princo. Taiau princes karaliaus
nor atsak: Taip, teksiu. Mano vyras bus labai auktas, taiau ne pats aukiausias, privalo
bendrauti maiausiai trimis usienio kalbomis ir mokti fechtuotis. Buvo surayti pretendent
duomenys ir pateikti Karaliui. Karalius i karto atmet nemokanius fechtuotis ir negalinius
bendrauti bent trimis usienio kalbomis, taiau sraas vis tiek liko spdingo dydio, nes
princes buvo nepaprastai grai. U kurio princo tekt princes? Paraykite program, kuri
sprst udavin.
Duomenys. Pirmojoje duomen failo eilutje yra princ skaiius n, o kitose n eilui - j
duomenys: vardas (iki 24 simboli, gali bti tarpo simboli) ir gis (pdomis ir coliais).
Rezultatai. Spausdinamas tinkamo princo vardas arba skaiius 0, jei nei vienas princas netenkina
princess ikelt slyg.
Kiekybiniai ribojimai. Pretenduojani princ gali bti nuo 1 iki 50.
Reikalavimai programai:
1. naudokite string simboli eilutes arba char masyvus;
2. sudarykite struktr ir masyv, skirt princo duomenims saugoti;
3. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
4. sukurkite rezultat raymo fail procedr (funkcij void C++);
5. sukurkite funkcij, randani tinkamiausi princ.

princai-duom.txt princai-rez.txt
5 Horstas Berlynietis
Joachimas Hamburgietis 6 5
Kurtas Roterdamietis 5 3
Horstas Berlynietis 5 7
Otto Bremenietis 5 2
Hansas Liubekietis 5 3
1 0
Joachimas Hamburgietis 6 5

3. Padang ymjimas. Nepriklausomai nuo to, kas gamina padangas, pagal statymus j one
btinai turi bti standartinis ymjimas. Pavyzdiui, uraas 185 65 HR13 ifruojamas taip:
185 Atstumas (milimetrais) nuo vieno padangos krato iki kito, kai padanga neapkrauta.
is dydis vadinamas padangos ploiu.
65 onins sienels auktis, ireiktas procentais nuo padangos ploio, kai padanga
neapkrauta.
H Greiio indeksas. Jis rodo, kokiu maksimaliu greiiu galima vaiuoti nepertraukiam
10 minui laikotarp. Virijus i rib, padanga, veikiama icentrins jgos, gali plyti. (H
greitis 210 km\h)
R i raid rodo, kad padangos konstrukcija radialin. Jei raids R nra, padangos
konstrukcija yra diagonalin.
13 is colinis dydis rodo, kokio skersmens ratlankiams skirta padanga.
Klientas nurodo padang atstum, aukt, greiio indeks, padangos konstrukcij ir ratlankio
skersmen. Sudarykite program, kuri suskaiiuot kiek sandlyje yra klientui reikaling
padang ir kiek jos visos kainuot.

69
Duomen faile duom.txt pirmoje eilutje rayti kliento padangos duomenys: atstumas, auktis,
greiio indeksas, padangos konstrukcija ir ratlankio skersmuo.
Antrojoje eilutje sandliuojam padang skaiius n (1 n 500).
Kitose failo eilutse turim padang duomenys.
Rezultatai. Pirmoje failo rez.txt eilutje u teksto Tinkam padang skaiius: raomas rast
tinkam padang skaiius. Antroje failo eilutje u teksto Jos kainuot: raoma koki pinig
sum kainuot tinkamos padangos ir valiutos simbolis Lt. Jei tinkam padang nra, tuomet
rezultat faile turi bti raytas odis Nra.

duom.txt rez.txt
185 65 HR13 Tinkam padang skaiius: 3
5 Jos kainuot: 579.49 Lt
185 65 HR13 201.50
225 45 H 17 180.50
185 65 HR13 178.00
225 45 HR17 198.50
185 65 HR13 199.99
Reikalavimai programai:
1. duomenims saugoti naudokite rao (struktros) duomen tip ir ra (struktr)
masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite funkcij, nustatani, ar du raai sutampa;
4. sukurkite procedr (funkcij void C++), skaiiuojani tinkam padang kiek ir bendr
j kain;
5. sukurkite rezultat raymo fail procedr (funkcij void C++).

18. Veiksmai su struktr (ra) masyv elementais

1. Prekyba elektronikos prekmis. Parduotuv prekiauja buitine elektronika. Parduodama n (3


n 100) modeli aparat. Modelis nusakomas numeriu [1..n], pavadinimu (18 simboli) ir kaina.
Atlikta p (3 p 1000) pardavim fiksuojant model ir parduot aparat skaii.
Apskaiiuokite: kiek vienet parduota populiariausio modelio; kiek surinkta pinig u
populiariausi model; kiek vienet parduota pelningiausio modelio; kiek buvo surinkta u
pelningiausi model. Kuris modelis yra maiausiai populiarus? Kiek parduota jo vienet ir kiek
u j buvo surinkta pinig. Net ir maiausiame duomen faile nebus vienodai vertinam modeli.

Duomenys. Duomenys tekstiniame faile Duomenys.txt pateikti tokiu bdu:


pirmojoje eilutje raytas preki skaiius n;
kitose n eilui rayta preks numeris, pavadinimas ir kaina;
po to raytas pardavim skaiius p;
toliau yra dar p duomen eilui. Kiekvienoje po du skaiius: preks numeris ir parduotas
tos preks kiekis.

70
Rezultatai. Rezultatai raomi tekstin fail Rezultatai.txt blokais. I viso turt bti suformuoti
trys analogiki blokai atitinkamai populiariausiai, pelningiausiai ir maiausiai populiariai prekei.
Kiekybiniai ribojimai. Skirting preki skaiius nra maesnis u 3 ir nevirija 100. Pardavim
skaiius nra maesnis u 3 ir nevirija 1000. Kainos ir kiekiai nra labai dideli skaiiai, nereikia
imtis speciali priemoni, kad ivengti perpildymo, ar galimai susikaupusi skaiiavimo
realiaisiais skaiiais paklaid vertinimo.
Reikalavimai programai:
1. naudokite struktras (raus) ir j masyvus, sveikuosius ir realiuosius skaiius;
2. sudarykite struktr (ra) ir masyv, skirt preks duomenims saugoti;
3. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
4. sukurkite rezultat raymo fail procedr (funkcij void C++);
5. sukurkite funkcijas, randanias populiariausi, pelningiausi ir maiausiai populiari
prek.

Duomenys Rezultatai

2. Gimtadieniai. Aukltoja savo mokiniams pasil, bendraklasius suskirstyti grupes rudenio,


iemos, pavasario, vasaros ir gimtadienius vsti vien kart per ketvirt.
Sudarykite program, kuri padt suskirstyti mokinius grupes pagal gimimo dat: rudens,
iemos, pavasario ir vasaros. Taip pat rast vyriausi ir jauniausi klass mokin.
Duomen failo mokiniai.txt pirmoje eilutje raytas klass mokini skaiius n (5 n 36).
Kitose n eilui raytas mokinio vardas ir pavard (tam skirti 25 simboliai) ir gimimo data:
metai, mnuo ir diena atskirti brkneliais.
Rezultat faile grupes.txt raykite tekst: Rudenio grup: ir emiau pateikite mokini sra
su gimimo datomis. Toliau raykite tekst: iemos grup: ir emiau pateikite mokini sra
su gimimo datomis. Ir t.t. Jeigu kurioje nors grupje nebus mokini vietoj srao raykite tris
brknius. Grupi gale paraykite Vyriausias klass mokinys: ir jo vard bei pavard.
Paskutinje eilutje Jauniausias klass mokinys: ir jo vard bei pavard.

71
Duomenys Rezultatai

Reikalavimai programai:
1. Sukurta funkcija (procedra) duomenims i failo nuskaityti. Duomenys skaitomi
struktros (rao) tipo masyv.
2. Sukurta funkcija (procedra) duomenims atrinkti vien grup. Ta pati funkcija
(procedra) naudojama ir kitoms grupms formuoti. Formuojamos grups raomos
nauj struktros (rao) tipo masyv.
3. Sukurta funkcija vyriausiam mokiniui rasti.
4. Sukurta funkcija jauniausiam mokiniui rasti.
5. Sukurta funkcija (procedra) rezultatams duomen fail rayti.

3. Mokini vidurkiai. Faile Duomenys.txt pateiktas mokini sraas su mokomj dalyk


vidurkiais. Pirmoje eilutje nurodytas mokini skaiius. Kitose eilutse - mokinio vardas,
pavard, klas, dalyk skaiius ir lik skaiiai t dalyk vidurkiai. Sukurkite program, kuri
suskaiiuot kiekvieno mokinio vis dalyk vidurk (apvalinant iki 1 skaiiaus po kablelio ir
papildomai pateikiant suapvalinus iki sveikosios dalies) bei sugrupuot mokinius pagal klases.
Srao pabaigoje pateikti dviej mokini, turini didiausi ir maiausi vidurkius, vardus,
pavardes ir klases. Jei yra po kelis mokinius, turinius didiausi ir maiausi vidurkius, tuomet
reikia pateikti pirmj srae esani mokini su atitinkamais vidurkiais, duomenis. Rezultatus
pateikti faile rezultatai.txt.

72
Reikalavimai programai:
1. duomenims saugoti naudoti struktras ir struktr masyvus;
2. galutiniams rezultatams saugoti sukurti nauj struktr masyv;
3. sukurkite pradini duomen i failo skaitymo funkcij;
4. sukurkite vidurkio skaiiavimo funkcij;
5. sukurkite rezultat raymo fail funkcij.

Duomenys Rezultatai

4. viesuoli miestelio skaitytojai. viesuoli miestel aptarnaujantis laikininkas ne tik


ineioja gyventoj gautus laikus, bet ir j prenumeruojam spaud. Met pradioje laikininkas
gavo leidim organizuoti akcij Prenumeruok didesn kiek moksi tris kartus pigiau.
viesuoli miestelio gyventojai ne tik viesuoliai, bet ir labai praktiki mons sugalvojo, kad
mogus, usiprenumeravs kelis tokio paties pavadinimo leidinius, gals vien pasilikti sau, o
kitus idalinti kaimynams, kitas mogus prenumeruoja kito pavadinimo kelis leidinius, vien
pasilieka sau, o kitus idalina kaimynams ir t.t. Kaip tar, taip padar.
Pirmoje tekstinio failo sviesuoliai.txt eilutje raytas prenumeratori skaiius n (3 n 20) ir
prenumeruojam leidini skaiius k (3 k 10). Antroje failo eilutje suraytos leidini kainos,
viena nuo kitos atskirtos tarpais. Kainos yra realieji skaiiai. Toliau faile yra n eilui, kuriose
ivardinti miestelio gyventoj vardai (skiriama 15 pozicij), j prenumeruojam leidini kiekiai
nuo pirmojo iki k-tojo. Jei kurio nors leidinio mogus neprenumeruoja, toje vietoje raytas nulis.
Paraykite program, kuri tekstiniame faile ataskaita.txt surayt:
pirmosiose n failo eilui suraoma, u koki pinig sum kiekvienas mogus
usiprenumeravo leidini;
u koki pinig sum leidini usiprenumeravo visi viesuoli miestelio gyventojai;
kuris viesuoli miestelio gyventojas usiprenumeravo daugiausiai leidini;
kuris viesuoli miestelio gyventojas usiprenumeravo leidini u maiausi pinig
sum.

73
Reikalavimai programai:
1. naudokite rao (struktros) duomen tip ir masyvus su rao (struktros) tipo
duomenimis;
2. turi bti funkcija, skaiiuojanti vieno mogaus ileist leidiniams pinig sum;
3. turi bti funkcija, skaiiuojanti vis leidiniams ileist pinig sum;
4. turi bti funkcija, surandanti, kuris miestelio gyventojas usiprenumeravo daugiausiai
leidini;
5. turi bti funkcija, surandanti, kuris viesuoli miestelio gyventojas usiprenumeravo
leidini u maiausi pinig sum;
6. turi bti funkcija, kuri rezultat faile spausdina, u koki pinig sum kiekvienas mogus
usiprenumeravo leidini.
Duomenys Rezultatai

19. Struktr (ra) masyv element rikiavimas

1. Populiariausios programavimo kalbos. TIOBE Software svetainje (http://www.tiobe.com)


skelbiami duomenys apie populiariausias programavimo kalbas: pavadinimas (skiriama 20
pozicij), vieta 2014 met vasario mnes, vieta 2013 met vasario mnes, reitingas procentais,
reitingo pokytis, procentais.
Parenkite program, kuri surikiuot kalbas reitingo pokyio didjimo tvarka.
Pradini duomen faile Duomenys.txt rayta:
pirmoje eilutje programavimo kalb skaiius n;
tolesnse n eilui informacija apie kiekvien programavimo kalb: pavadinimas, vieta
2014 met vasario mnes, vieta 2013 met vasario mnes, reitingas ir reitingo pokytis.
Rezultat faile Rezultatai.txt rayti kalbas, surikiuotas reitingo pokyio didjimo tvarka. Jei
kalb reitingo pokytis yra vienodas, jas palikti idstytas taip, kaip pradiniame srae.
Reikalavimai programai:
1. naudokite raus (struktras) ir masyvus su rao (struktros) tipo elementais;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite rezultat raymo fail procedr (funkcij void C++);
4. sukurkite funkcij, rikiuojani programavimo kalbas populiarumo pokyio didjimo
tvarka.

74
Duomenys.txt Rezultatai.txt
6 C++ 4 4 6.892 -1.87
C 1 2 18.334 1.25 Java 2 1 17.316 -1.07
Java 2 1 17.316 -1.07 PHP 6 6 4.219 -0.85
Objective-C 3 3 11.341 1.54 C# 5 5 6.450 -0.23
C++ 4 4 6.892 -1.87 C 1 2 18.334 1.25
C# 5 5 6.450 -0.23 Objective-C 3 3 11.341 1.54
PHP 6 6 4.219 -0.85

2. domiausi filmai. Oskaro apdovanojimas teikiamas u nuopelnus kine. Nuo 1986 m.


apdovanojimo ceremonija yra transliuojama per televizij. Internete Adomas surado informacij
apie Oskaro nominacijas pelniusius geriausius filmus ir nusprend perirti apdovanojim
ceremonij transliacij raus. Sukurkite program, kuri filmus surikiuot pagal tokias taisykles:
apdovanojim ceremonij transliacijos laiko didjimo tvarka, o jei keli film apdovanojim
ceremonijos transliacijos laikai sutampa, tuomet pagal irov skaii majimo tvarka.
Pradini duomen faile Duomenys.txt:
pirmoje eilutje raytas apdovanojim ceremonij skaiius n;
tolesnse n eilui rayta informacija apie vien apdovanojim ceremonij: metai, filmo
pavadinimas (gali sudaryti keli odiai, skiriamos 25 pozicijos), transliacijos laikas
valandomis ir minutmis (du sveikieji skaiiai), irov skaiius milijonais (sveikasis
skaiius);
Rezultat faile Rezultatai.txt turi bti raytas laikantis uduoties reikalavim surikiuot film
sraas. Vienam filmui skiriama viena eilut.
Reikalavimai programai:
1. naudokite struktras (raus) ir j masyvus;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite rikiavimo pagal du raktus procedr (funkcij void C++);
4. sukurkite rezultat raymo fail procedr (funkcij void C++).
Duomenys.txt Rezultatai.txt
5 2001 Gladiatorius 3 23 43
1988 Paskutinis imperatorius 3 33 42 1992 Avinli tyljimas 3 33 44
1991 okis su vilkais 3 35 43 1988 Paskutinis imperatorius 3 33 42
1992 Avinli tyljimas 3 33 44 2006 Avarija 3 33 39
2001 Gladiatorius 3 23 43 1991 okis su vilkais 3 35 43
2006 Avarija 3 33 39

75
3. Skaniausi saldainiai. Saulius yra saldaini ekspertas. Jis ragauja vairi gamintoj produkcij
ir vertina saldaini skon 5 bal skalje (1 neskanus; 2 i bdos galima valgyti; 3 galima
valgyti, bet yra ir skanesni; 4 skanus; 5 labai skanus).
Parenkite program, kuri Sauliui pateikt kiekvieno gamintojo saldaini sra skanumo
didjimo tvarka.
Pradini duomen faile Duomenys.txt rayta:
pirmoje eilutje saldaini gamintoj skaiius n;
toliau surayti duomenys apie kiekvien gamintoj:
vienoje eilutje raytas gamintojo pavadinimas (skiriama 25 pozicijos) ir saldaini
ri skaiius r;
tolesnse r eilui raytas saldaini ries pavadinimas (skiriama po 20 pozicij) ir
sveikasis skaiius nuo 1 iki 5, nurodantis saldainio skanum.
Rezultat faile Rezultatai.txt turi bti rayta:
kiekvieno gamintojo pavadinimas;
to gamintojo saldainiai, irikiuoti skanumo didjimo tvarka. Jei yra kelios to paties
skanumo saldaini rys, tai jos gali bti idstytos bet kuria tvarka.
Reikalavimai programai:
1. naudokite raus (struktras) ir masyvus su rao (struktros) tipo elementais;
2. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
3. sukurkite rezultat raymo fail procedr (funkcij void C++);
4. sukurkite funkcij, rikiuojani saldainius skanumo didjimo tvarka.
Duomenys.txt Rezultatai.txt
3 Rta
Rta 4 Auksinis raktelis 3
Auksinis raktelis 3 Mersi 3
Mersi 3 ara 3
iurlionis 4 iurlionis 4
ara 3 Pergal
Pergal 5 Kregdut 3
Nomeda 5 Sonata 4
Sostins 5 Nomeda 5
Vilnius 5 Sostins 5
Sonata 4 Vilnius 5
Kregdut 3 Mondelez International
Mondelez International 3 Milka 3
Manija 4 Manija 4
Karna 5 Karna 5
Milka 3

76
4. Geriausi draugai. Kart Mikei Pkuotukui besisveiuojant pas Triu kilo beprotika idja
nustatyti, kas yra geriausi jo draugai. Vidinis balsas Mikei seniai buvo pasaks geriausio draugo
vard (tai, inoma, buvo Knysliukas), taiau yra dar matematika ir statistika, kurios susuko
Mikei ir Triuiui prot. Triuis neblogai skaiiavo ir programavo, todl sutiko sukurti program,
kuri tai apskaiiuot. Pirmiausia reikjo paruoti duomen fail. Mik inojo, kad turi n draug
(3 n 50). Taip pat gerai inojo j vardus, kiek kart jis pats mielai dalyvavo j
gimtadieniuose ir kiek kart kiekvienas i draug ven Miks gimtadien. Taip pat Mik,
bdamas savanaudis ir smaliius, puikiai atsimin, kiek medaus puodynli jam padovanojo
kiekvienas draugas. Be to Mik turjo gdingai prisiminti, kad ne pas visus draugus sveius
eidavo su dovana. ie duomenys ir lm draugikumo skaiiavimo ypatybes.
Ar Js nenortumt sukurti program, kuri sprst udavin?
Duomenys. Duomenys tekstiniame faile Duomenys.txt:
pirmoje eilutje raytas Miks draug skaiius n;
kitose n eilui rayta itokia informacija:
o dv draugo vardas (16 simboli, gali bti tarp);
o dg kiek kart Mik vent draugo gimtadien;
o md kiek kart Mik draugui dovanojo dovan;
o mg kiek kart draugas buvo Miks gimtadienyje;
o dd kiek medaus puodynli draugas padovanojo Mikei.
Draugai duomen faile surayti pagal abcl.
Skaiiavimai. Pirmiausia draugikum vertina pagal formul d1 = max(mg, dd) + min(dg, md) .
Kuo didesnis is skaiius tuo geresnis draugas. is dydis rodo draug dosnum ir pagarb
(pagal Triu). Jei pasirodyt, kad keli draug apskaiiutos reikms yra vienodos, tuomet
skaiiuojamas kitas dydis pagal formul d2 = | max(mg, dd) min(dg, md) |. Kuo io parametro
reikm yra maesn tuo draugas yra geresnis. is dydis parodo savitarpio supratim (pagal
Mik). Jei abudu dviej ar keli draug dydiai d1 ir d2 yra vienodi, tai draug spausdinimo
tvarka nra svarbi.
Rezultatai. Rezultatai raomi tekstin fail Rezultatai.txt. Draug sraas pradedamas geriausiu
draugu, o toliau - draugikumo majimo tvarka. alia draugo vardo taip pat reikia spausdinti
dydius d1 ir d2.
Kiekybiniai apribojimai. Draug skaiius nra maesnis u 3 ir nevirija 50. Miks amius gali
bti tik vienenklis arba dvienklis skaiius. Spausdinant rezultatus vardams skiriama 16
pozicij, dydiui d1 skiriama 4, o dydiui d2 3 pozicijos.
Reikalavimai programai:
1. naudokite struktras (raus) ir j masyvus, sveikuosius skaiius;
2. sudarykite struktr (ra) ir masyv, skirt draugo duomenims saugoti;
3. sukurkite pradini duomen skaitymo procedr (funkcij void C++);
4. sukurkite rezultat raymo fail procedr (funkcij void C++);
5. sukurkite funkcijas/procedras, skaiiuojanias draugikum, rikiuojanias draug sra.

77
Duomenys.txt Rezultatai.txt
7 Geriausi draugai:
Asiliukas 8 8 5 6 Triuis 15 3
Knysliukas 7 7 7 5 Knysliukas 14 0
Lokis Tokis 3 2 3 2 Asiliukas 14 2
Pelda 6 6 7 7 Pelda 13 1
arka 2 2 2 1 ernas 5 1
ernas 3 2 3 2 Lokis Tokis 5 1
Triuis 7 6 7 9 arka 4 0

20. Struktr (ra) masyv element alinimas

1. Prekyba buitine technika. Duotas buitins technikos parduotuvs sandlio preki sraas
Sandelis.txt faile. Pirmoje eilutje pateiktas bendras preki kiekis, kitose preks pavadinimas
(25 simboliai), preks kodas, vienet skaiius ir vieneto kaina. Kitame faile Uzsakymai.txt
pateiktas klient usakyt preki sraas. Pirmoje eilutje pateiktas preki sraas, kitose
preks kodas ir usakytas vienet skaiius. Paraykite program, kuri pateikt informacij apie
sandlyje likusias prekes SandelisRez.txt rezultat faile ir apie prekes, kuri sandlyje trksta
UzsakymaiRez.txt faile (jei preks kiekis yra neigiamas, tuomet prek reikia usakyti i tiekjo).
Rezultatus pateikti tokia forma, kaip nurodyta pavyzdyje.
Reikalavimai programai:
1. Duomenims saugoti naudokite duomen struktras.
2. Sukurkite pradini duomen skaitymo funkcij.
3. Sukurkite funkcij, kuri alint raus.
4. Sukurkite sumos skaiiavimo funkcij.
5. Sukurkite rezultat raymo funkcij.
Duomen failas Sandelis.txt Duomen failas Uzsakymai.txt

12 7
Whirlpool aldytuvas 418 10 1199.00 701 20
Beko aldytuvas 431 18 1599.99 603 15
Lorenz el. krosnel 021 26 499.00 124 15
Cook aerogrilis 023 11 359.00 418 10
Aurum el.virdulys 718 54 129.99 615 19
Petra virdulys juodas 701 19 159.00 122 14
Gastroback suliaspaud 219 11 219.00 021 14
Philips suliaspaud 225 12 199.99
First kavamal 603 36 99.99
DeLonghi kavamal 615 22 109.00
Bosch diov. Maina 124 12 1899.00
Panasonic diov. maina 122 12 1559.00

78
Rezultat failas Rezultat failas
SandelisRez.txt UsakymaiRez.txt
Beko aldytuvas 431 18 1599.99 Petra virdulys juodas 701 1
Lorenz el. krosnel 021 12 499.00 Bosch diov. Maina 124 3
Cook aerogrilis 023 11 359.00 Panasonic diov. maina 122 2
Aurum el.virdulys 718 54 129.99 Sumokti tiekjams 8974.00
Gastroback suliaspaud 219 11 219.00
Philips suliaspaud 225 12 199.99
First kavamal 603 21 99.99
DeLonghi kavamal 615 3 109.00

2. Registracija. Registracijos interneto svetainje priimamos tik patikrinus asmens kredito


kortels numer. Jei asmuo pateikia neteising informacij, tai jo registracija yra naikinama.
Kredito kortels numeruojamos vieningai numer sudaro 13-16 skaitmen, i kuri du ar trys
pirmi nusako kortels tip, 6 skaiiai nusako kortel idavus bank ar staig (BIN), o lik
skaiiai parenkami pagal tam tikras taisykles Luhn'o formul. Luhno formul algoritmas,
kuris leidia patikrinti, ar mokjimo kortels identifikacinis numeris yra teisingas: ar vedant
kortels numer nepadaryta klaida, ar numeris nra atsitiktinai sugalvotas.
Luhno formul: kas antras skaitmuo (antras, ketvirtas ir t.t.) dauginamas i 2, jei rezultatas
dvienklis, abu skaitmenys sudedami. Gauta nauja skaitmen eilut sudedama ir, jeigu sumos
paskutinis skaitmuo yra 0, numeris yra teisingas.
Pavyzdiui, identifikacinis kortels numeris 49927398716 yra teisingas, nes atlikus algoritm,
skaitmen suma yra lygi 70.

Numeris 4 9 9 2 7 3 9 8 7 1 6

Kas antras skaitmuo 9*2 2*2 3*2 8*2 1*2


dauginamas i 2 18 4 6 16 2

Nauji numerio skaitmenys 4 9 9 4 7 6 9 7 7 2 6


4 +9 + 9 + 4 + 7 + 6 + 9 + 7 + 7 + 2 + 6 = 70
Duomen faile reg.txt pateikti n (1 < n < 100) asmen registracijos duomenys: asmens vardas ir
pavard (25 simboliai) bei kortels identifikacinis numeris (11 skaitmen).
Sudarykite program, kuri naikint neteisingai nurodiusi kortels numerius asmen registracij
ir iuos asmenis rayt paalint asmen sra.
Rezultat failo rez.txt pirmoje eilutje spausdinkite Geras sraas ir teisingus duomenys
pateikusi asmen sra. Jeigu toki asmen neliko, tai paraykite teksto eilut Duomen
nra. Po to, spausdinkite Paalint sraas ir paalint asmen sra. Jeigu toki asmen
nra, tai paraykite teksto eilut Duomen nra.

79
reg.txt rez.txt

5 Geras sraas --------------------------


Vilkas iaurusis 49927398716 Vilkas iaurusis 49927398716
Lap Gudrut 10923247234 Kikis Naivuolis 12525447558
Kikis Naivuolis 12525447558 Barsukas Sukas 12123212123
Mekis Lepekis 32587413698
Barsukas Sukas 12123212123 Paalint sraas -------------------------
Mekis Lepekis 32587413698
Lap Gudrut 10923247234

2 Geras sraas ----------------------------


Lap Gudrut 10923247234 Duomen nra
Mekis Lepekis 32587413698
Paalint sraas ------------------------
Mekis Lepekis 32587413698
Lap Gudrut 10923247234

Reikalavimai programai
1. Naudoti struktr (ra) masyvus.
2. Sudaryti duomen skaitymo i failo funkcij (procedr).
3. Sudaryti kortels numerio teisingumo nustatymo funkcij.
4. Sudaryti struktros (rao) alinimo i struktr (ra) masyvo funkcij (procedr).
5. Sudaryti rezultat raymo fail funkcij (procedr).
3. Muzikos album parduotuv. Parduotuv prekiauja muzikos ra albumais. Kiekvienas
albumas nusakomas pavadinimu (16 simboli), autoriumi (24 simboliai), kaina (sveikasis
skaiius) ir kiekiu (sveikasis skaiius).
Duomenys. Duomenys yra pateikti tekstiniame faile duom.txt. Pirmojoje jo eilutje yra skirting
album skaiius n (1 n 100), o kitose n eilui ivardinti kiekvieno albumo duomenys.
Kitame tekstiniame faile operacijos.txt surayta informacija apie album pirkim ir j tiekim.
io failo pirmojoje eilutje yra operacij skaiius k. Kitose k eilui pateikta informacija apie
album tiekim urayta tokia paia tvarka, kaip ir faile duom.txt, tik pradioje yra pliuso
enklas ir tarpo enklas. Pliusas reikia, kad albumai buvo gauti. Jei parduotuvje toki album
bta, tai tik padidinamas toki album skaiius, jai nebuvo albumas raomas album sra
pabaigoje.
Pardavimas yra fiksuojamas minuso enklu, po kurio yra tarpas, o toliau nurodomas albumo
pavadinimas ir pirkj pageidautas album skaiius.
Skaiiavimai. Suprantama, kad pirkj norai gali bti didesni u parduotuvs galimybes, todl
parduodama tiek, kiek yra tuo momentu. Jei toki album dar kakiek lieka, tai atitinkamai
mainamas j skaiius srae. Jei album nelieka toks albumas paalinamas i srao.
To paties pavadinimo ir to paties autoriaus albumai gali bti skirting kain. Tuomet jie
fiksuojami srae atskirose eilutse.
Skirting autori album pavadinimai skiriasi.
Pirkjas suinteresuotas j dominant album nusipirkti u kuo maesn kain, jei tik yra
80
galimyb. Klientas visada teisus. Pardavjai maloniai aptarnauja.
Rezultatai. Reikia apskaiiuoti, kokiai sumai parduota album ir atspausdinti likusi album
sra, pateikiant informacij apie albumus tokiu paiu pavidalu, kaip duomen faile duom.txt.
Rezultatus raome tekstin fail ataskaita.txt.
Kiekybiniai apribojimai. Album skaiius programos vykdymo eigoje nevirija 100.
Reikalavimai programai:
1. Naudokite struktras ir struktr masyvus, sveikuosius skaiius.
2. Sudarykite struktr, skirt saugoti albumo informacijai.
3. Sukurkite procedr (funkcij void C++) skirt skaityti duomenis i failo duom.txt.
4. Sukurkite procedr/funkcij (funkcij C++) skirt apdoroti likusiems duomenims i failo
operacijos.txt;
5. Sukurkite rezultat raymo fail procedr (funkcij void C++).
6. Sukurkite funkcij, kuri rast pigiausi album srae.
7. Sukurkite funkcij, kuri paalint album i srao.
Duomenys
Duomenys.txt
3
Pabgimas A. Mamontovas 25 4
Tadas Blinda A. Mamontovas 22 3
iam pasauly G. Pakeviius 18 5

operacijos.txt
10
+ Tranzas G. Pakeviius 26 5
- Tadas Blinda 1
+ Beribiam danguje G. Pakeviius 17 5
- Tadas Blinda 3
- Tranzas 4
+ Tadas Blinda A. Mamontovas 22 2
+ Tadas Blinda A. Mamontovas 18 2
- Tadas Blinda 1
- iam pasauly 2
- Tadas Blinda 10
Rezultatai
ataskaita.txt
Parduota u 286 Lt

Preki likuiai:
Pabgimas A. Mamontovas 25 4
iam pasauly G. Pakeviius 18 3
Tranzas G. Pakeviius 26 1
Beribiam danguje G. Pakeviius 17 5

81
21. vairs udaviniai su struktr (ra) masyvais

1. Buto paieka. Faile Duomenys.txt pateiktas but sraas. Pirmoje failo eilutje raytas but
skaiius. Likusiose failo eilutse pateikti kiekvieno buto duomenys: buto numeris, adresas (25
simboliai), kambari skaiius, kvadratra ir nuomos kaina. Kitame duomen faile Kriterijai.txt
pateikti buto paiekos kriterijai: kambari skaiiaus, kvadratros ir nuomos kainos intervalai
(nuo; iki). Paraykite program, kuri pateikt but sra buto ploto majimo tvarka pagal
nurodytus kriterijus. Rezultatus pateikite Rezultatai.txt faile.
Reikalavimai programai:
1. Duomenims saugoti naudokite duomen struktras.
2. Sukurkite pradini duomen skaitymo funkcij.
3. Sukurkite paiekos funkcij.
4. Sukurkite rikiavimo funkcij.
5. Sukurkite rezultat raymo funkcij.
Duomen failas Duomenys.txt Duomen failas Kriterijai.txt
6 2 2
2 Donelaiio g. 15 2 65.5 550 55 70
13 Sauls g. 1 3 75.3 680 450 550
26 Piev g. 14A 2 59.2 490
8 Gvazdikli g. 112 4 86.1 800
22 Miko g. 52 3 70.8 530
53 Vasaros g. 36B 2 40.5 800

Rezultat failas Rezultatai.txt


2 Donelaiio g. 15 2 65.5 550
26 Piev g. 14A 2 59.2 490

2. Programuotoj klas. Jaunj programuotoj mokykla nori sudaryti vien papildom


programavimo technologij pakraipos klas, kuri gali priimti nustatyt mokini skaii. Buvo
atliktas bandomasis testas, pagal kur mokiniai buvo vertinti 3 kriterijais: turintys labai gerus,
vidutinius ir patenkinamus programavimo pradmenis. Turintys labai gerus programavimo
pagrindus priimami pirmu prioritetu, vidutinius antru, o patenkinamus - treiu. Sudarykite
klas priimam mokini sra. T pat prioritet turintys mokiniai tarpusavyje nra
reitinguojami, o j vieta srae nustatoma atsitiktinai.
Duomen failo Duomenys.txt pirmoje eilutje duotas maksimalus klass mokini skaiius ir
norini mokytis mokini skaiius, o tolesnse norini mokytis mokini sraas, kuriame
mokinys apraomas vardu, pavarde ir prioritetu (1, 2 arba 3).
Rezultat faile Rezultatai.txt turi bti ivedamas klas priimam mokini sraas.

82
Reikalavimai programai:
1. Sraui saugoti naudokite struktr masyvus.
2. Klass mokini sra formuokite tokiu bdu: sraas sutvarkomas masyvo element
terpimo ir alinimo bdu prioritet skaitmen didjimo tvarka (1,1,2,2,2,3,..). Nustatyt
mokini skaii virijantys mokiniai yra paalinami i srao.
3. Sukurti funkcijas, sutvarkanias, papildanias ar alinanias mokini srao masyvo
elementus. Galima kurti papildomas funkcijas.
4. Sukurti duomen skaitymo i failo ir rezultat raymo fail funkcijas.
Duomenys Rezultatai
10 13 Sudarytos klass mokini sraas:
Petras_Petraitis 2 iulpauskas_uolas 1
Jonas_Jonaitis 1 Kumponas_Ervidas 1
Andrijauskait_Agn 1 Gulbinas_Kstas 1
Balsyt_Giedr 3 Andrijauskait_Agn 1
Bruas_Darius 2 Jonas_Jonaitis 1
Eiinait_Ema 2 Vasaris_Liudas 2
Gulbinas_Kstas 1 Pranauskyt_Meda 2
Kumponas_Ervidas 1 Eiinait_Ema 2
Lapyt_Vilija 3 Bruas_Darius 2
Pranauskis_Pranas 3 Petras_Petraitis 2
Pranauskyt_Meda 2
Vasaris_Liudas 2
iulpauskas_uolas 1

3. Krepinis. Prie krepinio varybas komandos vadovas registruoja 12 aidj. Krepinio


varyb metu sekretorius fiksuoja kas (aidjo numeris) ir kiek pelno tak (tak skaiius).
Jeigu aidjas met, taiau nepataik raomas 0.
Paraykite program, kuri lentelje pateikt toki varyb statistik: aidjo numer, jo vard,
pavard, mest baud skaii (po 1 tak), dvitaki skaii (2), tritaki skaii (3), i viso
aidjo surinkt tak skaii ir bendr metim tikslum procentais (0 reikia, jog aidjas met,
taiau nepataik). Taip pat nustatyt: pelnius daugiausi tak, metus daugiausi tritaki ir
taikliausi aidj.
Faile zaidejai.txt pateiktas 12-kos registruot aidj sraas: atskirose eilutse raomas aidjo
numeris, jo vardas ir pavard (25 simboliai).
Duomen faile taskai.txt saugoma tokia informacija: aidjo numeris (nuo 1 iki 100) ir pelnyt
tak skaiius (0, 1, 2 arba 3), tam skiriama viena teksto eilut. Faile gali bti ne daugiau kaip
100-as ra.
Rezultat faile suvestine.txt pateikiama lentel:
Nr. Vardas Baud Dvitaki Tritaki Surinkti Nepataikyt Tikslumas
Pavard metim metim metim takai metim
skaiius skaiius skaiius skaiius
Suvestinje aidjai irikiuoti nuo didiausi numer turinio aidjo iki maiausi numer
turinio aidjo. Po lentele pateikite geriausius aidjus: numer, vard, pavard ir geriausi
rodykl. Jeigu yra keli geriausi aidjai, spausdinti vien i j.

83
Reikalavimai programai:
1. duomenims saugoti sukurti rao tipo masyv(-us);
2. sukurti vien arba dvi duomen skaitymo i dviej fail funkcijas (procedras);
3. sukurti funkcij, kuri skaiiuoja surinktus takus;
4. sukurti funkcij, kuri skaiiuoja metim tiklsum;
5. sukurti funkcij (procedr) rikiuoti ra masyv pagal aidjo numerius;
6. sukurti geriausi aidj atrankos funkcij (procedr);
7. sukurti rezultat raymo fail funkcij (procedr).

zaidejai.txt taskai.txt
12 Aldevinas Sirinaitis 12 0
13 Darius Gricius 12 1
2 Donatas Drimeikis 12 1
4 Giedrius Purauskas 11 3
10 Henrikas Paulauskas 9 2
11 Justas Aliauskas 16 2
9 Justinas Vitkus 33 2
23 Mindaugas Lukonaitis 9 0
3 Robertinas Vilimas 4 0
26 Tomas Lukonaitis 4 1
88 Tomas Samalionis 11 2
33 Valdas Dobilas 16 3
10 2
9 0
11 3
9 2
23 3
33 3
10 1
11 0
9 3
33 0
23 2
23 0
9 2
9 1
9 1

84
Rezultat failas suvestine.txt

4. Orientacinio sporto varybos. Mike paslepiami kontroliniai punktai, kuriuos sportininkai


privalo surasti. Kiekviename punkte paliktas varyb blankas ir raymo priemon. Surads
punkt sportininkas tame blanke urao punkto radimo laik ir savo numer, o savo blanke t
pat laik ir surasto punkto numer. Be to, teisjai fiksuoja sportininko numer, jo starto laik ir
finio laik. Starto ir finio laik usirao ir sportininkas savo blanke. Punktus sportininkas lanko
bet kokia tvarka, tik paskutinis punktas turi bti finias. Startas neeina punkt skaii, jame tik
fiksuojamas starto laikas. Sportininkai gauna kompasus ir emlapius, kuriuose paymti visi
punktai, taip pat ir startas. Jeigu sportininkas neranda finio punkto, tai jis turi grti start, o
vietoje finio laiko raomas grimo start laikas. Tokiu atveju jo rezultatai nra skaiiuojami.
Punktai numeruojami i eils pradedant nuo vieneto. Punktas su didiausiu numeriu yra finias.
Punktuose esantys varyb blankai yra pateikiami teisj kolegijai. Varyb nugaltojai
nustatomi pirmiausia atsivelgiant rast punkt skaii. Didesnis rast punkt skaiius
garantuoja auktesn viet. Jei keli sportininkai rado vienod punkt skaii, tai tuomet
tikrinama, kuris i j trasoje utruko trumpiau. Nra dviej sportinink, kurie turt du vienodus
pagrindinius kriterijus vienod punkt skaii ir bgimo trasoje trukm. Tras veikia bent
vienas sportininkas. Jeigu sportininkas nesutinka su teisj kolegijos sprendimu, jis gali pateikti
apeliacij su savo blanku ir palyginti savo ir teisj duomenis.
Duomenys ir kiekybiniai apribojimai. Tekstiniame faile orient-duomenys.txt duota
informacija, kuri turi teisj kolegija.
Pirmoje failo eilutje duotas sportinink skaiius n (2 n 100). Sportininkai numeruojami
skaiiais i eils nuo 1 iki n pagal suraymo tvark duomen faile. Tolesnse n eilui yra duoti
sportinink vardai ir pavards (keli odiai, i viso iki 16 simboli) starto laikas ir finio laikas
ireikti valandomis minutmis ir sekundmis. Bet kurio sportininko laikas trasoje nevirija 8
valand.
Toliau duotas punkt skaiius p (2 p 20). Kitose p eilui surayti tokie duomenys:
Punkto numeris, punkt radusi sportinink skaiius ir sportinink numeriai, atskirti tarpais.
Rezultatai. Rezultatai spausdinami tekstiniame faile orient-rezultatai.txt. Reikia apskaiiuoti,
kuriam sportininkui skiriama pirmoji vieta, atspausdinti jo vard ir pavard. Toliau spausdinti
vis tras veikusi sportinink sra rezultato blogjimo tvarka: vardas, pavard surast punkt

85
skaiius ir sugaitas laikas trasoje. Nepasiek finio sportininkai nespausdinami.
Rezultatai spausdinami tokiu pavidalu:
Vardas ir pavard kaip duota tekstiniame faile, po to 1 tarpas.
Surast punkt skaiiui skiriamos 2 pozicijos, po to 1 tarpas.
Laikas tiek duomen, tiek rezultat faile uraytas naudojant dvitak.
Valand skaiiui skiriamos dvi pozicijos.
Minuts ir sekunds spausdinamos dvienkliais skaiiais. Jei skaiius vienaenklis priekyje
pridedamas nulis.
Reikalavimai programai:
1. Apraykite struktr, kuri tikt saugoti vieno sportininko duomenis. Gali bti
naudojamos ir kitos struktros, pavyzdiui, saugoti laikui.
2. Programoje panaudokite struktr masyv.
3. Paraykite skaitymo funkcij (procedr). Skaitymo funkcija gali atlikti tam tikr
skaitom duomen apdorojim.
4. Paraykite kitas duomen apdorojimo funkcijas (procedras).
5. Paraykite funkcij (procedr), kuri spausdina rezultatus.

Duomenys orient-duomenys.txt Paaikinimai


4 Sportinink skaiius
Jonas Gugis 8:45:00 10:11:25 Vardas, pavard starto ir finio
Petras Kukis 8:50:00 10:06:11 laikas
Balys Tomkus 8:55:00 11:34:56
Algis Jonkus 9:00:00 10:08:55
5 Punkt skaiius
1 3 1 3 4 Pirm punkt aplank 3
3 4 2 1 3 4 sportininkai, kuri numeriai 1, 3
2 3 1 3 4 ir 4
5 3 1 3 4 Finias yra 5 punktas
4 4 1 2 3 4 Petras Kukis finio nepasiek

Rezultatai orient-rezultatai.txt
Algis Jonkus I vieta

Algis Jonkus 5 1:08:55


Jonas Gugis 5 1:26:25
Balys Tomkus 5 2:39:56

86

You might also like