Upload
karbon1
View
15
Download
4
Embed Size (px)
DESCRIPTION
fortran i osnove fortrana, fortran za pocetnike
Citation preview
1
RAUNARI I PROGRAMIRANJE
ALGORITMI, KOMPAJLERI, IDE
Dr. Salko osi
mart 2013
2
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
3
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.
4
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
5
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.
6
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
7
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.
8
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)
9
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.
10
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
11
Fortran 90 u odnosu na F77:
Free source format
Bolje kontrolne strukture
Optimizacija
Bre manipulisanje matricama i vektorima
Moduli, dinamika alokacija memorije Fortran kompajleri:
12
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
13
Compaq Visual Fortran 32-bit Development System for x86 (Intel , AMD, ) PCs running:
Windows 2000, Windows NT , XP... ali ne i WIN 7
14
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.)
15
INTEL FORTRAN Integrisan u VS 2010
16
Vizualizacija (Array Viewer) rezultata