1 / 33

Uvod u programiranje - matematika – I i II predavanje

Uvod u programiranje - matematika – I i II predavanje. Vesna Veli č kovi ć vesna@pmf.ni.ac.rs. Cilj predmeta. Upoznavanje sa osnovnim konceptima i metodama programiranja S istematizacija razmišljanja Korišćenje progamskog jezika – pisanje programa, testiranje, ispravljanje grešaka

wesley-rush
Télécharger la présentation

Uvod u programiranje - matematika – I i II predavanje

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uvod u programiranje- matematika –I i II predavanje Vesna Veličković vesna@pmf.ni.ac.rs

  2. Ciljpredmeta • 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

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

  4. 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

  5. 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

  6. Opis sintakse • Bekusova notacija < >meta promenljiva koja se definiše ::=po definiciji je | ili ( )grupisanje [ ]opciono pojavljivanje { }ponavljanje nula ili više puta <ceobroj> ::= [ (+|-) ] <cifra> {<cifra>} • Sintaksni dijagrami

  7. Strukturaprograma u Pascalu Deklaracija programa ; Blok . Struktura bloka: • Deklaracije labela • Definicijekonstanti • Definicijetipova • Deklaracijepromenljivih • Deklaracjepotprograma • Izvršni blok naredbi (begin<naredbe>end; složena naredba)

  8. 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 (* *).

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

  10. Tipovi u Pascalu • Definicija tipa type <ime tipa> = <tip> ; Vrste tipova u Pascalu Prosti (nestruktuirani)Složeni (struktuirani) Redni tipovipointer INTEGER REAL array CHAR record BOOLEAN string intervalni file nabrojani set

  11. Redni tipovi • Elemente možemo poređati po redosledu • Funkcije ORD redni broj PRED predcessor, predhodni element SUCC succesor, sledeći element • Relacije <, <=, >, >=, =, <>

  12. 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+1 abs (x) = | x | sqr (x) = x2 • Skup mogućih relacija: <, <=, >, >=, =, <> • Skup mogućih operacija: +, -, *, div, mod 7 div 3 = 2 7 mod 3 = 1

  13. REAL • Podskup realnih brojeva • 7-8 značajnih cifara, eksponent 38, 308,... Konstante -3.45, +0.25, 2.0, 0.7e-3, -2E45, +1E Automatska konverzija INTEGER u REAL, 3=3.0 • Skup mogućih funkcija (real nije redni tip): abs (x) = | x | sqr (x) = x2 sqrt (x) = √ x sin (x) cos (x) atan (x) = arcustangens (x) ln (x) exp (x) = ex • Skup mogućih relacija: <, <=, >, >=, =, <> • Skup mogućih operacija: +, -, *, /

  14. 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 <=

  15. 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: <, <=, >, >=, =, <>

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

  17. 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;

  18. Naredbe • Naredba je algoritamska radnja koja se može izvršiti. • Složena naredba begin { <naredba> ; }end Između dve naredbe u složenoj naredbi se pise “;” • Prazna naredba

  19. Š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

  20. Učitavanje vrednosti x: 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 char c: 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.

  21. 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 promenljive X := 3+5*2; Vrednost promenljive se može menjati samo učitavanjem ili naredbom dodele vrednosti.

  22. 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>)

  23. 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)

  24. Tok izvršenja programa Upravljačke strukture • Sekvenca • Grananje • Petlje Moguće je proizvoljno kombinovanje.

  25. 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)

  26. 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

  27. 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.

  28. 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.

  29. 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> thenbegin <naredba1> ; <naredba2> elsebegin <naredba3> ; <naredba4> end

  30. Ugnježdavanje IF naredbi If <uslov1> then if <uslov2> then <naredba1> else <naredba2> else if <uslov3> then <naredba3> else <nareedba4>

  31. Domaći zadatak 1 • Učitati jedan znak sa tastature i odštampati njegov ASCII kod.

  32. 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.

  33. 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.

More Related