Savarnakiškų darbų užduotys ETv-08/1 ir ETv-08/2 grupėms

 

Semestro bėgyje studentai privalo atlikti dvi savarankiškas užduotis t.y. C kalba parašyti dvi programas ir jas atsiskaityti laboratorinius darbus vedančiam dėstytojui. Kiekviena programa vertinama iki 2,5 balo. Pirmąją programą reikia atsiskaityti iki 2009.04.20, antrąją iki semestro pabaigos. Neatsiskaičiusiems šių darbų, nebus leidžiama laikyti egzamino.

Programos turi būti rašomos su komentarais, kad dėstytojas galėtų lengviau suprasti jūsų programos kodą.

 


1 savarankiško darbo užduotys

Bendrieji nurodymai: įvedimas/išvedimas atliekamas į standartinius įrenginius t. y. klaviatūrą ir ekraną. Programą sudaro tik main() funkcija.

 

1. Surasti trikampio plotą ir perimetrą, kai duotos jo trijų viršūnių koordinatės (x, y). Koordinatės nuskaitomos iš klaviatūros ir patikrinamos, ar jos yra teisingos t.y. ar viršūnės nėra vienoje tiesėje.

2. Surasti visų sveikų skaičių, esančių intervale [a, b] sumą ir vidurkį. Kintamųjų a ir b reikšmės nuskaitomi iš klaviatūros.

3. Duota begalinė skaičių ai seka, kur ai = 1 / i . Surasti tokį skaičių ai, kad būtų tenkinama sąlyga | ai - ai-1| < 0,01.

4. Parašykite programą, veikiančią kaip paprastas kalkuliatorius t.y. atliekantis +, -, *, /, veiksmus.

5. Duotas natūrinis skaičius A. Rasti tokį k, kad tenkintų sąlygą: (k-1)! ≤ A ≤ k!

6. Šachmatų lentoje langelio koordinatės apibrėžiamas dviejų natūrinių skaičių pora t.y. langelio numeriu vertikalia ir horizontalia kryptimi. Iš klaviatūros įvedami skaičiai k ir l, kurie parodo arklio figūros padėtį šachmatų lentoje. Nustatyti, ar arklys grasina priešininko figūrai, stovinčiai langelyje su koordinatėmis m, n. (m ir n skaičiai įvedami klaviatūra).

7. Duotos dviejų skritulių centro koordinatės plokštumoje x1, y1 ir x2, y2 bei jų spinduliai R1 ir R2 (visi duomenys įvedama klaviatūra). Nustatyti ar skrituliai kertasi, nesikerta, liečiasi. Apskaičiuoti jų plotus.

8. Apskaičiuoti reiškinio reikšmes intervale k = [0, 10], kur k - natūriniai skaičiai, x = 2.71. Atskirai išvesti į ekraną teigiamas ir neigiamas reikšmes.

9. Duotas natūrinis skaičius N. Apskaičiuoti reiškinio reikšmę , kur ai = 3*i, kai i lyginis ir ai = i*(i-2), kai i nelyginis. Rezultati išvedami į ekraną.

10. Duotas skaičius A. Surasti skaičių sekoje pirmą skaičių, kuris būtų didesnį už A. Rezultati išvedami į ekraną.

11. Duotas skaičius N>5. Surasti reiškinio reišmę. Rezultati išvedami į ekraną.

12. Duotas skaičius A > 0. Skaičiai bi randami pagal formulę . Surasti tokį pirmą bi kuris būtų mažesnis už A. Rezultati išvedami į ekraną.

13. Duotas natūrinis skaičius N. Apskaičiuoti reiškinio reikšmę , kur ai = (i+12)/5, kai i lyginis ir ai = i*(i+7)/4, kai i nelyginis. Rezultati išvedami į ekraną.


 

2 savarankiško darbo užduotys

Bendrieji nurodymai: antroji programa privalo būti parašyta naudojant keletą funkcijų t.y. ne tik funkciją main(). Įvedimo/išvedimo procedūros atliekamas su failais.

 

1. Parašyti programą, kuri nuskaito simbolių eilutę iš failo ir suformuoja naują eilutę, kurioje yra tik primoje eilutėje esantys skaičiai. Išvedama surastų skaičių suma.

2. Parašyti programą, kuri nuskaito dvimatį masyvą iš failo, suranda teigiamus elementus ir jų indeksų numerius. Taip pat apskaičiuoja pagrindinės įstrižainės elementų sumą ir vidurkį.

3. Parašyti programą, kuri nuskaito tekstą iš failo ir suskaičiuoja, kiek kartų tekste pasikartoja tam tikras simbolis ir žodis (simbolis ir žodis įvedami klaviatūra). Patikrina, ar sutampa teksto pirmasis ir paskutinysis simbloliai.

4. Parašyti programą, kuri nuskaito dvimatį masyvą iš failo ir perstato atvirkštine tvarka masyvo įstrižainės elementus. Papildomai suranda visų masyvo elementų didžiausią modulį.

5. Parašyti programą, kuri nuskaito tekstą iš failo ir ištestuoja ar tekstas yra simetrinis. Taip pat suranda tekste kablelius ir juos pakeicia taškais.

6. Parašyti programą, kuri nuskaito iš failo dvimatį masyvą ir randa jame maksimalų skaičių iš tų, kurie pasikartoja daugiau nei vieną kartą.

7. Dvimačio masyvo elementai - atsitiktiniai skaičiai. Parašyti programą, kuri masyvo eilutes sukeičia vietomis taip, kad eilučių elementų sumos didėtų einant iš viršaus į apačią.

8. Natūrinių skaičių seka nuskaitoma iš failo. Programa patikrina, ar šioje sekoje yra Fibonačio skaičių. Jei tokie randami, jie išvedami į ekraną ir failą. Fibonačio skaičių sekoje skaičius lygus dviejų prieš jį einančių skaičių sumai. Pvz. Fibonačio skaičių seka: 0 , 1, 1, 2, 3, 5, 8, 13, 21, 34 ...

9. Turime k miestų. Reikia nustatyti, kuriame iš miestų tikslinga statyti pramogų centrą. Sąlyga - atstumų suma nuo visų miestų iki miesto, kuriame yra pramogų centras turi būti mažiausia. Jei mieste i randasi pramogų centras, tuoment atstumas nuo miesto j iki pramogų centrojo yra masyvo A[i][j] elementas. Masyvas A nuskaitomas iš failo

10. Parašyti programą, kuri nuskaito dvimatį masyvą iš failo ir suranda jame tris didžiausius skaičius ir jų vidurkį.

11. Parašyti programą, kuri perstumtų vienmačio masyvo A[n] elementus per m pozicijų į dešinę. Išstumti elementai naukinami, o kairėje pusėje esantys tušti elementai užpildomi nuliais. Masyvas A[n] nuskaitomas iš failo.

12. Parašyti programą, kuri nuskaito iš failo dvimatį masyvą ir suranda tokius elementus, kurie yra didesni už kitų toje eilutėje esančių elementų sumą.

13. Duotos stačiakampio 4 viršunių koordinatės plokštumoje XY. Atsitiktinių skaičių generatoriaus pagalba, sugeneruojame 10 taškų koordinates. Nustatyti kurie iš 10 taškų priklauso stačiakampiui.