3
UNIVERZITET U BIHAĆU PEDAGOŠKI FAKULTET PROGRAMSKI JEZICI 1 I ZADAĆA 1. Izračunati proizvod svih jednocifrenih brojeva i od njega oduzeti sumu svih trocifrenih brojeva. 2. Neka se sa tastature unosi prirodan broj n. Program treba da ispiše sumu niza ako je data formula sume: S=1!+2!+3!+...+n! Npr. Ulaz:n=4 Izlaz:S=33. 3. Napisati program koji ispisuje sve proste brojeve iz intervala od 2 do N. Prosti broj je onaj broj koji je djeljiv sa 1 i sam sa sobom. Primjeri prostih brojeva:2,3,5,7, ... 4. Ispisati najveći 7-cifreni broj koji nije djeljiv sa 3 a djeljiv sa 7. 5. Napisati program koji će pronaći i ispisati na ekran koliko ima peterocifrenih brojeva kod kojih je suma zadnje 4 cifre jednaka prvoj cifri. 6. Učenica je prvi dan stavila u kasicu x km, drugi dan dva puta više nego prvi dan, treći dan 2 puta više nego drugi dan i tako redom. Naprimjer, prvi dan je stavila 1km u kasu, drugi dan 2km, treći dan 4km, četvrti dan 8km, peti dan 16km i tako dalje. Program treba da izračuna koliko je učenica uštedjela km za n dana. Broj dana se unosi i unosi se koliko km je stavila u kasu prvi dan. Testni primjer: 1km-prvi dan, 10-dana, rezultat-uštedjela je 1023km 7. Učitavati prirodne brojeve sve dok suma tih brojeva ne postane djeljiva sa 2 i sa 5. 8. Učitavati prirodne brojeve i sabirati ih ako su parni sve dok ne unesemo broj djeljiv sa 3 ili sa 7. 9. Učitavati prirodne brojeve i sabirati svaki drugi uneseni broj sve dok suma ne postane veća od 100. 10. Učitavati prirodne brojeve i množiti one čiji je korijen cijeli broj sve dok proizvod ne postane veći od 1000. 11. Učitavati prirodne brojeve i sabirati ih sve dok im je suma manja ili jednaka 1000. Sabirati samo one koji su parni ili završavaju na 5. 12. Učitavati prirodne brojeve i sabirati ih ako su višecifreni parni a množiti ih ako su jednocifreni neparni sve dok je proizvod veći od sume. Ispisati proizvod i sumu. 13. Napisati program koji za unešeni prirodan broj ispisuje drugi korijen iz zbira njegovih cifara. 14. Za učitani broj n (n>10) napisati program koji će formirati novi broj sa istm ciframa ali u inverznom poretku. 15. Napisati program koji unijeti dekadni broj prevodi u binarni. 16. Napisati program koji unijeti cijeli dekadni broj prevodi u heksadekadni. 17. Učitavati brojeve i ispitivati da li su prosti pa takve sabirati dok ne unesemo 5 prostih brojeva. Ispisati zbir. 18. Napišite program, upotrebom kontrolne strukture do-while koji izračunava zbir brojeva od m do n djeljivih sa 2 i 3. Brojevi od 35 do 52 ne ulaze taj zbir. 19. Napišite program sa izbornikom (menu) za izračunavanje površina geometrijskih likova: kvadrata, pravuguaonika, kruga. Kao elementi za izračunavanje unose se dužine stranica likova. 20. Napraviti program koji će na osnovu dva unesena broja i znaka za operaciju (+, -, * i /) izvršiti operaciju nad unesenim brojevima. 21. Napišite program koji ce za slovo uneseno s tastature odrediti je li riječ o vokalu ili konsonantu, te ispisati odgovarajuću poruku. 22. Učitati niz od n cijelih brojeva. Napisati program kojim se izvršava sljedeća transformacija niza: ako su dva susjedna člana niza a i i a i+1 jednaka onda se član a i+1 uvećava za jedan. Poslije izvršene transformacije ispisati promjenjeni niz. Npr. Ulaz 5 1 1 1 1 1 Izlaz 1 2 1 2 1 23. Dati su nizovi niz1 i niz2 od po 7 realnih elemenata. Napišite program koji će formirati niz3 čiji će elementi biti proizvodi odgovarajućih elemenata niza1 i niza 2. Kreirajte zasebne funkcije za unos elemenata niza, izračunavanje elemenata trećeg niza, te za ispis elemenata niza. 24. Napisati program koji će učitati niz brojeva, pronaći dva najveća elementa niza te ispisati drugi korijen iz njihovog zbroja.

PJ1 Zadaca I

Embed Size (px)

DESCRIPTION

pju

Citation preview

Page 1: PJ1 Zadaca I

UNIVERZITET U BIHAĆU

PEDAGOŠKI FAKULTET

PROGRAMSKI JEZICI 1

I ZADAĆA

1. Izračunati proizvod svih jednocifrenih brojeva i od njega oduzeti sumu svih trocifrenih brojeva.

2. Neka se sa tastature unosi prirodan broj n. Program treba da ispiše sumu niza ako je data formula sume:

S=1!+2!+3!+...+n! Npr. Ulaz:n=4 Izlaz:S=33.

3. Napisati program koji ispisuje sve proste brojeve iz intervala od 2 do N. Prosti broj je onaj broj koji je

djeljiv sa 1 i sam sa sobom. Primjeri prostih brojeva:2,3,5,7, ...

4. Ispisati najveći 7-cifreni broj koji nije djeljiv sa 3 a djeljiv sa 7.

5. Napisati program koji će pronaći i ispisati na ekran koliko ima peterocifrenih brojeva kod kojih je suma

zadnje 4 cifre jednaka prvoj cifri.

6. Učenica je prvi dan stavila u kasicu x km, drugi dan dva puta više nego prvi dan, treći dan 2 puta više nego

drugi dan i tako redom. Naprimjer, prvi dan je stavila 1km u kasu, drugi dan 2km, treći dan 4km, četvrti dan

8km, peti dan 16km i tako dalje. Program treba da izračuna koliko je učenica uštedjela km za n dana. Broj

dana se unosi i unosi se koliko km je stavila u kasu prvi dan.

Testni primjer: 1km-prvi dan, 10-dana, rezultat-uštedjela je 1023km

7. Učitavati prirodne brojeve sve dok suma tih brojeva ne postane djeljiva sa 2 i sa 5.

8. Učitavati prirodne brojeve i sabirati ih ako su parni sve dok ne unesemo broj djeljiv sa 3 ili sa 7.

9. Učitavati prirodne brojeve i sabirati svaki drugi uneseni broj sve dok suma ne postane veća od 100.

10. Učitavati prirodne brojeve i množiti one čiji je korijen cijeli broj sve dok proizvod ne postane veći od 1000.

11. Učitavati prirodne brojeve i sabirati ih sve dok im je suma manja ili jednaka 1000. Sabirati samo one koji

su parni ili završavaju na 5.

12. Učitavati prirodne brojeve i sabirati ih ako su višecifreni parni a množiti ih ako su jednocifreni neparni sve

dok je proizvod veći od sume. Ispisati proizvod i sumu.

13. Napisati program koji za unešeni prirodan broj ispisuje drugi korijen iz zbira njegovih cifara.

14. Za učitani broj n (n>10) napisati program koji će formirati novi broj sa istm ciframa ali u inverznom

poretku.

15. Napisati program koji unijeti dekadni broj prevodi u binarni.

16. Napisati program koji unijeti cijeli dekadni broj prevodi u heksadekadni.

17. Učitavati brojeve i ispitivati da li su prosti pa takve sabirati dok ne unesemo 5 prostih brojeva. Ispisati zbir.

18. Napišite program, upotrebom kontrolne strukture do-while koji izračunava zbir brojeva od m do n djeljivih

sa 2 i 3. Brojevi od 35 do 52 ne ulaze taj zbir.

19. Napišite program sa izbornikom (menu) za izračunavanje površina geometrijskih likova: kvadrata,

pravuguaonika, kruga. Kao elementi za izračunavanje unose se dužine stranica likova.

20. Napraviti program koji će na osnovu dva unesena broja i znaka za operaciju (+, -, * i /) izvršiti operaciju

nad unesenim brojevima.

21. Napišite program koji ce za slovo uneseno s tastature odrediti je li riječ o vokalu ili konsonantu, te ispisati

odgovarajuću poruku.

22. Učitati niz od n cijelih brojeva. Napisati program kojim se izvršava sljedeća transformacija niza: ako su dva

susjedna člana niza ai i ai+1 jednaka onda se član ai+1 uvećava za jedan. Poslije izvršene transformacije

ispisati promjenjeni niz.

Npr. Ulaz 5 1 1 1 1 1 Izlaz 1 2 1 2 1

23. Dati su nizovi niz1 i niz2 od po 7 realnih elemenata. Napišite program koji će formirati niz3 čiji će elementi

biti proizvodi odgovarajućih elemenata niza1 i niza 2. Kreirajte zasebne funkcije za unos elemenata niza,

izračunavanje elemenata trećeg niza, te za ispis elemenata niza.

24. Napisati program koji će učitati niz brojeva, pronaći dva najveća elementa niza te ispisati drugi korijen iz

njihovog zbroja.

Page 2: PJ1 Zadaca I

25. Napisati program koji omogućava unos matrice dimanzija NxN. N se predhodno unosi sa tastature i

predstavlja dimenziju matrice. Program treba da:

a. Ispiše matricu u dvodimenzionalnom obliku,

b. Ispiše zbir svih elemenata matrice,

c. Ispiše proizvod elemenata iznad glavne dijagonale,

d. Ispiše proizvod elemenata ispod glavne dijagonale,

e. Ispiše proizvod elemenata glavne dijagonale,

f. Ispiše proizvod elemenata sporedne dijagonale,

g. Naći sumu neparnih elemenata ispod i proizvod parnih elemenata iznad sporedne dijagonale.

26. Dat je dvodimenzionalni niz (matrica 3x4) OcjeneStudenata. Svaki red predstavlja studenta, a svaka kolona

predstavlja ocjenu koju je student postigao na 4 ispita. Definirajte i upotrijebite:

- funkciju koja će omogući unos ocjena za svakog studenta;

- funkciju za ispis svih ocjena;

- funkciju koja će naći najmanju ocjenu;

- funkciju koja naći najveću ocjenu;

- funkciju koja će izračunati prosječnu ocjenu za svakog studenta.

27. Tvornica CC proizvodi mliječne čokolade 5 dana u sedmici. Svaki dan se bilježi koliko je tabli čokolade

proizvedeno. Pohranite podatke o proizvedenim tablama čokolade u matricu 4x5. Neka svaki redak

predstavlja sedmicu a svaka kolona različit radni dan (ponedjeljak - petak). Napišite program koji će

omogućiti:

- pohranu podataka o proizvedenim tablama čokolade u matricu,

- izračun i ispis koliko je je ukupno proizvedeno čokolade u određenoj radnoj sedmici (korisnik izabire za

koju sedmicu će se vršiti izračun)

- izračun i ispis koliko je prosječno proizvedeno čokolade određenog radnog dana (korisnik izabire za

koji radni dan, ponedjeljak-petak)

28. Napravite program u kome će korisnik unijeti dva broja (a i b tipa float). Zatim deklarišite pokazivač p1 koji

će pokazivati na varijablu a i izračunajte slijedeće matematičke izraze:

𝑐1 = 𝑎 − 𝑏, 𝑐2 = sin(𝑎) − cos(𝑏) , 𝑐3 = 𝑏 ∗ 𝑎, 𝑐4 =𝑎

𝑏 𝑧𝑎 𝑏 ≠ 0, 𝑐5 = 𝑎𝑏 , 𝑐6 = (√𝑎)𝑏

Nemojte koristiti varijablu a prilikom računanja navedenih izraza. Koristite dereferenciranje pokazivača p1.

29. Napravite program u kome ćete računati rješenja kvadratne jednačine ax2+ bx + c = 0: pomoću funkcije

čiji prototip (deklaracija) glasi: void f1(float a, float b, float c);

Deklarišite pokazivač pf na funkciju f1. Poziv funkcije vršite pomoću pokazivača pf.

30. Za vrijednosti x i y koje se inicijaliziraju u programu, pomoću pokazivača na funkcije , izračunati i na

ekranu prikazati razliku njihovih kvadrata, te kvadrat razlike x i y.

31. Definirajte i upotrijebite funkciju koja izračunava volumen i površinu kugle

void Kugla(int radius, float *povrsina, float *volumen).

U glavnoj funkciji zadajte poluprečnik i ispišite rezultate.

32. Napišite program koji će vrijednost unesenog cijelog broja mijenjati u trostruko veću – kub unesenog broja.

Neka funkcija za računanje kuba ima jedan argument i neka njeno zaglavlje izgleda ovako:

void cube ( int * );

33. Za funkciju int Uradi(int* vrijednost1, int* vrijednost) napišite definiciju tako da izračunava rezultat

množenja dva broja i pozovite je iz programa (main funkcije).

34. Napravite program koji će, koristeći funkciju Izacunaj(r, h, &V), izračunavati volumen cilindra

(V= r2*Pi*h). U glavnoj funkciji ispišite volumen.

35. Za funkciju: void Racunaj (float vrijednost1, float &vrijednost2, float &vrijednost3) napišite definiciju tako

da izračunava kvadratni korijen i kub broja i upotrijebite je u programu (main funkcije).

Page 3: PJ1 Zadaca I

36. Napisati program koji omogućuje unos 5 imena, pa ta imena zapisuje u izlaznu datoteku ispis.txt.

( Koristiti funkiju UnesiIme!)

37. Napisati program koji na ekran ispisuje sadrzaj datoteke dat.txt koja je kroz prethodni primjer kreirana.

38. Napisati program koji ce izbrojati i na ekranu prikazati koliko redova ima datoteka datoteka.txt

39. Napisati program koji na ekran ispisuje sadrzaj datoteke izlaz.txt od zadnjeg do prvog reda.

40. Date su struktura kružnica i struktura trougao struct kruznica { float x; float y; float poluprecnik; }; struct trougao { float a_x; float a_y; float b_x; float b_y; float c_x; float c_y; }; a)

- kreirajte objekt T1 (∆ABC) čije ćete koordinate tačaka A, B i C učitati sa tastature

- kreirajte kružnicu K1, koja se nalazi na tački A trougla T1 (∆ABC)

- vrijednost poluprečnika kružnice K1 učitajte sa tastature

- kreirajte kružnicu K3 sa istim osobinama kao kružnica K1, tj. K1 iskopirajte u novi K3

- povećajte poluprečnik kružnice K3 za 10%

- kreirajte kružicu K2 koja se nalazi na tački B sa poluprečnikom istim kao kod K3

- Napravite funkciju void infoKruznica (kruznica p), koja ima ulazni parametar podatak tipa kruznica.

Funkcija treba ispisati osobine kružnice. Iskoristite funkciju da bi ispisali osobine kružnice K1 i K2.

b)

Napravite funkciju float rastojanje1(float x1, float y1, float x2, float y2) koja računa udaljenost između tačke

(x1,y1) i tačke (x2,y2). Udaljenost između dvije tačke se računa po formuli 𝑑 = √(𝑥1 − 𝑥2)2 + (𝑦1 − 𝑦2)2.

Napravite funkciju float rastojanje2(kruzica u1, kruznica u2) koja ima dva ulazna parametra tipa kruznica.

Funkcija rastojanje2 treba pomoću naredbe return vratiti udaljenost između centara kružnica. Koristite funkciju

rastojanje1.