UVOD U PROGRAMIRANJE - Odjel za matematiku, Osijek

191 downloads 457 Views 3MB Size Report
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