Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Gimnazija u Kuršumliji

UVOD U PROGRAMIRANJE I
ALGORITMI
Šta je računarski program?

Računar je elektronska mašina koja obrađuje ulazne podatke ili


informacije (INPUT) i proizvodi iz njih nove podatke ili izlazne
informacije (OUTPUT).

Računar obrađuje podatke na osnovu programa koji je napisan za


određenu primenu.

Program predstavlja skup instrukcija (naredbi) za rešavanje određenog


problema.

Program po kome računar radi mora za vreme izvršavanja da bude u


memoriji računara (RAM).

Proces pisanja instrukcija za računar naziva se programiranje.


Programski jezici

Kod prvih računara programi su pisani na mašinskom jeziku.

Mašinski jezik sve naredbe (instrukcije) i sve podatke pretstavlja


kombinacijom nula i jedinica (mašinski kod).

Savremeni programi pišu se u takozvanim „višim programskim jezicima“,


u kojima se naredbe (instrukcije) i svi podaci predstavljaju simbolički,
slovima, znakovima, rečima i skraćenicama koje liče na jezike koji ljudi
koriste, pre svega liči na engleski jezik.

Programski jezici koji se danas najviše koriste su: C, C++, C#, Java, Java
Script, Python, Ruby, PHP, Swift, Perl...itd.
Programski jezici

Računari programe razumeju samo ako su na mašinskom jeziku, dok je


programerima lakše da koriste neki od pomenutih programskih jezika
višeg nivoa.

Program napisan na programskom jeziku višeg nivoa, da bi se izvršio na


računaru mora se prevesti na mašinski jezik (mašinski kod).

Prevođenje sa jezika višeg nivoa na mašinski jezik obavljaju kompajleri.


Faze u programiranju
Da bi rešili neki problem (posao) korišćenjem računara, neophodno je da
kreiramo program u nekom programskom jeziku. Taj proces je
kompleksan i u njemu možemo izdvojiti sledeće faze:
1. Definisanje problema
Definisanje niza operacija kojima se rešava konkretan problem.
2. Pravljenje matematičkog modela
Opisivanje problema odgovarajućim matematičkim jednačinama.
3. Crtanje algoritma
Algoritamsko rešavanje problema, kao niz koraka koji su prdstavljeni grafički na
određen način.
4. Pisanje programa
U ovoj fazi se u nekom programskom jeziku opisuju podaci i postupak rešavanja
problema.
5. Testiranje programa
Testiranjem programa treba proveriti da li program rešava postavljeni zadatak. To
je vrlo važna faza u kojoj treba otkloniti eventualno skrivene greške.
6. Održavanje programa
Ako je program čitko napisan i ako ima dobru dokumentaciju, onda je ova faza
jednostavna, kako za same autore programa, tako i za druge programere.
ALGORITMI – pojam

Algoritam je šematski prikaz za rešavanje nekog problema na


računaru.

Algoritam je redosled koraka (operacija-obrada podataka i pravila)


u cilju dobijanja rešenja nekog problema.

Izvođenje svake operacije predstavlja jedan algoritamski korak.

Uslovi koji algoritmi moraju ispunjavati su:


- definisanost,
- konačnost i
- rezultat.
ALGORITMI - uslovi
Definisanost. Svaka operacija ili pravilo mora imati definisano i
samo jedno značenje, tj. rezultat svake operacije mora biti jasno
definisan.

Konačnost. Algoritmi se moraju zaustaviti posle izvršenog


konačnog broja koraka i u konačnom vremenu.

Rezultat. Po završetku algoritma mora da postoji mogućnost da


se ustanovi rezultat njegovog rada, odnosno da li je algoritam
postigao svoj cilj ili nije – da li daje tačne rezultate.
ALGORITMI – načini predstavljanja

Postoje različite mogućnosti za predstavljanje algoritma, ali se on


najčešće pretstavlja grafički pod imenom dijagram toka programa.

U ovom dijagramu pojedine akcije predstavljene su tačno


određenim grafičkim simbolima čime se osigurava jednostavnost,
preglednost i jednoznačnost zapisa algoritma.
ALGORITMI - SIMBOLI

Grafički simbol Značenje

Start / Stop
Unošenje podataka
Izdavanje podataka
Obrada podataka
Odluka / Uslov
Povezivanje algoritamskih koraka
Struktura algoritma

Pod strukturom algoritma podrazumeva se redosled izvršavanja


pojedinih vrsta algoritamskih koraka u algoritmu.

Sa stanovišta ovog redosleda postoje tri osnovne algoritamske


strukture:
- linijska struktura,
- razgranata struktura i
- ciklička struktura.
POČETAK

LINIJSKA
STRUKTURA 1. Pripremi dizalicu
2. Pripremi rezervni točak
3. Olabavi šrafove na točku
4. Podigni auto
5. Odvrni šrafove na točku
Algoritamski koraci se 6. Skini točak
izvršavaju jedan za drugim 7. Stavi rezervni točak
uvek istim redosledom kojim 8 . Zavrni šrafove na točku
su napisani. 9. Spusti auto
10. Zategni šrafove
11. Spremi dizalicu
12. Spremi rezervni točak
Primer
Algoritam za zamenu točka na
automobilu.
KRAJ
POČETAK
RAZGRANATA
STRUKTURA 1. Stani ispred kolovoza
2. Pogledaj semafor

Struktura algoritma u
kojoj tok operacija zavisi NE Zeleno DA
od ispunjenosti nekih svetlo
uslova zove se razgranata
struktura. 3. Čekaj zeleno svetlo
4. Pređi ulicu 3. Pređi ulicu

Primer
Algoritam za prelazak
ulice sa semaforom. KRAJ
POČETAK

CIKLIČNA 1. Otvori vodu


STRUKTURA
Ponovi
10 puta

Algoritam kod kog se određeni 2. Uzmi praznu flašu


broj algoritamskih koraka 3. Napuni je vodom
ponavlja više puta ima cikličku 4. Zatvori flašu
strukturu. 5. Odloži punu flašu

Primer - algoritam za punjenje


deset flaša vodom. 6. Zatvori vodu

Konstantna ciklička struktura – ako je


KRAJ
broj ponavljanja je unapred poznat
Konstantna ciklička struktura
POČETAK

CIKLIČNA 1. Stani ispred kolovoza


STRUKTURA

2. Pogledaj levo i desno


Ako broj ponavljanja nije
poznat unapred, nego zavisi od
NE DA
ispunjenosti nekog uslova Nema vozila
struktura je promenljiva
(uslovni ciklus). 3. Sačekaj malo
4. Pređi ulicu

Primer - algoritam za prelazak


ulice bez semafora.
KRAJ

Uslovna ciklička struktura


SLOŽENE
STRUKTURE

Složene algoritamske strukture


sastoje se od proizvoljnog broja,
proizvoljnih kombinacija
osnovnih algoritamskih
struktura.
ZAKLJUČAK

ALGORITAM JE KONAČNI REDOSLED OPERACIJA, ELEMENTARNIH


OBRADA I PRAVILA O NJIHOVOJ PRIMENI U CILJU DOBIJANJA
REŠENJA NEKOG PROBLEMA.

Pojam algoritma ne mora biti vezan za primenu


računara. Algoritmi se koriste u svakodnevnom
životu za izvršavanje različitih aktivnosti (npr.
kuvarski recepti).

Postoje različite mogućnosti za predstavljanje


algoritma, ali se on najčešće pretstavlja grafički
pod imenom dijagram toka programa
(flowchart).

You might also like