PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije korake. Uz dobro razrađen algoritam neku radnju ćemo lakše i uspješnije obaviti. Algoritam slijeda, granjanja, ponavljanja Algoritam u svakodnevnom životu - Primjer: Priprema palačinki (grubi algoritam) Uzeti sve potrebne namirnice za smjesu (brašno, mlijeko...) Dodavati namirnicu po namirnicu i napraviti smjesu Dok ima smjese ponavljaj postupak Nauljiti i zagrijati tavu Staviti smjesu u tavu Peći s jedne strane Okrenuti palačinku Peći s druge strane Izvaditi palačinku iz tave Namazati palačinke Ovaj algoritam se još može detaljnije raščlaniti Primjer pripremanja palačinki ULAZ: namirnice (jaja, mlijeko, brašno, sol, šećer, ulje, tava) OBRADA: postupak i redoslijed radnji IZLAZ: palačinke Algoritam slijeda Algoritam slijeda je algoritam koji se sastoji od niza naredbi koje se uvijek izvršavaju jedna za drugom Algoritam grananja algoritam grananja predstavlja donošenje odluke uz uvjet. Uvjet može biti ispunjen ili neispunjen i tu dolazi do grananja.
Programski jezici Programiranje je skup postupaka koji uključuju razumijevanje problema, razradu problema, pisanje programa i testiranje napisanog programa. QBASIC, JustBASIC, LOGO, C, C++ Unos podataka naredba INPUT Da bismo znali koji podatak unosimo, možemo postaviti pitanje koje će se ispisati na ekranu. INPUT Unesi broj ;a Obrada podataka Za izvođenje matematičkih operacija u programu QBASIC koristimo sljedeće operatore: + za zbrajanje za oduzimanje * za množenje / za dijeljenje. z = a+b o=2*a+2*b Izlaz podataka Tekst kojeg želimo ispisati stavljamo pod navodnike PRINT Ja sam učenik 7.razreda. Vrijednost varijable stavljamo izvan navodnika PRINT a Zadaci Zadatak: Izračunavanje opsega i površine kvadrata INPUT Unesi stranicu kvadrata ;a o=4*a p=a*a PRINT Opseg = ; o PRINT Površina = ; p Ili INPUT Unesi stranicu kvadrata ;a PRINT Opseg = ; 4*a PRINT Površina = ; a*a Zadatak: zbrajanje dvaju brojeva (uz slaganje ispisa od teksta i rezultata obrade korištenjem znaka;) INPUT Unesi prvi broj: ; a INPUT Unesi drugi broj: ; b z=a+b PRINT Zbroj brojeva ; a ; i ; b ; je ; z
Zadatak: program koji će unositi dva prirodna broja i ispisivati njihov zbroj, razliku, umnožak i kvocijent! CLS INPUT "Upiši dva prirodna broja: " INPUT b PRINT "Zbroj:", a + b PRINT "Razlika:", a - b PRINT "Umnožak:", a * b PRINT "Kvocijent:", a / b Zadatak Saša je učenik prvog razreda i obožava lizalice. Kako je još mali i ne ide mu baš računanje traži tvoju pomoć. Napiši program koji će unositi cijenu jedne lizalice i broj lizalica koji Saša želi kupiti te će ispisivati iznos koji će za to trebati izdvojiti. Upis: broj lizalica koje Saša želi kupiti Upis: cijena jedne lizalice Ispis: ukupan iznos koji će Saša platiti za kupljene lizalice PRINT Unesi broj lizalica INPUT n PRINT Unesi cijenu lizalice INPUT c m = n * c PRINT m Zadatak Napišite program koji će unositi jedan prirodan broj i ispisivati njegov kvadrat CLS INPUT "Upiši prirodan broj: ", a PRINT "Kvadrat broja"; a; "je"; a * a; "." Zadatak Davor i Željka štede novac za nove sanjke. Napiši program koji će zbrojiti iznose Davorove i Željkine ušteđevine. Treba unijeti (upisati) koliko tko ima kuna, a izračunati i ispisati koliko kuna ušteđevine imaju zajedno. Upis: Davorova ušteđevina Upis: Željkina ušteđevina Izračun zbroja ušteđevina Ispis: zbroj njihovih ušteđevina CLS INPUT Koliko kuna ima Marko ; m INPUT Koliko kuna ima Željka ; z u = m + z PRINT Davor i Željka imaju zajedno ; u; kuna.
Zadatak - program koji računa opseg bilo kojeg trokuta. INPUT b INPUT c o= a+b+c PRINT O= PRINT o 2. sat - GRANANJE ILI ODABIR Uvjeti se postavljaju matematičkim relacijama (>, <,,,, =). Primjer 1. Program provjerava je li upisan broj veći od nule. Ako je veći od nule ispisuje poruku Pozitivan broj. INPUT broj IF broj>0 THEN PRINT Pozitivan broj Primjer 2. Program provjerava je li upisan broj veći od nule. Ako je upisan broj veći od nule ispisuje se poruka Broj je pozitivan, a ako nije ispisuje se poruka Broj nije pozitivan.
INPUT broj IF broj>0 THEN PRINT Pozitivan PRINT Nije pozitivan (nula ili negativan) END IF Primjer 3 Program provjerava odnos 2 upisana broja a i b. Ako su različiti ispisuje veći broj, ako su jednaki ispisuje a=b PRINT Unesi dva broja odvojena zarezom, b IF A>B THEN PRINT A IF A<B THEN PRINT B IF A=B THEN PRINT A=B Primjer 4 Program kojim korisnik pogađa zamišljeni broj. Ako je pogodio ispisuje se poruka Bravo, pogodio si. Ako nije pogodio pokušaj ponovo. zamisljeni=6 IF a=zamisljeni THEN PRINT bravo PRINT pokušaj ponovo Primjer 5 Program koji provjerava je li neki geometrijski lik pravokutnik ili kvadrat. INPUT b IF a=b THEN PRINT kvadrat PRINT pravokutnik Primjer 6 Program koji učitava broj i ispisuje apsolutnu vrijednost tog broja. INPUT b IF b>=0 THEN PRINT Apsolutna vrijednost broja iznosi ; b PRINT Apsolutna vrijednost broja iznosi ; b*(-1) END IF
LOGIČKI OPERATORI: AND (i) rezultat je istinit samo ako su oba izraza istinita OR (ili) rezultat je istinit ako je barem jedan izraz istinit NOT (ne) rezultat je istinit ako je vrijednost izraza neistinita VRSTA PODATAKA: ZNAKOVI Uz ime varijable stavljamo znak $ (string) Sadržaj string varijable pišemo uvijek u navodnicima Ime$= Goran Naredba INPUT s tekstualnim i brojčanim unosom: INPUT Molim unesite broj ; b INPUT Unesite vaše ime ; ime$ A=13 B=6 PRINT A+B 'rješenje: 19 A$= 13 B$= 6 PRINT A$+B$ 'rješenje:139 Zadatak 1. Napiši program koji kao ulaz traži ime i godinu rođenja, a kao izlaz na zaslonu daje poruku sastavljenu od ulaznih podataka u obliku: Zdravo Marko, pa ti imaš 14 godina Rješenje PRINT Unesi svoje ime INPUT ime$ PRINT Unesi godinu rođenja INPUT g PRINT Zdravo ; ime$;, pa ti imaš ; 2013-g; godina. Zadatak 2. Program provjerava upisanu šifru. Šifra je cvrcak. Ako korisnik pogodi šifru ispiše se poruka Bravo, pogodio si šifru!, u protivnom se ispisuje poruka Pokušaj ponovo. INPUT S$ IF S$= CVRCAK OR S$= cvrcak THEN PRINT POGODIO SI PRINT POKUŠAJ PONOVO Zadatak 3. Program provjerava upisanu šifru. Šifre su cvrčak i sunce. Ako korisnik pogodi šifru tj. upiše jednu od te riječi, ispiše se poruka Bravo, pogodio si šifru!, u protivnom se ispisuje poruka Pokušaj ponovo
INPUT S$ IF (S$= CVRCAK ) OR (S$= SUNCE ) THEN PRINT POGODIO SI PRINT POKUŠAJ PONOVO Zadatak 4. Program provjerava upisanu šifru. Šifre su cvrcak i sunce. Ako korisnik pogodi obje šifre, ispiše se poruka Bravo, pogodio si šifru!, u protivnom se ispisuje poruka Pokušaj ponovo. INPUT S1$ INPUT S2$ IF (S1$= cvrcak AND S2$= sunce ) OR (S1$= sunce AND S2$= cvrcak ) THEN PRINT POGODIO SI PRINT POKUŠAJ PONOVO
IF naredba višestruko grananje IF uvjet1 THEN naredba/e IF uvjet2 THEN naredba/e IF uvjet3 THEN naredba/e naredba/e END IF Zadatak 1. Program kojim pogađamo zamišljeni broj. Ako korisnik pogodi broj ispiši Bravo, pogodio si!. Ako je uneseni broj za 1 veći ili manji od zamišljenog: Blizu si! Za ostale slučajeve ispiši poruku Pogrešno! IF a =5 THEN PRINT BRAVO IF A+1=5 OR A-1=5 THEN PRINT BLIZU SI PRINT POGREŠNO Zadatak 2. Država grad Program koji za unos nekog glavnog grada ispisuje državu. Omogućiti ispis za 5 gradova država. Za grad koji nije predviđen programom ispisuje poruku podatak nepoznat Primjer: Unos: Zagreb Ispis: Hrvatska PRINT UNESI GLAVNI GRAD INPUT g$ IF g$= Zagreb OR g$= ZAGREB THEN PRINT Hrvatska IF g$= Beč OR g$= BEČ THEN PRINT Austrija PRINT PODATAK NEPOZNAT
Zadatak 3. Broj znamenki Program ispisuje broj znamenki unesenog broja. Uneseni broj mora biti u rasponu od 0 do 10000. IF b <10 THEN Y=1 IF b<100 THEN Y=2 IF b<1000 THEN Y=3 Y=4 Zadatak broj znamenki - prošireno Uneseni broj mora biti u rasponu od 0 do 10000. Na početku programa provjeri je li broj u odgovarajućem rasponu. Ako nije ispiši poruku da broj nije odgovarajući i završi program, ako je izračunaj broj znamenki. IF (b<=0) OR (b >=10000) THEN PRINT KRIVI UNOS IF b <10 THEN Y=1 IF b<100 THEN Y=2 IF b<1000 THEN Y=3 Y=4 PRINT BROJ ZNAMENKI UPISANOG BROJA JE: ; Y