PROGRAMIRANJE PROGRAMSKA PODRKA skup svih programa koji se
- Slides: 50
PROGRAMIRANJE
PROGRAMSKA PODRŠKA – skup svih programa koji se mogu izvršavati na računalu Računalni program uputa je računalu što raditi Računalo je bez programa beskorisno Programi za računalo često vrijede više nego sklopovlje računala na kojem se izvršavaju Računalni programi
Svaki se program sastoji od naredaba • Naredba (engl. command ) je temeljni element programa • NAREDBA je postupak izražen na dogovoren i razumljiv način, kojim naredbodavac upućuje izvršitelja na obavljanje stanovite radnje (programer naredbom naređuje računalu obvljanje željene radnje) • 1. Zagrij vodu 2. Stavi vrećicu čaja 3. Ostavi stajati 5 minuta 4. Posluži Naredba
Program je skup naredaba čijim se izvršenjem obavlja željeni posao PROGRAM IDEXMP INTEGER BUS_NUM = 99 WRITE(*, *) ' TAKE BUS ', BUS_NUM END Program
Čovjek koji piše program za računalo zove se programer Programer Izvoliš mi napisati domaću zadaću!
Programiranje je postupak nastanka programa za računalo Programiranje
• Strojni jezik 100100 0101000101010 (engl. machine code) • U užem smislu binarni prikaz programa • Jedini jezik koji računalo razumije te se svaki drugi oblik programa mora prije izvođenja prevesti u strojni jezik • Tijesno je vezan za građu računala, tj. ovisan je o mikroprocesoru (program napisan za jedan tip mikroprocesora nije primjenjiv na drugom tipu) • PREDNOSTI: mogućnost izravnog djelovanja na sklopovske dijelove računala, djelotvorno iskorištenje memorije i brzina izvođenja napisanog programa • NEDOSTACI: složenost postupka izrade programa i ograničenost programa na jedan tip mikroprocesora • U širem smislu to je prikaz uz pomoć slovčanih kratica koje zamijenjuju pojedine binarne brojeve Strojni jezik
Prikaz strojnog jezika s pomoću slovčanih kratica naziva se još i SIMBOLIČKIM JEZIKOM ili ASEMBLEROM SIMBOLIČKI JEZIK (ASEMBLER) MOV AX, 5 0000 ADD AX, BX Strojni jezik PREVEDENO U STROJNI JEZIK 10111000 00000101 00000011 11000011
Viši programski jezici su svi oni koji nisu izravni prikaz binarnog oblika naredbe Razlog uvođenja je da se strojni jezik nadomjesti lakšim i razumljivijim programskim jezikom Veći ili manji skup naredba strojnog jezika se nadomješta jednom naredbom višeg programskog jezika 10 REM Izračunavanje opsega i površine pravokutnika 20 CLS 30 A = 12. 3 : REM Stranica A pravokutnika 40 B = 8. 2 : REM Stranica B pravokutnika 50 OPSEG = 2 * A + 2 * B : REM Formula za opseg 60 POV = A * B : REM Formula za površinu 70 PRINT OPSEG : REM Ispis opsega 80 PRINT POV : REM Ispis površine Viši programski jezici
Programer ne mora znati gotovo ništa o građi računala Za razliku od asemblera pri prevođenju se svaka naredba višeg programskog jezika prevede u mnogo bajtova Drugi važan razlog uvođenja viših programskih jezika je potreba da se jedan te isti program primjeni na različitim modelima računala tj. različitim mikroprocesorima Viši programski jezici
Program napisan u prikazu koji nije binarni naziva se IZVORNI PROGRAM (source code) i prije izvođenja ga je potrebno prevesti u strojni program • Jezični prevoditelji su računalni programi koji prevode viši oblik prikaza jezika u binarni • Kompajler (engl. compiler) • • Kompajler je program koji prevodi izvorni program u strojni jezik samo jednom • Prevedena inačica programa ima nastavak com ili exe • Prevedeni program može se izvršavati bez kompajlera • Interpreter • Prevodi svaki put kad se program izvršava i to naredbu po naredbu (prevede i izvrši, prevede i izvrši. . . ) • Omogućava trenutno otkrivanje određene vrste greške i interaktivno ispravljanje • Program se isporučuje kao izvorni kôd uz koji je neophodan interpreter Jezični prevoditelji
• Nisu namijenjeni strogo uskom području primjene već je njima moguće rješavati relativno širok raspon zadataka • BASIC • Pascal • C (C++) • (Beginner’s all-purpose symbolic instruction code) učenje programiranja, jednostavniji programi • Učenje strukturnog programiranja, jednostavniji programi • Jezik velikih mogućnosti kojim se služe profesionalni programeri Viši programski jezici
Jezik opće namjene za početnike PRINT : PRINT "English to Metric Conversion" INPUT "Miles: ", Miles INPUT "Yards: ", Yards INPUT "Feet: ", Feet INPUT "Inches: ", Inches = 63360 * Miles + 36 * Yards + 12 * Feet + Inches Meters# = Inches / 39. 37# Kilometers = INT(Meters# / 1000) Meters# = Meters# - 1000 * Kilometers Final. Meters = INT(Meters#) Centimeters = Meters# - Final. Meters Centimeters = 100 * Centimeters = INT((Centimeters +. 005) * 100) / 100 PRINT "Kilometers: "; Kilometers PRINT "Meters: "; Final. Meters PRINT "Centimeters: "; Centimeters END Primjer BASIC programa BASIC
• Program opće najene koji podržava strukturno programiranje (skup programskih tehnika koje vode logičkoj organizaciji programa – olakšava pisanje, održavanje i popravak programa) program Povrsina. Kruga var povrsina, polumjer: real; begin write(‘Upisi polumjer kruga: ‘); readln(polumjer); povrsina: =polumjer*3, 14; write(‘Povrsina je: ‘, povrsina); end. Pascal Primjer Pascal programa
#include <iostream. h> void main() { int a, b, c; cout << "Please enter three numbersn"; cout << "a: "; cin >> a; cout << "nb: "; cin >> b; cout "nc: "; cin >> c; } if (c=(a-b)) { cout << cout << } else cout << C++ "a: "; a; " minus b: "; b; " equals c: "; c << endl; Programski jezik opće namjene za profesionalnu primjenu. Vrlo je složen i velikih mogućnosti "a-b does not equal c: " << endl; Primjer C++ programa
• Engl. OOP (object oriented programs) • Razlog razvoja OOP je želja da se i programi sastavljaju iz gotovih komponenata • Upotrebljavaju gotove dijelove programa (objekte, klase) pri gradnji složenijih programa • Postupak programiranja uz pomoć objekata naziva se objektno orjentirano programiranje – postupak izrade složenog programa uporabom skupa objekata koji međusobno razmjenjuju poruke • Popularni objektno orijentirani programi opće namjene: Visual Basic, Visual C++ Objektno orijentirani programi
Programski jezici opće namjene neovisni o sklopovlju i operacijskom sustavu su prenosivi (engl. portable) – npr. jedan te isti program napisan u C++ može se izvoditi na 2 i više različitih računala koji rade pod različitim operacijskim sustavima • Najpoznatiji su HTML i Java • PROGRAMSKI JEZICI NEOVISNI O SKLOPOVLJU I OPERACIJSKOM SUSTAVU
Eng. hypertext markup language Ograničenih je mogućnosti i ne spada u jezike opće namjene Specijalizirani programski jezik namijenjen izradi hipertekstovnih dokumenata Omogućuje prikaz mrežnog hipertekstovnog dokumenta na zaslonu monitora bez obzira na to o kakvoj je vrsti računala ili operacijskog sustava riječ Jednostavam je za uporabu i lako se uči Pregled HTML dokumenta omogućuje program koji se naziva PREGLEDNIK (engl. Browser) – najpoznatiji je Microsoft Internet Explorer HTML
<html> <head> <title>Naslov</title> </head> <body> <h 1> <font color="#FF 0000">Dobar dan</font> </h 1> </body> </html>
◦ Snažan objektno orijentirani programski jezik opće namjene nalik na C++ ◦ Glavna značajka mu je potpuna prenosivost ◦ Java se uz pomoć Java kompjlera prevodi u Java bytecodes koji je neovisan o računalu i operacijskom sustavu. To je strojni jezik za tzv. Java prividno ili virtualno računalo (engl. Java virtual machine, Java engine). Dalje se Java bytecodes (na računalu na kojem se program izvršava) uz pomoć interpretera prevodi u strojni jezik ◦ Jezik namijenjen pisanju programa za Java
import java. applet. *; import java. awt. *; public class exfour extends Applet { int i; public void init() { resize(300, 300); } public void paint(Graphics g) { g. draw. String("You clicked the mouse "+i+" Times", 50); } public boolean mouse. Up(Event e, int x, int y) { i++; repaint(); return true; } } Primjer Java programa
Da bi si olakšao pretvorbu zadataka iz svijeta koji ga okružuje u oblik prihvatljiv računalu, čovjek se služi mnogim pomoćnim postupcima: planiranjem, opisom zadatka, algoritmom, pseudokôdom, dijagramom tijeka i sl. • Konačni će rezultat svih tih postupaka biti računalni program • Što je zadatak koji treba riješiti računalom složeniji, to je unačelu potrebno više pomoćnih postupaka (oni su međusobno povezani i redovito se slijedeći oslanja na prethodni) • Programiranje
To je prvi korak u rješavanju bilo kojeg opsežnijeg zadatka • Planiranjem se predviđa tko će, kada i što raditi • Pri izradi složenih programa često sudjeluje mnogo ljudi pa je planiranje veoma važan dio pripreme kako bi se uskladio rad svih • Čak ako program izrađuje samo jedan čovjek, planiranjem se mogu predvidjeti i rasporediti pojedine faze izrade programa • Planiranje
Analiza zadatka je raščlamba i potpuno razumijevanje zadatka i željenih rezultata To je jedan od najsloženijih i najtežih koraka pri nastanku programa Rezultat analize je specifikacija zadatka koja sadržava dovoljno podataka da bi se taj zadatak mogao riješiti Analiza zadatka i specifikacija
Specifikacija je dokument koji sadrži podroban popis i opis zadataka i željenih rezultata Ako specifikacija nije napravljena kako treba ni rezultat neće biti zadovoljavajući Specifikacija nije prijedlog kako zadatak riješiti, već samo točan opis što je na raspolaganju i što se želi dobiti kao rezultat Specifikacija
Riječ algoritam dolazi od riječi Alchwarizmi što je bio nadimak perzijskog pisca imenom Abu Ja’far Mohammed ibn Musa al Khowarizmi (oko 825. prije Krista) koji je napisao knjigu o matematici • Algoritam je naputak kako riješiti neki zadatak ili obaviti neki posao • Algoritam svodi cjelokupan zadatak na rješavanje više jednostavnijih, manjih zadataka • Algoritam
Sastoji se od niza mehaničkih radnji (radnje za čije izvršenje nije potrebna posebna inteligencija, već ih može, slijedeći upute, izvršiti bilo tko (uključujući i stroj)) Algoritam se stvara na temelju specifikacije Zapisuje se s pomoću niza relativno jednostavnih operacija koje se mogu pretvoriti u naredbe programskog jezika. Slijednim izvršavanjem tih operacija može se na temelju ulaznih podataka dobiti željeni rezultat To je jedan od početnih koraka pri pretvorbi zadatka u računalni program Pogodno ga je prikazati dijagramom tijeka ili pseudokodom Algoritam
1. Zagrij vodu 2. Stavi vrećicu čaja 3. Ostavi stajati 5 minuta 4. Posluži Algoritam
Učitati podatke 2. Zbrojiti sve podatke 3. Zbroj podijeliti s količinom podataka 4. Rezultat ispisati na zaslonu monitora 1. Algoritam
Engl. flow chart • Grafički prikaz algoritma koji olakšava izradu programa • Dijagram tijeka
To je pomoćno sredstvo koje je neovisno o programskom jeziku i računalu, a vizualizira zadatak i on postaje pregledniji Sastoji se od nekoliko jednostavnih geometrijskih likova spojenih usmjerenim crtama koje pokazuju tijek rješavanja zadatka Dijagram tijeka je slikovni prikaz algoritma Olakšava analizu, bolje razumijevanje zadatka i uočavanje logičke povezanosti pojedinih manjih zadataka koje treba riješiti da bi se postiglo željeno Dijagram tijeka
Postupak Početak, kraj ili prekid programa Spojnica Odluka ili grananje programa Primjeri elemenata dijagrama tijeka Dijagram tijeka Ručni unos podataka
Početak Zeleno svjetlo? Stajati na mjestu i motriti semafor NE DA Nastaviti vožnju Kraj Dijagram tijeka Primjer jednostavnog dijagrama tijeka postupanja u prometu
Pseudokôd je tobožnji program (grč. pseudos laž) jer premda nalikuje računalnom programu, zapravo nije napisan u programskom jeziku koji bi se mogao izravno primijeniti na bilo kojemu računalu • Pseudokôd se sastoji od kratkih izraza na govornom jeziku koji opisuju i ukratko objašnjavaju pojedine zadatke algoritma • Pseudokôd
• Primjer: Potrebno je poslati SMS pomoću mobilnog telefona. Psudokôd za taj zadatak mogao bi biti: Uključiti mobilni telefon Pritisnuti tipku za izbornik Na izborniku izabrati slanje poruka Napisati poruku Upisati telefonski broj primatelja poruke Pritisnuti tipku za slanje poruke Pseudokôd
Osoba koja piše pseudokod ne mora znati programski jezik i ne mora razmišljati o pravilima pisanja programskog jezika Omogućuje mnogo pregledniji i jednostavniji oblik prikaza načina na koji će se zadatak riješiti Treba biti napisan tako da bilo koji programer može na temelju njega napisati program u bilo kojem programskom jeziku za računalo Pseudokod
1. napraviti popis glavnih zadataka koje treba riješiti programom (može se temeljiti na prethodno izrađenom algoritmu ili dijagramu tijeka) 2. treba se usredotočiti na svaki pojednin zadatak i pokušati ga razložiti na manje zadatke (trebaju biti tako mali da ih je moguće opisati kratkim i jednostavnim jezičnim izrazom) 3. zbog bolje čitljivosti i razumljivosti treba uvlačiti pojedine skupine izraza koje čine logičku cjelinu Kako napisati pseudokod
Programska struktura je ustrojstvo programa tj. način i redoslijed rješavanja pojedinih manjih zadataka da bi se došlo do konačnog rješenja Najčešće se koriste: Upis i ispis podataka, Pridruživanje, Pravocrtna programska struktura, Struktura grananja i Struktura petlje Programske strukture
Upis je postupak kojim se računalu daju podaci da bi ono moglo rješiti određeni zadatak Upis se vrši s pomoću tipkovnice Upis=ulaz/unos podataka u računalo Ispis podataka je postupak kojim računalo priopćava rezultat okolini Ispis može biti na ekran, papir, disk i sl. Upis i ispis podataka
Varijable=veličine koje mogu mijenjati svoju vrijednost a koriste nam pri rješavanju matematičkih zadataka Pridruživanje je postupak dodjeljivanja vrijednosti varijabli Znak za pridruživanje je = Pridruživanje
Pojavljuje se samo kod rješavanja najjednostavnijih zadataka gdje se program uvijek izvršava istim slijedom naredbi Primjer: program koji zbraja dva broja i ispisuje rezultat UNESI DVA BROJA. ZBROJI BROJEVE. ISPIŠI ZBROJ UNESENIH BROJEVA. Bez obzira na ulazne vrijenosti i međurezultate obrade naredbe se uvijek izvršavaju istim redoslijedom Pravocrtna programska struktura (slijed, niz)
Programska struktura koja omogućuje različiti tijek programa, ovisno o rezultatu NE Da li je x > 0 ? x=0 Grananje DA
Programska struktura koja se koristi kad je u programu neku radnju potrebno ponoviti više puta Npr. kad korisnik treba unijeti 100 cijelih brojeva, a prije svakog unosa broja se ispisuje tekst “Unesi broj” Ispisati tekst “Unesi broj”. Unijeti broj. . I tako 100 puta ! Petlja
Umjesto način: toga isti zadatak se može riješiti na slijedeći Ponoviti 100 puta petlju. Petlja: Ispisati tekst “Unesi broj”. Unijeti broj. Kraj petlje. Oba programa će dati isti rezultat. Razlika je samo u tome što će u prvom slučaju programer morati napisati 200 linija koda a u drugom slučaju samo 4 Petlja
Postupak zapisivanja temeljnih radnji (do kojih se došlo planiranjem, algoritmom, pseudokodom, dijagramom tijeka) naredbama odabranog programskog jezika Ponekad se naziva i kodiranje. Svaki programski jezik koristi vlastiti, ograničeni skup riječi koje imaju posebna značenja – ključne riječi Za svaki programski jezik su propisana stroga pravila slaganja ključnih riječi u naredbe i program - sintaksa Programiranje
Logički način na koji programer može predočiti jedan te isti zadatak je višestruk i uključuje znanje, spretnost i maštovitost programera Jedna te ista radnja može se izvršiti s pomoću više različitih programa Programer je graditelj koji slažući naredbe gradi program Programiranje
Najčešće su sintaktičke i logičke pogreške Pogreška koja nastaje zbog nepoštivanja propisane sintakse naziva se sintaktička pogreška Otkrivaju ih jezični prevoditelji Pogreška koja uzrokuje neispravan rad programa se naziva logička pogreška Logičku ispravnost programa (ispravnost u smislu da program obavlja željenu radnju) mora osigurati programer i tu mu računalo ne može pomoći Glede logičke ispravnosti programer se može osloniti na algoritam, pseudokod, dijagram tijeka i druga pomagala koja trebaju osigurati logičku ispravnost programa Greške u programiranju
Logička ispravnost programa se osigurava provjerama ili testiranjem. Provodi se kod proizvođača programa i neovisnih ispitivača Unatoč opsežnom ispitivanju često se pogreške otkrivaju tek kod krajnjeg korisnika, jer su one često skrivene i pojave se tek stjecajem niza posebnih okolnosti Bug je naziv za pogrešku u programu ili sklopovlju računala Postupak provjere i pisanja programa je opetovani (iterativan) – slika 1. 3, str. 248. Provjera i ispravljanje programa
Tijekom vremena potrebne su manje ili veće izmjene programa zbog promijene potreba korisnika, promijene sklopovlja na kojem se program izvršava, otkrivenja skrivene pogreške u programu i dr. Postupak mijenjanja programa tijekom životnog vijeka programa i poduka korisnika o uporabi programa naziva se održavanje programa Određenu potporu predstavlja i mogućnost kontaktiranja službe za korisnike telefonom ili emailom Održavanje
Važan dio izrade programa je i izrada dokumentacije za održavanje programa Tu spadaju upute za instalaciju programa, priručnici za korisnika, tehnički opis programa i samo katkad izvorni program Dokumentacija
- Skup svih vrijednosti funkcije
- Kutovi mnogokuta
- Kutovi trokuta
- Zašto se tvari prenose tijelom
- Proleteri svih zemalja ujedinite se
- Oš meterize fizika
- Programska simfonija
- Strojna i programska oprema računala
- Programska muzika
- Strojna i programska oprema računala
- Podjela softvera
- Programske strukture
- Programska oprema za ispis
- Rtcg programska sema
- što su primjenski programi
- Kvadratna jednadžba
- Svi skupovi brojeva
- Skup ravnatelja dubrovnik
- Atributni skup
- оси архитектура
- Susjedni brojevi
- Cijeli brojevi zadaci
- N skup brojeva
- Usporedba skup i škrtac
- Pridjevni atribut
- Skup veb stranica koje su medjusobno povezane hipervezama.
- Subjekt
- Apozicijski skup primjer
- Paralelno programiranje
- Objektno usmjereno programiranje psi
- Osnovni programski jezik
- Uart komunikacija
- Jezik logo
- Programiranje tmf bg ac rs
- Sistemsko programiranje
- Objektno orijentirano programiranje
- Funkcionalno programiranje
- Fanuc programiranje
- Kupusinac
- Informatika 6 razred programiranje
- Zadaci za programiranje
- Objektno orientirano programiranje
- Php osnove
- Skriptni jezici i web programiranje
- Internet programiranje
- Metodologija programiranja
- Osnovi automatskog upravljanja
- Logo programiranje
- Algoritmi i programiranje
- Linearno programiranje
- Algoritmi i programiranje