Top Banner
OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković Marija Petronijević Dušan Isailović
20

OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

Jan 16, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

OSNOVE PROGRAMIRANJA U PAJTONU

PREDAVANJE 3 - KONTROLA TOKA

Miloš Kovačević

Đorđe Nedeljković

Marija Petronijević

Dušan Isailović

Page 2: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

SADRŽAJ PREDAVANJA

- Grananja

- Petlje

Page 3: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

SEKVENCIJALNI ALGORITAM

Algoritam - konačan niz predefinisanih operacija.

Sekvencijalni - svi koraci se uvek obavljaju tačno jednompo redosledu navođenja.

Primer:

Pravougle koordinate tačke transformisati u polarne.

t

Page 4: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

SEKVENCIJALNI ALGORITAM - BLOK

Blok – niz programskih redova koji čine logičku celinu,može da sadrži druge blokove

Ugnježđeni (jedan unutar drugog) blokovi se moraju uvući u tekstu programa (postaće očigledno kod naredbi if, for i while)

Page 5: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

RAZGRANATI ALGORITAM

Razgranati – niz koraka koji će biti izvršen zavisi od ulaznih podataka

Primer:

Da li je prirodni broj n paran?

Uslov grananja

(zavisi od ulaza n)moguće dve putanje

Page 6: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

REPETITIVNI ALGORITAM

Repetitivni – pojedini koraci se ponavljaju(do ispunjenja određenog uslova)

Primer:

Provera parnosti za niz brojeva

ponavlja se sve do unosa broja 0

Page 7: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

GRANANJA – VARIJANTE NAREDBE IF

Uslov: logički izraz, po izračunavanju True ili False

npr. x < 5 ili x > 0 && y > 0

Page 8: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

NAREDBA IF – PAR-NEPAR

Editori u razvojnim okruženjima vrše uvlačenje automatski po nailasku na <:>

% - ostatak celobrojnog deljenja

Blok naredbe if, zapaziti uvlačenjeza 4 mesta udesno

Page 9: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

NAREDBA IF-ELSE – PAR-NEPAR

Korisno je proveriti validnost ulaznih podataka

Naredba if-else (r6-9) je umetnuta u if blok naredbe if-else (r5-11)

Voditi računa o uvlačenju (indentaciji) blokova!

Page 10: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

NAREDBA IF-ELIF-ELIF …. ELSE

Izvršava se samo jedan blok!

Page 11: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

PETLJE

Višestruko ponavljanje bloka naredbi realizuje se petljama while ili for

Uslov ostanka u petlji određuje broj ponavljanja (iteracija) bloka

Petlja while - broj iteracija ne mora biti poznat unapred

Petlja for - broj iteracija mora biti poznat unapred

Page 12: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

NAREDBA WHILE - NAJVEĆI BROJ U NIZU

Treba učitati i proveriti svaki broj – neophodno ponavljanje niza koraka

Nepoznat broj elemenata niza (dok se ne unese 'inf') – while petlja (r10-13)

U toku postupka treba zapamtiti tekući najveći broj – promenljiva maks (r12)

Prvi uneti broj postaje početna vrednost za maks (r9)

Page 13: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

NAREDBA WHILE – NAJVEĆI BROJ U NIZU

u svakom postupku treba paziti na specijalne slučajeve

Page 14: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

NAJVEĆI BROJ U NIZU – TABELA STANJA

Tok izvršavanja

Page 15: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

PREVREMENI IZLAZAK IZ PETLJE - BREAK

Page 16: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

MAKSIMALAN BROJ U NIZU - BREAK

U ovom slučaju, bez break – beskonačna petlja (uslov uvek ispunjen)

Page 17: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

PETLJA FOR

Ako je unapred poznat broj ponavljanja nekog bloka – petlja for

Funkcija range() – generiše sekvencu celih brojeva

i – brojačka promenljiva

Page 18: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

SEKVENCA CELIH BROJEVA – RANGE()

Brojanje počinje od nule!

Brojanje unazad!

Page 19: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

PRIMER PETLJE FOR

domen problema → algoritam: treba naći zakonitost za aij

A =

Page 20: OSNOVE PROGRAMIRANJA U PAJTONU · OSNOVE PROGRAMIRANJA U PAJTONU PREDAVANJE 3 - KONTROLA TOKA Miloš Kovačević Đorđe Nedeljković MarijaPetronijević Dušan Isailović. SADRŽAJ

SUMA ELEMENATA MATRICE – PETLJA FOR

unutrašnja petlja: za fiksnu vrednost spoljašnjeg brojača i, brojač j uzima sve dozvoljene vrednosti