uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. uvod u program… ·...

33
Uvod u programiranje - matematika – I i II predavanje Vesna Veličković [email protected]

Upload: dinhliem

Post on 15-Feb-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Uvod u programiranje- matematika –I i II predavanje

Vesna Veličković[email protected]

Page 2: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Cilj predmeta

• Upoznavanje sa osnovnim konceptima i metodama programiranja

• Sistematizacija razmišljanja• Korišćenje progamskog jezika – pisanje

programa, testiranje, ispravljanje grešaka• Rešavanje jednostavnih zadataka

2 časa predavanja i 2 časa vežbi

Page 3: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Distribucija poena

• Domaći zadaci – 25 poena• Kolokvijum – 20 poena• Pismeni deo ispita – 30 poena• Usmeni deo ispita – 25 poena

Page 4: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Anketa

• Ime, prezime, broj indeksa• e-mail• Srednja škola• Dostupan računar i Internet?• Za koje aktivnosti koristite računar?• Šta ste učili iz Informatike u školi (ocena)?• Da li ste imali Programiranje u školi (ocena)?• Koje programske jezike znate (ocena)?• Dodatne informacije

Page 5: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Programski jezik

• U gimnazijama – Pascal• Programski jezik je JEZIK– Gramatika - nauka o jeziku i njegovim

zakonitostima• Sintaksa – skup pravila za obrazovanje pravilnih

konstrukcija jezika• Semantika – skup pravila za utvrđivanje značenja

jezičkih konstrukcija

Page 6: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Opis sintakse

• Bekusova notacija< > meta promenljiva koja se definiše::= po definiciji je| ili( ) grupisanje[ ] opciono pojavljivanje{ } ponavljanje nula ili više puta

<ceo broj> ::= [ (+|-) ] <cifra> {<cifra>}• Sintaksni dijagrami

Page 7: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Struktura programa u PascaluDeklaracija programa ; Blok .

Struktura bloka:• Deklaracije labela • Definicije konstanti• Definicije tipova• Deklaracije promenljivih• Deklaracje potprograma• Izvršni blok naredbi

(begin <naredbe> end ; složena naredba)

Page 8: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

• Ime (identifikator) počinje slovom i može sadržati slova, cifre i znak “_”.

• Ključne reči podvlačimo• Deklaracija programa

program <ime programa> ;• Definicija konstanti

const <ime konstante> = <konstanta> ;Konstanta određenog tipa

• “;” se piše posle deklaracija, definicija i između dve naredbe u složenoj naredbi (begin...end)

• Ne pravi se razilika između malih i velikih slova• Komentari između zagrada { } ili (* *).

Page 9: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Prvi program

{komentar}program prvi;const pi = 3.1415;begin write (‘Zdravo!’); write (pi);end.

Page 10: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Tipovi u Pascalu• Definicija tipa

type <ime tipa> = <tip> ;

Vrste tipova u PascaluProsti (nestruktuirani) Složeni (struktuirani)

Redni tipovi pointerINTEGER REAL arrayCHAR recordBOOLEAN stringintervalni filenabrojani set

Page 11: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Redni tipovi

• Elemente možemo poređati po redosledu• Funkcije

ORD redni brojPRED predcessor, predhodni elementSUCC succesor, sledeći element

• Relacije<, <=, >, >=, =, <>

Page 12: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

INTERGER• Skup celih brojeva u određenom opsegu– 16-bitni računari – opseg -215 .. +215

– 32-bitni računari – opseg -231 .. +231

Konstante -345, +25, 3456• Skup mogućih funkcija:

ord (x) = x pred (x) = x-1 succ(x) = x+1abs (x) = | x | sqr (x) = x2

• Skup mogućih relacija: <, <=, >, >=, =, <>• Skup mogućih operacija: +, -, *, div, mod

7 div 3 = 2 7 mod 3 = 1

Page 13: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

REAL• Podskup realnih brojeva– 7-8 značajnih cifara, eksponent 38, 308,...Konstante -3.45, +0.25, 2.0, 0.7e-3, -2E45, +1EAutomatska konverzija INTEGER u REAL, 3=3.0

• Skup mogućih funkcija (real nije redni tip):abs (x) = | x | sqr (x) = x2 sqrt (x) = √ xsin (x) cos (x) atan (x) = arcustangens (x)ln (x) exp (x) = ex

• Skup mogućih relacija: <, <=, >, >=, =, <>• Skup mogućih operacija: +, -, *, /

Page 14: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

BOOLEAN (BOOL)Logički tip• Skup mogućih vrednosti: TRUE, FALSE

True je tačno, a false je netačno. To su konstante.• Deklaracija promenljivih: var x : bool;• Skup mogućih funkcija (redni): ord, pred, succ

ord (false) = 0 ord (true) = 1• Skup mogućih relacija: <, <=, >, >=, =, <>• Skup mogućih operacija: not , and, or

Ekvivalencija je =, a implikacija <=

Page 15: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

CHAR

• Skup znakova na računaru (slova, cifre, specijalni znaci,...)

• Konstante pod apostrofima, ‘A’, ‘7’, ’&’• Apostrof se piše kao dva apostrofa, ‘’’’• Skup mogućih funkcija:

ord (x) = redni broj znaka x (kod znaka x)ord (‘A’) = 65 chr (65) = ‘A’

• Skup mogućih relacija: <, <=, >, >=, =, <>

Page 16: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

String

• Niska znakova pod apostrofima• Apostrof u stringu se piše kao dva apostrofa• Konstante: ‘Ana voli Milovana’, ‘Nis ‘’13’

Page 17: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Promenljive

• Služe za čuvanje vrednosti tokom izvršenja programa

• Svaka promenljiva ima IME, TIP i VREDNOST• Deklaracija promenljivih

var i, j, k : integer; a, b, c : real; znak : char;

Page 18: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Naredbe

• Naredba je algoritamska radnja koja se može izvršiti.

• Složena naredbabegin { <naredba> ; } endIzmeđu dve naredbe u složenoj naredbi se pise “;”

• Prazna naredba

Page 19: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Štampanje vrednosti

• write: write (‘x = ‘, x)• writeln štampa oznaku kraja reda• writeln (‘Ana’) odštampa prvo ‘Ana’ a zatim predje

u novi red

Write (i:2) štampa vrednost integer promenljive i na 2 mesta

Write (x:8:2) štampa vrednost realne promenljive x na 8 mesta sa dve decimale

Page 20: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Učitavanje vrednostix: integer; ili x: real;

• read: write (‘x = ‘); read (x)• readln: write (‘x = ‘); readln (x)

Očitava nisku znakova sa standardnog ulaza (tastature), konvertuje je u brojčanu vrednost i tu vrednost upisuje u promenljivu x

• Read i readln se razlikuju samo kod tipa charc: char; readln (c) očitava jedan znak (može da bude i

oznaka kraj reda), upisuje ga u promenljivu c, a zatim prelazi u novi red. Sa Readln se ignorišu svi znaci do kraja reda, što nije slučaj kod read.

Page 21: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Naredba dodele vrednosti

<ime promenljive> := <izraz>• Izvršenje: prvo se izračuna vrednost izraza a

zatim se ta vrednost upiše u promenljivu na levoj strani naredbe dodeljivanja

• Tip vrednosti izraza mora da bude kompatibilan za dodeljivanje tipu vrednosti promenljiveX := 3+5*2;

Vrednost promenljive se može menjati samo učitavanjem ili naredbom dodele vrednosti.

Page 22: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Izraz

<izraz> ::= <prost izraz> [ <relacija> <prost izraz> ]<prost izraz> ::= <član> { <aditivan operator> <član> }<član> ::= <faktor> { <multiplikativan operator>

<faktor> }<faktor> ::= <ceo broj> | <realan broj> | <string> |

<ime konstante> | <ime promenljive> | <ime funkcije> [ (lista prametara) ] | not <faktor> | (<izraz>)

Page 23: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Prioritet operacija u Pascalu

• Funkcije, not, zagrade• Multiplikativni operatori: *, /, div, mod, and• Aditivni operatori: +, -, or• Relacioni operatori (relacije): <, <=, >, >=, = , <>

Operatori istog prioriteta se izvršavaju jedan za drugim s leva na desno.

2*x - 4*y / z, prioritet (2*x) – ((4*y) / z)ne može 2<x<3, već (2<x) and (x<3)

Page 24: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Tok izvršenja programa

Upravljačke strukture• Sekvenca• Grananje• PetljeMoguće je proizvoljno kombinovanje.

Page 25: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Sekvenca

Naredbe se izvršavaju redom jedna za drugom.Realizuje se složenom naredbom.begin <nareba1> ; <nareba2> ; <nareba3>end.Struktuirano pisanje (uvlačenje naredbi unutar

struktuiranih naredbi)

Page 26: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Grananje

Tok izvršenja programa zavisi od nekog uslova (logičkog izraza).

Uslovne naredbe• IF za grananje u dve grane• CASE za višestruko grananje

Page 27: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

IF naredba

If <logički izraz> then <naredba1> [ else <naredba2> ]

• Struktuirano pisanje• Tipična greška je staviti “;” ispred else.• Moguće je ugnježdavanje if naredbi, kao i svih

ostalih struktuiranih naredbi.

Page 28: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Izvršenje IF naredbe

• Prvo se izračuna vrednost logičkog izraza (uslova)

• Ako je ta vrednost tačna, izvrši se naredba1.• Ako nije tačna i postoji else grana, izvrši se

naredba2.• U oba slučaja, posle izvršenja if naredbe

prelazi se na sledeću naredbu u sekvenci.

Page 29: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Složena naredba u IF• Ako je unutar then ili else grane potrebno

napisati više od jedne naredbe, stavljamo ih u složenu naredbu.

if <logički izraz> then begin <naredba1> ; <naredba2>else begin <naredba3> ; <naredba4>end

Page 30: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Ugnježdavanje IF naredbiIf <uslov1> then if <uslov2> then <naredba1> else <naredba2>else if <uslov3> then <naredba3> else <nareedba4>

Page 31: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Domaći zadatak 1

• Učitati jedan znak sa tastature i odštampati njegov ASCII kod.

Page 32: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Domaći zadatak 2

• Studente treba podeliti u k grupa, prema broju indeksa. Ako je indeks deljiv sa k, pripada prvoj grupi, ako pri deljenju sa k daje ostatak 1, pripada drugoj grupi, i tako redom.

• Odštampati svoje ime, prezime i broj indeksa.• Učitati prirodan broj k i odredite kojoj grupi

pripadate.

Page 33: Uvod u programiranje - matematika -nasport.pmf.ni.ac.rs/materijali/179/1. i 2. Uvod u program… · PPT file · Web viewAnketa Ime, prezime, broj indeksa e-mail Srednja škola Dostupan

Domaći zadatak 3

• Učitati x i y koordinatu tačke i ispitati da li ona pripada

• Krugu k1: x2+y2 <= 9

• Krugu k2: (x-3)2+(y+2)2 <= 4• Njihovom preseku• Nijednom od krugova k1 i k2.