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-

FOR i = 2 TO 100 STEP 2


PRINT i,
NEXT i

*** 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