Algoritamska struktura - slijed

Sjedište: CARNET - Arhiva 2021 Loomen
E-kolegij: III. Gimnazija Osijek - Informatika 1
Knjiga: Algoritamska struktura - slijed
Otisnuo/la: Gost (anonimni korisnik)
Datum: petak, 31. siječnja 2025., 19:05

1. Osnovne algoritamske strukture

"The only way to learn a new programming language is by writing programs in it.” –  Dennis  MacAlistair Ritchie


Ponovimo!

Algoritam je razrađen postupak koji nas u konačnom broju koraka vodi prema rješenju problema.

Algoritme kojima ćemo rješavati zadatke računalom možemo zapisati na dva načina:

a) pseudojezikom

b) dijagramom tijeka (grafičkim simbolima).

Pseudojezik ili pseudokôd je umjetno stvoren jezik u kojem govornim jezikom (riječima) zamjenjujemo pojedine naredbe ili instrukcije. Osnovne naredbe pseudojezika prikazane su tablici:

Dijagram tijeka prikazuje algoritam s pomoću grafičkih simbola prikazanih u tablici:

Gledajući tablice koje prikazuju naredbe pseudokoda i sibole koji se upotrebljavaju u dijagramu tijeka razlikujemo tri osnovne algoritamske strukture:
slijed – niz naredaba koje se izvršavaju jedna za drugom
grananje – dio programa u kojem se ovisno o ispunjenosti uvjeta izvršava određena naredba ili blok naredaba
ponavljanje – zatvoreni niz naredaba koje se ponavljaju sve dok je zadovoljen postavljeni uvjet ponavljanja.

U nastavku ćemo razmotriti strukturu slijeda.

2. Slijed

U programu koji ima slijednu ili linearnu strukturu naredbe se izvršavaju redom, jedna iza druge onim redom kako su napisane. Svaki se program sastoji od tri odvojena dijela: unosa podataka, obrade i prikaza rezultata.

Pogledajmo u nastavku osnovne naredbe pseudokoda koje nam omogućavaju izradu programa linijske ili slijedne (linearne) strukture.

2.1. Unos podataka

Jedna od prvih naredaba s kojom se upoznajemo u osnovama programiranja naredba koja će korisniku omogućiti unošenje potrebnih podataka (npr. pomoću tipkovnice). Dok ne dođemo do konkretnoga programskog jezika, zapišimo je u pseudojeziku kao ulaz (). U zadatku sa voćnjakom u kojem smo algoritam zapisali u pseudojeziku imali smo već tu naredbu.

Što se događa kad program dođe do naredbe ulaz (a)?

Kad program dođe do te naredbe, omogućuje se unošenje podatka (ili više podataka) s tipkovnice. Uneseni se podatak ili podaci tada pohrane u memoriju. Da bi program znao koji podatak čemu služi, osim samog podatka program pamti i naziv (adresu) pod kojim se taj podatak sprema. Dakle, prije unošenja podatka, u memoriji se rezervira mjesto za njega i dodijeli mu se naziv prema kojem će ga program poslije prepoznati. U našem primjeru, naziv (ime) prema kojem će program prepoznati unesenu vrijednost je a.


2.2. Obrada - matematičke funkcije

U obradi najčešće moramo računati sa varijablama i konstantama. Pri tome vrlo često nisu nam dovoljne samo aritmetičke funkcije (zbrajanje, oduzimanje, množenje, dijeljenje, cjelobrojno dijeljenje i ostatak pri cjelobrojnom diejljenju), nego trebamo i neke standardne matematičko funkcije.

Primjer:

Pretpostavimo da trebamo napisati algoritam i program u odabranomu programskom jeziku koji traži unošenje duljina kateta pravokutnog trokuta, a zatim računa i ispisuje na zaslon njegovu površinu i njegov opseg.
Rješenje tog zadatka je prilično jednostavno. Potrebne su nam formule za izračunavanje opsega i površine pravokutnog trokuta:

Zadane su duljine kateta a i b. Za izračunavanje opsega potrebna nam je i duljina hipotenuze:

Ovdje postaje teško. Kako ćemo izračunati vrijednost drugoga korijena nekog broja? Za rješavanje ovog i sličnog programa u svakom su programskom jeziku definirane standardne matematičke funkcije.  Najčešće korištene standardne matematičke funkcije su: apsolutna vrijednost realnog broja, kvadrat broja (ili potenciranje), drugi korijen realnog broja, zaokruživanje te cijeli dio realnog broja.

Standardne matematičke funkcije definirane u pseudokodu su:

O standardnim funkcijama u C-u ćemo pričati nešto kasnije!



2.3. Ispis podataka

Kad korisnik upiše potrebne podatke, a program ih obradi i izračuna rezultat, taj je rezultat potrebno prikazati na nekome od vanjskih uređaja za prikazivanje podataka (npr. na zaslonu monitora). Bez prikazivanja rezultata nema koristi ni od njihova obrađivanja. Funkcije koje omogućuju prikazivanje rezultata nazivamo funkcijama za ispisivanje.
Funkciju za ispisivanje u pseudojeziku možemo zapisati kao izlaz (). Funkcijom za ispisivanje moguće je ispisati tekst, ali i određenu vrijednost dobivenu izračunom ili spremljenu u memoriji.
Primjer:
Naredbom

izlaz ("Danas je odličan dan za početak učenja programiranja!")

na zaslon ćemo ispisati tekst Danas je odličan dan za početak učenja programiranja!

Naredba izlaz(2*3) na zaslon će ispisati broj 6 (umnožak brojeva 2 i 3), a naredba izlaz(p) dohvatit će iz memorije i ispisati na zaslon vrijednost varijable p.

2.4. Zadaci

Prouči i zapiši u bilježnicu primjere algoritama iz udžbenika (Svijet informatike 1) od stranice 117 do stranice 119. U ovom dijelu obuhvaćeni su ovi algoritmi:

Primjer 1. Algoritam koji dvoznamenkasti broj rastavlja na znamenke

Napomena: sličan zadatak ste imali u zadacima iz prošle zadaće!

Primjer 2. Algoritam za zamjenjivanje vrijednosti dviju varijabli

Napomena: U vašem udžbeniku objašnjenje je pomoću mandarina i jabuka. No možete zamisliti i ovakav slučaj:

Imate bocu "Cole" i bocu "Fante" istog kapaciteta i ono što trebate je zamijeniti njihov sadržaj - u boci od Cole treba biti Fanta, a u boci Fante treba biti Cola. Kako to napraviti? ZApravo jednsotavno ako imate praznu bocu od mineralne jednakog kapaciteta.

1. Prelijte colu u bocu od mineralne - boca Cole bit će prazna.

2. Prelijte Fantu u bocu od Cole - boca od Fante je sada prazna

3. Prelijte Colu (iz boce od mineralne) u bocu Fante

I odradili ste traženo. Kako to zapisati?

Neka je boca Cole a, boca Fante b, a boca mineralne t. Redom bi naredbi bile:

t = a                      (ovo znači da u bocu od mineralne stavljamo Colu tj. njen sadržaj)

a = b                     (ovo znači da u bocu od Cole presipamo Fantu)

b = t                      (ovo znači da u bocu Fante prelijemo ono što se nalazi u boci od mineralne)

Redoslijed naredbi je jako bitan i ne smije se izmijeniti!