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]
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
понедељак, 28. септембар 2009.
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.
ulazna funkcija scanf()
Funkcija se koristi za unos podataka sa tastature tj. prihvata vrednost koju unosimo i dodeljuje je promenjivoj u programu. Opšti oblik ove funkcije je:
scanf("upravljački string"[,arg1, arg2,...]);
upravljačkim stringom opisujemo šta treba učitati sa ulaza i u kom formatu, koriste se simboli za konverziju kao i za funkciju printf();
lista adresa promenjivih se navede da bi podatke sa ulaza usmerili na adrese promenjivih koje se nalaze u listi.
int i,j,k;
scanf("%d%d%d",&i,&j,&k);
ova scanf funkcija učitava 3 celobrojne vrednosti i prvu čuva promenjiva i, drugu j, a treću promenjiva k.
Znak & ispred imena promenljive služi za određivanje adrese te promenljive.
i - vrednost promenljive
&i - adresa memorijske lokacije promenljive i
Vezba 1. Ako su najavljene sledece promenjive.
int a, b, c;
long d, e;
double x, y;
char ch, z;
Napiši funkciju koja učitava vrednosti sa tastature za sledeće promenljive
a. a, b, x
b. d, z, e
c. x, y, e, z
d. d, ch
scanf("upravljački string"[,arg1, arg2,...]);
upravljačkim stringom opisujemo šta treba učitati sa ulaza i u kom formatu, koriste se simboli za konverziju kao i za funkciju printf();
lista adresa promenjivih se navede da bi podatke sa ulaza usmerili na adrese promenjivih koje se nalaze u listi.
int i,j,k;
scanf("%d%d%d",&i,&j,&k);
ova scanf funkcija učitava 3 celobrojne vrednosti i prvu čuva promenjiva i, drugu j, a treću promenjiva k.
Znak & ispred imena promenljive služi za određivanje adrese te promenljive.
i - vrednost promenljive
&i - adresa memorijske lokacije promenljive i
Vezba 1. Ako su najavljene sledece promenjive.
int a, b, c;
long d, e;
double x, y;
char ch, z;
Napiši funkciju koja učitava vrednosti sa tastature za sledeće promenljive
a. a, b, x
b. d, z, e
c. x, y, e, z
d. d, ch
среда, 23. септембар 2009.
Softver
Računarski hardver ne može da izvrši nijednu aktivnost bez prethodno dobijene instrukcije. Te instrukcije nazivamo softverom, ili računarskim programima. Softver omogućava korisniku da koristi računar da bi ostvario željeni cilj.
Softver predstavljaju programi, koji se sastoje od sekvenci instrukcija za računar. Proces pisanja programa se naziva programiranje, a osobe koje izvršavaju taj proces, nazivaju se programeri.
Generalno, razlikujemo dve vrste softvera: aplikativni softver i sistemski softver.
Aplikativni softver predstavlja skup računarskih instrukcija, pisanih u određenom programskom jeziku. Te instrukcije pokreću računarski hardver koji potom obrađuje određene podatke ili informacije, a sve u cilju ostvarivanja određenih korisnikovih potreba.
Programi za rešavanje različitih problema: obradu teksta, slike, zvuka, rad sa tabelama, upravljanje bazama podataka, animacije, igre, programi u nauci i tehnici.
Sistemski softver deluje kao most između računarskog hardvera i aplikativnih programa.
Sistemski softver predstavlja klasu programa koji kontrolišu računarski hardver i njegove aktivnosti. U sistemski softver spadaju:
- operativni sistem
- programi prevodioci
- veznici (drajveri)
- uslužni programi đ
Operativni sistem sadrži generalne instrukcije koje omogućavaju računaru da izvršava bazične funkcije – kao što su učitavanje, skladištenje i pretraživanje datoteka, kopiranje datoteka i programa u sekundarnu memoriju, kreiranje direktorijuma, slanje poslova na štampu, lociranje datoteka, kompresija podataka. Operativni sistem je najvažniji deo softvera na računaru: bez njega, računar ne bi radio, tj. ne bi mogao komunicirati sa korisnikom.
Softver predstavljaju programi, koji se sastoje od sekvenci instrukcija za računar. Proces pisanja programa se naziva programiranje, a osobe koje izvršavaju taj proces, nazivaju se programeri.
Generalno, razlikujemo dve vrste softvera: aplikativni softver i sistemski softver.
Aplikativni softver predstavlja skup računarskih instrukcija, pisanih u određenom programskom jeziku. Te instrukcije pokreću računarski hardver koji potom obrađuje određene podatke ili informacije, a sve u cilju ostvarivanja određenih korisnikovih potreba.
Programi za rešavanje različitih problema: obradu teksta, slike, zvuka, rad sa tabelama, upravljanje bazama podataka, animacije, igre, programi u nauci i tehnici.
Sistemski softver deluje kao most između računarskog hardvera i aplikativnih programa.
Sistemski softver predstavlja klasu programa koji kontrolišu računarski hardver i njegove aktivnosti. U sistemski softver spadaju:
- operativni sistem
- programi prevodioci
- veznici (drajveri)
- uslužni programi đ
Operativni sistem sadrži generalne instrukcije koje omogućavaju računaru da izvršava bazične funkcije – kao što su učitavanje, skladištenje i pretraživanje datoteka, kopiranje datoteka i programa u sekundarnu memoriju, kreiranje direktorijuma, slanje poslova na štampu, lociranje datoteka, kompresija podataka. Operativni sistem je najvažniji deo softvera na računaru: bez njega, računar ne bi radio, tj. ne bi mogao komunicirati sa korisnikom.
четвртак, 10. септембар 2009.
Instalacija kompajlera za C
Instalacija C
Uputstvo za instalaciju: Sačuvati,otpakovati arhivu i iskopirati folder TC instalacija na željeno mesto. Zatim startovati program TC.exe koji se u njemu nalazi.
___________________________________________________________________
Uputstvo za instalaciju: Sačuvati,otpakovati arhivu i iskopirati folder TC instalacija na željeno mesto. Zatim startovati program TC.exe koji se u njemu nalazi.
___________________________________________________________________
Uvod u programski jezik C
OSNOVNI ZNAKOVI JEZIKA
Pri građenju programa koristimo skup ASCII znakova:
• slova engleske abecede A, B, C, ... , X, Y, Z, a, b, c, ... , x, y, z
• cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• specijalni znaci: + = _ - ( ) * & % # ! | . , ; : ' / ? { } ~ \ [ ] ^
• neštampajući znaci space (blanko), znak za novu liniju, ...
Službene reči jezika su rezervisane reči i ne mogu se koristiti kao identifikatori. To su reči:
auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while
KOMENTARI
Služe za objašnjenja u toku pisanja programa. Pomocu komentara program postaje citljiviji za coveka, prevodiocu(kompajleru) je potpuno sve jedno da li postoji sto hiljada linija komentara ili ni jedna jedina. Komentar počinje znakovima /* , a završava se znakovima */
pr: /* ovo je KOMENTAR u jednom ili u više redova */
Ako je za komentar dovoljan jedan red teksta možemo koristiti znakove //
pr: // ovo je komentar
IDENTIFIKATORI (imena)
Koriste se za označavanje osnovnih objekata jezika: konstanti, promenjivih, funkcija i tipova podataka. Imena čine reči koje se sastoje od: slova, cifara i specijalnog znaka _ tako da: prvi znak ne može biti cifra i ime može imati najviše 31 znak.
Primeri ispravnih imena:
skola, y, x, a, zbir, Programski_jezik_C, INT
Nedozvoljeno je:
3dan, int, x+y, programski jezik, ...
___________________________________________________________________________________
Pri građenju programa koristimo skup ASCII znakova:
• slova engleske abecede A, B, C, ... , X, Y, Z, a, b, c, ... , x, y, z
• cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• specijalni znaci: + = _ - ( ) * & % # ! | . , ; : ' / ? { } ~ \ [ ] ^
• neštampajući znaci space (blanko), znak za novu liniju, ...
Službene reči jezika su rezervisane reči i ne mogu se koristiti kao identifikatori. To su reči:
auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while
KOMENTARI
Služe za objašnjenja u toku pisanja programa. Pomocu komentara program postaje citljiviji za coveka, prevodiocu(kompajleru) je potpuno sve jedno da li postoji sto hiljada linija komentara ili ni jedna jedina. Komentar počinje znakovima /* , a završava se znakovima */
pr: /* ovo je KOMENTAR u jednom ili u više redova */
Ako je za komentar dovoljan jedan red teksta možemo koristiti znakove //
pr: // ovo je komentar
IDENTIFIKATORI (imena)
Koriste se za označavanje osnovnih objekata jezika: konstanti, promenjivih, funkcija i tipova podataka. Imena čine reči koje se sastoje od: slova, cifara i specijalnog znaka _ tako da: prvi znak ne može biti cifra i ime može imati najviše 31 znak.
Primeri ispravnih imena:
skola, y, x, a, zbir, Programski_jezik_C, INT
Nedozvoljeno je:
3dan, int, x+y, programski jezik, ...
___________________________________________________________________________________
Promenljive
Promenljive u programskom jeziku su objekti koji imaju neku vrednost, pri čemu se vrednost može menjati u toku izvršavanja programa. Pri tome to ne može biti bilo koja vrednost, već samo vrednost jednog tipa.
Svaka promenljiva koja se koristi mora biti deklarisana. Deklaracijom se određuju:
• ime promenljive (to je ime prema sintaksi jezika C),
• tip promenljive (odnosno tip kome pripada vrednost date promenljive) i
• početna vrednost (vrednost u početnom trenutku) – neobavezno.
Deklaracija promenljive ima sledeći zapis:
ime_tipa ime_promenjive [= vrednost];
gde je ime_tipa tip promenljive,
ime_promenjive ime promenljive, a vrednost (koja može ali ne mora biti navedena) početna vrednost date promenljive.
Na primer, deklaracijama:
int i, j, n=10; float a, e=2.71, pi=3.14; char c, d='?';
su deklarisane:
• promenljive celobrojnog tipa i, j i n;
• promenljive realnog tipa a, e i pi;
• promenljive znakovnog tipa c i d.
Promenljive n, e, pi i d imaju, redom, vrednosti 10, 2.71, 3.14 i '?'.
Pravila za dodeljivanja imena promeljivih
Promenljiva moze sadrzati proizvoljno ime ali ono treba da opisuje namenu promenljive, dakle ako treba da cuva zbir nekih brojeva verovatno ce te je nazvati „zbir“ ili „rezultat“. Imena promenljivih smeju da sadrze slova, brojeve i znak donje crte( _ ). Na pocetku imena se mora naci ili slovo ili donja crta, broj ne sme!
Tipovi promenjivih
Decimalni tip – INT
Ovaj tip je najkorišćeniji tip podatka. Promenljive koje su tipa int ( skracenica od integer) u 32bit-nom sistemu zauzimaju 4 bajta i u takvim promenljivim mozete cuvati decimalne cele brojeve kao sto su 0, 789, 4000, -1, -4569 i sl. Primer deklaracije ovakve promenljive :
int broj1;
int broj2 = 150;
Realni tip – FLOAT I DOUBLE
Nedostatak tipa int je u tome sto ne moze cuvati vrednosti koje imaju decimalnu tacku odnosno „zarez“(dakle realne brojeve) vec INT sve cifre „iza zareza“ odbacuje. Da bi cuvala ovakve brojeve promenljiva mora biti tipa float ili, ako je broj enormno veliki, tipa double. Primer deklaracije ovakvih promenljivih:
float x;
double y;
Kljucne reci SHORT i LONG
Ove kljucne reci mogu se primeniti samo na do sada opisane tipove podataka. Ako deklarisemo promenljivu X kao „short int“ ona ce sadrzati (u 32bit-nom) sistemu 2 bajta, dakle duplo manje od regularnog int-a. Medjutim ona moze sadrzati brojeve ciji su opstezi takodje duplo manji. Kljucna rec long omogucava da promenljiva ima veci opseg od onog koji bi ta promenljiva imala bez ove kljucne reci.
Znak – CHAR
Gore pomenuti tipovi su cuvali brojeve a promenljive koje su tipa char cuvaju simbole. Svaka promenljiva tipa char zauzima svega jedan bajt i moze da cuva samo jedan simbol. Simbola ima ukupno 255 i tu spadaju kompletna engleska abeceda, brojevi i razni drugi simboli i znakovi. O ovom tipu podatka cemo detaljnije pricati kasnije.
Tablica: Tipovi podataka i intervali vrednosti
KONSTANTE
Konstanta je objekat u programu koji ima ime i koji dobija vrednost jednom, pre početka izvršavanja programa i ne može se menjati. Konstanta se definiše rezervisanom reči define pre početka glavne funkcije programa (pre void main() ).
Primer: #define PI 3.14
_______________________________________________________________________________
Svaka promenljiva koja se koristi mora biti deklarisana. Deklaracijom se određuju:
• ime promenljive (to je ime prema sintaksi jezika C),
• tip promenljive (odnosno tip kome pripada vrednost date promenljive) i
• početna vrednost (vrednost u početnom trenutku) – neobavezno.
Deklaracija promenljive ima sledeći zapis:
ime_tipa ime_promenjive [= vrednost];
gde je ime_tipa tip promenljive,
ime_promenjive ime promenljive, a vrednost (koja može ali ne mora biti navedena) početna vrednost date promenljive.
Na primer, deklaracijama:
int i, j, n=10; float a, e=2.71, pi=3.14; char c, d='?';
su deklarisane:
• promenljive celobrojnog tipa i, j i n;
• promenljive realnog tipa a, e i pi;
• promenljive znakovnog tipa c i d.
Promenljive n, e, pi i d imaju, redom, vrednosti 10, 2.71, 3.14 i '?'.
Pravila za dodeljivanja imena promeljivih
Promenljiva moze sadrzati proizvoljno ime ali ono treba da opisuje namenu promenljive, dakle ako treba da cuva zbir nekih brojeva verovatno ce te je nazvati „zbir“ ili „rezultat“. Imena promenljivih smeju da sadrze slova, brojeve i znak donje crte( _ ). Na pocetku imena se mora naci ili slovo ili donja crta, broj ne sme!
Tipovi promenjivih
Decimalni tip – INT
Ovaj tip je najkorišćeniji tip podatka. Promenljive koje su tipa int ( skracenica od integer) u 32bit-nom sistemu zauzimaju 4 bajta i u takvim promenljivim mozete cuvati decimalne cele brojeve kao sto su 0, 789, 4000, -1, -4569 i sl. Primer deklaracije ovakve promenljive :
int broj1;
int broj2 = 150;
Realni tip – FLOAT I DOUBLE
Nedostatak tipa int je u tome sto ne moze cuvati vrednosti koje imaju decimalnu tacku odnosno „zarez“(dakle realne brojeve) vec INT sve cifre „iza zareza“ odbacuje. Da bi cuvala ovakve brojeve promenljiva mora biti tipa float ili, ako je broj enormno veliki, tipa double. Primer deklaracije ovakvih promenljivih:
float x;
double y;
Kljucne reci SHORT i LONG
Ove kljucne reci mogu se primeniti samo na do sada opisane tipove podataka. Ako deklarisemo promenljivu X kao „short int“ ona ce sadrzati (u 32bit-nom) sistemu 2 bajta, dakle duplo manje od regularnog int-a. Medjutim ona moze sadrzati brojeve ciji su opstezi takodje duplo manji. Kljucna rec long omogucava da promenljiva ima veci opseg od onog koji bi ta promenljiva imala bez ove kljucne reci.
Znak – CHAR
Gore pomenuti tipovi su cuvali brojeve a promenljive koje su tipa char cuvaju simbole. Svaka promenljiva tipa char zauzima svega jedan bajt i moze da cuva samo jedan simbol. Simbola ima ukupno 255 i tu spadaju kompletna engleska abeceda, brojevi i razni drugi simboli i znakovi. O ovom tipu podatka cemo detaljnije pricati kasnije.
Tablica: Tipovi podataka i intervali vrednosti
KONSTANTE
Konstanta je objekat u programu koji ima ime i koji dobija vrednost jednom, pre početka izvršavanja programa i ne može se menjati. Konstanta se definiše rezervisanom reči define pre početka glavne funkcije programa (pre void main() ).
Primer: #define PI 3.14
_______________________________________________________________________________
Struktura C pograma
#include <biblioteka>
#define konstanta
void main()
{
deklarisanje promenljivih
naredbe
}
Na početku SVAKOG programa u C se poziva biblioteka stdio.h , koja omogućava ispisivanje teksta na ekranu.
#include < stdio.h >
Ona, ujedno, omogućava izvođenje aritmetičkih operacija (sabiranje, oduzimanje, množenje, delenje).
Za složenije matematičke izraze, potrebno je pozvati biblioteku math.h, takođe, naredbom #include
U tom slučaju bi na početku programa stajalo:
#include
#include
________________________
PRIMER:
Napisati program koji izračunava obim kruga za zadati poluprečnik.
Algoritam:
- pozovi stdio.h
- definiši konstantu PI
- glavna funkcija programa je void main()
- "otvori" funkciju ( { (
- poluprečnik r i obim O su decimalni brojevi (tip float )
- izračunaj obim po formuli O=2*r*PI
- prikaži obim
- sačekaj pritisak na taster ENTER ( getch() )
- zatvori funkciju ( } )
#include
#define PI 3.14
void main()
{
float r,O;
r=5;
O=2*r*PI;
printf("Obim kruznice je %f\n", O);
getch();
}
___________________________________________________________________
#define konstanta
void main()
{
deklarisanje promenljivih
naredbe
}
Na početku SVAKOG programa u C se poziva biblioteka stdio.h , koja omogućava ispisivanje teksta na ekranu.
#include < stdio.h >
Ona, ujedno, omogućava izvođenje aritmetičkih operacija (sabiranje, oduzimanje, množenje, delenje).
Za složenije matematičke izraze, potrebno je pozvati biblioteku math.h, takođe, naredbom #include
U tom slučaju bi na početku programa stajalo:
#include
#include
________________________
PRIMER:
Napisati program koji izračunava obim kruga za zadati poluprečnik.
Algoritam:
- pozovi stdio.h
- definiši konstantu PI
- glavna funkcija programa je void main()
- "otvori" funkciju ( { (
- poluprečnik r i obim O su decimalni brojevi (tip float )
- izračunaj obim po formuli O=2*r*PI
- prikaži obim
- sačekaj pritisak na taster ENTER ( getch() )
- zatvori funkciju ( } )
#include
#define PI 3.14
void main()
{
float r,O;
r=5;
O=2*r*PI;
printf("Obim kruznice je %f\n", O);
getch();
}
___________________________________________________________________
Operacije, izrazi, operatori
Binarna operacija je operacija nad dva operanda (pr 1+2), a unarna operacija je operacija nad jednim operandom(npr -5)
Aritmetičke operacije:
Primeri
7/3 = 2 celobrojno deljenje
7./3 = 2.333333 deljenje sa realnim brojevima (7. je realni broj, a 7 celobrojni)
7%3 = 1
3%5 = 3
Operacije poređenja:
< manje,
> veće,
<= manje ili jednako,
>= veće ili jednako,
== jednako,
!= različito
Rezultat izvršavanja izraza sa operacijama poređenja je 1 ako je izraz tačan ili 0 ako je izraz netačan Aritmetičke operacije su višeg prioriteta od operacija poređenja.
Primeri
9>5 daje rezultat 1
2==3 daje rezultat 0
____________________________________________________________________
Zadatak: izracunaj vrednosti izraza
a) a <= b =!c
b) a =! b %c
ako je: int a=3,b=5,c=-1
rešenje:
a)
#include < stdio.h >
void main()
{
int a=3,b=5,c=-1,izraz;
izraz=a<=b!=c;
printf(“rezultat izraza je %d”,izraz);
}
b)
isto kao i primer pod a) samo umesto izraz=a<=b!=c; treba staviti izraz=a!=b%c;
___________________________________________________________________________
Aritmetičke operacije:
Primeri
7/3 = 2 celobrojno deljenje
7./3 = 2.333333 deljenje sa realnim brojevima (7. je realni broj, a 7 celobrojni)
7%3 = 1
3%5 = 3
Operacije poređenja:
< manje,
> veće,
<= manje ili jednako,
>= veće ili jednako,
== jednako,
!= različito
Rezultat izvršavanja izraza sa operacijama poređenja je 1 ako je izraz tačan ili 0 ako je izraz netačan Aritmetičke operacije su višeg prioriteta od operacija poređenja.
Primeri
9>5 daje rezultat 1
2==3 daje rezultat 0
____________________________________________________________________
Zadatak: izracunaj vrednosti izraza
a) a <= b =!c
b) a =! b %c
ako je: int a=3,b=5,c=-1
rešenje:
a)
#include < stdio.h >
void main()
{
int a=3,b=5,c=-1,izraz;
izraz=a<=b!=c;
printf(“rezultat izraza je %d”,izraz);
}
b)
isto kao i primer pod a) samo umesto izraz=a<=b!=c; treba staviti izraz=a!=b%c;
___________________________________________________________________________
среда, 9. септембар 2009.
Delovi računara
Hardver (fizički delovi) personalnog računara možemo podeliti na:
• Glavne i
• Periferne uređaje.
Glavni delovi su oni uređaji bez kojih računar ne bi mogao da radi:
• Procesor sa kulerom,
• Memorija,
• Matična ploča sa magistralama i
• Kućište sa napajanjem.
Periferni delovi se dodaju glavnim, radi upravljanja radom računara, skladištenja podataka, pregleda rezultata obrade ili uspostavljanja komunikacije između računara, i delimo ih na:
Ulazni uređaji:
◦ Tastatura,
◦ Miš i trackball,
◦ Džojstik (joystick) i džojped (joypad)
◦ Tablet,
◦ Svetlosna olovka (light pen),
◦ Skener,
◦ Mikrofon i sistem za prepoznavanje glasa,
◦ Web kamera,
◦ Digitalni foto-aparat i kamera,
◦ Bar-kod čitač.
Izlazni uređaji:
◦ Grafička kartica i monitor,
◦ Projektor,
◦ Zvučna kartica i zvučnici,
◦ Sintetizator govora,
◦ Štampač,
◦ Ploter.
Ulazno-izlazni uređaji:
◦ Ekran osetljiv na dodir (touch screen),
◦ Modem.
Uređaji za skladištenje podataka:
◦ Disketa,
◦ Zip i Jaz disketa,
◦ CD-ROM, CD-R, CD-RW,
◦ DVD, DVD-R, DVD-RW,
◦ Hard (tvrdi) disk,
◦ Magnetna traka.
Matična ploča
Matična ili osnovna ploča je najvažnija štampana ploča u računaru. Na njoj se nalaze mikroprocesor, ROM, kao i više konektora u koje se „ubadaju“ druge štampane ploče sa određenim funkcijama (zvučna, grafička, TV i mrežna kartica, modem, RAM, kontroleri diskova isl.)
Matična ploča služi za objedinjavanje i komunikaciju delova računara, te znatno utiče na celokupne performanse. Zbog toga je prilikom izbora sastava računara veoma važno odmah odabrati dobru matičnu ploču.
Matične ploče su tokom vremena preuzimale na sebe sve više i više funkcija ostalih delova računara. Tako, vrlo brzo su se pojavile ploče koje imaju ugrađenu grafičku karticu, zatim ugrađenu i zvučnu karticu, pa mrežnu itd. Ovakve „ugrađene“ (ili „integrisane“) kartice uglavnom važe za manje kvalitetne nego spoljašnje, premda se ta razlika tokom vremena smanjuje, što naročito važi za zvučne i mrežne kartice.
Procesor
Najveći deo rada računara svodi se na obradu podataka. Dok igramo igricu, kucamo tekst ili crtamo, sve to vreme negde u računaru obrađuju se milioni podataka u deliću sekunde. Procesor ili CPU (eng. central processing unit) zaslužan je za obradu svih tih podataka, i kao takav predstavlja mozak računara. On, praktično, upravlja radom čitavog računara, i u velikoj meri posreduje između pojedinih komponenti koje se u njemu nalaze. Takođe u najvećoj meri određuje brzinu rada računara.
Procesor (u računarstvu) je izvršna jedinica — prima i izvršava instrukcije pročitane iz odgovarajuće memorije. Kada se kaže samo „procesor“ najčešće se misli na centralni procesor (eng: central processing unit — CPU, centralna procesorska jedinica), ali postoje i procesori specijalnih namena kao što su procesori signala, razni grafički procesori, itd. Sam po sebi procesor ne čini računar, ali je jedan od najvažnijih delova svakog računara.
Centralni procesori obično sadrže:
* Upravljačku jedinicu (eng: control unit), koja upravlja radom ostalih komponenti, konkretno operacione jedinice. U ranim danima računarstva se funkcionalnost upravljačke jedinice mahom realizovala hardverski (ožičena realizacija), dok se danas tipično koristi mikroprogramska realizacija, gde se rad procesora, uključujući i njegov set instrukcija, implementira kroz mikroprogram.
* Operacionu jedinicu (eng: execution unit), koja tipično sadrži:
o Aritmetičko-logičku jedinicu (eng: ALU - Arithmetic logic unit), koja vrši aritmetičke i logičke operacije.
o Registre, koji služe za privremeno skladištenje podataka pri izvršavanju programa (registri opšte namene), kao i za čuvanje informacija o trenutnom stanju programa koji se izvršava (programski brojač, pokazivač steka, prihvatni registar instrukcije, programska statusna reč i dr.)
* Podsistem za vezivanje sa memorijom i periferijama
Moderniji procesori imaju i jedinice za rad sa brojevima u pokretnom zarezu, brzu internu memoriju itd. Super-skalarni procesori imaju i po više operacionih jedinica. što im omogućava da izvršavaju nekoliko instrukcija istovremeno (kada one nisu međusobno zavisne).
Postoji veći broj proizvođača mikroprocesora, a među njima se ističu: AMD, Intel, MOTOROLA, IBM i Transmeta.
Što je veća ferkfencija procesora računar će brže raditi. Osnovna jedinica mere ferkfencije procesora je megaherc (MHz).
Memorija
Memoriju delimo na unutrašnju (primarnu) i spoljašnju (sekundarnu).
Primarna (unutrašnja)memorija
- RAM
- ROM (“read only memory” – memorija čiji sadržaj ne nestaje gašenjem računara i može se menjati samo specijalnim uređajima; u nju su upisani najelementarniji programi koji obezbeđuju funkcionisanje delova računara, kao i inicijalni program koji npr. sa hard-diska učitava i pokreće operativni sistem), kao i specijalni kanali (“portovi”) koji služe za komunikaciju centralnog procesora sa spoljnim uređajima.
Sekundarna (spoljna) memorija
Sekundarni memorijski uređaji služe nam za dugotrajno memorisanje podataka. Kada su se pojavili prvi računari za dugotrajno memorisanje podataka bile su korišćene bušene kartice i papirne trake. Sa razvojem tehnologije, posebno u oblasti magnetnih memorijskih materijala, prešlo se na čuvanje podataka na magnetnim medijumima, prvo na magnetnim trakama, a kasnije i na magnetnim diskovima.
- hard disk
- CD
- DVD
- Disketa
- memorijske kartice
RAM MEMORIJA
U RAM memoriji nalaze se podaci koji se trenutno obrađuju na računaru. To praktično znači da, ako procesor služi za obradu podataka, RAM memorija je mesto u računaru gde se ti podaci obrađuju. Sadržaj RAM memorije briše se kada se računar isključi. Ona takođe utiče na brzinu rada računara - što je više RAM memorije to će manje vremena procesoru trebati da obradi podatke.
Osnovna jedinica mere kapaciteta RAM memorije je megabajt (MB).
Nasuprot sekundarnoj (spoljašnjoj) memoriji, primarna memorija ima sledeće osobine:
* značajno je brža (često hiljadama puta)
* direktno je adresabilna (RAM)
* gubi sadržaj po prestanku napajanja (sem u slučaju ROM memorija)
HARD DISK
Hard disk ili tvrdi disk je uređaj za smeštanje podataka. Svi programi, dokumenta, muzika i filmovi koje imate u vašem računaru skladište se na hard disku. Za razliku od RAM memorije, on čuva podatke i kada se računar isključi. Prirodno, što je više prostora (memorije) na hard disku, mogućnosti računara rastu: može se instalirati više programa, može se skladištiti više podataka...
Podaci se snimaju magnetnim putem, u koncentričnim krugovima (cilindrima) na površini tvrdih okruglih ploča (diskova).
Prvi hard diskovi bili su kapaciteta svega par kilobajta. Povećavanje kapaciteta ostvareno je dodavanjem dodatnih diskova, povećavanjem gustine zapisa i sl.
Floppy diskovi
U današnje vreme se gotovo ne koriste jer ih sve više potiskuju memorijske kartice. Njihova fizička veličina je vremenom opadala, dok se njihov kapacitet vremenom povećavao. Prvo su postojali flopi diskovi od 8" (inča), zatim od 5,25" i na kraju diskovi od 3,5", koji su i danas u upotrebi. Memorijski kapacitet je u početku bio 80 KB, dok je na kraju idostigao 2,88MB. Za ove uređaje karakteristično je: diskovi se vrte samo za vreme čitanja ili zapisivanja podataka. Takođe kod njih magnetne glave dodiruju površinu diska što loše utiče na životni vek i uređaja i svake pojedinačne diskete. Naslednici flopi disketa bili su ZIP i JAZZ diskete koje su takođe potisnute iz upotrebe od strane optičkih medija i memorijskih kartica.
Optički diskovi
Optički diskovi imaju veliki kapacitet, mehaničku robusnost i obezbeđuju dugu trajnost podataka. Rade na principu laserskog čitanja, a upis može takođe biti laserski ili na neki drugi način. Na plastičnu ravnu površinu kružnog oblika, u procesu proizvodnje diska, nanosi se tanak film materijala koji služi kao optički medijum. Zapis podataka vrši se laserom jače snage (od lasera koji služi za čitanje) tako što se na filmu stvaraju tanji ili deblji slojevi. U trenutku kada podatke čitamo sa diska, ti slojevi reflektuju lasersku svetlost, slabijeg lasera, na različite načine, što sam uređaj interpretira kao logičku nulu ili logičku jedinicu. U sadašnje vreme razlikujemo tri vrste optičkih diskova: CD-ROM (Compact Disc Read Only Memory), WORM (Write Once Read Many) i DVD (Digital Versatile Disc ili Digital Video Disc). CD i DVD diskovi su najviše zastupljeni. Njihovi kapaciteti su: 210 ili 700 MB kada su u pitanju CD diskovi i 4,7 GB kada je u pitanju DVD disk. Pošto se DVD diskovi i dalje razvijaju sve više postaju standard DVD diskovi kapaciteta od 8,5 GB i 17 GB, a više nisu retkost i diskovi većeg kapaciteta. U današnje vreme postoje dva tipa i CD i DVD diskova a to su: neizbrisivi (CD-R i DVD-R) i izbrisivi (CD-RW i DVD-RW). WORM diskovi su bili popularan standard osamdesetih godina prošlog veka. Odlikovao ih je veliki kapacitet i činjenica da su postojali samo neizbrisivi WORM diskovi.
Memorijske kartice
Memorijske kartice su u današnje vreme najrasprostanjeniji medij za prenos podataka. Memorijski kapacitet im se kreće od 32MB do 16 GB. Nemaju pokretnih delova več se sastoje, obično, od samo tri komponente: kućišta, kontrolera za upis i čitanje podataka (koji se nalazi u jednom čipu) i memorijskog čipa. Najrasprostranjeniji su sledeći tipovi memorijskih kartica : CompactFlash, Memory Stick Duo, micro SD, xD, Intelligent Stick (USB Fleš memorija), MMC microCard i drugi.
Пријавите се на:
Постови (Atom)