RAČUNALSTVO Algoritmi, programi, programski jezici 1

Similar documents
Programiranje III razred

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

... ; ako je a n parno. ; ako je a n neparno

2. Linijska algoritamska struktura

Prva recenica. Druga recenica.

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

OSNOVE PROGRAMIRANJA RAČUNALO PROGRAM OSNOVNE GRUPE SOFTVERA PROGRAMSKI JEZIK

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

JavaScript i HTML DOM

Naredbe za kontrolu toka

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

dr. sc.. Josip Musić Originalne slideove izradio:

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

SELECT CASE i FOR NEXT. Programiranje 1

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PARALELNO PROGRAMIRANJE

Nizovi. Programiranje 1

PKI Applet Desktop Application Uputa za instalaciju programske potpore

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

Rast operativnih sustava

x y = z Zadaci - procedure

For. 1) program ispis; {ispisuje brojeve od 1 do 5 jedan ispod drugog} uses wincrt; var s,i:integer; begin for i:=1 to 5do writeln(i); end.

SVEUČILIŠTE U Z GRE U Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva 4, Zagreb, HRV TSK.

Numeričke metode i praktikum

NIZOVI.

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Uvod u relacione baze podataka

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int

I PISMENI ZADATAK III6 I GRUPA IME I PREZIME

Sistemska programska podrška. Programska podrška. MS Windows. MS Windows NT

Univerzitet u Nišu Građevinsko-arhitektonski fakultet. 4. Ciklična algoritamska struktura 5. Jednodimenzionalno polje.

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

VRIJEDNOSTI ATRIBUTA

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE)

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

Izrada VI laboratorijske vježbe

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

Sberbank Business Online na Mozilla FireFox

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

Vežbe - XII nedelja PHP Doc

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

VB komande. Programiranje 1

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

9. RAD S DATOTEKAMA PODATAKA

Primjer ispisuje rečenicu "Dobro dosli na brzi tecaj C-a" na ekranu

NASLOV SEMINARSKOG RADA (16 pt, Bold) Seminarski rad. (16 pt, Bold)

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

Ispit iz Programiranja 1

VHDLPrimeri Poglavlje5.doc

Zadaci za Tutorijal 2.

Uvod u računarstvo. Preddiplomski studij elektrotehnike 2008/2009. prof.dr.sc. Ivo Ipšić UUR 2008/2009

Uvod u programiranje i softverski paketi. Milan Gocić

RAČUNARSKI PRAKTIKUM II

VEŽBA 5 do while petlja, switch case

ILM implementacija DWH baza u T-mobile

0. ELEMENTI TEORIJE ALGORITAMA OSNOVNI ELEMENTI PROGRAMSKIH JEZIKA... 13

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Operacijski sustavi. Laboratorijska vježba 2. Petra Lončar, mag. ing. el., asistent FESB, 2016.

Uvod, varijable, naredbe, petlje

Uvod u računarstvo. Preddiplomski studij elektrotehnike 2009/2010. prof.dr.sc. Ivo Ipšić UUR 2009/2010

PROGRAMIRANJE C JEZIKOM. Split, 2005/2006. Autor: Ivo Mateljan. Nastavni materijal za studente FESB-a.

PROGRAMIRANJE. Amir Hajdar

dr. sc.. Josip Musić Originalne slideove izradio:

1 UVOD. Jezični pretprocesor. Program višeg jezika opće namjene. Jezični procesor. Program virtualnog stroja. Jezični postprocesor

Algoritmi i strukture podataka 2. Čas, Uvod u C++

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Programiranje III razred

SVEUČILIŠTE U ZAGREBU Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva 4, Zagreb, HRVATSKA.

Backup i Restore C particije ili Windowsa sa NORTON-om

Elektrotehnički fakultet Osijek Kneza Trpimira 2b. Stručni studij. Rent a Car. Projektni zadatak iz kolegija Baze podataka

Modbus TCP i dva PLC S7 1200

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom.

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Primjena računala. Preddiplomski studij računarstva 2010/2011. prof.dr.sc. Ivo Ipšić PRIMJENA RAČUNALA 2010/2011

Informacioni sistemi i baze podataka

Upute za postavljanje Outlook Expressa

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu

Uvod u programski jezik

Variable Neighborhood Descent - VND (Metoda promenljivog spusta)

Uvod u programiranje I (za gimnazijalce)

Cjenovnik usluga informacionog društva

VDSL modem Zyxel VMG1312-B10A/B30A

Mrežni koncepti (koncept, skica, nacrt, plan) o Pregled na najvažnije koncepte mreže. Slanje paketa sa Argon-1 prema Neon-u

Aplikativni (korisnički) programi

Najjednostavnija izvedba stoga

Algoritmi i programiranje

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Visual Basic 6.0. Osnove VB. Uvod u računarstvo 1

Objektno orijentirano programiranje. Auditorne vježbe

Programiranje. Nastava: prof.dr.sc. Dražena Gašpar. Vježbe: Jelena Zovko. Datum:

Programske paradigme Funkcionalna paradigma

Algoritmi za sortiranje u programskom jeziku C++

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Transcription:

SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI RAČUNALSTVO Prof. dr. sc. Hrvoje Gold 2009/2010. RAČUNALSTVO 06. ALGORITMI, PROGRAMI, PROGRAMSKI JEZICI 2 Podaci i informacije Podaci, informacije, komunikacija Podaci - fizički opisi pojmova, ideja, apstrakcija Informacije - značenja č pridružena podacima Čemu služe podaci? prijenosu informacija, pohraniinformacija za buduće upotrebe, izvođenju novih informacija obradom podataka prema određenim pravilima Čemu služe informacije? Podrška u procesima odlučivanja i upravljanja 3 4 Algoritmi, programi, programski jezici 1

Komunikacija Razmjena podataka (informacija) između ljudi ljudi i strojeva strojeva Temelji se na zajedničkom dogovoru o značenju fizičkih simbola (podataka) koji predstavljaju pojmove, činjenice ili ideje i pravila njihove razmjene ALGORITMI 5 6 Operacije i računanja Operacija Pravilo Pa za rad adspodacima(+ (+, -, *, div, /, mod) Podaci i operacije -> računanje 6+3=9, 6-3=3, 6*3=18 6 div 3=2, 7 div 2=3, 7/2=3.5, 6mod3=0, 7 mod 2=1 Računanje (postupak rješavanja) konačan skup operacija primijenjen na konačan skup podataka s ciljem rješavanja postavljenog zadatka 7 Algoritam Računanje koje rješava postavljeni zadatak Značajke č 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 s e Završava u konačnom broju koraka Dobro oblikovani strukturirani algoritam olakšava čitljivost i razumljivost postupka računanja 8 Algoritmi, programi, programski jezici 2

Osnovne strukture pri konstrukciji Primjer: Obračun telefonskih algoritma troškova Slijedna Zadatak: Sastavite algoritam za koraci se izvršavaju aj u slijedu jedan iza izračunavanje č telefonskih troškova na drugoga, a pojedini korak se izvršava samo kraju mjeseca, ako su poznati broj jedanput potrošenih telefonskih impulsa, cijena Izborna jednog impulsa te iznos telefonske izabire se i izvršava samo jedna od ponuđenih mogućnosti pretplate. U iznos telefonske pretplate Ponavljanja uračunato je 100 impulsa. izvođenje jednog ili više koraka se ponavlja 9 10 Početno poznati podaci Broj potrošenih telefonskih impulsa IMPULSI Cijena jednog impulsa CIJENA Iznos telefonske pretplate PRETPLATA Broj impulsa uračunat u pretplatu 100 Željeni rezultantni podatak Iznos ukupnih telefonskih troškova TROŠAK 11 12 Algoritmi, programi, programski jezici 3

Varijable Konstante Veličine koja poprimaju vrijednosti iz skupa dopuštenih vrijednosti. Vrijednost varijable tijekom izvršavanja određuje algoritam Veličine stalne vrijednosti 100 IMPULSI, CIJENA, PRETPLATA, TROŠAK 13 14 Izračunavanje troška VIŠAK = IMPULSI 100 TROŠAK = PRETPLATA + VIŠAK * CIJENA 1. Unesi podatke: Koraci algoritama 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 15 16 Algoritmi, programi, programski jezici 4

Objašnjenje Dijagram toka / Simboli 1. Pridruživanje vrijednosti varijablama 2. Pravilo zaključivanja: j Ako je UVJET zadovoljen (da/ne) onda izračunaj (da) inače izračunaj (ne) 3. Operacija pridruživanja ( ) - varijabli s lijeve strane znaka pridruživanja pridružuje se vrijednost izraza s desne strane znaka pridruživanja 4. Ispis vrijednosti varijable Pregledniji prikaz algoritma korištenjem standardnih grafičkih simbola Početak ili kraj algoritma Ulaz i/ili ili izlaz podataka Pridruživanje vrijednosti varijablama 17 18 Simboli dijagrama toka Mjesto izbora, grananja Početak strukture ponavljanja Podalgoritam, al algoritam čiji su detalji opisani drugdje (procedure, funkcije) Redoslijed izvođenja koraka algoritma Dijagram toka algoritma za obračun telefonskih troškova DA POČETAK IMPULSI CIJENA PRETPLATA IMPULSI > 100 NE VIŠAK <- IMPULSI - 100 VIŠAK <- 0 TROŠAK <- PRETPLATA + VIŠAK * CIJENA 1 TROŠAK SVRŠETAK 1 19 20 Algoritmi, programi, programski jezici 5

Izvodljivi dijagram toka Dijagram toka raptor.martincarlisle.com Zadaci 21 22 Z1. Koliko iznose vrijednosti varijabli na kraju izvođenja postupka prikazanog dijagramom toka? Z.2 Sastavite dijagram toka za izračunavanje površine trokuta t ako su poznate njegove stranice a, b i c. c b a 23 24 Algoritmi, programi, programski jezici 6

Z.3 Sastavite dijagram toka programa koji Z.4 Sastavite dijagram toka za izračunavanje treba pročitati ti dva troznamenkasta t cijela aritmetičke tičk sredine N prirodnih ih brojeva. broja te izračunati i ispisati njihov umnožak, količnik (realni i cijelobrojni) i ostatak. 25 26 Z.5 Sastavite dijagram toka za izračunavanje zbroja parnih i neparnih brojeva niza od n prirodnih brojeva. Z.6 Sastavite dijagram toka za izračunavanje zbroja prvih n članova niza: 27 28 Algoritmi, programi, programski jezici 7

Programi i programski jezici RAČUNALNI PROGRAMI Program Algoritam prilagođen za izvođenje na računalu Programski jezik Sredstvo za izražavanje programa Služi za opis zadatka adatka, podataka ŠTO?, ČIME? postupka rješavanja KAKO? 29 30 Opis zadatka i postupka rješavanja Životni ciklus programa ŠTO?, ČIME? Opis zadatka, polaznih podataka, željenih rezultata i njihovih međusobnih zakonitosti, relacija KAKO? Opis postupka p rješavanja j Redoslijed primjene zakonitosti, relacija na podacima da bi se dobio željeni rezultat 31 Postavljanje zadatka, problema Sastavljanje j algoritma Programiranje prilagođavanje algoritma za izvođenje na računalu Kodiranje programa pisanje programa a u programskom jeziku Unos, prevođenje i izvođenje programa Testiranje programa provjera rada prema postavljenim zahtjevima Ispravljanje pogrešaka u programu Dokumentiranje programa opis algoritama i uporabe programa Održavanje programa promjena programa prema zahtjevima korisnika 32 Algoritmi, programi, programski jezici 8

Pristupi programiranju Strukturirano programiranje Strukturirano programiranje Objektu usmjereno programiranje Programiranje agenata... Sustavni pristup programiranju 1. Deklaracija podataka popis varijabli i njihovih tipova tip podatka utvrđuje skup dopuštenih vrijednosti varijable 2. Izvedbeni dio redoslijed d izvođenja đ naredbi programa (koraka k algoritma) 33 34 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, višak: integer; pretplata, cijena, trošak: real; begin readln(impulsi, cijena, pretplata); if impulsi > 100 then višak := impulsi - 100 else višak := 0; trošak := pretplata + višak * cijena; writeln(' ' Trošak iznosi ', trošak:6:2, ' kn') end. 35 36 Algoritmi, programi, programski jezici 9

Navođenje varijabli i tipova Pridruživanje i ispis vrijednosti var naziv: tip; naziv: impulsi i višak tip: : integer varijable poprimaju vrijednosti iz skupa cijelih brojeva naziv: pretplata, cijena i trošak tip: : real varijable poprimaju vrijednosti iz skupa decimalnih, realnih brojeva Iskazi, naredbe u programskom jeziku Pascal se završavaju znakom ; (točka zarez) readln(... ) pročitaj vrijednosti s ulazne jedinice računala (tipkovnica, datoteka) i pridruži ih varijablama navedenim unutar zagrada writeln(... ) ispiši tekst komentara i vrijednosti varijabli na standardnu izlaznu jedinicu računala (zaslon, datoteka, tiskalo) 37 38 Operatori i strukture nadzora Struktura uvjeta if... then... else (ako... onda... inače nače) Operacija pridruživanja := Aritmetički operatori +, -, *, /- Zapis teksta koji će biti neposredno ispisan '... ' Formati ispisa Format ispisa vrijednosti varijable varijabla:n:m n = ukupni broj mjesta za ispis m = broj decimalnih mjesta 39 40 Algoritmi, programi, programski jezici 10

Priprema programa za izvođenje Unos izvornog programa u računalo 1. Unos izvornog programa u računalo 2. Prevođenje i tvorba izvedbenog oblika 3. Izvođenje programa Prijenos teksta, izvornog oblika, programa s papirnatog medija u memoriju računala te njegova pohrana u datoteku na magnetskom mediju (disk) pomoću programa za uređivanje teksta Datoteka imenovani skup povezanih podataka koji čine logičnu cjelinu (program, mjerni podaci, dokument, slika, zvučni zapis, video zapis) 41 42 Unos izvornog programa u računalo Prevođenje i tvorba izvedbenog oblika Program izražen programskim jezikom u izvornom obliku čitljivom čovjeku j k program jezičnog prevoditelja prevodi u ciljni, stroju čitljivi - čovjeku gotovo nečitljivi, izvedbeni oblik Izbor programa za prevođenje ovisi o programskom jeziku u kojem je zapisan izvorni program 43 44 Algoritmi, programi, programski jezici 11

Prevođenje i tvorba izvedbenog oblika Jezični prevoditelj 45 46 Izvođenje programa Izvođenje programa Punjenje izvedbenog oblika programa u memoriju i pokretanje programa pomoću upravljačkih naredbi operacijskog sustava računala Operacijski sustav - program za upravljanje radom računala, nadzor programsko-sklopovskih sklopovskih sredstava računala i komunikaciju s čovjekom Nakon pokretanja programa unose se putem ulazne jedinice i početno č poznati podaci, a računalo na temelju programa izračunava rezultantnu vrijednost koju ispisuje na izlaznoj jedinici računala 47 48 Algoritmi, programi, programski jezici 12

Dohvat radnog okruženja Pokretanje radnog okruženja http://www.freepascal.org 49 50 Unos programa Spremanje programa 51 52 Algoritmi, programi, programski jezici 13

Prevođenje programa Izvođenje programa 53 54 Uvod PROGRAMSKI JEZICI Prirodni jezici Umjetni jezici i esperanto Programski Viši Proceduralno usmjereni Neproceduralno usmjereni Niži Strojni jezik Mnemonički oblik (asembler) Binarni oblik 55 56 Algoritmi, programi, programski jezici 14

Viši programski jezici Proceduralno, algoritamski usmjereni Opis zadatka i opis postupka za rješavanje zadatka bliži ljudskom načinu opisa Izražajna sredstva za opisivanje podataka i za konstrukciju k algoritama: ADA, APL, BASIC, C, COBOL, FORTRAN, LISP, LOGO, PASCAL, PL/I 57 58 Neproceduralno usmjereni Izražajna sredstva za opisivanje podataka i njihovih međusobnih đ relacija programska sredina pronalazi niz operacija ili postupke kojim se podaci, zadovoljenjem njihovih međusobnih relacija, prevode u rezultate: PROLOG, SQL Niži programski jezici Opis zadatka i opis postupka za rješavanje j zadatka bliži građi i načinu izvođenja na računalu Strojni jezik - programe zapisane u strojnom jeziku, neposredne upute za rad, moguće je koristiti samo na računalu određene arhitekture 59 60 Algoritmi, programi, programski jezici 15

Objektu usmjereno programiranje ALGORITAM ZA OBRAČUN TELEFONSKIH TROŠKOVA ZAPISAN U PROGRAMSKOM JEZIKU C Objektu usmjereno pisani program: korisnik upravlja komunikacijom s programom, redoslijed poruka je nepravilan i određuje ga korisnik Tradicionalno pisani program: program upravlja komunikacijom s korisnikom Viši programski jezici za pisanje programa koji podržavaju objektu usmjereno programiranje: Smalltalk, C++, Visual Basic, Java, 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 kn", trosak); } 61 62 Algoritmi, programi, programski jezici 16