materijali za učenike gimnazije u Vrbasu

Arhiva za kategoriju ‘III razred’

Algoritmi sortiranja

Svakodnevno se srećemo sa velikim količinama podataka koje je potrebno urediti po određenom redosledu radi pretrage i jednostavnijeg pronalaženja određenog podatka. Zamislite samo svoj imenik u telefonu bez abecednog redosleda… Možete li da zamislite? 🙂

Algoritam sortiranja je proces preuređivanja elemanata nekog skupa po određenom poretku. Najčešće se koriste numerički i leksikografski poredak. Sortiranje skupa podataka je preduslov za njegovo je efikasno pretraživanje.

Ako pogledamo niz brojeva 2, 4, 1, 7, 9, 5 – možemo primetiti da nije uređen odnosno sortiran.
Primenom nekog od algoritama sortiranja ovaj niz postaje uređen / sortiran u rastući ili opadajući redosled.

  • Primer rastućeg redosleda: 1, 2, 4, 5, 7, 9 (gde je svaki element veći ili jednak prethodnom)
  • Primer opadajućeg redosleda: 9, 7, 5, 4, 2, 1 (gde je svaki element manji ili jednak prethodnom)

Na isti način se sortiraju leksikografski / tekstualni podaci (gde je a<b<c<d…).
(više…)

Naredbe ciklusa – Repeat..Until

Za razliku od while petlje, naredba repeat omogućava realizaciju ciklusa sa postuslovom.

Ciklus sa postuslovom podrazumeva to da se uslov za dalje izvršavanje petlje proverava na kraju svake iteracije. Na ovaj način naredbe unutar petlje će biti izvršene bar jednom, bez obzira na to da li je uslov bio ispunjen pre ulaska u petlju.

Naredba repeat omogućava ponavljanje određenog dela programa sve dok navedeni uslov nije ispunjen.

To praktično znači da je (za razliku od while ciklusa) navedeni uslov u stvari „uslov za izlazak iz petlje“.

Lekciju o REPEAT_UNTIL naredbi preuzmite ovde:

PDF Naredbe-ciklusa-REPEAT

PPT Naredbe-ciklusa-REPEAT

Naredba ciklusa -WHILE

Da bi se koristila naredba for neophodno je znati tačan broj ponavljanja pre početka izvršavanja petlje. Pored toga, za vreme izvršavanja petlje nije moguće menjati početnu i krajnju vrednost brojačke promenljive. Međutim, veoma često je slučaj da određeni deo programa želimo ponavljati sve dok je neki  uslov ispunjen. Na taj način iteracije se mogu ponavljati manji ili veći broj puta u zavisnosti od rezultata izvršavanja naredbi unutar petlje.

Jedna od naredbi koja omogućava realizaciju ovakvih ciklusa je naredba while.

Osnovna karakteristika while petlje je da je to petlja sa preduslovom, što znači da se ispunjenost uslova proverava pre izvršavanja svake iteracije. Posledica toga je da je moguće da se naredbe unutar petlje ne izvrše ni jednom, ukoliko uslov u startu nije zadovoljen.

While petlja mora biti tako napisana da garantuje da će u konačnom broju iteracija navedeni logički izraz postati netačan (false). Na taj način obezbeđuje se mehanizam izlaska iz petlje nakon konačnog broja iteracija.

Ukoliko logički izraz nikada ne bi dobio vrednost false došlo bi do beskonačnog broja ponavljanja (tzv. mrtva ili beskonačna petlja), odnosno do blokade izvršenja ostatka programa.

Lekciju preuzmite ovde:
PDF – Naredbe-ciklusa-WHILE 

PPTNaredbe-ciklusa-WHILE

Naredbe ciklusa -FOR

U većini programa se javljaju situacije kada je potrebno neku naredbu ili grupu naredbi izvršiti više puta. Ukoliko je naredbu potrebno izvršiti konačan i mali broj puta, problem je moguće razrešiti i korišćenjem  linijskih struktura, tako što bi se naredba jednostavno ponovila određeni broj puta uzastopno. Međutim, može se desiti da je naredbu potrebno ponoviti veliki broj puta, a veoma često je taj broj promenljiv u zavisnosti od izvršenja ostatka programa. U takvim slučajevima nije moguće iskoristiti linijsku strukturu, već  je neophodno uvesti takozvane ciklične strukture. 

Ciklične strukure omogućavaju izvršavanje jedne (ili više  naredbi) određeni broj puta, pri čemu broj ponavljanja može biti definisan prirodnim brojem ili uslovom koji  određuje kada se ponavljanje prekida.

Ciklične strukture se vrlo često nazivaju i ciklusima ili petljama.

Ponavljanje bloka naredbi više puta omogućen je naredbama ciklusa  (naredbama ponavljanja ili repetativnim naredbama ili petljama).

U Object Pascalu  (koji koristimu u Lazarus okruženju) postoje tri naredbe ciklusa:

FOR – bezuslovna naredba ciklusa

WHILE– naredba sa preduslovom

REPEAT – naredba sa postuslovom

Prvu lekciju o ciklučnim strukturama prezmite ovde: Naredbe-ciklusa-FOR-2019

Naredbe za organizaciju ciklusa

Lekciju o ciklusima preuzmite na linkovima:

PDF – Naredbe za organizaciju ciklusa

PPT – Naredbe za organizaciju ciklusa

III raz VEŽBE – Razgranate strukture (IF)

Primere i zadatke sa razgranatim strukturama (IF naredba) preuzmite ovde:

PPT – Razgranate_strukture_pptx

PDF – Razgranate_strukture_pdf

 

Algoritmi i algoritamske strukture

Algoritam predstavlja konačni redosled operatora, elementarnih obrada i pravila o njihovoj primeni u cilju dobijanja rešenja nekog problema.

Postoje različite mogućnosti za predstavljanje algoritma. U programiranju se on najčešće pretstavlja grafički – pod imenom dijagram toka programa (flowchart). U ovom dijagramu pojedine akcije predstavljene su tačno određenim grafičkim simbolima čime se osigurava jednostavnost, preglednost i jednoznačnost zapisa algoritma.

Lekcija u pptx formatu: Algoritmi_pptx

Lekcija kao pdf-u: Algoritmi_pdf

Tipovi unit-a u Lazarusu

Programiranje je više od kucanja programskog koda. Pre svega programiranje je kombinacija planiranja zadatka za programiranje, a zatim kucanja koda koji će izvršavati taj zadatak. Kod koji kucate se upisuje u tekst datoteku. (više…)

III razred – VEŽBE 1

Linijske strukture

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 predstavlja grafički -kao dijagram toka programa (flowchart). (više…)

Lazarus -Uvod u razvojno okruženje

Lazarus je programski paket namenjen kreiranju Windows aplikacija. Krajnji proizvod je izvršni program koji rešava zadatke zbog kojih je kreiran, a može se pokrenuti i izvršiti u okruženju operativnog sistema Windows. (više…)

Oblak oznaka