Would you like to react to this message? Create an account in a few clicks or log in to continue.


 
HomeLatest imagesTražiRegistracijaLogin

 

 C++ za pocetnike

Go down 
AutorPoruka
Admin
Admin
Admin


Broj komentara : 47
Age : 33
Mjesto : Cazin
Registration date : 2008-03-22

C++ za pocetnike Empty
KomentarNaslov komentara: C++ za pocetnike   C++ za pocetnike Icon_minitimeSat Mar 22, 2008 11:18 am

Ukoliko zelite poceti programirati u C++, onda pogledaje dolje navedene primjere (jer najbolje se uci iz primjera)..
C++ za pocetnike!
Varijable: imena, tipovi, deklaracija i dodjela vrijednosti

Varijabla ili promjenjiva je zapravo lokacija u memoriji koja sadrži određeni podatak. Svaka varijabla mora imati ime. Tokom imenovanja varijable moraju se poštovati neka pravila, npr. ime varijable ne smije početi brojem i ne smije sadržavati razmake ili specijalne znake osim donje crte (_). Treba voditi i računa da c++ razlikuje velika i mala slova pa su varijble broj, Broj i BROJ tri različite varijable.. Budući da postoje različite vrste podataka, postoje i različite vrste varijabli. Za početak ću pomenuti samo 3 tipa: int, char i float.
int sadrži cijele brojeve u intervalu od -maxint do +maxint, gdje je maxint najčešće 32768.
char može da sačuva bilo koje slovo, broj ili karakter dužine 1 znaka (8 bajta).
float služi za rad sa decimalnim brojevima.
Izbor varijable zavisi uglavnom od vrijednosti koju će ona sadržavati i mora se definisati prije pokretanja samog programa. Varijable se zato moraju "deklarisati", odnosno svakom imenu varijable mora se odrediti tip. Na primjer sa int broj deklarišemo promjenjivu po imenu broj, odnosno u memoriji se otvara nova lokacija pod imenom "broj" koja može da sadrži cijele brojeve tipa integer. Sada možemo da u ovu varijablu spremimo na primjer broj 5 tako što ćemo napisati broj=5. Ako ovoj varijabli međutim pokušamo da dodjelimo vrijednost drugog tipa, npr broj='a' kompajler će prijaviti grešku. Tokom dodjeljivanja vrijdenosti varijabli tipa char moramo da znak koji se varijabli predaje stavimo pod apostrofe, npr. char znak='d'. Jednoj varijabli možemo da dodjelimo vrijednost druge varijable, ali i tada naravno moramo da pazimo da te dve varijable budu istog tipa (tokom rada na zadacima koji slijede pokazaćemo da ovo nije uvijek tačno). Evo primjera nekoliko ispravnih deklaracija i dodjeljivanja vr. varijablama:

Code:
int i,j=3,n;
float f;
char c;
i=4;
f=3.14;
c='a';



Aritmetički operatori
Spomenućemo sabiranje (+), oduzimanje (-), množenje (*) i djeljenje (/). Njihova upotreba je jednaka kao u matematici, a isti je i redoslije operacija (množenje i djeljenje imaju prednost nad sabiranjem i oduzimanjem). Pri djeljenju integera drugim integerom ostatak se zanemaruje, a operator koji nam pokazuje ostatak pri djeljenju dva broja je %. Tako je 21/5=4, a 21&5=1 ukoliko radimo sa integerima. Ukoliko moramo da znamo i decimalne vrijednosti pri djeljenju tada koristimo tip float.

Unos i ispis na ekran
Objasniću upotrebu samo po 1 po 1 naredbe za unos i ispis koju smatram najpogodnijom za početnike: cout i cin.
cout (Console OUTput) služi za ispis teksta, brojeva, sadržaja varijabli i sličnog na ekran. Sintaksa je cout << var; Gdje je var ime neke varijable, a isto tako to može biti i tekst (tada ga ograničavamo navodnicima). Naravno možemo da "štampamo" na ekran istovremeno i varijable i tekst... Da ne bih prekršio neki zakon ili napravio jeres, evo programa "Zdravo svijete" (primjetite kako smiješno zvuči) za početak.
Code:

#include <iostream.h>
main()
{
cout << "Zdravo svijete!";
return 0;
}


cin (Console INput) služi za prihvatanje podataka od korisnika. Po nailasku na ovu naredbu program privremeno zaustavlja rad i očekuje od korisnika da unese neku povratnu informaciju. Nakon unosa i pritiska na ENTER, program prvo provjerava da li unos sa tastature odgovara tipu varijable, pa ako je sve regularno unešenu vrijednost dodjeljuje navedeoj varijabli. Sintaksa je cin >> var; gdje je var neka varijabla koja je već definisana. Obratite pažnju na "overloading operator", tj dve strelice okrenute na desno. O ovome ću govoriti kasnije, ali za sada samo uočite da su okrenute na suprotnu stranu nego kod cout naredbe. Primjer:
Code:

#include <iostream.h>
main()
{
int n;
cin << n;
return 0;
}


Budući da programi koji koriste samo input ili output komande nisu od nikakve koristi (kao što vidite na prethodnom primjeru), najčešće se koriste kombinacije:
Code:

#include <iostream.h>
main()
{
cout << "OVAJ PROGRAM SABIRA 2 BROJA" << endl;
int a,b;
cout << endl << "a=";
cin >> a;
cout << endl << "b=";
cin >> b;
cout << endl << "ZBIR JE " << a+b;
return 0;
}



If uslov

Provjerava istinitost nekog izraza. Sintaksa je sledaća:
if (uslov) {naredba ako je uslov tačan}; ili
if (uslov) {naredba ako je uslov tačan} else {naredba ako je uslov netačan};
uslov može biti bilo koji izraz čija se tačnost može provjeriti, najčešće međutim se provjerava odnos između dva broja. U tu svrhu koriste se relacioni operatori:
== (jednako), != (različito), < (manje), <= (manje ili jednako), > (veće), >= (veće ili jednako)... primjer:
Code:
#include <iostream.h>
main()
{
int a,b;
cout << "a,b=";
cin >> a,b;
if (a==b) {cout <<"brojevi su jednaki";}
else {cout <<"brojevi su različiti";};
return 0;
}


For petlja

Služi za ponavljanje naredbe ili grupe naredbi ukoliko je unaprijed poznat broj ponavljanja. Sintaksa glasi: for (početna vrijednost; uslov; stepen rasta) {naredba}.
For petljom "upravlja" kontrolna varijabla tipa integer (int) koja mijenja vrijednost za određeni stepen kroz svaki prolaz petlje. Prvi korak je inicijacija gdje kontrlonoj varijabli pridružimo neku početnu vrijednost. Zatim navodimo uslov; petlja će se vrtiti dok kod je on tačan. Stepenom rasta označavamo za koji interval će se kontrolna varijabla uvećavati kroz svaki ciklus petlje. for (int i=1; i<10; i++) znači da će se varijabla i, počevši od 1 uvećavati za jedan dok god je i manje od 10, dakle sve naredbe u sklopu petlje će se ponoviti 10 puta. Evo primjera koji će sabrati i pomnožiti brojeve do n.
Code:

#include <iostream.h>
main()
{
int n,s=0,p=1;
cout << "n=";
cin >> n;
for (int i=1; i<=n; i++)
{
s+=i;
p*=i;
}
cout << "s=" << s;
cout << "p=" << p;
return 0;
}


While petlja
Ukoliko nije unaprijed poznat broj ponavljanja onda koristimo while petlju. while (a>b) {naredba ili grupa naredbi} znači "ponavljaj naredbu u sklopu petlje dok kod je uslov tačan". Poenta je da kod ove naredbe ne mora biti unaprijed poznat broj ponavljanja, te se naredbe ponavljaju sve dok se istinitost uslova ne promjeni. Tu međutim moramo da budemo pažljivi, ako uslov nije dobro formulisan i ne postoji mogućnost da se on u toku rada petlje izmjeni program će ili preskočiti petlju ili beskonačno dugo ostati u njoj (do nasilnog prekidanja rada samog programa). Ovo zna da bude iritanto početnicima jer tako često gube cijeli program, te moraju da ga pišu iz početka (zna biti nezgodno na ispitu).... Evo primjera jednog programa koji sabira brojeve sve dok je zbir manji od 5000;
Code:

#include <iostream.h>
main()
{
int i=0,s=0;
while (s<5000)
{
i++;
s+=i;
}
cout << "s=" << s;
return 0;
}


Ovdje se vidi bitna razlika između while i for petlje. Ovaj program bi bilo (gotovo) nemoguće napisati sa for petljom jer ne znamo unaprijed koliko brojeva ćemo morati sabrati, nego ih sabiramo dok zbir ne dostigne određenu vrijednost.

Jednodimenzionalni nizovi
Nizove korisimo kada imamo više varijabli jednog tipa koje su na neki način povezane. Niz je skup varijabli istog tipa kojima pristupamo prema njihovom indeksu. int niz[10] će u memoriji rezervisati 10 memorijskih lokacija za varijable tipa int. Ukoliko želimo da se obratimo nekom članu niza jednostavno navedemo ime niza i zatim indeks (rednim broj) člana u tom nizu. Na primjer niz[0]=26 bi prvom članu niza dalo vrijednost 26 (prvi član niza ima indeks 0). Pri upisivanju članova niza moramo da pazimo da ne pređemo maksimalni broj elemenata niza koji smo pri definisanju naveli. Tako kompajler ne bi prijavio grešku kad bi u naš prethodni niz pokušali da upišemo niz[135]=15, već bi on u lokaciju koja se nalazi 135 "varijabli" daleko od početka niza upisao broj 15, zamijenjujući na taj način sve što se tu prije nalazilo. Ovo je opasno i nepredvidivo i često je uzrok čudnih grešaka ili pada programa. A sada evo zadatka koji će u niz upisati prvih 10 parnih brojeva:
Code:

#include <iostream.h>

main()
{
int nizParnihBrojeva[10];
for (int i=0; i<10; i++)
{
nizParnihBrojeva[i]=i*2;
cout << "NIZ[" << i << "]=" << nizParnihBrojevai[i];
}
return 0;
}



Dvodimenzionalni nizovi (matrice)
Matricu možemo da zamislimo kao tabelu; sastoji se od elemenata koji pripadaju redovima i kolonama koje su značeni indeksima. int matrica[10][15] bi rezervisalo prostor za 10*15=150 varijabli tipa int. Uzmimo sada na primjer matricu mat[x][y]. Ako je x==y, matrica je kvadratna. U takvoj matrici svi elementi za čije indekse važi x==y nalaze se na glavnoj dijagonali. Za elemente za čije indekse važi da su x+y==x+1, odnosno x+y==y+1 (iz uslova x==y) slijedi da se nalaze se na sporednoj dijagonali. Evo jednok zadatka čije je rješenje nedavno traženo na forumu: Napisati program koji će sa tastature prvo učitati prirodni broj n koji mora biti između 2 i 10. Nakon toga učitati nxn realnih brojeva u matricu. Pretpostaviti da u matricu može stati najviše 10x10 brojeva. Pronaći i na ekran ispisati sumu svakog reda matrice i proizvod svake kolone matrice. Rješenje:
Code:

#include <iostream.h>
#define max 10

main ()
{
int matrica[max][max], suma[max], proizvod[max];
int n,s=0,p=1;
cout << "n=";
cin >> n;
for (int i=1; i<=max; i++)
{
suma[i]=0;
proizvod[i]=1;
}
for (int i=1; i<=n; i++)
for (int j=1; j<=n; j++)
{
cout <<"Mat["<<i<<","<<j<<"]=";
cin >> matrica[i][j];
suma[j]+=matrica[i][j];
proizvod[i]*=matrica[i][j];
}
for (int i=1; i<=n; i++)
cout<<"Suma["<<i<<"]="<<suma[i]<<endl;
for (int i=1; i<=n; i++)
cout<<"Proizvod["<<i<<"]="<<proizvod[i]<<endl;
return 0;
}
Na vrh Go down
https://etteam.yoo7.com
 
C++ za pocetnike
Na vrh 
Stranica 1/1
 Similar topics
-
» Java za pocetnike
» Delphi za pocetnike

Permissions in this forum:Ne možete odgovoriti na teme ili komentare u ovom forumu
 :: Programiranje :: C++-
Idi na: