You are on page 1of 16

RAUNARI I PROGRAMIRANJE

ALGORITMI, KOMPAJLERI, IDE

Dr. Salko osi

mart 2013
1

POSTUPAK RJEAVANJE PROBLEMA PRIM.RAUNARA


Formulacija problema,
Analiza problema,
Izbor metoda za reavanje,
Razvoj programa pisanje koda,
Kompajliranje algoritma,
Ispitivanje korektnosti programa-testiranje,
Izrada dokumentacije,
Odravanje i nadogradnja programa

ALGORITAM: Al-Khowarizmi oko 825.


Algoritam: konani redoslijed operatora elementarnih operacija i pravila o njihovoj primjeni u cilju
dobijanja rjeenja prethodno dfinisanog problema. Izvravanje svakog operatora predstavlja jedan
algoritamski korak.
Uslovi koje algoritam mora zadovoljiti:
- definisanost (jednoznanost, nedvosmislenost),
- konanost i
- rezultat.
Definisanost: Svaka operacija ili pravilo mora imati definisano i samo jedno
znaenje, tj. rezultat svake operacije mora biti jednoznaan, nedvosmislen.
Konanost: Svaki korak mora biti takav da bi ga mogao izvesti ovjek,
koristei elementarne postupke, za konano vrijeme. Algoritmi se moraju
zaustaviti poslije izvrenog konanog broja koraka i u konanom vremenu.
Rezultat. Po zavretku algoritma mora postojati mogunost da se ustanovi
rezultat njegovog rada, odnosno da li je algoritam postigao cilj ili nije.
3

Postoje razliite mogunosti za predstavljanje algoritma, ali se on najee predstavlja grafiki pod
imenom dijagram toka programa (flowchart).
Pojedine akcije prikazane su odreenim grafikim simbolima ime
se osigurava jednostavnost, preglednost i jednoznanost zapisa algoritma.
najei simboli

UML (Unified Modeling Language) UML je jezik za modeliranje koji slui za specifikaciju,
vizualizaciju, izgradnju i dokumentiranje komponenti programskog sistema. Posebno se
primjenjuje kod OOP koncepta.
Nassi Shneiderman dijagrami alternativa za prikaz toka odvijanja
programa tj. grafikog prikazivanja algoritma. Razvijeni od strane
Isaac Nassi-ja i Ben Shneiderman-a 1972 god.
Jednostavni za pisanje i itanje.

Struktura algoritma: redoslijed izvravanja pojedinih algoritamskih koraka u algoritmu. U tom


smislu postoje tri osnovne algoritamske strukture:
- linijska, razgranata i ciklika.
Linijska struktura:
Algoritamski koraci se izvravaju jedan za drugim redoslijedom kojim su napisani.
Primjer: Algoritam za zamjenu toka na automobilu.

POETAK
Izvadi rezervni toak
Olabavi vijke na toku
Uzmi dizalicu
Podigni auto
Odvrni vijke
Skini toak
Stavi rezervni toak
Zavrni vijke
Spusti auto
Zategni vijke
Spremi dizalicu
Spremi skinuti toak
KRAJ

Razgranata struktura
Struktura algoritma u kojoj tok operacija zavisi od ispunjenosti nekih logikih uslova
6

Ciklika struktura - petlje


Algoritamski koraci se ponavljaju vie puta. Ako je broj
ponavljanja dijela algoritma poznat unaprijed, struktura je
konstantna - brojaki ciklus, (do petlja)
Ako broj ponavljanja nije poznat unaprijed, nego zavisi od
ispunjenosti nekog logikog uslova struktura je
promjenljiva (uslovni ciklus). ( do while petlja)

Sloene algoritamske structure:


sastoje se od proizvoljnog broja
proizvoljnih kombinacija osnovnih
algoritamskih struktura.

PROGRAMSKI JEZICI
Jezici vieg nivoa - proceduralno orijentirani (fortran, paskal, C)
Problemski orijentirani jezici
Objektno orijentirani jezici
(Java, C++, VB, C#)

Tok razvoja aplikacije

Jezici visokog nivoa (High-Level Languages)


omoguavaju
jednostavno,
kratko,
brzo
programiranje sloenih operacija nad sloenim
tipovima podataka tj. primjenu algoritama nad
podacima. Primitivne operacije jezika visokog nivoa,
koje predstavljaju jednu instrukciju, esto na
jezicima nieg nivoa zahtijevaju puno koraka za
svoje izvrenje (Y=aX+b)

FORTRAN: razvijen 1954-57 od strane J. Backus-a i saradnika u IBM-u. Fortran (FOR-mula TRAN-translation)
Cobol Common Business Orientated Language, za razvoj aplikacija za biznis
Algol Algorithmic-Language (koristi standardnu matematiku notaciju), kompleksan, nije iroko prihvaen
Pascal (Niklaus Wirth) potie iz Algol-a, veliki uspjeh, najpopularniji jezik 70-80 tim godinama. Nije posebno dobro
prihvaen od industrije ali jeste od strane univerziteta zbog toga to je jednostavan i dobro dokumentovan.
Basic (Beginners All Purpose Symbolic Instruction Code) autori Kemeny i Kurtz u Dartmouth-u 1960-tim godinama.
Vrlo jednostavan i lak za uenje, pogodan za home-computers to mu je i osnovna namjena i prednost. Interpreter.
SQL (Structured Query Language), razvijen od strane IBM. To je jezik za manipulaciju podacima u relacionim
bazama podataka (tabele sa kolonama i redovima, povezane linkovima izmeu polja). Najznaajniji jezik u oblast
programiranja baza podataka (DB).
C popularni vii programski jezik. Pogodan za pisanje sistemskih programa, dijelova OS, driver-a. Prvobitno
namijenjen za Unix OS. Autri su K. Thompson i D. Ritchie, 1973. Vrlo popularan u 70-80 tim.
C++ B. Stroustrup je razvio C++ kombinujui Simulia jezik koji je bio vrlo funkcionalan sa C jezikom koji je vrlo
efikasan. C++ je najraireniji OO programski jezik. Obuhvata klasini C sa OO proirenjima. U njemu je prvobitno
napisan Windows OS.
Java: Jezik C++ bio je suvie komplikovan za koritenje svojih OO mogunosti. Stoga su Bill Joy i James Gosling
razvili OAK, prvu verziju Java jezika. Java aplikacije su se mogle koristiti pomou Sun-ovog web browser-a
HotJava apleti ime je znatno ubrzano irenje i uspjeh novog jezika. Java je opti programski OO jezik, sa
korjenom u C++ jeziku ali znatno jednostavnija, bez nepotrebnih i opasnih karakteristika. Zbog toga to je
interpreterskog tipa, postigla je veliku portabilnost.
Visual Basic (VB) je postao jedna od najeih razvojnih platformi za Windows OS aplikacije. Osnovna mu je
prednost mogunost brzog razvijanja grafikog interface-a aplikacije.
VB 1.0 May 1991 for Windows.
VB 6.0 Summer 1998.
9

VB .NET 2002. Osnovni nedostaci: Radi samo pod Windows OS


Vlasnitvo je Microsoft-a koji ga esto mijenja
novija verzija esto nije kompatibilna sa prethodnim.
C#.... (ita se arp) je savremeni objektno orijentisani programski jezik opte namjene, razvijen od strane
Microsoft-a (Anders Hejlsberg) a prva verzija se pojavila u julu 2000 godine. Nastao kao odgovor na uspjeh Jave
koju Microsoft ne podrava. To je moderan OO jezik, vrlo slian sa Javom i C++. (70% Java, 10% C++, 5% Visual
Basic, 15% new)

Fortran IV, Fortran 66, Fortran 77, Fortran 90, Fortran 95, Fortran 2003...
Fortran standardi, korisni materijali i linkovi:
http://www.kcl.ac.uk/fortran
Dobre osobine:

Jednostavnost
Efikasnost
Ugraene funkcije
Prilagodljiv format
Rasprostranjenost,
Programske biblioteke
Povezanost sa drugim jezicima ili
aplikacijama (MLP)
Paralelno programiranje
Bogata dokumentacija

Nedostaci:
OO osobine
Grafika podrka za Windows OS
10

Fortran 90 u odnosu na F77:


Free source format
Bolje kontrolne strukture
Optimizacija
Bre manipulisanje matricama i vektorima
Moduli, dinamika alokacija memorije
Fortran kompajleri:

11

Razvojno okruenje za aplikacije (fortranske):


ta je sve potrebno ?
Editor teksta
Kontrola sintakse
Editor resursa
Biblioteke
Compiler
Debugger
Testiranje i optimizacija
Pakovanje i instalacija
Izrada HELP-a
***
***
***

IDE integrisano
razvojno okruenje
12

Compaq Visual Fortran

32-bit Development System for x86 (Intel , AMD, ) PCs running:


Windows 2000, Windows NT , XP...
ali ne i WIN 7

13

Ukljuene su matematike (numerike i statistike) biblioteke


IMSL General Mathematics library
Solving Linear Systems
Matrix and vector manipulation
Eigenvalues and eigenvectors
Integration and differentiation
Differential equations
Transforms
Printing, sorting, and other utilities

IMSL Statistics Library


Basic statistics, regression, correlation
Analysis of variance
Covariant structures and factor analysis
Multidimensional scaling
Density and hazard estimation
Functions for printing console-based charts and graphs (histogram, scatter, etc.)

14

INTEL FORTRAN
Integrisan u VS 2010

15

Vizualizacija (Array Viewer) rezultata

16

You might also like