16
1 RAČUNARI I PROGRAMIRANJE ALGORITMI, KOMPAJLERI, IDE Dr. Salko Ćosić mart 2013

Programiranje

  • 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