INFORMATIKA-teorija

20/06/2008 16:36

POJAM ALGORITMA

Komunikacija - razmjena činjenica ili ideja između ljudi, temelji se na zajedničkom dogovoru o značenju fizičkih simbola (podataka) koji opisuju pojmove, činjenice ili ideje
Informacije = značenja pridružena podacima (oplemenjeni podatak, podataka koji za nas nešto znači)
upotreba podataka:

• prenos informacija
• pohrana informacija za buduću upotrebu
• obrada informacija (izvođenje novih informacija na temelju postojećih podataka prema određenim pravilima)

pravila za rad s podacima nazivamo operacijama
podaci i operacije su osnovne komponente računanja
Računanje (postupak rješavanja) čini konačan skup operacija primijenjen na konačan skup podataka s ciljem rješavanja postavljenog zadatka
Algoritam je računanje koje rješava postavljeni zadatak

Obilježja algoritma

• popis operacija (uputa) koje opisuju izvršavanje nekog postupka izražen na jasan i logičan način
• operacije iz popisa (koraci algoritma) moraju biti neposredno izvedive
• nedvosmislen
• završava u konačnom broju koraka
dobro oblikovani strukturirani olakšava čitljivost i razumljivost postupka računanja

Osnovne strukture pri konstrukciji algoritma

slijedna: koraci se izvršavaju u slijedu jedan iza drugoga, a pojedini korak se izvršava samo jedanput
izborna: izabire se i izvršava samo jedna od ponuđenih mogućnosti
ponavljanja: izvođenje jednog ili više koraka se ponavlja

Primjeri jednostavnih algoritama

1) zamjena točka na automobilu

1. podigni automobil
2. skini točak
3. ako rezervni točak nije pripremljen, onda ga pripremi
4. namjesti rezervni točak
5. spusti automobil
• podjela na jednostavne, lako razumljive i dobro poznate korake ovisi o izvođaču algoritma
• postupak se izvršava propisanim redoslijedom, jedan iza drugoga
• nakon konačnog broja koraka slijedi željeni rezultat


2) obračun telefonskih troškova

sastavite algoritam za izračunavanje telefonskih troškova na kraju mjeseca, ako su poznati broj potrošenih telefonskih impulsa, cijena jednog impulsa te iznos telefonske pretplate. U iznos telefonske pretplate uračunato je 100 impulsa.
početno poznati podaci:

• broj potrošenih telefonskih impulsa (impulsi)
• cijena jednog impulsa (cijena)
• iznos telefonske pretplate (pretplata)
• broj impulsa uračunan u pretplatu (100)


željeni rezultantni podatak:

• iznos ukupnih telefonskih troškova (trošak) impulsi, cijena, pretplata, iznos su varijable

varijabla je veličina koja poprima vrijednosti iz skupa dopuštenih vrijednosti koje u toku izvršavanja odredi algoritam

100 je konstanta
konstanta je veličina stalne vrijednosti
zakonitost za izračunavanje troška:
višak = impulsi - 100
trošak = pretplata + višak * cijena
algoritam

1. unesi podatke: impulsi, cijena, pretplata
2. ako impulsi > 100 onda višak <- impulsi - 100
inače višak <- 0
3. trošak <- pretplata + višak * cijena
4. ispiši rezultat: trošak
1. pridruživanje vrijednosti varijablama
2. pravilo zaključivanja:
ako je uvjet zadovoljen (da/ne)
onda izračunaj (da)
inače izračunaj (ne)
operacija pridruživanja <- varijabli s lijeve strane znaka pridruživanja pridružuje se vrijednost izraza s desne strane znaka pridruživanja
3. izračunavanje zakonitosti
4. ispis vrijednosti varijable

Dijagram toka

dijagram toka pruža pregledniji prikaz algoritma korištenjem standardnih grafičkih simbola

 

Pojam programa

program - algoritam prilagođen za izvođenje na računalu
programiranje - pisanje programa
programski jezik - sredstvo izražavanja programa

- služi za:
opis zadatka
opis postupka rješavanja
opis zadatka - "što?": opis polaznih podataka, rezultata i njihovih međusobnih zakonitosti, relacija
opis postupka rješavanja - "kako?": redoslijed primjene zakonitosti, relacija


Strukturirano programiranje
- sistemski pristup programiranju:
1. deklaracija podataka - popis varijabli i njihovih tipova. tip podatka utvrđuje skup dopuštenih vrijednosti varijable
2. izvedbeni dio - redoslijed izvođenja koraka algoritma

- struktura programa izražena programskim jezikom pascal

program ..... - zaglavlje programa
.....
..... - deklaracija podataka
.....
begin (početak)
.....
..... - izvedbeni dio
.....
end. (svršetak)

- algoritam za obračun telefonskih troškova zapisan u programskom jeziku pascal

program telefon;
var impulsi, visak: integer;
pretplata, cijena, trosak: real;
begin
readln(impulsi, cijena, pretplata);
if impulsi > 100 then visak := impulsi - 100
else visak := 0;
trosak := pretplata + visak * cijena;
writeln(' trosak iznosi ', trosak:6:2, ' KM')
end.

komentar:

- iskazi, naredbe se završavaju znakom tačka zarez
var naziv: tip;
integer - varijable impulsi i visak poprimaju vrijednosti iz skupa cijelih brojeva (integer)
real - varijable pretplata, cijena i trosak poprimaju vrijednosti iz skupa decimalnih, realnih brojeva (real)
readln( ....... ) - pročitaj red vrijednosti s ulazne jedinice računara (tastatura, datoteka) i pridruži ih varijablama navedenima unutar zagrada
if ... then ... else - struktura uslova
ako ... onda ... inače
:= - operacija pridruživanja
+, - , *, / - aritmetički operatori
writeln( ....... ) - ispiši tekst komentara i vrijednosti varijabli na standardnu izlaznu jedinicu računara (zaslon, datoteka, printer)
' ........ ' - zapis teksta koji će biti neposredno ispisan
varijabla:n:m - format ispisa varijable:
n = ukupni broj mjesta za ispis
m = broj decimalnih mjesta

Priprema programa za izvođenje

1. unos izvornog programa u računar
2. prevođenje i kreiranje izvršnog oblika
3. izvođenje programa

Unos izvornog programa u računar

- prenos teksta, izvornog oblika, programa s papirnatog medija u memoriju računala te njegova pohrana na magnetski medij (disk) pomoću programa za uređivanje teksta
datoteka skup povezanih podataka koji čine logičnu cjelinu (program, mjerni podaci, dokument, slika, zvučni zapis, video zapis)

Prevođenje i kreiranje izvršnog oblika

- program izražen programskim jezikom u izvornom obliku čitljivom čovjeku, program jezičnog prevodioca prevodi u ciljni, računaru čitljivi - čovjeku nečitljivi, izvedbeni oblik
- izbor programa za prevođenje ovisi o programskom jeziku u kojem je zapisan izvorni program

 

Izvođenje programa

- punjenje programa u memoriju i pokretanje programa pomoću upravljačkih naredbi operativnog sistema računara
- operativni sistem - program za upravljanje radom računara, nadzor programsko-sklopovskih sredstava računara i komunikaciju s čovjekom
- nakon pokretanja programa, zapisuju se, putem ulazne jedinice, traženi polazni podaci, a računar na temelju programa izračunava rezultantnu vrijednost koju ispisuje na izlaznoj jedinici računara

- algoritam za obračun telefonskih troškova zapisan u programskom jeziku c

main()
int impulsi, visak;
float pretplata, cijena, trosak;
scanf("%f %d %f", &pretplata, &impulsi, &cijena);
if (impulsi > 100)
visak = impulsi - 100;
else visak = 0;
trosak = pretplata + visak*cijena;
printf("Trosak iznosi %f KM", trosak);