Programiranje (11)
18.03.2010
Uvod u programiranje Za izvođenje određenog posla računar se mora ”obučiti”. Računar
Programiranje je postupak kreiranja, izrade programa.
Smatra se da je to veština čiju osnovu čini stvaranje i izrada algoritama pri čemu se koriste programski jezici. Pri tome uvažavaju se stečena znanja i iskustva iz ove oblasti
Uvod u programiranje...
• Ne radi se metodom pokušaja i pogreške • Primenjuje se određena ustanovljena – metodologija kreiranja programa i – sistemski pristup adekvatni rezultati
eliminiše neizvesnost u pronalaženju rešenja
Karakteristike takve metodologije kreiranja programa •sigurno pronalaženje rešenja, •elegantno rešenje •pregledno •mogućnost procene vreme izrade
Faze postupka kreiranja programa • analizu problema na konceptualnom nivou: – – – –
definisanje i opis problema određivanje skupa ulaznih i izlaznih podataka izrada formalne i neformalne specifikacije predviđanje potrebnih instrukcija za rešavanje problema na apstraktnom nivou
• plan izrade programa: – plan realizacije na osnovu specifikacije – saopštavnje rešenja računaru – kodiranje i unos u računar,
• testiranje programa, • ekspolataciju programa i • dokumentovanje programa.
Uvod u programiranje...
Idejno rešenje algoritam
Osnovni koraci metodologije programiranja su: – – – – – – – – –
Definisanje i opis problema Određivanje skupa ulaznih i izlaznih podataka Predviđanje potrebnih instrukcija za rešavanje problema Kreiranje opšteg rešenja (Graf uslovljenosti instrukcija) Izbor najpovoljnijeg rešenja (određivanje GRAFA ALGORITMA) Programski kodovi Saopštavnje rešenja računaru – kodiranje i unos u računar Testiranje programa Provera rešenja Izvođenje programa Dokumentovanje programa
Analiza sistema S- sastoji se od skupa podsistema Koji su elementi sistem? Koje relacije egzistiraju među njima?
Uvod u programiranje...
• 1991. god.
krucijalne promene računarskih alata Windows okruženje
• Promene : – Način primene alata (pisanja programa) • Nastaju alati za brzo razvijanje programa • Zatim slede OBJEKTNO ORIJENTISANI PROGRAMSKI JEZICI
– Interfejs aplikacije SE CRTA – IZRADA KODA: definisanje osobina pojedinih komponenata
Uvod u programiranje...
• Podela istorijskih razdoblja u odnosu na ljudske aktivnosti i razvoja sredstva za rad: • poljoprivredno društvo • industrijsko društvo • informatičko doba. Oruđa za rad: cilj da se olakša čovekov rad. Računar = sredstvo za rad
Uvod u programiranje...
Oruđa za rad poseduju određene osobine koje treba da pogoduju čoveku kada izvodi određene radnje, određene aktivnosti. Računar: osim ove osobine postoji još i cilj da se proces rada ubrza i da se poboljša kvalitet rada Osobine računara: •velika brzina, •tačnost, •sposobnost uvažavanja velikog broja kriterijuma, •neprekidan rad bez zamora, •izuzetna moć pamćenja, •objektivnost (radi bez emocija).
Uvod u programiranje...
Svako sredstvo za rad ima određena ograničenja i to: • fizička, Sa njima treba da smo upoznati • tehnička i + • eksploatacijska biti upoznati sa funkcionisanjem
= radi korišćenja
(način aktiviranja i mogućnosti upravljanja) Svrha računara je da obavi određeni zadatak putem primene i izvršavanja niza instrukcija. Mašinski jezik
Programski jezik
program
Adekvatni odabir instrukcije brzina izvođenja programa
FUNKCIONISANJE RAČUNARA • Digitalni računar = univerzalno sredstvo pomoću kojeg rešavamo niz različitih zadataka. • Metoda koja dovodi do efektivnog rešenja postavljenog zadatka zasniva na izvođenju skupa – logičkih, – aritmetičkih i – transportnih operacija.
• Rezultat ove metode je opšte rešenje, koji sadrži niz koraka, a na osnovu čega se pristupa rešavanju zadatka pomoću računara.
Uvod u programiranje...
Ako postupak pronalaženja opšteg rešenja ima naredne navedene osobine zove se ALGORITAM. osobine uopštenost – mogućnost rešavanja bilo kog zadatka; određenost – zadatak mora biti razumljiv i tačan, bez mogućnosti da se proizvoljno tumači i rezultativnost – pod kojim se podrazumeva da dovodi do rešenja nakon određenog broja koraka.
ALGORITMI
Postupci rešavanja rasčlanjeni na
elementarna dejstva
predstavljanje pomoću raspoloživog skupa
instrukcija (osnovnih operacija)
PROGRAM
Još neke osobine algoritma... ¾ Definisanost - svaka operacija ili pravilo mora imati definisano i samo jedno značenje, tj. rezultat svake operacije mora biti jasno definisan. ¾ Diskretnost - jedan algoritamski korak se obavlja u jednom vremenskom intervalu. ¾ Konačnost – mora da postoji određen, konačan, broj koraka algoritma. ¾ Efikasnost - određena je brzinom i jednostavnošću algoritma. ¾ Elementarnost – jednostavna pravila za dobijanje izlaznih veličina na osnovu ulaznih veličina, u svakom algoritamskom koraku. ¾ Usmerenost – za svaki skup ulaznih veličina postoji definisan rezultat ¾ Univerzalnost – različiti ulazni podaci dovode do odgovarajućeg rezultata. ¾ Elastičnost – primenljivost algoritma na različite varijante izvornih podataka.
Mogu se iskazati: • Prirodnim jezikom • Pseudo kodom • Grafički. • Programskim kodovima
Skup instrukcija
instrukcije u obliku upravljačkih intervencija programske instrukcije tokovi podataka 5
4
6 3
Izvorni podaci Rezultati 2 Programi
1
model uprošćenog računarskog sistema
Uvod u programiranje...
jednostavni
Programi
složeni
u zavisnosti od broja osnovnih operacija.
Unos podataka Ulazne jedinice
Početni podaci i instrukcije programa
Upravljačka jedinica
Instrukcije
Memorijska jedinica Izlazne jedinice
Konačni rezultati
Podaci za neposrednu obradu Rezultati obrade
Jedinica za obradu (A/L jedinica)
Digitalni računar Rezultati obrade
Šema funkcionisanja digitalnog računara
Termini za osnovne operacije u sferi programiranja su instrukcija, nalog, naredba i slično.
Uvod u programiranje...
Rešavanje problema bez ograničenja Primer: Računar kao jednostavni kalkulator A+B+C=Z
D=A+B D=A+C D=B+C REZULTAT
predviđanja rešavanja problema: kako će se izvršiti komunikacija računara i čoveka zovemo
PLAN OPERATIVNE MEMORIJE
Uvod u programiranje...
Sabiranje možemo izvesti na sledeći način instrukcija: a
A
instrukcija: b instrukcija: c
B C
I instrukcija: instrukcija:
d e
D=A+B Z=D+C
instrukcija:
f
D=B+C
instrukcija:
g
Z=A+D
instrukcija:
h
D=A+C
instrukcija:
i
Z=D+B
II III
Instrukcije učitavanja
Uvod u programiranje...
instrukcija: j
Z
među instrukcijama postoji uslovljenost
Prikaz mogućih instrukcija u planu operativne memorije
Prikaz mogućnih redosleda izvođenja instrukcija
Graf uslovljenosti sabiranja tri broja
Uvod u programiranje...
Graf algoritma sabiranja tri broja
Progam za sabiranje tri broja
: Podešavanje svojstava kontrola programa za sabiranje tri broja
Kontrole
Naziv Name)
Tekst (Text)
Font (font)
Textbox1 Textbox2 Textbox3 Textbox4
txtA txtB txtC txtZ
Prazno
Microsoft Sans Serif; 12pt
Label1
Unesite tri broja
Microsoft Sans Serif; 12pt; style=Bold, Italic
Label2
Rezultat
Microsoft Sans Serif; 12pt; style=Bold, Italic
Operacija sabiranja
Microsoft Sans Serif; 12pt; style=Bold, Italic
Button
btnSabiranje
Prostor za unos brojeva i određivanje naziva polja
Uvod u programiranje...
Rešavanje problema sa ograničenjima Maksimalno ograničen prostor za podatke. Na raspolaganju su nam samo dva memorijska polja U i S. Karakteristika kod unosa Polje se svaki pu prazni
Polje za unos podataka Polje za međurezultat i rezultat
S=S+U
Uvod u programiranje...
Sn+1=Sn+U
Uvod u programiranje...
Uvod u programiranje...
Instrukcije za sabiranje tri broja sa maksimalnim memorijskim ograničenjem
Uvod u programiranje...
Graf algoritma za sabiranje tri broja u slučaju memorijskog ograničenja
Uvod u programiranje...
Graf uslovljenosti intrukcija sa maksimalnim memorijskim ograničenjem
Public Class Inherits Dim S As Dim U As Private Sub
Form1 System.Windows.Forms.Form Single Single btnSabiranje_Click(ByVal sender As System.Object,ByVal_ e As System.EventArgs) Handles_btnSabiranje.Click
’za prikaz sadržaja polja U U = txtU.Text ’za prikaz sadržaja polja S nakon unosa vrednosti u polje U lblS.Text = S ’Dodavanje vrednosti S i prikaz rezultata S = S + U txtS.Text = S End Sub Private Sub btnClear_Click(ByVal sender As System.Object, ByVal _ e As System.EventArgs) HandlesbtnClear.Click S = 0 txtS.Clear() txtU.Clear() lblS.Text = S End Sub End Class
Uvod u programiranje... ZAKLJUČAK Pri rešavanju problema posredstvom računara moramo poštovati određena pravila. 1. Prvo pravilo koje ne smemo da izgubimo iz vida jeste da računar obrađuje samo konkretne podatke. 2. Oni se mogu saopštiti na više načina računaru, što se opet reflektuje na izdavanje instrukcija. 3. Rešavanje problema i pisanje rezultata je moguće samo ako se obezbedi i prostor za smeštanje izvornih podataka, međurezultate i rezultat u operativnoj memoriji 4. U slučaju aritmetičkih operacija moguće je dobijene rezultate smestiti i u prostor predviđen za izvorne podatke. 5. Iz ovoga sledi da čitanjem više podataka u isto polje, prethodni sadržaj tog polja se poništava. 6. I na kraju neophodno je saopštiti rezultata korisniku.
Zahtevali smo odgovor od računara
`
Odgovor može da da samo ako smo obezbedili uslove za to PLAN ULAZA i PLAN IZLAZA, plan operativne memorije
Algoritam Program
VB.NET • Uvođenjem Windows okruženja 1991. godine nastaju drastične promene u programiranju. Kreiranje korisničkog interfejsa postaje jednostavnije • Pojava Microsoft Word-a i Excel-a (palete sa alatkam, istovremeno izvršavanje više aplikacija, mogućnost korišćenja više prozora )
Razvojno okruženje VB.NET-a Integrated Development Environment – IDE -delimično automatizovanu softversku aplikaciju
-
Visual Studio.NET. Obuhvata: • editor izvornog koda za pisanje programskih kodova, • kompajler i interpretator za prevod izvornog programa u binarni, mašinski oblik, • program za pronalaženje grešaka (debugger) i niz drugih alata
Paleta sa alatkama (Toolbar) Kutija sa alatkama (Toolbox)
Kontrolan pitanja… 1. Šta je program? 2. Šta je algoritam? 3. U kojoj komponenti računara se izvršava obrada podataka? 4. Šta su složeni programi? 5. Nacrtajte algoritam za rešavanje sledećeg zadatka: Z=(A+B)*(C-D)
6. Nacrtajte algoritam za rešavanje sledećeg zadatka: 2 Z=(A )*(A+B+C)