Broj ponavljanja ciklusa određuje se uslovom koji se nalazi ispred tela ciklusa. Zato while ciklus zovemo ciklus sa preduslovom. Tok izvršavanja ciklusa je sledeći:
while( uslov )
{
telo ciklusa
}
1. Provera usova, ako je uslov tačan ide se na naredbe tela ciklusa, ako nije prekida se sa radom while ciklusa
2. Izvršava se telo ciklusa (u njemu se mora voditi računa o parametrima koji ulaze u uslov da bi on nekad postao netačan i prekinuo ciklus)
3. Ponovo provera uslov-a, pa zatim ponavljamo tačku 2, 3, 2, ... sve dok uslov ne postane netačan. Tada se prekida while() ciklus.
Možemo zaključiti da kod ciklusa sa preduslovom, ako uslov nije tačan u prvoj proveri telo se neizvršava ni jedanput.
Pr1.
ch='k';
while (ch!= 'd' && ch!='D') ch=getch();
u ovom primeru se unosi znak po znak, sve dok se ne unese malo ili veliko slovo 'D'.
Pr2.
Na koji način možemo obezbediti, da prilikom unosa znaka (D/N) korisnik unese jedan od ta dva znaka,ako pogreši, vraća se da ponovo unese znak sve dok unos ne bude ispravan.
ch=getche(); /*ucitava znak i prikazuje ga na ekranu */
ch=toupper(ch); /* konvertuje ch u veliko slovo */
while (ch!='D' || ch!='N'){
printf("\nPogresno unet znak, unesite ponovo: ");
ch=getche();
}
Pr3.
Napisati program za unos teksta sa tastature sve dok se ne unese tačka ' .' , na kraju se prikazuje poruka koliko znakova sadrži rečenica
main(){
int ch, n=0;
ch=getche();
while(ch!='.'){
ch=getche();
n++;
}
printf("\nRecenica sadrzi %d znakova\n",n);
}
Za učenike I i III godine Tehničke škole, smerovi: Mašinski tehničar za kompjutersko konstruisanje; Tehničar drumskog saobraćaja; Vozač motornih vozila
понедељак, 23. новембар 2009.
Zadaci sa while() ciklusom
14. Računati sumu prirodnih brojeva 1, 2, ..., n sve dok vrednost sume ne dostigne vrednost veću od 1.000.000.000 , prikazati koliko je brojeva sumirano.
Rešenje
15. Napisati program za približno računanje sume:
Formula sume
Sumirati do prvog člana (uključujući i njega) koji je po apsolutnoj vrednosti manji od unete vrednosti eps.
Rešenje
16. Napisati program kojim unosimo tekst do pojavljivanja znaka '.' . Prikazati broj pojavljivanja slova 'A' i izraziti tu vrednost procentualno u odnosu na sve unete znake.
Rešenje
17. Napisati program koji određuje broj unetih linija u ulaznom tekstu. Unos teksta traje dok se ne naiđe na znak EOF (end of file)
Rešenje
18. Napisati program kojim unosimo tekst do pojavljivanja znaka '.' . Prikazati broj pojavljivanja malih slova, broj pojavljivanja velihih slova i br pojavljivanja svih ostalih znakova. Izraziti te vrednosti procentualno u odnosu na sve unete znake. (Rešenje)
Rešenje
15. Napisati program za približno računanje sume:
Formula sume
Sumirati do prvog člana (uključujući i njega) koji je po apsolutnoj vrednosti manji od unete vrednosti eps.
Rešenje
16. Napisati program kojim unosimo tekst do pojavljivanja znaka '.' . Prikazati broj pojavljivanja slova 'A' i izraziti tu vrednost procentualno u odnosu na sve unete znake.
Rešenje
17. Napisati program koji određuje broj unetih linija u ulaznom tekstu. Unos teksta traje dok se ne naiđe na znak EOF (end of file)
Rešenje
18. Napisati program kojim unosimo tekst do pojavljivanja znaka '.' . Prikazati broj pojavljivanja malih slova, broj pojavljivanja velihih slova i br pojavljivanja svih ostalih znakova. Izraziti te vrednosti procentualno u odnosu na sve unete znake. (Rešenje)
среда, 14. октобар 2009.
BIOS
BIOS је osnovni ulazno-izlazni sistem (Basic Input Output System). Čini ga skup programa namenjenih komunikaciji sa hardverom računra. Pomoću BIOS-a se postavljaju osnovni radni parametri, pronalazi i učitava operativni sistem. Pisan je u asembleru (prog. jezik)i prilagođen određenom hardveru.
- Smešten u ROM memoriji
- Pokreće se odmah po startovanju računara
- Najpre testira memoriju, zatim ostale uređaje
- Proverava gde je smešten operativni sistem (uvek na spoljnoj memoriji: proverava najpre disketu, zatim HDD) i učitava ga u memoriju (RAM)
- Smešten u ROM memoriji
- Pokreće se odmah po startovanju računara
- Najpre testira memoriju, zatim ostale uređaje
- Proverava gde je smešten operativni sistem (uvek na spoljnoj memoriji: proverava najpre disketu, zatim HDD) i učitava ga u memoriju (RAM)
Operativni sistem
Skup sistemskih programa koji upravljaju radom računara i omogućavaju komunikaciju sa korisnikom. Svrha računara je izvršavanje programa. Znači taj program treba na neki način pokrenuti, nahraniti ga podacima, negde sačuvati izlazne informacije, imati mogućnost štampanja rezultata, ali i mogućnost prekida rada programa. Sve te zahteve obavlja operativni sistem, tako što naredbe korisnika prevodi u oblik koji računar može da razume i izvrši. Osnovne namene OS su:
- upravljačka – upravlja hardverom tako što koordinira rad mikroprocesora sa ostalim uređajima;
- uslužna – izvršava komande korisnika
Operativni sistemi se mogu klasifikovati na više načina, a najčešće se to vrši na jedan od četri načina:
- prema načinu zadavanja komandi: grafički OS i OS komandnog tipa
- prema broju korisnika: jedno- ili višekorisnički
- prema broju programa koji se istovremeno izvršavaju – jedno ili višeprogramski
- prema prenosivosti: prenosive i neprenosive
VRSTE OPERATIVNIH SISTEMA
DOS – osamdesetih standard za sve PC. OS komandnog tipa, jednokorisnički i jednoprogramski. Težak za rad, ali osnova za pojavu mnogih drugih OS.
WINDOWS – od 1990.god. Grafičko okruženje, višeprogramski rad.
UNIX – za računare velike i srednje snage. Složeniji od Windowsa, omogućava višeprogramski i višekorisnički rad
LINUX – varijanta UNIX-a. Podržava i komandni i grafički način rada. Višekorisnički i višeprogramski režim rada.
DOS
UPRAVLJANJE PODACIMA
Čuvanje podataka je (počev od DOSa) organizovano na poseban način: podaci se zapisuju u datoteke, a one se organizuju pomoću kataloga.
Obrada podataka se završava dobijanjem rezultata, ali oni imaju privremeni karakter jer su smešteni u RAM memoriji. Zapisivanje na uređaje spoljne memorije potrebno je sve podatke, program i informacije povezati u celinu koja se zove DATOTEKA (file). To e osnovna jedinica sa kojom OS može da radi.
Ime datoteke sastoji se iz dva dela:
ime.tip
Ime ne sme imati više od 8 znakova, počinje slovom i ne sme biti razmaka u imenu
Tip sadrži tri znaka i daje dopunsku informaciju o sadržaju datoteke:
.DOC .TXT Tekstualna datoteka
.COM .EXE Izvršna datoteka
.SYS Sistemska
.BAT komandna
Datoteke se zapisuju na spoljnomemorijske uređaje. Svakom sm uređaju OS dodeljuje logičko ime, ili identifikator.
Identifikacija uređaja:
A: prva disketna jedinica
B: druga disketna jedinica
C: prvi čvrsti disk
D: drugi čvrsti disk(ili CD čitač)
E: CD čitač
KATALOZI (direktorijumi) je spisak svih datoteka koje se nalaze na nekom uređaju, njihove veličine, ekstenzije (tipovi), datumi kreiranja i poslednjeg pristupa. Radi lakšeg snalaženja u okviru osnovnog kataloga kreira se veći broj podkataloga (poddirektorijuma) u kojima se čuvaju podaci o datotekama i same datoteke. Najbolje je grupisati ih po tipu.
Naredbe
• Promena radne jedinice C:/ A:
• Naredbe za rad sa katalozima:
– MD ili MKDIR kreiranje novog kataloga
– CD ili CHDIR promena radnog kataloga
– RD ili RMDIR brisanje kataloga
– DIR ispis sadrzine kataloga (/p po stranama, /W u vise kolona, *.doc – samo sa ekstenzijom doc
– REN staro_ime novo_ime promena imena datoteke
– DEL ime_datoteke brisanje datoteke
– TYPE dat listanje sadr\aja datoteke
- upravljačka – upravlja hardverom tako što koordinira rad mikroprocesora sa ostalim uređajima;
- uslužna – izvršava komande korisnika
Operativni sistemi se mogu klasifikovati na više načina, a najčešće se to vrši na jedan od četri načina:
- prema načinu zadavanja komandi: grafički OS i OS komandnog tipa
- prema broju korisnika: jedno- ili višekorisnički
- prema broju programa koji se istovremeno izvršavaju – jedno ili višeprogramski
- prema prenosivosti: prenosive i neprenosive
VRSTE OPERATIVNIH SISTEMA
DOS – osamdesetih standard za sve PC. OS komandnog tipa, jednokorisnički i jednoprogramski. Težak za rad, ali osnova za pojavu mnogih drugih OS.
WINDOWS – od 1990.god. Grafičko okruženje, višeprogramski rad.
UNIX – za računare velike i srednje snage. Složeniji od Windowsa, omogućava višeprogramski i višekorisnički rad
LINUX – varijanta UNIX-a. Podržava i komandni i grafički način rada. Višekorisnički i višeprogramski režim rada.
DOS
UPRAVLJANJE PODACIMA
Čuvanje podataka je (počev od DOSa) organizovano na poseban način: podaci se zapisuju u datoteke, a one se organizuju pomoću kataloga.
Obrada podataka se završava dobijanjem rezultata, ali oni imaju privremeni karakter jer su smešteni u RAM memoriji. Zapisivanje na uređaje spoljne memorije potrebno je sve podatke, program i informacije povezati u celinu koja se zove DATOTEKA (file). To e osnovna jedinica sa kojom OS može da radi.
Ime datoteke sastoji se iz dva dela:
ime.tip
Ime ne sme imati više od 8 znakova, počinje slovom i ne sme biti razmaka u imenu
Tip sadrži tri znaka i daje dopunsku informaciju o sadržaju datoteke:
.DOC .TXT Tekstualna datoteka
.COM .EXE Izvršna datoteka
.SYS Sistemska
.BAT komandna
Datoteke se zapisuju na spoljnomemorijske uređaje. Svakom sm uređaju OS dodeljuje logičko ime, ili identifikator.
Identifikacija uređaja:
A: prva disketna jedinica
B: druga disketna jedinica
C: prvi čvrsti disk
D: drugi čvrsti disk(ili CD čitač)
E: CD čitač
KATALOZI (direktorijumi) je spisak svih datoteka koje se nalaze na nekom uređaju, njihove veličine, ekstenzije (tipovi), datumi kreiranja i poslednjeg pristupa. Radi lakšeg snalaženja u okviru osnovnog kataloga kreira se veći broj podkataloga (poddirektorijuma) u kojima se čuvaju podaci o datotekama i same datoteke. Najbolje je grupisati ih po tipu.
Naredbe
• Promena radne jedinice C:/ A:
• Naredbe za rad sa katalozima:
– MD ili MKDIR kreiranje novog kataloga
– CD ili CHDIR promena radnog kataloga
– RD ili RMDIR brisanje kataloga
– DIR ispis sadrzine kataloga (/p po stranama, /W u vise kolona, *.doc – samo sa ekstenzijom doc
– REN staro_ime novo_ime promena imena datoteke
– DEL ime_datoteke brisanje datoteke
– TYPE dat listanje sadr\aja datoteke
понедељак, 28. септембар 2009.
Zadaci za vežbu
1. Učitaj vrednosti za celobrojne promenjive a,b i c, pa prikaži sledeću poruku na ekranu:
a = ____ kg.
b = ____ m.
c = ____ din.
Rešenje
2. Učitaj vrednosti za realne promenjive x,y i z pa prikaži sledeću poruku na ekranu:
x y z
___ ___ ___ dekadni zapis
___ ___ ___ eksponencijalni zapis
Rešenje
3. Učitaj dve znakovne promenjive ch i slovo, pa zatim na ekranu prikaži poruku:
Promenjiva ASCII kod
vr. ch kod ch
vr. slovo kod slovo
Rešenje
4. Učitaj jednu znakovnu promenjivu, pa prikazti vr. promenive i pored njen ASCII kod, u sledeća tri reda prikazati promenjive čiji je kod za jedan veći od prethodne.
Promenjiva Nen ASCII kod
A 65
B 66
C 67
D 68
5. U programu definisati konstantu PI 3.141592. Uneti vrednost promenjive r (poluprečnik osnove valjka) i H (visina valjka). Prikazati poruku:
B = __ cm2, M = __ cm2,
P = 2B + M = __ cm2
V = B * H = __ * __ = __ cm3
6. Ako se unosi poluprečnik r osnove kupe, i H visina prave kupe. Prikazati poruku:
B = r^2 * Pi = __^2 * Pi = __ * Pi = __ cm2
M = r * Pi * s = __ * Pi * __ = ___ cm3
7. Ako se unose dužine stranica kvadra a, b i c. Prikazati poruku:
P = 2ab + 2bc + 2ac = 2* __ + 2*__ + 2*__ = ___ cm2
V = a * b * c = __ * __ * __ = __ cm3
8. Ako se unosi poluprečnik kruga r, napisi program koji prikazuje sledeću poruku:
Unesi poluprecnik kruga: __
P = r^2 * Pi = __^2 * __ = __ * __ = __cm2
O = 2*r*Pi = 2 * __ * Pi = __ cm
9. Ako se unosi stranica jednakostratničnog trougla koji je osnova prave trostrane prizme, i H visina te prizme. Napisi program koji prikazuje sledeću poruku.
B = ( a^2 * sqrt(3))/4 = ( __^2 * __ )/4=( __ * __ ) =
= __ /4= __cm
P = 2*B + M = 2* __ + __ = ___cm
10. Ako se unosi stratnica kvadrata a. prikazati poruku:
Unesi startnicu kvadrata: __
P = a^2 = __^2 = __ cm2
O = 4*a = 4 * __ = __cm
11. Napiši program koji učitava tri realna broja, a zatim ih prikazuje u dekadnom zapisu, a u drugom redu prikazuje u eksponencijalnom zapisu. Npr:
13.2 234.56 10.5
1.320000e1 2.345600e2 1.050000e1
12. Napiši program koji uneto vreme u obliku (h : m : s) preračunava u ukupan broj sekundi.
13. Napiši program koji učitava tri vrednosti temperatura (jutarnja, dnevna i večernja), a prikazuje prosečnu temperaturu.
14. Napiši program koji učitava vrednost proizvoda u din., pa zatim izračunava i prikazuje koliko je potrebno novčanica od 500 din, 100 din i 1 din za plaćanje tog proizvoda
15. Napiši program koji unosi vremenski interval u sekundama, a ispisuje ga u obliku (d:h:m:s) dani:časovi:minuti:sekunde
16. Napiši program koji prikazuje koren od x , x2 i x3 ako se unese vrednost promenjive x.
17. Uneti katete pravouglog trougla, a zatim prikazati dužinu hipotenuze.
18. Napiši program koji učitava podatke za poluprečnik r osnove kupe i izvodnicu s. Prikazuju se podaci za B, M, P i V prave kupe.
19. Napisati program koji simulira bacanje kocke, tj. daje slucajan broj iz intervala [1,6]
a = ____ kg.
b = ____ m.
c = ____ din.
Rešenje
2. Učitaj vrednosti za realne promenjive x,y i z pa prikaži sledeću poruku na ekranu:
x y z
___ ___ ___ dekadni zapis
___ ___ ___ eksponencijalni zapis
Rešenje
3. Učitaj dve znakovne promenjive ch i slovo, pa zatim na ekranu prikaži poruku:
Promenjiva ASCII kod
vr. ch kod ch
vr. slovo kod slovo
Rešenje
4. Učitaj jednu znakovnu promenjivu, pa prikazti vr. promenive i pored njen ASCII kod, u sledeća tri reda prikazati promenjive čiji je kod za jedan veći od prethodne.
Promenjiva Nen ASCII kod
A 65
B 66
C 67
D 68
5. U programu definisati konstantu PI 3.141592. Uneti vrednost promenjive r (poluprečnik osnove valjka) i H (visina valjka). Prikazati poruku:
B = __ cm2, M = __ cm2,
P = 2B + M = __ cm2
V = B * H = __ * __ = __ cm3
6. Ako se unosi poluprečnik r osnove kupe, i H visina prave kupe. Prikazati poruku:
B = r^2 * Pi = __^2 * Pi = __ * Pi = __ cm2
M = r * Pi * s = __ * Pi * __ = ___ cm3
7. Ako se unose dužine stranica kvadra a, b i c. Prikazati poruku:
P = 2ab + 2bc + 2ac = 2* __ + 2*__ + 2*__ = ___ cm2
V = a * b * c = __ * __ * __ = __ cm3
8. Ako se unosi poluprečnik kruga r, napisi program koji prikazuje sledeću poruku:
Unesi poluprecnik kruga: __
P = r^2 * Pi = __^2 * __ = __ * __ = __cm2
O = 2*r*Pi = 2 * __ * Pi = __ cm
9. Ako se unosi stranica jednakostratničnog trougla koji je osnova prave trostrane prizme, i H visina te prizme. Napisi program koji prikazuje sledeću poruku.
B = ( a^2 * sqrt(3))/4 = ( __^2 * __ )/4=( __ * __ ) =
= __ /4= __cm
P = 2*B + M = 2* __ + __ = ___cm
10. Ako se unosi stratnica kvadrata a. prikazati poruku:
Unesi startnicu kvadrata: __
P = a^2 = __^2 = __ cm2
O = 4*a = 4 * __ = __cm
11. Napiši program koji učitava tri realna broja, a zatim ih prikazuje u dekadnom zapisu, a u drugom redu prikazuje u eksponencijalnom zapisu. Npr:
13.2 234.56 10.5
1.320000e1 2.345600e2 1.050000e1
12. Napiši program koji uneto vreme u obliku (h : m : s) preračunava u ukupan broj sekundi.
13. Napiši program koji učitava tri vrednosti temperatura (jutarnja, dnevna i večernja), a prikazuje prosečnu temperaturu.
14. Napiši program koji učitava vrednost proizvoda u din., pa zatim izračunava i prikazuje koliko je potrebno novčanica od 500 din, 100 din i 1 din za plaćanje tog proizvoda
15. Napiši program koji unosi vremenski interval u sekundama, a ispisuje ga u obliku (d:h:m:s) dani:časovi:minuti:sekunde
16. Napiši program koji prikazuje koren od x , x2 i x3 ako se unese vrednost promenjive x.
17. Uneti katete pravouglog trougla, a zatim prikazati dužinu hipotenuze.
18. Napiši program koji učitava podatke za poluprečnik r osnove kupe i izvodnicu s. Prikazuju se podaci za B, M, P i V prave kupe.
19. Napisati program koji simulira bacanje kocke, tj. daje slucajan broj iz intervala [1,6]
Osnovne biblioteka sa funkcijama
U sastavu C jezika se nalaze standardne biblioteke u kojima se nalaze često korišćene funkcije. Da bi se koristila neka od takvih funkcija potrebno je (kao što smo već videli) uključiti direktivom #include biblioteku te funkcije programu.
Standardne matematičke funkcije se nalaze u biblioteci math.h (Mathematics), a to su sledeće funkcije.
U programu Matematički zapis funkcije
sin(x) sin x
cos(x) cos x
tan(x) tg x
exp(x) ex
log10(x) log10 x, x>0
pow(x,y) xy
sqrt(x) kvadratni koren od x, x>=0
fabs(x) apsolutna vrednost od x
(rezultat je tipa double)
cell(x) najmanja celobrojna vrednost koja nije manja od x
floor(x) najveća celobrojna vrednost koja nije veća od x
U biblioteci stdlib.h (Standard Library), se nalaze funkcije različite namene. Neke od njih su
abs(x) apsolutna vrednost od x
(rezultat je tipa int)
labs(x) apsolutna vrednost od x
(rezultat je tipa long)
random(n) vrednost funkcije je slučajan ceo broj iz intervala [0, n-1]
randomize() funkcija inicijalizuje generator slučajnih brojeva prema stanju sata na računaru uz pomoć funkcije time().
U programima koji koriste funkciju randomize() mora se uključiti i biblioteka time.h
Standardne matematičke funkcije se nalaze u biblioteci math.h (Mathematics), a to su sledeće funkcije.
U programu Matematički zapis funkcije
sin(x) sin x
cos(x) cos x
tan(x) tg x
exp(x) ex
log10(x) log10 x, x>0
pow(x,y) xy
sqrt(x) kvadratni koren od x, x>=0
fabs(x) apsolutna vrednost od x
(rezultat je tipa double)
cell(x) najmanja celobrojna vrednost koja nije manja od x
floor(x) najveća celobrojna vrednost koja nije veća od x
U biblioteci stdlib.h (Standard Library), se nalaze funkcije različite namene. Neke od njih su
abs(x) apsolutna vrednost od x
(rezultat je tipa int)
labs(x) apsolutna vrednost od x
(rezultat je tipa long)
random(n) vrednost funkcije je slučajan ceo broj iz intervala [0, n-1]
randomize() funkcija inicijalizuje generator slučajnih brojeva prema stanju sata na računaru uz pomoć funkcije time().
U programima koji koriste funkciju randomize() mora se uključiti i biblioteka time.h
Izlazna funkcija printf()
Funkcija služi za prikazivanje poruka i podataka na ekranu. Njen opšti oblik je:
printf("upravljački string", lista argumenata koje prikazujemo);
upravljački string predstavlja oblik kako će izgledati izlazna poruka. Tekst koji unosimo će biti potpuno isto i prikazan na ekranu, dok za vrednosti promenjivih se mora napisati izlazna konverzija koj apočinje znakom %, a obavezno sadrži i slovo koje govori koji tip podataka je ta promenjiva. U sledećuo tabeli su prikazani znakovi konverzije i tipovi podataka koji odgovaraju tim znakovima.
znak konverzije tip podatka opis
%c char Jedan znak
%d int Celi dekadni broj
%f float, double Realni broj sa 6 decimala
%e float, double Eksponencijalni zapis
%g float, double Skraćeni zapis
%s char * String
%ld long [int] Celi dekadni broj
Znak konvzije l možemo dodavati kao u prethodnom slučaju ld, nekim simbolima da bi povećali opseg korišćenja tog tipa podataka.
printf("upravljački string", lista argumenata koje prikazujemo);
upravljački string predstavlja oblik kako će izgledati izlazna poruka. Tekst koji unosimo će biti potpuno isto i prikazan na ekranu, dok za vrednosti promenjivih se mora napisati izlazna konverzija koj apočinje znakom %, a obavezno sadrži i slovo koje govori koji tip podataka je ta promenjiva. U sledećuo tabeli su prikazani znakovi konverzije i tipovi podataka koji odgovaraju tim znakovima.
znak konverzije tip podatka opis
%c char Jedan znak
%d int Celi dekadni broj
%f float, double Realni broj sa 6 decimala
%e float, double Eksponencijalni zapis
%g float, double Skraćeni zapis
%s char * String
%ld long [int] Celi dekadni broj
Znak konvzije l možemo dodavati kao u prethodnom slučaju ld, nekim simbolima da bi povećali opseg korišćenja tog tipa podataka.
Пријавите се на:
Постови (Atom)