You are on page 1of 22

PROGRAMIRANJE I.

*** 01 - Napraviti program koji e ispisati vau ime, prezime i adresu.


INPUT INPUT INPUT PRINT PRINT PRINT PRINT PRINT PRINT "Unesi svoje ime: ... "; a$ "Unesi svoje prezime: ... "; b$ "Unesi svoju adresu: ... "; c$ "------------------ Osobni podaci: ------------------" "IME: "; a$ "PREZIME: "; b$ "ADRESA: "; c$ "-----------------------------------------------------"

*** 02 - Uitati dva cijela broja i ispisati rezultate operacija +, -, *, /.


INPUT INPUT PRINT PRINT PRINT PRINT PRINT PRINT PRINT "Unesi prvi broj: ... "; a "Unesi drugi broj: ... "; b "--------------------- Rezultat: ---------------------" "ZBROJ: "; a + b "RAZLIKA: "; a - b "UMNOAK: "; a * b "KOLINIK: "; a / b "-----------------------------------------------------"

*** 03 - Napraviti program koji e izraunati opseg i povrinu kvadrata za unesenu stranicu.
INPUT "Unesi stranicu a kvadrata: ... "; a PRINT "Opseg iznosi: "; 4 * a PRINT "Povrina iznosi: "; a * a

*** 04 - Napravi program koji e traiti da unese ime, prezime i dob i na kraju e ispisati poruku: Dobar dan Pero Peri ima 19 godina.
INPUT INPUT INPUT PRINT "Kako se zove: ... "; a$ "Kako se preziva: ... "; b$ "Koliko ima godina: ... "; c "Dobar dan "; a$; " "; b$; " ima "; c; " godina."

*** 05 - Napravi program koji e traiti da unese radijus kruga. Ako je radijus kruga manji od nula onda ponovi unos, u suprotnom izraunaj opseg kruga i ispii ga. (koristiti GOTO).
10 INPUT "Unesi radijus kruga: ... "; a PRINT IF a <= 0 THEN PRINT "Radijus ne moe biti nula ili manji od nule !!!" PRINT "Molim ponovite unos ..." GOTO 10 ELSE PRINT "Opseg kruga iznosi "; 2 * a * 3.14

END IF

*** 06 - Napravi program koji e upotrebom jedne varijable naredbe GOTO i naredbe IF THEN ispisati sve brojeve od 1 do 100.
x=0 10 x = x + 1 IF x <= 100 THEN PRINT x, GOTO 10 END IF

*** 07 - Napravi dijagram toka i program koji e usporeivati dva unesena broja i ovisno o usporedbi ispisati sljedee: - prvi broj je manji od drugog broja - prvi broj je jednak drugom broju - prvi broj je vei od drugog broja.
INPUT "Unesi prvi broj: "; a INPUT "Unesi drugi broj: "; b PRINT IF a < b THEN PRINT "Prvi je broj manji od drugog broja." ELSE IF a = b THEN PRINT "Prvi je broj jednak drugom broju." END IF IF a > b THEN PRINT "Prvi je broj vei od drugog broja." END IF

*** 08 - Napravi dijagram toka i program koji e za uneseni radijus kruga izraunati i ispisati opseg i povrinu kruga uz uvjete: - radijus = 0 ---> ispis: krunica je toka - radijus < 0 ---> ispis: krunica je nemogua.
INPUT "Unesi radijus kruga: ... "; a PRINT IF a < 0 THEN PRINT "Krunica je nemogua !!!" ELSE IF a = 0 THEN PRINT "Krunica je toka !!!" END IF IF a > 0 THEN PRINT "Opseg kruga iznosi: "; 2 * a * 3.14 PRINT "Povrina kruga iznosi: "; a ^ 2 * 3.14 END IF

*** 09 - Napravi program koji e usporeivati dva unesena broja i ovisno o usporedbi ispisati: - prvi broj < drugi broj - prvi broj = drugi broj - prvi broj > drugi broj (koristiti SELECT).
INPUT "Unesi prvi broj: "; a INPUT "Unesi drugi broj: "; b PRINT SELECT CASE a CASE IS = b

PRINT "Prvi broj = Drugi broj" CASE IS > b PRINT "Prvi broj > Drugi broj" CASE IS < b PRINT "Prvi broj < Drugi broj" END SELECT

*** 10 - Napravi program za igru pogaanja gdje e raunalo odrediti neki broj izmeu 0 i 100, recimo 83, a zatim korisnik pokuava pogoditi zamiljeni broj i raunalo mu odgovara npr. kao to je prikazano dolje: KORISNIK RAUNALO 50 Broj je vei 90 Broj je manji 80 Broj je vei 83 POGODAK - Broj pokuaja = 4.
br = 1 RANDOMIZE TIMER n = INT(RND * 100) + 1 PRINT " IGRA POGAANJA " PRINT 10 INPUT "Unesi broj: "; a PRINT SELECT CASE a CASE IS = n PRINT "BRAVO - Pogodio si !!! , Broj pokuaja = "; br CASE IS < n PRINT "Broj je vei, probaj ponovo." br = br + 1 GOTO 10 CASE IS > n PRINT "Broj je manji, probaj ponovo." br = br + 1 GOTO 10 END SELECT

*** 11 - Uitati realan broj. Ako je broj nenegativan, ispisati njegov drugi korijen. Ako je negativan, ispisati njegov kvadrat.
10 INPUT "Unesi broj: "; a PRINT SELECT CASE a CASE IS = 0 PRINT "Nedoputeno unoenje nule ... " GOTO 10 CASE IS < 0 PRINT "Kvadrat unesenog broja je: "; a ^ 2 CASE IS > 0 PRINT "Drugi korijen unesenog broja je: "; SQR(a) END SELECT

*** 12 - Uitati dva realna broja. Uitati +, -, * ili / i izvriti eljenu operaciju.
INPUT "Unesi prvi broj: "; a INPUT "Unesi drugi broj: "; b 20 INPUT "Koju operaciju eli izvriti [ +,-,/,*] ???"; x$

IF x$ = "+" OR x$ = "-" OR x$ = "*" OR x$ = "/" THEN GOTO 10 ELSE PRINT "Morate unijeti jedan od operatora !!!" PRINT "Probaj ponovo... !!!" GOTO 20 END IF 10 SELECT CASE x$ CASE IS = "+" PRINT "Zbroj unesena dva broja iznosi:"; a + b CASE IS = "-" PRINT "Razlika unesena dva broja iznosi:"; a - b CASE IS = "*" PRINT "Umnoak unesena dva broja iznosi:"; a * b CASE IS = "/" PRINT "Kolinik unesena dva broja iznosi:"; a / b END SELECT

*** 13 - Uitati tri broja, pa ispisati najmanji.


INPUT "Unesi prvi broj: "; a INPUT "Unesi drugi broj: "; b INPUT "Unesi trei broj: "; c PRINT SELECT CASE a CASE IS = b x=a CASE IS < b x=a CASE IS > b x=b END SELECT SELECT CASE x CASE IS = c PRINT "Najmanji od unesena tri broja je: "; c CASE IS < c PRINT "Najmanji od unesena tri broja je: "; x CASE IS > c PRINT "Najmanji od unesena tri broja je: "; c END SELECT

*** 14 - Napravi program koji e ispisivati sve parne brojeve od 1 do 100. (DO-LOOP ili WHILE-WEND).
x=2 WHILE x <= 100 PRINT x, x=x+2 WEND

*** 15 - Napravi program koji e ispisivati sve neparne brojeve od 100 do 1. (DO-LOOP ili WHILE-WEND).
x = 99 WHILE x >= 1 PRINT x, x=x-2 WEND

*** 16 - Napravi program koji e izraunati sumu niza brojeva od 1 do 20. (DO-LOOP ili WHILE-WEND).
s=0 x=1 WHILE x <= 20 s=s+x x=x+1 WEND PRINT "Suma niza brojeva od 1 do 20 iznosi: "; s

*** 17 - Napravi program koji e ispisivati sve parne brojeve od 1 do 100. NEXT).
FOR i = 2 TO 100 STEP 2 PRINT i, NEXT i

(FOR-

*** 18 - Napravi program koji e ispisivati sve neparne brojeve od 100 do 1. (FOR-NEXT).
FOR i = 99 TO 1 STEP -2 PRINT i, NEXT i

*** 19 - Napravi program koji e izraunati sumu niza brojeva od 1 do 20. (FOR-NEXT).
s=0 FOR i = 1 TO 20 s=s+i NEXT i PRINT "Suma niza brojeva od 1 do 20 iznosi: "; s

*** 20 - Upisati reenicu, pa ispisati broj pojavljivanja svakog samoglasnika, ispisati je naopako i ispisati njenu duljinu. A-Z 65-90 a-z 97-122.
INPUT "Unesi neku reenicu: "; a$ PRINT x = LEN(a$) a=0 e=0 i=0 o=0 u=0 PRINT "Duljina reenice: "; x; " !!!" FOR i = x TO 1 STEP -1 y$ = MID$(a$, i, 1) b$ = b$ + y$ NEXT i FOR j = x TO 1 STEP -1 y$ = MID$(a$, j, 1) q = ASC(y$) SELECT CASE q CASE IS = 97 a=a+1 CASE IS = 65

a=a+1 CASE IS = 101 e=e+1 CASE IS = 69 e=e+1 CASE IS = 105 i=i+1 CASE IS = 73 i=i+1 CASE IS = 111 o=o+1 CASE IS = 79 o=o+1 CASE IS = 117 u=u+1 CASE IS = 85 u=u+1 END SELECT NEXT j PRINT "Reenica - naopako: "; b$ PRINT "Broj ponavljanja samoglasnika PRINT "Broj ponavljanja samoglasnika PRINT "Broj ponavljanja samoglasnika PRINT "Broj ponavljanja samoglasnika PRINT "Broj ponavljanja samoglasnika

a: "; a e: "; e i: "; i o: "; o u: "; u

*** 21 - Uitati prirodan broj i ispisati sve njegove znamenke. (INT, FIX).
INPUT "Unesi neki prirodni broj: "; a PRINT br = 0 x=a DO WHILE a >= 1 br = br + 1 a = a / 10 LOOP PRINT "-----ZNAMENKE-----" PRINT FOR i = 1 TO br b = x MOD 10 PRINT " "; b x = INT(x / 10) NEXT i PRINT PRINT "------------------"

*** 22 - Rastaviti prirodan broj na proste faktore. (INT, FIX).


INPUT "Unesi neki prirodni broj: "; x y=x PRINT "Broj "; x; " rastavljen na proste faktore izgleda ovako: " FOR i = 2 TO y DO WHILE x MOD i = 0 x=x/i PRINT i LOOP NEXT i

*** 23 - Napravi program koji e za uneseni prirodni broj ispisivati da li je taj broj prost ili nije.
10 INPUT "Unesi broj: "; x PRINT FOR i = 2 TO x - 1 IF x MOD i = 0 THEN s=s+1 END IF NEXT i IF s = 0 THEN PRINT "Broj ["; x; "] je prost !" ELSE PRINT "Broj ["; x; "] nije prost !" END IF

*** 24 - Napravi program koji trai da unese ime i prezime u jednu string varijablu i onda ispii svako slovo iz string varijable jedno ispod drugog.
INPUT "Unesi svoje ime i prezime: "; a$ b = LEN(a$) FOR i = 1 TO b c$ = MID$(a$, i, 1) PRINT c$ NEXT i

*** 25 - Napravi program koji trai da unese neki string u varijablu i onda zamijeni znakove u string varijabli. ("QBasic" -> "cisaBQ").
INPUT "Unesi neki string: "; a$ b = LEN(a$) d$ = "" FOR i = b TO 1 STEP -1 c$ = MID$(a$, i, 1) d$ = d$ + c$ NEXT i PRINT "--> "; d$

*** 26 - Upiite imena n uenika i ocjena koje su dobili na ispitu, izraunajte prosjenu ocjenu i ispiite ju te ispiite one uenike koji su dobili ocjenu veu od prosjene. Ispiite niz uenika sortiran prema prosjenoj ocjeni.
INPUT "Koliko ima uenika: "; n DIM a(n) suma = 0 prosjek = 0 FOR i = 1 TO n PRINT "Unesi ime "; i; ". uenika: "; INPUT a$(i) PRINT "Unesi ocjenu "; i; ". uenika: "; INPUT b(i) suma = suma + b(i) NEXT i prosjek = suma / n PRINT "Prosjek: "; prosjek

PRINT "Uenici koji su dobili ocjenu veu od prosjeka: " PRINT FOR i = 1 TO n IF b(i) > prosjek THEN PRINT a$(i) END IF NEXT i PRINT "Uenici sortirani prema prosjenoj ocjeni:" FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF b(j) < b(i) THEN p = b(j) p$ = a$(j) b(j) = b(i) a$(j) = a$(i) b(i) = p a$(i) = p$ END IF NEXT j NEXT i FOR i = 1 TO n PRINT b(i), a$(i) NEXT i

*** 27 - Upiite niz od n prirodnih brojeva. Ispiite za svaki broj iz tog niza njegove djelitelje. Ispiite poziciju najveeg lana niza i taj lan.
INPUT "Koliko brojeva eli: "; n PRINT DIM x(n) max = x(1) FOR i = 1 TO n PRINT "Unesi "; i; ". lan niza: "; INPUT x(i) FOR j = 1 TO n IF x(i) > max THEN max = x(i) poz = i END IF NEXT j NEXT i PRINT "Maximum niza je: "; max; " - Njegova pozicija je:"; poz PRINT FOR i = 1 TO n y = x(i) PRINT "Djeljitelji broja "; x(i); " su: " FOR j = 2 TO y DO WHILE x(i) MOD j = 0 x(i) = x(i) / j PRINT j LOOP NEXT j NEXT i

*** 28 - Upiite niz rijei. Sortirajte taj niz po duljini rijei. Ispiite poziciju u polaznom nizu na kojoj se nalazila rije maksimalne duljine, tu rije i njenu duljinu.
INPUT "Koliko rijei eli unijeti: "; n PRINT

DIM a(n) max = b(1) FOR i = 1 TO n PRINT "Unesi "; i; ". rije: "; INPUT a$(i) b(i) = LEN(a$(i)) IF b(i) > max THEN max = b(i) poz = i rijec$ = a$(i) END IF NEXT i FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF b(j) < b(i) THEN p = b(j) p$ = a$(j) b(j) = b(i) a$(j) = a$(i) b(i) = p a$(i) = p$ END IF NEXT j NEXT i FOR i = 1 TO n PRINT "Rije: "; a$(i), "Duljina:"; b(i) NEXT i PRINT "--> Rije max duljine je: "; rije$; " - Njena duljina je: "; max; " Pozicija: "; poz

*** 29 - Napravi program koji e stvoriti niz od 10 elemenata i u niz upisati prvih 10 parnih brojeva.
DIM a(10) x=2 FOR i = 1 TO 10 a(i) = x x=x+2 NEXT FOR i = 1 TO 10 PRINT a(i), NEXT i

*** 30 - Napravi program koji trai da unese dimenziju niza i onda napuni niz sluajnim brojevima od 1 do 10.
INPUT "Unesi dimenziju niza: "; n DIM a(n) FOR i = 1 TO n a(i) = INT(RND * 10) + 1 NEXT FOR i = 1 TO n PRINT a(i), NEXT i

*** 31 - Napravi program koji e pomou potprograma (s tri parametra) za uneseni poetni lan niza, zadnji lan niza i razmak izmeu dva susjedna elementa niza ispisati sve elemente aritmetikog niza. Na primjer za parametre 3,10,2 ispisati 3 5 7 9. 9

GOSUB unos PRINT "Rezultat:" GOSUB kraj END unos: INPUT "Unesi prvi lan niza: "; a INPUT "Unesi zadnji lan niza: "; b INPUT "Unesi razmak meu lanovima: "; c RETURN kraj: FOR i = a TO b STEP c PRINT i, NEXT RETURN

*** 32 - Napravi program koji e u datoteku c:\temp\student.dat zapisati sljedee podatke o studentu: ime, prezime, datum roenja.
OPEN "temp.dat" FOR OUTPUT AS #1 INPUT "Unesi ime: "; a$ PRINT #1, a$ INPUT "Unesi prezime: "; b$ PRINT #1, b$ INPUT "Unesi datum roenja: "; c$ PRINT #1, c$ CLOSE #1

*** 33 - Napravi program koji e iz datoteke iz 32. zadatka proitati podatke o studentu i ispisati ih na ekran.
OPEN "temp.dat" FOR INPUT AS #1 INPUT #1, a$ INPUT #1, b$ INPUT #1, c$ CLOSE #1 PRINT a$ PRINT b$ PRINT c$

*** 34 - Napravi program kojim e u datoteku niz.dat upisati 10 brojeva i na kraju proitati iz datoteke brojeve te ih ispisati na ekran sortirane po veliini.
OPEN "niz.dat" FOR OUTPUT AS #1 FOR i = 1 TO 10 PRINT "Unesi "; i; ". broj: "; INPUT a(i) PRINT #1, a(i) NEXT i CLOSE #1 OPEN "niz.dat" FOR INPUT AS #1 FOR i = 1 TO 10 INPUT #1, a(i) NEXT i CLOSE #1 FOR i = 1 TO 10 - 1

10

FOR j = i + 1 TO 10 IF a(j) < a(i) THEN p = a(j) a(j) = a(i) a(i) = p END IF NEXT j NEXT i FOR i = 1 TO 10 PRINT a(i) NEXT i

*** 35 - Napravi program koji e u datoteku niz2.dat zapisati uneseni broj n i zatim upisati n sluajno generiranih brojeva izmeu 1 i 100.
OPEN "niz2.dat" FOR OUTPUT AS #1 INPUT "Unesi n: "; n PRINT #1, n FOR i = 1 TO n x(i) = INT(RND * 100) + 1 PRINT #1, x(i) NEXT i CLOSE #1 OPEN "niz2.dat" FOR INPUT AS #1 FOR i = 2 TO n INPUT #1, x(i) NEXT i CLOSE #1 FOR i = 1 TO n PRINT x(i), NEXT i

*** 36 - Doradi program 34 tako da napravi funkciju koja e vratiti maksimalni element niza i funkciju koja e vratiti minimalni element niza.
OPEN "niz.dat" FOR OUTPUT AS #1 FOR i = 1 TO 10 PRINT "Unesi "; i; ". broj: "; INPUT a(i) PRINT #1, a(i) NEXT i CLOSE #1 OPEN "niz.dat" FOR INPUT AS #1 FOR i = 1 TO 10 INPUT #1, a(i) NEXT i CLOSE #1 FOR i = 1 TO 10 - 1 FOR j = i + 1 TO 10 IF a(j) < a(i) THEN p = a(j) a(j) = a(i) a(i) = p END IF NEXT j NEXT i FOR i = 1 TO 10 PRINT a(i) NEXT i

11

max = a(1) min = a(1) FOR i = 1 TO 10 IF a(i) > max THEN max = a(i) END IF IF a(i) < min THEN min = a(i) END IF NEXT i PRINT "Max niza je: "; max PRINT "Min niza je: "; min

*** 37 - Upisati u datoteku proizvoljan broj rijei. Ispisati iz datoteke samo one rijei kojima je duljina vea od 3.
INPUT "Koliko rijei eli unijeti: "; n OPEN "duljina3.dat" FOR OUTPUT AS #1 FOR i = 1 TO n PRINT "Unesi "; i; ". rije: "; INPUT a$(i) PRINT #1, a$(i) NEXT i CLOSE #1 OPEN "duljina3.dat" FOR INPUT AS #1 FOR i = 1 TO n INPUT #1, a$(i) NEXT i CLOSE #1 PRINT "Rijei kojima je duljina vea od 3:" FOR i = 1 TO n x = LEN(a$(i)) IF x > 3 THEN PRINT a$(i) NEXT i

*** 38 - Upisati u datoteku proizvoljan broj imena studenata. Ispisati iz datoteke imena tih studenata i broj pojavljivanja slova ''a'' u njihovom imenu.
INPUT "Koliko imena eli unijeti: "; n OPEN "a.dat" FOR OUTPUT AS #1 FOR i = 1 TO n PRINT "Unesi "; i; ". ime: "; INPUT a$(i) PRINT #1, a$(i) NEXT i CLOSE #1 OPEN "a.dat" FOR INPUT AS #1 FOR i = 1 TO n INPUT #1, a$(i) NEXT i CLOSE #1 FOR i = 1 TO n br = 0 x = LEN(a$(i)) FOR j = 1 TO x y$ = MID$(a$(i), j, 1) IF UCASE$(y$) = "A" THEN br = br + 1 END IF

12

NEXT j PRINT a$(i), "Broj pojavljivanja slova A: "; br NEXT i

*** 39 - Upisati u datoteku proizvoljan broj rijei. Ispisati iz datoteke na zaslon naopako samo one rijei kojima je duljina prost broj.
INPUT "Koliko rijei eli unijeti: "; n OPEN "naopako.dat" FOR OUTPUT AS #1 FOR i = 1 TO n PRINT "Unesi "; i; ". rije: "; INPUT a$(i) PRINT #1, a$(i) NEXT i CLOSE #1 OPEN "naopako.dat" FOR INPUT AS #1 FOR i = 1 TO n INPUT #1, a$(i) NEXT i CLOSE #1 FOR i = 1 TO n x = LEN(a$(i)) s=0 x$ = "" y$ = "" FOR j = 2 TO x - 1 IF x MOD j = 0 THEN s=s+1 END IF NEXT j IF s = 0 THEN FOR k = x TO 1 STEP -1 y$ = MID$(a$(i), k, 1) x$ = x$ + y$ NEXT k PRINT x$ END IF NEXT i

*** 40 - Napravi program koji e traiti da unese neku reenicu te e ju ispisati na ekran tako da svaki znak koji nije slovo abecede zamijeni crticom.
INPUT "Unesi neku reenicu: "; a$ PRINT x = LEN(a$) FOR i = 1 TO x y$ = MID$(a$, i, 1) x$ = UCASE$(y$) IF x$ = "A" OR x$ = "B" OR x$ = "D" OR x$ = "C" OR x$ = "E" OR x$ = "F" OR x$ = "G" OR x$ = "H" OR x$ = "I" OR x$ = "J" OR x$ = "K" OR x$ = "L" OR x$ = "M" OR x$ = "N" OR x$ = "O" OR x$ = "P" OR x$ = "R" OR x$ = "S" OR x$ = "T" OR x$ = "U" OR x$ = "V" OR x$ = "Z" OR x$ = " " THEN PRINT y$; ELSE PRINT "-"; END IF NEXT i

13

*** 41 - Napravi program koji e ispisivati sve dvoznamenkaste brojeve i to rijeima. Npr. dvadeset dvadeset jedan dvadeset dva ... ... ... ... .... ... .
aa$ = "Dvadeset " bb$ = "Trideset " cc$ = "etrdeset " dd$ = "Pedeset " ee$ = "ezdeset " ff$ = "Sedamdeset " gg$ = "Osamdeset " hh$ = "Devedeset " a$ = "jedan" b$ = "dva" c$ = "tri" d$ = "etri" e$ = "pet" f$ = "est" g$ = "sedam" h$ = "osam" i$ = "devet" FOR i = 10 TO 99 SELECT CASE i CASE IS = 10 PRINT "Deset" SLEEP 1 GOTO 10 CASE IS = 11 PRINT "Jedanaest" SLEEP 1 GOTO 10 CASE IS = 12 PRINT "Dvanaest" SLEEP 1 GOTO 10 CASE IS = 13 PRINT "Trinaest" SLEEP 1 GOTO 10 CASE IS = 14 PRINT "etrnaest" SLEEP 1 GOTO 10 CASE IS = 15 PRINT "Petnaest" SLEEP 1 GOTO 10 CASE IS = 16 PRINT "esnaest" SLEEP 1 GOTO 10 CASE IS = 17 PRINT "Sedamnaest" SLEEP 1 GOTO 10 CASE IS = 18

14

PRINT "Osamnaest" SLEEP 1 GOTO 10 CASE IS = 19 PRINT "Devetnaest" SLEEP 1 GOTO 10 CASE IS = 20 PRINT aa$ SLEEP 1 GOTO 10 CASE IS = 30 PRINT bb$ SLEEP 1 GOTO 10 CASE IS = 40 PRINT cc$ SLEEP 1 GOTO 10 CASE IS = 50 PRINT dd$ SLEEP 1 GOTO 10 CASE IS = 60 PRINT ee$ SLEEP 1 GOTO 10 CASE IS = 70 PRINT ff$ SLEEP 1 GOTO 10 CASE IS = 80 PRINT gg$ SLEEP 1 GOTO 10 CASE IS = 90 PRINT hh$ SLEEP 1 GOTO 10 END SELECT x = INT(i / 10) y = i MOD 10 SELECT CASE x CASE IS = 2 PRINT aa$; CASE IS = 3 PRINT bb$; CASE IS = 4 PRINT cc$; CASE IS = 5 PRINT dd$; CASE IS = 6 PRINT ee$; CASE IS = 7 PRINT ff$; CASE IS = 8 PRINT gg$; CASE IS = 9 PRINT hh$; END SELECT SELECT CASE y CASE IS = 1

15

PRINT a$ SLEEP 1 CASE IS = 2 PRINT b$ SLEEP 1 CASE IS = 3 PRINT c$ SLEEP 1 CASE IS = 4 PRINT d$ SLEEP 1 CASE IS = 5 PRINT e$ SLEEP 1 CASE IS = 6 PRINT f$ SLEEP 1 CASE IS = 7 PRINT g$ SLEEP 1 CASE IS = 8 PRINT h$ SLEEP 1 CASE IS = 9 PRINT i$ SLEEP 1 END SELECT 10 NEXT i

*** 42 - Upisati u datoteku nekoliko rijei i traiti neko slovo da se unese te na ekran ispisati samo one rijei kojima je broj ponavljanja unesenog slova prost broj.
INPUT "Koliko rijei eli unijeti: "; n OPEN "ispit.dat" FOR OUTPUT AS #1 FOR i = 1 TO n PRINT "Unesi "; i; ". rije: "; INPUT a$(i) PRINT #1, a$(i) NEXT i CLOSE #1 INPUT "Koje slovo eli kao uvjet: "; x$ OPEN "ispit.dat" FOR INPUT AS #1 FOR i = 1 TO n INPUT #1, a$(i) NEXT i CLOSE #1 FOR i = 1 TO n y = LEN(a$(i)) y$ = "" br = 0 s=0 FOR j = 1 TO y y$ = MID$(a$(i), j, 1) IF UCASE$(y$) = UCASE$(x$) THEN br = br + 1 END IF NEXT j IF br = 0 THEN GOTO 10 FOR k = 2 TO br - 1 IF br MOD k = 0 THEN

16

s=s+1 END IF NEXT k IF s = 0 THEN PRINT a$(i) END IF 10 NEXT i

*** 43 - Treba upisati neku reenicu proizvoljne duljine, a raunalo treba ispisati jednu rije ispod druge.
INPUT "Unesi neku reenicu: "; a$ PRINT x = LEN(a$) poz = 1 FOR i = 1 TO x y$ = MID$(a$, i, 1) br = br + 1 IF y$ = " " THEN PRINT MID$(a$, poz, br) poz = i br = 0 END IF IF i = x THEN PRINT MID$(a$, poz, br + 1) END IF NEXT i

*** 44 - Ispisati na ekran samo one etveroznamenkaste brojeve kojima je umnoak prve dvije jednak umnoku druge dvije znamenke.
FOR i = 1000 TO 9999 x$ = STR$(i) a$ = MID$(x$, 2, 1) b$ = MID$(x$, 3, 1) c$ = MID$(x$, 4, 1) d$ = MID$(x$, 5, 1) a = VAL(a$) b = VAL(b$) c = VAL(c$) d = VAL(d$) IF (a * b) = (c * d) THEN PRINT i, SLEEP 1 END IF NEXT i

*** 45 - Napravi program koji e traiti da unese dimenziju n niza te e u niz unijeti n sluajnih brojeva izmeu 1 i 100. Raunalo treba ispisati aritmetiku sredinu niza te broj najblii toj aritmetikoj sredini.
INPUT "Unesi dimenziju niza: "; n PRINT DIM a(n) suma = 0 FOR i = 1 TO n a(i) = INT(RND * 100) + 1

17

suma = suma + a(i) PRINT a(i), NEXT i arsred = INT(suma / n) PRINT "Aritmetika sredina niza je: "; arsred max = 1 min = 100 FOR i = 1 TO n SELECT CASE a(i) CASE IS > arsred IF a(i) <= min THEN min = a(i) END IF CASE IS < arsred IF a(i) >= max THEN max = a(i) END IF END SELECT NEXT i x = arsred - max y = min - arsred IF x > y THEN PRINT "Najblii aritmetikoj sredini je: "; min ELSE PRINT "Najblii aritmetikoj sredini je: "; max END IF

*** 46 - Unijeti dimenziju n niza, a raunalo treba u niz upisati n sluajnih brojeva izmeu 1 i 10 te na ekran ispisati taj niz te broj ponavljanja lanova niza. Npr. niz: 4 , 5 , 4 , 10 , 5 , 13 , 4 , 2 , 6 , 2 , 3 , 2 , 8 , 4 5 - broj ponavljanja = 2 4 - broj ponavljanja = 4 2 - broj ponavljanja = 3
INPUT "Unesi dimenziju n niza: "; n PRINT DIM a(n) a=0 b=0 c=0 d=0 e=0 f=0 g=0 h=0 j=0 k=0 FOR i = 1 TO n a(i) = INT(RND * 10) + 1 PRINT a(i), SELECT CASE a(i) CASE IS = 1 a=a+1 CASE IS = 2 b=b+1 CASE IS = 3 c=c+1 CASE IS = 4 d=d+1 CASE IS = 5

18

e=e+1 CASE IS = 6 f=f+1 CASE IS = 7 g=g+1 CASE IS = 8 h=h+1 CASE IS = 9 j=j+1 CASE IS = 10 k=k+1 END SELECT NEXT i PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja PRINT "Broj ponavljanja broja

1 = "; a 2 = "; b 3 = "; c 4 = "; d 5 = "; e 6 = "; f 7 = "; g 8 = "; h 9 = "; j 10 = "; k

*** 47 - U datoteku treba unijeti proizvoljan broj imena, a raunalo treba zatraiti koje slovo elimo ka uvjet i na ekran ispisati imena a uneseno slovo zamijeniti zvjezdicom.
INPUT "Koliko imena eli unijeti: "; n PRINT OPEN "imena.dat" FOR OUTPUT AS #1 FOR i = 1 TO n PRINT "Unesi "; i; ". ime: "; INPUT a$(i) PRINT #1, a$(i) NEXT i CLOSE #1 PRINT INPUT "Koje slovo eli kao uvjet: "; x$ OPEN "imena.dat" FOR INPUT AS #1 FOR i = 1 TO n INPUT #1, a$(i) NEXT i CLOSE #1 FOR i = 1 TO n a = LEN(a$(i)) FOR j = 1 TO a b$ = MID$(a$(i), j, 1) IF UCASE$(b$) = UCASE$(x$) THEN PRINT "*"; ELSE PRINT b$; END IF NEXT j NEXT i

*** 48 - Treba unijeti neki broj, a raunalo treba ispisati da li je taj broj prost ili ne. Nakon svakog unosa slijedi odluka za nastavak (DA ili NE).
10 INPUT "Unesi broj: "; x

19

s=0 FOR i = 2 TO x - 1 IF x MOD i = 0 THEN s=s+1 END IF NEXT i IF s = 0 THEN PRINT "Broj je PROST !" ELSE PRINT "Broj NIJE prost." END IF 30 INPUT "Nastavak D/N: "; y$ PRINT SELECT CASE UCASE$(y$) CASE IS = "D" GOTO 10 CASE IS = "N" GOTO 20 END SELECT IF UCASE$(y$) <> "D" AND UCASE$(y$) <> "N" THEN PRINT "MORATE unijeti D ili N !!!" GOTO 30 END IF 20 PRINT

*** 49 - Upiite niz od n prirodnih brojeva. Ispiite proste brojeve iz tog niza i poziciju na kojoj se nalaze u tom nizu. Ispiite umnoak tih prostih brojeva.
INPUT "Unesi dimenziju niza: "; n PRINT DIM a(n) umnozak = 1 FOR i = 1 TO n PRINT "Unesi "; i; ". broj: "; INPUT a(i) NEXT i PRINT FOR i = 1 TO n s=0 x = a(i) FOR j = 2 TO x - 1 IF x MOD j = 0 THEN s=s+1 END IF NEXT j IF s = 0 THEN PRINT x; " je PROST!", "Pozicija: "; i umnoak = umnoak * x END IF NEXT i PRINT "Umnoak prostih brojeva iz niza iznosi: "; umnoak

*** 50 - Doradi program 49 tako da nae najmanji i najvei element niza.


INPUT "Unesi dimenziju niza: "; n DIM a(n) FOR i = 1 TO n PRINT "Unesi "; i; ". broj: "; INPUT a(i)

20

NEXT i max = a(1) min = a(1) FOR i = 1 TO n IF a(i) > max THEN max = a(i) END IF IF a(i) < min THEN min = a(i) END IF NEXT i PRINT "Max niza je: "; max PRINT "Min niza je: "; min

*** 51 - Doradi program 49 tako da nae sumu i produkt svih lanova niza.
INPUT "Unesi dimenziju niza: "; n PRINT DIM a(n) umnoak = 1 suma = 0 FOR i = 1 TO n PRINT "Unesi "; i; ". broj: "; INPUT a(i) suma = suma + a(i) umnoak = umnoak * a(i) NEXT i PRINT "Umnoak svih lanova niza iznosi: "; umnoak PRINT "Suma svih lanova niza iznosi: "; suma

*** 52 - Napravi program koji e ispisati sumu svih dvoznamenkastih prostih brojeva.
suma = 0 FOR i = 10 TO 99 s=0 FOR j = 2 TO i - 1 IF i MOD j = 0 THEN s=s+1 END IF NEXT j IF s = 0 THEN suma = suma + i END IF NEXT i PRINT "Suma svih dvoznamenkastih prostih brojeva iznosi: "; suma; " !!!"

*** 53 - Napravi program koji e traiti da unese neku reenicu, a on e ju ispisati na ekran obrnutim redoslijedom rijei. Npr. unos: Dobar dan studentima Hrvatske ispis: Hrvatske studentima dan Dobar.
INPUT "Unesi neku reenicu: "; a$ x = LEN(a$) br = 0 FOR i = x TO 1 STEP -1 y$ = MID$(a$, i, 1) br = br + 1

21

IF y$ = " " THEN PRINT MID$(a$, i, br); br = 0 END IF IF i = 1 THEN PRINT " "; MID$(a$, i, br) NEXT i

*** 54 - Napravi program koji e traiti da unese dimenziju niza te da unese n cijelih brojeva u taj niz. Raunalo treba ispisati sumu svih dvoznamenkastih pozitivnih brojeva iz niza te aritmetiku sredinu. Raunalo takoer treba ispisati sve proste pozitivne brojeve iz tog niza.
INPUT "Unesi dimenziju n niza: "; n DIM a(n) suma = 0 br = 0 FOR i = 1 TO n PRINT "Unesi "; i; ". broj: "; INPUT a(i) IF a(i) > 0 THEN x$ = STR$(a(i)) x = LEN(x$) IF x = 3 THEN suma = suma + a(i) br = br + 1 END IF END IF NEXT i PRINT "Suma dvoz.poz. brojeva iznosi: "; suma PRINT "Aritmetika sredina dvoz.poz. brojeva iznosi: "; suma / br PRINT "Prosti brojevi su:" FOR i = 1 TO n s=0 IF a(i) > 0 THEN FOR j = 2 TO a(i) - 1 IF a(i) MOD j = 0 THEN s=s+1 END IF NEXT j IF s = 0 THEN PRINT " "; a(i), END IF END IF NEXT i

22

You might also like