Switch. Odjel za matematiku. 19 switch (varijabla){ case vrijednost1: naredba1.1;
naredba1.2; case vrijednost2: naredba2.1; naredba2.2; ... } U C/C++ sintaksi:.
Odjel za matematiku
UVOD U PROGRAMIRANJE C/C++ sintaksa
1
Odjel za matematiku
PROGRAMIRANJE uvod
2
Odjel za matematiku
Programiranje • Razrada logike (konstrukcija algoritma)
• Pisanje izvornog oblika (implementacija algoritma u
programski jezik) • Ispravljanje grešaka (debugging) • Izrada dokumentacije za primjenu
3
Odjel za matematiku
4
Algoritam • Algoritam – opis postupka koji nakon konačnog broja
koraka dovodi do rezultata Primjer 1: “Popij mlijeko” 1. Otvori hladnjak. 2. Provjeri ima li mlijeka. 3. Ako ima, natoči u čašu i popij inače, odi u trgovinu i kupi. 5. Ponovi korake 2.,3. sve dok nisi zadovoljan količinom popijenog mlijeka. 6. Spremi mlijeko u hladnjak
Primjer 2: “Babilonsko računanje
2”
1. postavi y : 1.0 1 y 2. postavi y : ( y ) 2 2 3. ponavljaj korak 2. dovoljno puta
Odjel za matematiku
5
Prikaz algoritma Dijagram toka
Strukturni dijagram tipova naredbi
- sekvencija Učitati
- selekcija
uvjet
Računati Da
Ako je
Ne
- iteracija
uvjet
Odjel za matematiku
6
Prikaz algoritma Pseudo-code Rečenice pisane u govornom jeziku ali u obliku “naredbi” tako da
su “slične” naredbama u programskom jeziku Zadati (učitati) podatak n Ako je n>=0 onda Za svaki i=1 do n postavi n=n * i
Ispisati rezultat n U suprotnom Ispisati poruku o pogreški Kraj selekcije
Sekvencija Selekcija Iteracija
Odjel za matematiku
7
Elementi proceduralnog jezika riječi
znakovi
Imena, podaci, operatori, ključne riječi
alfanumerički, numerički, posebni
Elementi
vanjske programske strukture
funkcije i procedure
blokovi
rečenice komentari, naredbe
tekst
naredbe deklarativne, izvršne
Odjel za matematiku
8
Tipovi podataka Tipovi podataka ugrađeni tipovi
osnovni tipovi cjelobrojni tip
boolean tip
znakovni tip
izvedeni tipovi
prazan tip
realni tip
cjelobrojni tip
user-defined tipovi
reference
Pokazivači
strukturirani tip
pobrojani tip
Nizovi
unije
strukture
klase
float double
bool
char
short int long double
unsigned char
unsigned short int
signed char
signed short int
wchar_t
int
long int
tipovi podataka u C++
Prijevod programskog koda
Računala razumiju samo strojni jezik stoga je programski kod potrebno prevesti na strojne instrukcije. 3 programa pretvaraju izvršni kod u izvršni kod: 1. 2.
3.
Preprocessor –program koji u izvršni kod ubacuje predprocesorske direktive Compiler – program koji izvršni kod zajedno s predprocesorskim direktivama pretvara u strojni jezik odnosno objektni kod (.obj datoteka). Izvršni kod mora zadovoljavati sintaktičke, leksičke i logičke norme da bi se kod mogao transformitati. Linker – program koji povezuje objektni kod s izvršnim biblotekama kako bi se mogao generirati izvršni kod .exe
Odjel za matematiku
10
Potrebno predznanje: tipovi podataka formatiranje upisa/ispisa operatori
1.1. NAREDBE SEKVENCIJE naredbe pridruživanja ulazno-izlazne funkcije
Odjel za matematiku
11
Naredbe pridruživanja varijabla operator izraz ; izraz: konstante, varijable, (poziv)
funkcije, operatori Primjer: y=2*a*sin(x+3.5);
Operatori: -pridruživanja: = *= /= += -= &= |= ^= -aritmetički: + - * / % ++ -- za razdvajanje/grupiranje: . -> ( ) [ ] :: - relacijski: < > == != = ( ? :) - logički: ! || && - adresni: * & - bit-logički: ~ | & ^
Odjel za matematiku
12
Upis i ispis na konzolu Neke od funkcija za unos i ispis podataka (sadržani u stdio.h i conio.h datotekama) koje ćemo koristiti učitavanje podataka
scanf(“%format”,&var) fscanf(dat,”%format”,&var) getch() gets()
upisivanje podataka
printf(“%format”,broj) fprintf(dat,”%format”,broj) putch(); puts()
%format – predstavlja oblik podatka koje Format: unosimo odnosno ispisujemo. &var – predstavlja adresno mjesto varijable u kojoj spremamo podatak
d ld f c s
cijeli broj(integer) dugi cijeli broj(long) realni broj (float) znak niz znakova
Odjel za matematiku
“Hello, World” Primjer 1.1A: “Hello, World” u C-u # include /*predprocesorska naredba*/ int main() /* funkcija main()*/ { printf(“Hello, World!”); /*izvršna naredba*/ }
predprocesorska naredba koja u izvršenje našega programa uključuje datoteku za rad s konzolom. funkcija main – sve naredbe sadržane u ovoj funkciji se izvršavaju printf(“%s”,%var) – ispis u konzolu vrijednost varijable var
13
Odjel za matematiku
“Hello, World” Primjer 1.1B: “Hello, World” u C++-u #include /*predprocesorska naredba*/ using namespace std; int main() /* funkcija main()*/ { cout