programiranje

13
PROGRAMIRANJE Program, algoritam i faze programiranja U životu obavljamo bezbroj poslova ito nižući pojedine radnje jednu za drugom, točno određenim redom (npr. telefoniranje, odlazak u kino i sl.) Takav slijed radnji ili postupaka koji dovode do rješenja postavljenog zadatka zovemo algoritam. Algoritam predstavlja idejno rješenje zadatka. Algoritam možemo pisati u obliku pseudo koda ili kao blok dijagram.Razradimo li potanko sve postupke algoritma jednostavnije ćemo napisati program. Primjer izrade algoritma u obliku blok dijagrama i pseudo koda. BLOK DIJAGRAM PSEUDO KOD PROGRAM U BASICU - unesi dva broja A i B INPUT A, B - izračunaj S (zbroj dva broja) S = A + B - ispiši na ekran S PRINT S Program je ograničeni skup naredbi koje se izvode točno određenim redoslijedom i s točno određenim ciljem. Programirati znači stvarati (pisati) program u nekom od programskih jezika kao što su Pascal, BASIC, C++ itd. Programski jezici su Assembler, Cobol, Fortran, Pascal, Basic, a noviji HTML, JAVAScript, Flash, PHP itd. Programski jezici mogu biti strojni, niži i viši. Faze programiranja 1. Analiza zadatka (definicija zadatka, ulaznih i izlaznih veličina) 2. Izbor matematičke metode i modela 3. Izraditi algoritam (idejno rješenje) 1 START UNES I A I B S=A+B ISPI ŠI S KRAJ

Upload: ahmed-rovcanin

Post on 21-Dec-2015

219 views

Category:

Documents


1 download

DESCRIPTION

takoto

TRANSCRIPT

Page 1: ProgramIranJe

PROGRAMIRANJEProgram, algoritam i faze programiranja

U životu obavljamo bezbroj poslova ito nižući pojedine radnje jednu za drugom, točno određenim redom (npr. telefoniranje, odlazak u kino i sl.)Takav slijed radnji ili postupaka koji dovode do rješenja postavljenog zadatka zovemo algoritam. Algoritam predstavlja idejno rješenje zadatka. Algoritam možemo pisati u obliku pseudo koda ili kao blok dijagram.Razradimo li potanko sve postupke algoritma jednostavnije ćemo napisati program. Primjer izrade algoritma u obliku blok dijagrama i pseudo koda.

BLOK DIJAGRAM PSEUDO KOD PROGRAM U BASICU

- unesi dva broja A i B INPUT A, B

- izračunaj S (zbroj dva broja) S = A + B

- ispiši na ekran S PRINT S

Program je ograničeni skup naredbi koje se izvode točno određenim redoslijedom i s točno određenim ciljem.Programirati znači stvarati (pisati) program u nekom od programskih jezika kao što su Pascal, BASIC, C++ itd.Programski jezici su Assembler, Cobol, Fortran, Pascal, Basic, a noviji HTML, JAVAScript, Flash, PHP itd. Programski jezici mogu biti strojni, niži i viši.

Faze programiranja1. Analiza zadatka (definicija zadatka, ulaznih i izlaznih veličina)2. Izbor matematičke metode i modela3. Izraditi algoritam (idejno rješenje)4. Kodiranje programa na osnovi algoritma5. Testiranje programa (formalno i logičko)6. Dokumentiranje (prati sve faze)7. Korištenje i održavanje pograma

1

START

UNESI A I B

S=A+B

ISPIŠI S

KRAJ

Page 2: ProgramIranJe

Programski jezik QBASICBASIC je riječ nastala od početnih slova riječi

Beginner'sAll-purposeSymbolicInstructionCode,

a znači višenamjenski simbolički kod naredbi za početnike.QBASIC je programski jezik ( i to jezik visoke razine) iz porodice BASIC koja je 1965. godine prvi puta primjenjena na računalu.Glavna su obilježja BASICA:

+ jednostavan+ prilagodljiv stupnju predznanja+ prikladan za pisanje, ispravljanje i provjeru programa+ primjenjiv za rješavanje zadataka u različitim životnim područjima+ rasprostranjen- nije standardiziran, postoji velik broj dijalekata- sporija izvedba programa- nešto neekonomičnije trošenje memorije

Sastavnice BASICAQbasic čine znakovi:

1. velika slova A – Z i mala slova a – z (engleske abecede)2. brojke (znamenke 0 -9 i slova A – F ili a – f za heksadecimalne brojeve)3. ostali znakovi:

- za vrste podataka: ! # $ % &- za matematičke operacije: * + - \ / > < = ^ ( )- posebne namijene: ' " ; , : ? _

4. posebne tipke:razmak i Enter

Pokretanje QBASICA

QBASIC pokrećemo tako da dva puta kliknemo na program qbasic, zatim pritisnemo Enter i nakon toga tipku Esc. otvorit će nam se prozor koji možemo povećati tako da pritisnemo Alt+Enter.Izbornici u ovom prozoru su: File, Edit, View, Search, Run, Debug, Options. Izbornike možemo otvoriti mišem ili Alt+odgovarajuće slovo.

Izravne naredbe QBASICA

Naredba OPEN – pozivanje programa u radnu memorijuFile-> Open->kliknemo na željeno ime programa

iliAlt + F + O

Naredba RUN – pokretanje programaRun-> Start ili Alt + R, S ili Shift F5

Naredba SAVE – spremanje programa na vanjsku memorijuFile-> Save As->upišemo ime programa

ili Alt + F + SNaredba NEW – brisanje postojećeg programa iz memorije

File-> New ili Alt + F + N- pripaziti da prije upotrebe ove naredbe snimimo prijašnji program na disk

Naredba PRINT – ispis programa na papirFile-> Print->OK ili Alt + F + P + Enter

2

Page 3: ProgramIranJe

Varijable i konstante- obje riječi imaju latinsko porijeklo: varijabla označava neku promijenjivu vrijednost (npr. duljina

vlastite kose, broj dana koliko smo stari, ime dežurnog učenika), a konstanta je nepromijenjiva vrijednost (npr. duljina stola, datum našeg rođenja, vlastito ime).

- sve podatke računalo pamti u svojoj radnoj memoriji- svakom podatku moramo pridružiti IME i VRSTU pod kojom ćemo ga pamtiti

npr. Godine% = 15

ime vrsta vrijednost (cijeli brojevi)

još primjera: Visina! = 167.5 Dan$ = "Ponedjeljak" Visina% = 168

Imena u QBASICU- svaka varijabla, konstanta, oznaka ili potprogram mora imati svoje ime.- ime mora zadovoljiti ove uvijete:

+ to je riječ koja započinje slovom+ ima slova, brojeve i znakove (. % & ! #)+ najveća je duljina imena 40 znakova+ slova u imenu mogu biti ili mala ili velika( ZBROJ%, ZbroJ% ili zbroj% ista su imena)- posebni znakovi te ČĆŠŽĐ nisu dopušteni- prazna mjesta u imenu nisu dopuštena- izrazi iz QBASICA nisu dopušteni u imenima

- primjer točno i netočno napisanih imena:Točno napisano IME Netočno napisano IMErazlika% 1razlika%zbroj1! BROJAČ%BROJAC% Prosjek ocjenaProsjek.ocjena CONSTKvadrat: Kvadrat :

Vrste podataka u QBASICU- vrstom podataka podrazumijevamo one podatke koji su sadržaj konstante ili varijable- postoje dvije osnovne vrste podataka:

1) brojevi- postoje ove podvrste podataka:

INTEGER %, cijeli brojevi -32768 do +32767LONG &, dugački brojevi od -2147483648 do +2147483647SINGLE !, decimalni brojevi (sa 7 znakova)DOUBLE #, decimalni broj dvostruke preciznosti (sa 16 znamenaka)

- ako se uz ime varijaable ne stavi oznaka vrste, QBASIC tada uzima da je sadržaj decimalni broj

- primjeri: kvoc%=10/3 kvoc!=10/3 kvoc#=10/3PRINT kvoc% 3 PRINT kvoc! 3.333333 PRINT kvoc# 3.333333333333333

- cijeli dio od decimalnog odvajamo točkom, a ne zarezom- brojevi ne smiju imati razmake između brojki ili između decimalne točke i brojki

2) znakovi- ako sadržaj konstante ili varijable nije broj već niz znakova, tada uz ime varijable stavljamo

znak $ (string)- najkraći niz znakova nema niti jedan znak i zovemo ga prazan string, a pišemo:""- najduži niz znakova može imati 32767 znakova- sadržaj string varijable uvijek pišemo u navodnicima

3

Page 4: ProgramIranJe

- primjeri:

A$="13+1" A=13+1 A$=""PRINT A$ 13+1 PRINT A 14 PRINT A$ nema ispisa

Pitanja za ponavljanje:1. Nabrojite nekoliko promjenjivih veličina, a zatim nekoliko nepromjenjivih veličina (vidi oko

sebe).2. Kad vrijednost neke adrese u memoriji zovemo VARIJABLOM, a kad KONSTANTOM?3. Zbog čega su navedena imena varijabli napisana netočno:

Ucenikovo ime UčenikovoIme 1UcenikovoIme4. Koji brojevi mogu biti sadržaj ovih ovih varijabli?

BrojUcenikaSkole%BrojStanovnikaHrvatske&CijenaAutomobila!BrojUcenikaSkole

5. Zbog čega su ovi brojevi napisani pogrešno?1 543 1.543,00 3,14

6. Kojim znakom označavamo da je sadržaj neke varijable NIZ znakova?7. Dodajte slijedećim imenima varijabli oznaku za vrstu podataka:

NaslovAutorGodinaIzdanjaIzdavacBrojStranica

8. Dodajte varijabli Ime$ sadržaj koji je vaše ime, a varijabli Prezime$ ispraznite sadržaj.

Računanje u BASICU

Aritmetički se izrazi izračunavaju slijeva na desno, po slijedećem redu:1. izrazi u zagradama ( )2. potencije i funkcije ^, INT, RND...3. množenje i dijeljenje *, /4. cjelobrojno dijeljenje \5. aritmetički modul MOD (ostatak cjelobrojnog dijeljenja)6. zbrajanje i oduzimanje +, -

Znakovi matematičkih operacija

Najvažniji su znakovi matematičkih operacija prema redoslijedu izračunavanja:1. Aritmetički znakovi (oparatori):

( ) zagrade^ potencije+, / množenje i dijeljenjeMOD modul (daje ostatak dijeljenja)\ cjelobrojno dijeljenje (s ostatkom)+, - zbrajanje i oduzimanje

2. Relacijski znakovi (operatori): =, >, >=, <, <=, <>3. Logički znakovi (operatori):

NOT NEAND IOR ILI upotrebljavamo ih za određivanje logičke veze između dva ili

više izraza. Rezultat može biti istina ili neistina.

4

Page 5: ProgramIranJe

Drugi korijen u BASICU izražava se pomoću funkcije SQR(izraz pod korijenom), a broj na potenciju piše se pomoću znaka ^ gdje prvo ide broj pa ^ i zatim potencija (npr. a3 pišemo a^3).

5

Page 6: ProgramIranJe

Zadaci:1. Pretvori aritmetičke izraze napisane matematičkim "jezikom" u odgovarajuće napisane u

programskom jeziku BASIC:

2A+2B

6

Page 7: ProgramIranJe

2. Pretvori izraze napisane u BASICU u izraze u matematičkom jeziku:

1/2*((1+x)/(1-x))

a*(-sqr(w/2*p*x)

sqr(v*x)+sqr(v*y)

-R/(2*L)+sqr(sqr(R)/(4*sqr(L))-1/(L*C))

sqr(sqr(R)+sqr(w*L-1/(w*C)))

sqr(1+x)+(2*x)/(1+sqr(x))

V*(-a*t)/(w*L)*(w*t)

sqr(1/(L*C)-sqr(R)/(4*sqr(L))

V/L*t*s*p

7

Page 8: ProgramIranJe

Naredbe QBASICA

Naredba za izlaz podataka

Naredba PRINT (piši) služi za ispis podataka na zaslon, u datoteku ili pomoću pisača na papir.

Znak „?“ kraći je oblik pisanja naredbe PRINT.

PRINT 8*4 ispis 32

PRINT 1.2.3 ispis 1.2 .3

PRINT -1.-2.3 ispis -3.3 jer je -1-2.3=-3.3

PRINT -1,-2,-3 ispis -1 -2 -3

PRINT -1;-2;-3 ispis -1 -2 -3

Ukoliko naredba PRINT ispisuje niz izraza možemo ih odvojiti zarezom ili točka-zarezom. Ako ih odvojimo zarezom za svaki izraz bit će rezervirano 14 mjesta, a ako ih odvojimo točka-zarezom slijedeći izraz ispisuje se poslije jednog razmaka.

PRINT "Zbroj dva broja je ";3+11 ispis Zbroj dva broja je 14

Naredba brisanje ekrana

CLS briše ekran (napišemo ju na početak progama).

Naredba za ulaz podataka

Naredba INPUT

Naredba INPUT uzima podatke s tipkovnice i pridružuje ih varijablama ili konstantama u programu.

Primjer 1: INPUT broj 'traži unos broja s tipkovnice

Primjer 2: INPUT Ime$ 'traži unos znakova s tipkovnice

Kada BASIC naiđe na naredbu INPUT, na zaslonu ispiše znak "?" i čeka da mu se unesu podaci. Kraj unosa označavamo pritiskom na tipku Enter. Zbog boljeg razumijevanja što se kod unosa traži, uobičajeno je u naredbi INPUT koristiti niz znakova koji predstavljaju komentar ulaznih vrijednosti. Ako iza komentara napišemo znak ";" napisat će se upitnik (kod izvođenja naredbe), a ako nam upitnik smeta iza komentara napisat ćemo znak ",".

Primjer: INPUT "Unesite vaše ime"; Ime$ ili INPUT "Unesite vaše ime", Ime$

Kod višestrukog unosa podataka i varijable i podaci kod unosa međusobno moraju biti odvojeni zarezom.

Primjer: INPUT a,b,c ?2,4,7 <Enter>

8

Page 9: ProgramIranJe

Uvjetna naredbaUkoliko program zahtijeva ispitivanje uvjeta i donošenje odluke, potrebno je koristiti naredbu IF...THEN ili njen prošireni oblik IF...THEN...ELSE.Opći oblik ove naredbe je:

IF uvjet THEN naredba1

Ako je uvjet ispunjen izvršiti će se naredba1, a ako uvjet nije ispunjen izvršit će se slijedeća linija programa.Primjer:

INPUT "Unesi broj"; BIF B > 0 THEN PRINT "Broj je veći od 0"IF B<= 0 THEN PRINT "Broj nije veći od 0"END

Prošireni oblik ove naredbe je:

IF uvjet THEN naredba1 ELSE naredba2

Ako je uvjet ispunjen izvršiti će se naredba1, a ako uvjet nije ispunjen izvršit će se naredba2.

Primjer:INPUT "Unesi broj"; BIF B > 0 THEN PRINT "Broj je veći od 0" ELSE PRINT "Broj nije veći od 0"END

Zadatak: Napisati program koji unosi stranicu kvadrata. Ako je stranica manja od 10, potrebno je izračunati i ispisati površinu kvadrata, a ako je jednaka ili veća, potrebno je izračunati i ispisati opseg kvadrata. Zadatak riješiti pomoću jednostavnog IF i pomoću proširenog IF.

9