Professional Documents
Culture Documents
Informatikos fakultetas
Programavimo pamokls
2013-2014 m.m. uduoi rinkinys
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
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
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
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
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.
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.
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.
Duomenys Rezultatai
veskite intervalo pradi: 5 Reikaling markinli skaiius: 4
veskite intervalo pabaig: 24
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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
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.
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.
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
Duomenys Rezultatai
500.0 0.2 3 20.0 4.4
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:
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
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
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.
I 4 3 0 2
II 2 6 4 0
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.
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
.
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
42
Pradiniai duomenys skaitomi i failo puslapi_periros.txt:
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:
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.
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.
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
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.
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
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).
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
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).
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).
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
54
3 Nemagikasis kvadratas
12 17 16
12 15 11
14 13 18
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:
Duomenys Rezultatai
5 7 13 12 16 3 2 13 1
12 16 3 2 1
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
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
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
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
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
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!
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
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++).
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
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.
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
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
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
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
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
Numeris 4 9 9 2 7 3 9 8 7 1 6
79
reg.txt rez.txt
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
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
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
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.
Rezultatai orient-rezultatai.txt
Algis Jonkus I vieta
86