---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1. Upiši Upišite te niz od n prirodnih prirodnih brojeva. brojeva. Ispišite Ispišite proste proste brojeve brojeve iz tog niza i poziciju na kojoj se nalaze u tom nizu. Ispišite umnožak tih prostih brojeva CLS PRINT "Unesi dimenziju niza: "; INPUT n DIM niz(n) FOR i = 1 TO n STEP 1 PRINT "Unesi broj: "; INPUT niz(i) NEXT i PRINT "Niz brojeva je: "; FOR i = 1 TO n PRINT niz(i); " "; NEXT i PRINT PRINT "Prosti brojevi su: "; PRINT u=1 FOR i = 1 TO n p=0 FOR j = 2 TO niz(i) - 1 IF niz(i) MOD j = 0 THEN p = p + 1 NEXT j IF p = 0 THEN PRINT niz(i); "na poziciji: "; i; PRINT u = u * niz(i) END IF NEXT i PRINT PRINT "Umnozak prostih brojeva je: "; u
2. Upišite Upišite četverozname četveroznamenkas nkasti ti broj (kao cjelobrojnu cjelobrojnu varijablu,a varijablu,a ne string). string). Ispišite taj broj naopako te ga ispišite i u sljedećem obliku: abcd=a*1000+b*100+c*10+d CLS 10 INPUT "Unesi cetveroznamenkasti broj: "; broj IF broj < 1000 OR broj > 9999 THEN PRINT "Broj nije cetveroznamenkast! Ponovite unos!" GOTO 10 END IF d = broj MOD 10 broj = INT(broj / 10) c = broj MOD 10 broj = INT(broj / 10) b = broj MOD 10 a = INT(broj / 10) PRINT "Broj u obliku abcd:" PRINT a * 1000 + b * 100 + c * 10 + d PRINT "Broj naopako:" PRINT d * 1000 + c * 100 + b * 10 + a 3. Napiši Napiši program program koji će za unes uneseni eni string string prebrojat prebrojat broj pojavljivan pojavljivanja ja samoglasnika. ulaz: Dobar dan dobri ljudi; izlaz: 7 CLS INPUT "Unesi recenicu: "; a$ br = 0 FOR i = 1 TO LEN(a$) b$ = UCASE$(MID$(a$, i, 1)) IF b$ = "A" OR b$ = "E" OR b$ = "I" OR b$ = "O" OR b$ = "U" THEN br = br + 1 NEXT i PRINT "Ima "; br; " samoglasnika." 4. Upisati Upisati u datoteku proizvo proizvoljan ljan broj riječi. riječi. Ispisati Ispisati iz datoteke na zaslon zaslon samo one riječi koje su palindromi (čitaju se jednako s obje strane, npr. ratar). CLS INPUT "Unesi naziv datoteke"; n$ OPEN n$ FOR OUTPUT AS #1 20 INPUT "Unesi zapis: "; a$ PRINT #1, a$ INPUT "Zelite li nastaviti?(da/ne)" nastaviti?(da/ne)";; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 20 CLOSE #1
2. Upišite Upišite četverozname četveroznamenkas nkasti ti broj (kao cjelobrojnu cjelobrojnu varijablu,a varijablu,a ne string). string). Ispišite taj broj naopako te ga ispišite i u sljedećem obliku: abcd=a*1000+b*100+c*10+d CLS 10 INPUT "Unesi cetveroznamenkasti broj: "; broj IF broj < 1000 OR broj > 9999 THEN PRINT "Broj nije cetveroznamenkast! Ponovite unos!" GOTO 10 END IF d = broj MOD 10 broj = INT(broj / 10) c = broj MOD 10 broj = INT(broj / 10) b = broj MOD 10 a = INT(broj / 10) PRINT "Broj u obliku abcd:" PRINT a * 1000 + b * 100 + c * 10 + d PRINT "Broj naopako:" PRINT d * 1000 + c * 100 + b * 10 + a 3. Napiši Napiši program program koji će za unes uneseni eni string string prebrojat prebrojat broj pojavljivan pojavljivanja ja samoglasnika. ulaz: Dobar dan dobri ljudi; izlaz: 7 CLS INPUT "Unesi recenicu: "; a$ br = 0 FOR i = 1 TO LEN(a$) b$ = UCASE$(MID$(a$, i, 1)) IF b$ = "A" OR b$ = "E" OR b$ = "I" OR b$ = "O" OR b$ = "U" THEN br = br + 1 NEXT i PRINT "Ima "; br; " samoglasnika." 4. Upisati Upisati u datoteku proizvo proizvoljan ljan broj riječi. riječi. Ispisati Ispisati iz datoteke na zaslon zaslon samo one riječi koje su palindromi (čitaju se jednako s obje strane, npr. ratar). CLS INPUT "Unesi naziv datoteke"; n$ OPEN n$ FOR OUTPUT AS #1 20 INPUT "Unesi zapis: "; a$ PRINT #1, a$ INPUT "Zelite li nastaviti?(da/ne)" nastaviti?(da/ne)";; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 20 CLOSE #1
PRINT "Palindromi iz datoteke su: "; OPEN n$ FOR INPUT AS #1 DO WHILE NOT (EOF(1)) INPUT #1, a$ b$ = "" FOR i = LEN(a$) TO 1 STEP -1 c$ = MID$(a$, i, 1) b$ = b$ + c$ NEXT i IF a$ = b$ THEN PRINT a$ LOOP CLOSE #1
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*** 01 - Napraviti program koji će ispisati vašu ime, prezime i adresu. INPUT "Unesite ime: "; ime$ INPUT "Unesite prezime: "; prezime$ INPUT "Unesite adresu: "; adresa$ PRINT "Vi ste "; ime$; " "; prezime$; " i vasa adresa je "; adresa$ *** 02 - Učitati dva cijela broja i ispisati rezultate operacija +, -, *, / INPUT "Unesi 1. broj: "; a INPUT "Unesi 2. broj: "; b PRINT "Zbroj je: "; a + b PRINT "Razlika je: "; a - b PRINT "Umnozak je: "; a * b PRINT "Kolicnik je: "; a / b *** 03 - Napraviti program koji će izračunati opseg i površinu kvadrata za unesenu stranicu. INPUT "Unesi stranicu kvadrata: "; a PRINT "Opseg kvadrata je: "; 4 * a PRINT "Povrsina kvadrata je: "; a * a *** 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 PRINT x IF x < 100 THEN GOTO 10 *** 07 - Napravi dijagram toka i program koji će uspoređivati dva unesena broja i ovisno o usporedbi ispisati sljedeće: - prvi broj je manji od drugog broja - prvi broj je jednak drugom broju - prvi broj je veći od drugog broja INPUT "Unesi 1. broj: "; a INPUT "Unesi 2. broj: "; b IF a < b THEN PRINT "Prvi broj je manji od drugog broja." IF a = b THEN PRINT "Prvi i drugi broj su jednaki." IF a > b THEN PRINT "Prvi broj je veci od drugog broja." *** 08 - Napravi dijagram toka i program koji će za uneseni radijus kruga izračunati i ispisati opseg i površinu kruga uz uvjete: - radijus = 0 ---> ispis: kružnica je točka - radijus < 0 ---> ispis: kružnica je nemoguća pi = 3.14 INPUT "Unesi radijus kruga: "; r IF r = 0 THEN PRINT "Kruznica je tocka." IF r < 0 THEN PRINT "Kruznica je nemoguca." IF r > 0 THEN PRINT "Opseg kruga je: "; 2 * r * pi PRINT "Povrsina kruga je: "; r * r * pi END IF *** 09 - Napravi program koji će uspoređivati dva unesena broja i ovisno o usporedbi ispisati: - prvi broj < drugi broj - prvi broj = drugi broj - prvi broj broj > drugi drugi broj (koristiti SELECT) SELECT) INPUT "Unesi 1. broj: "; a INPUT "Unesi 2. broj: "; b SELECT CASE a CASE IS < b PRINT a; " < "; b CASE IS > b PRINT a; " > "; b CASE IS = b PRINT a; " = "; b
END SELECT *** 10 - Napravi program za igru pogađanja gdje će računalo odrediti neki broj između 0 i 100, recimo 83, a zatim korisnik pokušava pogoditi zamišljeni broj i računalo mu odgovara npr. kao što je prikazano dolje: KORISNIK RAČUNALO 50 Broj je veći 90 Broj je manji 80 Broj je veći 83 POGODAK - Broj pokušaja = 4 RANDOMIZE TIMER x = INT(1 + RND * 100) br = 0 10 INPUT "Pogodite zadani broj izmedu 1 i 100"; a br = br + 1 IF a < x THEN PRINT "Broj je veci" GOTO 10 END IF IF a > x THEN PRINT "Broj je manji" GOTO 10 END IF IF a = x THEN PRINT "Pogodak! Broj pokusaja: "; br END IF *** 11 - Učitati realan broj. Ako je broj nenegativan, ispisati njegov drugi korijen. Ako je negativan, ispisati njegov kvadrat. INPUT "Unesi broj: "; a korjen = SQR(a) kvadrat = a ^ 2 IF a > 0 THEN PRINT korjen IF a < 0 THEN PRINT kvadrat *** 12 - Učitati dva realna broja. Učitati +, -, * ili / i izvršiti željenu operaciju. INPUT "Unesi 1. broj: "; a INPUT "Unesi 2. broj: "; b INPUT "Unesi zeljenu operaciju (+,-,*,/): "; op$ IF op$ = "+" THEN PRINT a + b IF op$ = "-" THEN PRINT a - b
IF op$ = "*" THEN PRINT a * b IF op$ = "/" THEN PRINT a / b *** 13 - Učitati tri broja, pa ispisati najmanji. INPUT "Unesi 1. broj: "; a INPUT "Unesi 2. broj: "; b INPUT "Unesi 3. broj: "; c IF a < b AND a < c THEN PRINT "Najmanji broj je "; a; IF b < a AND b < c THEN PRINT "Najmanji broj je "; b; IF c < b AND c < a THEN PRINT "Najmanji broj je "; c; *** 14 - Napravi program koji će ispisivati sve parne brojeve od 1 do 100. (DO-LOOP ili WHILE-WEND) a=0 WHILE a < 100 a=a+2 PRINT a WEND *** 15 - Napravi program koji će ispisivati sve neparne brojeve od 100 do 1. (DO-LOOP ili WHILE-WEND) a = 99 WHILE a > 1 a=a-2 PRINT a WEND *** 16 - Napravi program koji će izračunati sumu niza brojeva od 1 do 20. (DO-LOOP ili WHILE-WEND) a=1 s=0 WHILE a <= 20 s=s+a a=a+1 WEND PRINT "Suma brojeva od 1 do 20 je: "; s *** 17 - Napravi program koji će ispisivati sve parne brojeve od 1 do 100. (FOR-NEXT) 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 izračunati sumu niza brojeva od 1 do 20. (FOR-NEXT) s=0 FOR i = 1 TO 20 STEP 1 PRINT i s=s+i NEXT i PRINT "Suma brojeva od 1 do 20 je: "; s *** 20 - Upisati rečenicu, pa ispisati broj pojavljivanja svakog samoglasnika, ispisati je naopako i ispisati njenu duljinu. A-Z 65-90 a-z 97-122 CLS INPUT "Unesi neku recenicu: "; a$ PRINT x = LEN(a$) a=0 e=0 i=0 o=0 u=0 PRINT "Duljina recenice: "; 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 "Recenica - naopako: "; b$ PRINT "Broj ponavljanja samoglasnika - a: "; a PRINT "Broj ponavljanja samoglasnika - e: "; e PRINT "Broj ponavljanja samoglasnika - i: "; i PRINT "Broj ponavljanja samoglasnika - o: "; o PRINT "Broj ponavljanja samoglasnika - u: "; u END *** 21 - Učitati prirodan broj i ispisati sve njegove znamenke. (INT, FIX) INPUT "Unesi neki prirodni broj: "; a WHILE a > 0 b = a MOD 10 a = INT(a / 10) PRINT b WEND *** 22 - Rastaviti prirodan broj na proste faktore. (INT, FIX) INPUT "Unesi broj: "; a p=a FOR i = 2 TO p DO WHILE a MOD i = 0 a = INT(a / i) PRINT i LOOP NEXT i *** 23 - Napravi program koji će za uneseni prirodni broj ispisivati da li je taj broj prost ili nije. INPUT "Unesi broj: "; a p=0
FOR i = 2 TO a - 1 IF a MOD i = 0 THEN p = p + 1 NEXT i IF p = 0 THEN PRINT "Broj je prost" IF p > 0 THEN PRINT "Broj nije prost" *** 24 - Napravi program koji traži da uneseš ime i prezime u jednu string varijablu i onda ispiši svako slovo iz string varijable jedno ispod drugog. INPUT "Unesi ime i prezime"; ime$ FOR i = 1 TO LEN(ime$) PRINT MID$(ime$, i, 1) NEXT i *** 25 - Napravi program koji traži da uneseš neki string u varijablu i onda zamijeni znakove u string varijabli. ("QBasic" -> "cisaBQ") INPUT "Unesi string: "; a$ FOR i = LEN(a$) TO 1 STEP -1 PRINT MID$(a$, i, 1); ""; NEXT i *** 26 - Upišite imena n učenika i ocjena koje su dobili na ispitu, izračunajte prosječnu ocjenu i ispišite ju te ispišite one učenike koji su dobili ocjenu veću od prosječne. Ispišite niz učenika sortiran prema prosječnoj ocjeni. INPUT "Unesi broj ucenika: "; n DIM ucenici$(n) DIM ocjene(n) FOR i = 1 TO n INPUT "Unesi ime ucenika: "; ucenici$(i) INPUT "Unesi njegovu ocjenu: "; ocjene(i) NEXT i s=0 FOR i = 1 TO n s = s + ocjene(i) NEXT i PRINT
p = INT(s / n) PRINT "Prosjecna ocjena je: "; p PRINT PRINT "Ucenici koji imaju ocjenu vecu od prosjecne su:" PRINT FOR i = 1 TO n IF ocjene(i) > p THEN PRINT ucenici$(i); " - ocjena: "; ocjene(i) NEXT i FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF ocjene(i) < ocjene(j) THEN t = ocjene(j) ocjene(j) = ocjene(i) ocjene(i) = t p$ = ucenici$(j) ucenici$(j) = ucenici$(i) ucenici$(i) = p$ END IF NEXT j NEXT i PRINT PRINT "Ucenici sortirani po prosjeku: " FOR i = 1 TO n PRINT ucenici$(i), ocjene(i) NEXT i *** 27 - Upišite niz od n prirodnih brojeva. Ispišite za svaki broj iz tog niza njegove djelitelje. Ispišite poziciju najvećeg člana niza i taj član. INPUT "Unesi duljinu niza: "; n DIM a(n) FOR i = 1 TO n INPUT "Unesi broj: "; a(i) NEXT i FOR i = 1 TO n PRINT PRINT a(i) PRINT "Njegovi djeljitelji su: "; FOR j = 1 TO a(i)
IF a(i) MOD j = 0 THEN PRINT j; " "; NEXT j NEXT i max = a(1) poz = 1 FOR i = 2 TO n IF max < a(i) THEN max = a(i) poz = i END IF NEXT i PRINT PRINT "Najveci broj je "; max; " na poziciji "; poz *** 28 - Upišite niz riječi. Sortirajte taj niz po duljini riječi. Ispišite poziciju u polaznom nizu na kojoj se nalazila riječ maksimalne duljine, tu riječ i njenu duljinu. INPUT "Unesi dimenziju niza: "; n DIM rijeci$(n) FOR i = 1 TO n INPUT "Unesi rijec: "; rijeci$(i) NEXT i FOR i = 1 TO n PRINT rijeci$(i); " "; NEXT i PRINT max$ = rijeci$(1) poz = 1 length = LEN(rijeci$(1)) FOR i = 2 TO n IF LEN(rijeci$(i)) > LEN(max$) THEN max$ = rijeci$(i) poz = i length = LEN(rijeci$(i)) END IF NEXT i PRINT PRINT "Najduza rijec je: "; max$; ", duljine: "; length; " na mjestu: "; poz
PRINT FOR i = 1 TO n - 1 FOR j = i + 1 TO n IF LEN(rijeci$(i)) < LEN(rijeci$(j)) THEN t$ = rijeci$(i) rijeci$(i) = rijeci$(j) rijeci$(j) = t$ END IF NEXT j NEXT i FOR i = 1 TO n PRINT rijeci$(i); " "; NEXT i *** 29 - Napravi program koji će stvoriti niz od 10 elemenata i u niz upisati prvih 10 parnih brojeva. CLS DIM niz(10) x=2 FOR i = 1 TO 10 niz(i) = x x=x+2 NEXT i FOR i = 1 TO 10 PRINT niz(i); " "; NEXT i *** 30 - Napravi program koji traži da uneseš dimenziju niza i onda napuni niz slučajnim brojevima od 1 do 10. CLS INPUT "Unesi dimenziju niza: "; n DIM niz(n) FOR i = 1 TO n RANDOMIZE TIMER niz(i) = INT(1 + RND * 10) NEXT i FOR i = 1 TO n PRINT niz(i); " "; NEXT i
*** 31 - Napravi program koji će pomoću potprograma (s tri parametra) za uneseni početni član niza, zadnji član niza i razmak između dva susjedna elementa niza ispisati sve elemente aritmetičkog niza. Na primjer za parametre 3,10,2 ispisati 3 5 7 9. CLS GOSUB unos FOR i = 1 TO b STEP c PRINT i; " "; NEXT i END unos: INPUT "Unesi prvi clan: "; a INPUT "Unesi zadnji clan: "; b INPUT "Unesi razmak: "; c RETURN *** 32 - Napravi program koji će u datoteku c:\temp\student.dat zapisati sljedeće podatke o studentu: ime, prezime, datum rođenja. INPUT "Unesi naziv datoteke: "; dat$ OPEN dat$ FOR OUTPUT AS #1 INPUT "Unesi ime: "; ime$ INPUT "Unesi prezime: "; prezime$ INPUT "Unesi datum rodenja: "; datum$ PRINT #1, ime$, prezime$, datum$ CLOSE *** 33 - Napravi program koji će iz datoteke iz 32. zadatka pročitati podatke o studentu i ispisati ih na ekran. PRINT "STUDENT: " OPEN dat$ FOR INPUT AS #1 PRINT "Ime: "; ime$ PRINT "Prezime: "; prezime$ PRINT "Datum rodenja: "; datum$ CLOSE
*** 34 - Napravi program kojim ćeš u datoteku niz.txt upisati 10 brojeva i na kraju pročitati iz datoteke brojeve te ih ispisati na ekran sortirane po veličini. OPEN "niz.dat" FOR OUTPUT AS #1 FOR i = 1 TO 10 INPUT "Unesi broj"; a PRINT #1, a NEXT i CLOSE #1 OPEN "niz.dat" FOR INPUT AS #1 DIM niz(10) i=0 WHILE NOT EOF(1) i=i+1 INPUT #1, a niz(i) = a WEND FOR i = 1 TO 9 FOR j = i + 1 TO 10 IF niz(i) > niz(j) THEN t = niz(i) niz(i) = niz(j) niz(j) = t END IF NEXT j NEXT i FOR i = 1 TO 10 PRINT niz(i) NEXT i CLOSE #1 *** 35 - Napravi program koji će u datoteku niz2.dat zapisati uneseni broj n i zatim upisati n slučajno generiranih brojeva između 1 i 100. OPEN "niz2.dat" FOR OUTPUT AS #1 INPUT "unesi broj: "; n PRINT #1, n CLOSE #1 OPEN "niz2.dat" FOR INPUT AS #1 INPUT #1, n a=0 RANDOMIZE TIMER
FOR i = 1 TO n a = INT(1 + RND * 100) PRINT a NEXT i CLOSE #1 *** 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 a=0 RANDOMIZE TIMER FOR i = 1 TO 10 a = INT(1 + RND * 100) PRINT #1, a NEXT i CLOSE #1 OPEN "niz.dat" FOR INPUT AS #1 DIM niz(10) i=0 WHILE NOT EOF(1) i=i+1 INPUT #1, a niz(i) = a WEND FOR i = 1 TO 9 FOR j = i + 1 TO 10 IF niz(i) > niz(j) THEN t = niz(i) niz(i) = niz(j) niz(j) = t END IF NEXT j NEXT i PRINT "sortirani niz" FOR i = 1 TO 10 PRINT niz(i); " "; NEXT i PRINT min = niz(1) FOR i = 2 TO 10 IF niz(i) < min THEN min = niz(i)
NEXT i PRINT "najmanji element niza je: "; min max = niz(1) FOR j = 2 TO 10 IF niz(j) > max THEN max = niz(j) NEXT j PRINT "najveci element niza je: "; max CLOSE #1 *** 37 - Upisati u datoteku proizvoljan broj riječi. Ispisati iz datoteke samo one riječi kojima je duljina veća od 3. OPEN "37.txt" FOR OUTPUT AS #1 INPUT "unesi broj rijeci: "; n FOR i = 1 TO n INPUT "Unesi rijec: "; a$ PRINT #1, a$ NEXT i CLOSE #1 OPEN "37.txt" FOR INPUT AS #1 WHILE NOT EOF(1) INPUT #1, a$ IF LEN(a$) > 3 THEN PRINT a$ WEND CLOSE #1 *** 38 - Upisati u datoteku proizvoljan broj imena studenata. Ispisati iz datoteke imena tih studenata i broj pojavljivanja slova ''a'' u njihovom imenu. OPEN "38.txt" FOR OUTPUT AS #1 INPUT "Unesi broj studenata: "; n FOR i = 1 TO n INPUT "Unesi ime: "; s$ PRINT #1, s$ NEXT i CLOSE #1 OPEN "38.txt" FOR INPUT AS #1 WHILE NOT EOF(1) INPUT #1, s$ br = 0 FOR i = 1 TO LEN(s$)
a$ = UCASE$(MID$(s$, i, 1)) IF a$ = "A" THEN br = br + 1 NEXT i PRINT s$ PRINT "Broj ponavljanja slova a: "; br WEND CLOSE #1 *** 39 - Upisati u datoteku proizvoljan broj riječi. Ispisati iz datoteke na zaslon naopako samo one riječi kojima je duljina prost broj. OPEN "39.txt" FOR OUTPUT AS #1 10 INPUT "Unesi rijec: "; a$ PRINT #1, a$ INPUT "Zelite li nastaviti? (da/ne)"; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 10 CLOSE #1 OPEN "39.txt" FOR INPUT AS #1 WHILE NOT EOF(1) INPUT #1, a$ d = LEN(a$) p=0 FOR i = 2 TO SQR(d) IF d MOD i = 0 THEN p = p + 1 NEXT i b$ = "" IF p = 0 THEN FOR j = d TO 1 STEP -1 b$ = b$ + MID$(a$, j, 1) NEXT j PRINT b$ END IF WEND CLOSE #1
*** 40 - Napravi program koji će tražiti da uneseš neku rečenicu te će ju ispisati na ekran tako da svaki znak koji nije slovo abecede zamijeni crticom. *** OVAJ ZADATAK BUDE NA ISPITU *** ( 01 )
INPUT "Unesi recenicu"; a$ FOR i = 1 TO LEN(a$) b$ = MID$(a$, i, 1) IF UCASE$(b$) = "A" OR UCASE$(b$) = "E" OR UCASE$(b$) = "I" OR UCASE$(b$) = "O" OR UCASE$(b$) = "U" THEN PRINT b$ ELSE PRINT "-" END IF NEXT i *** 41 - Napravi program koji će ispisivati sve dvoznamenkaste brojeve i to riječima. Npr. dvadeset dvadeset jedan dvadeset dva ... ... ... ... .... ... *** OVAJ ZADATAK BUDE NA ISPITU *** ( 02 ) INPUT "Unesi broj"; a jedinica = a MOD 10 desetica = INT(a / 10) jedinica$ = "" desetica$ = "" broj$ = "" IF desetica = 1 THEN SELECT CASE jedinica CASE 1 broj$ = "jedanaest" CASE 2 broj$ = "dvanaest" CASE 3 broj$ = "trinaest" CASE 4 broj$ = "cetrnaest" CASE 5 broj$ = "petnaest" CASE 6 broj$ = "sesnaest" CASE 7 broj$ = "sedamnaest" CASE 8 broj$ = "osamnaest" CASE 9
broj$ = "devetnaest" END SELECT PRINT broj$ END END IF SELECT CASE desetica CASE 2 desetica$ = "dvadeset" CASE 3 desetica$ = "trideset" CASE 4 desetica$ = "cetrdeset" CASE 5 desetica$ = "pedeset" CASE 6 desetica$ = "sezdeset" CASE 7 desetica$ = "sedamdeset" CASE 8 desetica$ = "osamndeset" CASE 9 desetica$ = "devedeset" END SELECT SELECT CASE jedinica CASE 1 jedinica$ = "jedan" CASE 2 jedinica$ = "dva" CASE 3 jedinica$ = "tri" CASE 4 jedinica$ = "cetiri" CASE 5 jedinica$ = "pet" CASE 6 jedinica$ = "sest" CASE 7 jedinica$ = "sedam" CASE 8 jedinica$ = "osam" CASE 9 jedinica$ = "devet" END SELECT PRINT desetica$; " "; jedinica$
*** 42 - Upisati u datoteku nekoliko riječi i tražiti neko slovo da se unese te na ekran ispisati samo one riječi kojima je broj ponavljanja unesenog slova prost broj. *** OVAJ ZADATAK BUDE NA ISPITU *** ( 03 ) INPUT "Unesi ime datoteke:"; ime$ OPEN ime$ FOR OUTPUT AS #1 10 INPUT "Unesi rijec"; rijec$ PRINT #1, rijec$ INPUT "Zelite li nastaviti?(da/ne)"; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 10 CLOSE #1 OPEN ime$ FOR INPUT AS #1 INPUT "Unesi slovo"; slovo$ WHILE NOT EOF(1) INPUT #1, rijec$ br = 0 FOR i = 1 TO LEN(rijec$) ponav$ = MID$(rijec$, i, 1) IF UCASE$(ponav$) = UCASE$(slovo$) THEN br = br + 1 NEXT i p=0 FOR j = 2 TO SQR(br) IF br MOD j = 0 THEN p = p + 1 NEXT j IF p = 0 THEN PRINT rijec$ END IF WEND CLOSE #1
*** 43 - Treba upisati neku rečenicu proizvoljne duljine, a računalo treba ispisati jednu riječ ispod druge. *** OVAJ ZADATAK BUDE NA ISPITU *** ( 04 ) INPUT "unesi recenicu"; a$ FOR i = 1 TO LEN(a$) b$ = MID$(a$, i, 1) IF b$ = " " THEN
PRINT ELSE PRINT b$; END IF NEXT i *** 44 - Ispisati na ekran samo one četveroznamenkaste brojeve kojima je umnožak prve dvije jednak umnošku druge dvije znamenke. *** OVAJ ZADATAK BUDE NA ISPITU *** ( 05 ) INPUT "Koliko brojeva: "; n DIM br(n) FOR i = 1 TO n 10 INPUT "Unesi cetveroznamenkasti broj"; br(i) IF br(i) > 9999 OR br(i) < 1000 THEN PRINT "Greska!"; GOTO 10 END IF NEXT i PRINT FOR i = 1 TO n x = br(i) d = x MOD 10 x = INT(x / 10) c = x MOD 10 x = INT(x / 10) b = x MOD 10 x = INT(x / 10) a=x z=a*b v=c*d IF z = v THEN PRINT br(i) NEXT i *** 45 - Napravi program koji će tražiti da uneseš dimenziju n niza te će u niz unijeti n slučajnih brojeva između 1 i 100. Računalo treba ispisati aritmetičku sredinu niza te broj najbliži toj aritmetičkoj sredini. *** OVAJ ZADATAK BUDE NA ISPITU *** ( 06 ) INPUT "Unesi dimenziju niza: "; n DIM br(n) RANDOMIZE TIMER
FOR i = 1 TO n br(i) = INT(1 + RND * 100) NEXT i FOR i = 1 TO n PRINT br(i); " " NEXT i z=0 FOR i = 1 TO n z = z + br(i) NEXT i a=z/n PRINT "aritmeticka sredina:"; a min = br(1) IF min > a THEN minx = min - a IF min < a THEN minx = a - min FOR i = 2 TO n IF br(i) > a THEN x = br(i) - a IF br(i) < a THEN x = a - br(i) IF x < minx THEN min = br(i) minx = x END IF NEXT i PRINT "Najblizi broj je "; min; " udaljen za "; minx
*** 46 - Unijeti dimenziju n niza, a računalo treba u niz upisati n slučajnih brojeva između 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 *** OVAJ ZADATAK BUDE NA ISPITU *** ( 07 ) INPUT "Unesi dimenziju niza: "; n DIM br(n)
RANDOMIZE TIMER FOR i = 1 TO n br(i) = INT(1 + RND * 10) NEXT i FOR i = 1 TO n PRINT br(i); " "; NEXT i 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 SELECT CASE br(i) CASE 1 a=a+1 CASE 2 b=b+1 CASE 3 c=c+1 CASE 4 d=d+1 CASE 5 e=e+1 CASE 6 f=f+1 CASE 7 g=g+1 CASE 8 h=h+1 CASE 9 j=j+1 CASE 10 k=k+1 END SELECT NEXT i PRINT PRINT IF a > 0 THEN PRINT "1 - broj ponavljanja = "; a
IF b > 0 THEN PRINT "2 - broj ponavljanja = "; b IF c > 0 THEN PRINT "3 - broj ponavljanja = "; c IF d > 0 THEN PRINT "4 - broj ponavljanja = "; d IF e > 0 THEN PRINT "5 - broj ponavljanja = "; e IF f > 0 THEN PRINT "6 - broj ponavljanja = "; f IF g > 0 THEN PRINT "7 - broj ponavljanja = "; g IF h > 0 THEN PRINT "8 - broj ponavljanja = "; h IF j > 0 THEN PRINT "9 - broj ponavljanja = "; j IF k > 0 THEN PRINT "10 - broj ponavljanja = "; k *** 48 - Treba unijeti neki broj, a računalo treba ispisati da li je taj broj prost ili ne. Nakon svakog unosa slijedi odluka za nastavak (DA ili NE). *** OVAJ ZADATAK BUDE NA ISPITU *** ( 09 ) 10 INPUT "Unesi broj: "; n p=0 FOR i = 2 TO SQR(n) IF n MOD i = 0 THEN p = p + 1 NEXT i IF p = 0 THEN PRINT "Broj je prost" ELSE PRINT "Broj nije prost" END IF INPUT "Zelite li nastaviti?(da/ne)"; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 10
*** 49 - Upišite niz od n prirodnih brojeva. Ispišite proste brojeve iz tog niza i poziciju na kojoj se nalaze u tom nizu. Ispišite umnožak tih prostih brojeva. INPUT "unesi dimenziju niza: "; n DIM br(n) FOR i = 1 TO n INPUT "Unesi broj: "; br(i) NEXT i FOR i = 1 TO n PRINT br(i); " "; NEXT i
PRINT PRINT "Prosti brojevi iz niza: " u=1 FOR i = 1 TO n p=0 FOR j = 2 TO SQR(br(i)) IF br(i) MOD j = 0 THEN p = p + 1 NEXT j IF p = 0 THEN PRINT br(i); " "; " na poziciji: "; i u = u * br(i) END IF NEXT i PRINT "Umnozak prostih brojeva je "; u *** 50 - Doradi program 49 tako da nađeš najmanji i najveći element niza. INPUT "unesi dimenziju niza: "; n DIM br(n) FOR i = 1 TO n INPUT "Unesi broj: "; br(i) NEXT i min = br(1) max = br(1) FOR i = 2 TO n IF br(i) < min THEN min = br(i) IF br(i) > max THEN max = br(i) NEXT i FOR i = 1 TO n PRINT br(i); " "; NEXT i PRINT PRINT "Najmanji broj je: "; min; " , a najveci "; max PRINT PRINT "Prosti brojevi iz niza: " u=1 FOR i = 1 TO n p=0 FOR j = 2 TO SQR(br(i)) IF br(i) MOD j = 0 THEN p = p + 1 NEXT j
IF p = 0 THEN PRINT br(i); " "; " na poziciji: "; i u = u * br(i) END IF NEXT i PRINT "Umnozak prostih brojeva je "; u *** 51 - Doradi program 49 tako da nađeš sumu i produkt svih članova niza. INPUT "unesi dimenziju niza: "; n DIM br(n) FOR i = 1 TO n INPUT "Unesi broj: "; br(i) NEXT i min = br(1) max = br(1) FOR i = 2 TO n IF br(i) < min THEN min = br(i) IF br(i) > max THEN max = br(i) NEXT i s=0 k=0 FOR i = 1 TO n PRINT br(i); " "; s = s + br(i) k = k / br(i) NEXT i PRINT PRINT "Najmanji broj je: "; min; " , a najveci "; max PRINT "Suma brojeva je: "; s; " , a kolicnik "; k PRINT PRINT "Prosti brojevi iz niza: " u=1 FOR i = 1 TO n p=0 FOR j = 2 TO SQR(br(i)) IF br(i) MOD j = 0 THEN p = p + 1 NEXT j IF p = 0 THEN PRINT br(i); " "; " na poziciji: "; i
u = u * br(i) END IF NEXT i PRINT "Umnozak prostih brojeva je "; u *** 52 - Napravi program koji će ispisati sumu svih dvoznamenkastih prostih brojeva. s=0 FOR i = 10 TO 99 p=0 FOR j = 2 TO SQR(i) IF i MOD j = 0 THEN p = p + 1 NEXT j IF p = 0 THEN s = s + i NEXT i PRINT "Suma svih dvoznamenkastih prostih brojeva je: "; s *** 53 - Napravi program koji će tražiti da uneseš neku rečenicu, a on će ju ispisati na ekran obrnutim redosljedom riječi. Npr. unos: Dobar dan studentima Hrvatske ispis: Hrvatske studentima dan Dobar *** OVAJ ZADATAK BUDE NA ISPITU *** ( 10 ) INPUT "Unesi recenicu: "; rec$ br = 0 FOR i = LEN(rec$) TO 1 STEP -1 br = br + 1 a$ = MID$(rec$, i, 1) IF a$ = " " THEN PRINT MID$(rec$, i, br); br = 0 END IF IF i = 1 THEN PRINT " "; MID$(rec$, i, br) NEXT i *** 54 - Napravi program koji će tražiti da uneseš dimenziju niza te da uneseš n cijelih brojeva u taj niz. Računalo treba ispisati sumu svih dvoznamenkastih pozitivnih brojeva iz niza te aritmetičku sredinu. Računalo također treba ispisati sve proste pozitivne brojeve iz tog niza. *** OVAJ ZADATAK BUDE NA ISPITU *** ( 11 )
+ *** TEST - zadatak kojeg sam smislio za usmeni dio ispita. --> Napravi program koji treba uraditi sljedeće radnje: - Zatražiti unos imena i upisati ga u datoteku. - Nakon unosa zatražiti unos D/N za nastavak. - Ako je nastavak D onda upisuj dalje inaće zatvori datoteku. - Zatražiti unos nekog slova koje će biti kriterij za izvođenje drugog dijela zadatka. - Otvoriti datoteku i ispisati na zaslon samo one rijeći kojima je broj ponavljanja prethodno unesenog broja prost broj, ispisati te riječi naopako te ispisati njihovu duljinu prvo brojkom, a zatim slovima !!! ----------------------------------- << Ukupno riješeno [ 55 ] zadatka >> ---------------------------------1.korisnik unosi u datoteku recenice(duljina rec mora biti manja od 20provjeriti unos).korisnik nakon svakog broja odlucuje zeli li nastaviti unos.unijeti jedan znak 2.ispisati za svaku recenicu iz datoteke koliko se puta u njoj pojavljuje koji samoglasnik. 1 .korisnik unosi prirodan broj n<10 koji predstavlja duljinu niza, nakon cega se generira niz od n prirodnih brojeva gdje su svi elementi niza slucajno odabrani brojevi manji ili jednaki 100 2. napraviti novi niz ciji su elementi dobiveni kao suma dva clana niza cija je suma indeksa prost broj.
10 INPUT "Unesi broj manji od 10: "; n IF n >= 10 THEN PRINT "Greska!"; GOTO 10 END IF DIM a(n) RANDOMIZE TIMER FOR i = 1 TO n a(i) = INT(1 + RND * 100) NEXT i FOR i = 1 TO n PRINT a(i); " "; NEXT i
PRINT DIM b(100) si = 0 k=0 s=0 FOR i = 1 TO n - 1 FOR l = i + 1 TO n si = i + l p=0 FOR j = 2 TO SQR(si) IF si MOD j = 0 THEN p = p + 1 NEXT j IF p = 0 THEN k=k+1 s = a(i) + a(l) b(k) = s END IF NEXT l NEXT i PRINT FOR i = 1 TO k PRINT b(i); " "; NEXT i
1. korisnik unosi prirodan broj n(4 24 THEN PRINT "Greska!"; GOTO 10 END IF
DIM a(n) RANDOMIZE TIMER FOR i = 1 TO n a(i) = INT(100 + RND * 999) NEXT i FOR i = 1 TO n PRINT a(i); " "; NEXT i PRINT DIM prosti(100) k=0 FOR i = 1 TO n x = a(i) p=0 FOR j = 2 TO SQR(x) IF x MOD j = 0 THEN p = p + 1 NEXT j IF p = 0 THEN k=k+1 prosti(k) = x END IF NEXT i PRINT "Prosti:" FOR i = 1 TO k PRINT prosti(i); " "; NEXT i PRINT PRINT "Samo jednom" FOR i = 1 TO k p=0 FOR j = k TO i + 1 STEP -1 IF prosti(i) = prosti(j) THEN p = p + 1 NEXT j IF p = 0 THEN PRINT prosti(i); " "; NEXT i 2 .napisi program koji ce napraviti datoteku a u nju ce korisnik upisati proizvoljno brojeve u dekadskom obliku nakon cega ih treba pretvoriti u heksadekadski(nema naredbe hex$) te ispisati iz datoteke OPEN "2.txt" FOR OUTPUT AS #1 10 INPUT "Unesi broj"; n
PRINT #1, n INPUT "Zelite li nastaviti?(da/ne)"; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 10 CLOSE #1
OPEN "2.txt" FOR INPUT AS #1 WHILE NOT EOF(1) DIM hex(100) INPUT #1, n x=1 ost = 1 i=0 WHILE x > 0 ost = 0 x = INT(n / 16) ost = n MOD 16 i=i+1 hex(i) = ost n=x WEND PRINT FOR j = i TO 1 STEP -1 IF hex(j) < 10 THEN PRINT hex(j); ELSE SELECT CASE hex(j) CASE 10 PRINT "A"; " "; CASE 11 PRINT "B"; " "; CASE 12 PRINT "C"; " "; CASE 13 PRINT "D"; " "; CASE 14 PRINT "E"; " "; CASE 15 PRINT "F"; " "; END SELECT END IF NEXT j PRINT WEND CLOSE #1 2. napisi program koji ce napraviti datoteku u kojoj cemo unijeti dekadske
brojeve(prirodne,postaviti uvjet za prirodni broj),te ih pretvoriti u binarne,te zbrojiti koliko taj broj ima nula a koliko jedinica. OPEN "bin.txt" FOR OUTPUT AS #1 10 INPUT "Unesi prirodni broj: "; n IF n < 0 GOTO 10 PRINT #1, n INPUT "Zelite li nastaviti?(da/ne)"; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 10 CLOSE #1 OPEN "bin.txt" FOR INPUT AS #1 WHILE NOT EOF(1) DIM bin(100) ost = 0 INPUT #1, n i=0 x=1 WHILE x > 0 x = INT(n / 2) ost = n MOD 2 i=i+1 bin(i) = ost n=x WEND FOR j = i TO 1 STEP -1 PRINT bin(j); NEXT j nule = 0 jedinice = 0 FOR j = i TO 1 STEP -1 IF bin(j) = 0 THEN nule = nule + 1 IF bin(j) = 1 THEN jedinice = jedinice + 1 NEXT j PRINT PRINT "Broj ima "; nule; " nule, i "; jedinice; " jedinice" PRINT PRINT WEND CLOSE #1 ----------------------------------------------------------------------------------------------------------------------I. Grupa zadataka I.1. Napisati program koji će upisati n brojeva. Naći najmanji i najmanji
među i ispisati ga. I.2. Napisati program koji upisuje brojeve dok se ne upiše 0, a zatim ispisati najveći upisani broj. I.3. Napisati program koji upisuje n brojeva. Naći prosjek svih brojeva. I.4. Napisati program koji upisuje n brojeva. Naći umnožak svih brojeva. I.5. Napisati program koji upisuje brojeve dok se ne upiše 0. Naći sumu svih brojeva. I.6. Napisati program koji ispisuje sumu svih brojeva djeljivih sa 5 većih od 8, a manjih od 346. I.7. Napisati program koji će učitavati jedan za drugim n brojeva. Naći i ispisati aritmetičku sredinu učitanih brojeva uzimajući u obzir samo one brojeve koji su veći ili jednaki 2 i manji ili jednaki 5. I.8. Napisati program koji provjerava da li je upisani broj prost. I.9. Napisati program koji će za upisani broj ispisati sve njegove djelitelje. II. Grupa zadataka II.1.Napisati program koji će upisati n negativnih brojeva. Ispisati najveći broj i redni broj pod kojim je unešen. INPUT "Unesi dimenziju: "; n DIM a(n) RANDOMIZE TIMER FOR i = 1 TO n a(i) = INT(-1 + RND * -100) NEXT i FOR i = 1 TO n PRINT a(i); " "; NEXT i max = a(1) FOR i = 2 TO n IF max < a(i) THEN max = a(i) br = i END IF NEXT i PRINT PRINT "Najveci je "; max; " unesen pod brojem "; br II.2.Napisati program koji upisuje prirodne brojeve dok se ne upiše 0, a zatim ispisati najveći broj i rednibroj pod kojim je unešen. II.3.Napisati program koji upisuje n neparnih brojeva. Naći prosjek svih brojeva.
II.4.Napisati program koji upisuje n brojeva djeljivih sa 7. Naći prosjek upisanih parnih brojeva. INPUT "Unesi dim niza: "; n DIM a(n) FOR i = 1 TO n 10 INPUT "Unesi broj djeljiv sa 7: "; a(i) IF a(i) MOD 7 <> 0 THEN PRINT "Greska!"; GOTO 10 END IF NEXT i s=0 br = 0 FOR i = 1 TO n IF a(i) MOD 2 = 0 THEN s = s + a(i) br = br + 1 END IF NEXT i p = s / br PRINT "Prosjek parnih brojeva je "; p II.5.Napisati program koji upisuje negativne brojeve dok se ne upiše 0. Naći aritmetičku sredinu brojeva. II.6.Napisati program koji ispisuje prosjek svih brojeva djeljivih sa x većih od y, a manjih od z. Korisnik unosi brojeve x,y i z. Voditi računa o ispravnom unosu tih brojeva. II.7.Napisati program koji će učitavati jedan za drugim n brojeva. Naći i ispisati aritmetičku sredinu učitanih brojeva uzimajući u obzir samo one brojeve koji su veći ili jednaki x i manji ili jednaki y. Korisnik unosi brojeve x,y i n. Voditi računa o ispravnom unosu tih brojeva. II.8.Napisati program koji unosi n brojeva. Ispisati proste brojeve i redni broj pod kojim su uneseni. Ispisatiumnožak tih prostih brojeva. II.9.Napisati program koji unosi n brojeva. Ispisati za svaki broj iz tog niza njegove djelitelje. INPUT "Unesi dim niza: "; n DIM a(n) FOR i = 1 TO n INPUT "Unesi broj: "; a(i) NEXT i FOR i = 1 TO n PRINT a(i)
PRINT "Djelitelji: "; FOR j = 1 TO a(i) IF a(i) MOD j = 0 THEN PRINT j; " "; NEXT j PRINT PRINT NEXT i
III. Grupa zadataka III.1. Napisati program koji unosi n brojeva. Ispisati za svaki broj iz tog niza njegove proste djelitelje. INPUT "Unesi dim niza: "; n DIM a(n) FOR i = 1 TO n INPUT "Unesi broj: "; a(i) NEXT i FOR i = 1 TO n PRINT a(i) PRINT "Prosti djelitelji: "; FOR j = 1 TO a(i) IF a(i) MOD j = 0 THEN p=0 FOR k = 2 TO SQR(j) IF j MOD k = 0 THEN p = p + 1 NEXT k IF p = 0 THEN PRINT j; END IF NEXT j PRINT PRINT NEXT i III.2. Napisati program koji upisuje imena n učenika i bodove koje su dobili na ispitu, izračunati prosjek bodova i ispisati ga. Ispisati ime učenike koji je dobio najmanje bodova i ime učenika koji je dobio najviše bodova. INPUT "Unesi broj ucenika: "; n DIM imena$(n) DIM ocjene(n) FOR i = 1 TO n INPUT "Unesi ime ucenika: "; imena$(i)
INPUT "Unesi ocjenu ucenika:"; ocjene(i) NEXT i s=0 br = 0 FOR i = 1 TO n s = s + ocjene(i) br = br + 1 NEXT i projek = s / br PRINT "Prosjek ocjena je: "; prosjek min = ocjene(1) minuc$ = imena$(1) max = ocjene(1) maxuc$ = imena$(1) FOR i = 2 TO n IF ocjene(i) < min THEN min = ocjene(i) minuc$ = imena$(i) END IF IF ocjene(i) > max THEN max = ocjene(i) maxuc$ = imena$(i) END IF NEXT i PRINT "Ucenik sa najmanje bodova je: "; minuc$; " - bodova= "; min PRINT "Ucenik sa najvise bodova je: "; maxuc$; " - bodova= "; max III.3. Napisati program koji upisuje n riječi. Izračunati prosječnu duljinu riječi i ispisati ju. Ispisati najdulju i najkraću riječ i njihove duljine. III.4. Napisati program koji će generirati n slučajnih troznamenkastih brojeva. Broj n je prirodan broj manji od 50, a unosi ga korisnik. Ispisati te brojeve i njihov prosjek.
-----------------------------------------------------------------------------------------------------------------------
Grupa A 1. Napisati program koji od korisnika traži: - upis imena
- upis sata (1-24) - upis broja dana (1-7) Ako je upisan sat ili dan izvan navedenih vrijednosti, ponoviti cijeli upis. Ako je upisan sat od 1-11 i npr. dan 1, ispisuje poruku: Dobro jutro Marko! Danas je ponedjeljak. Ako je upisan sat od 12-17 i npr. dan 7, ispisuje poruku: Dobar dan Marko! Danas je nedjelja. Ako je upisan sat od 18-24 i npr. dan 2, ispisuje poruku: Dobra vecer Marko! Danas je utorak INPUT "Unesi ime: "; ime$ INPUT "Unesi sat: "; sat INPUT "Unesi broj dana: "; dan IF sat > 1 AND sat < 11 THEN PRINT "Dobro jutro"; ime$; "!"; SELECT CASE dan CASE 1 PRINT "Danas je ponedjeljak." CASE 2 PRINT "Danas je utorak." CASE 3 PRINT "Danas je srijeda." CASE 4 PRINT "Danas je cetvrtak." CASE 5 PRINT "Danas je petak." CASE 6 PRINT "Danas je subota." CASE 7 PRINT "Danas je nedjelja." END SELECT END IF IF sat > 12 AND sat < 17 THEN PRINT "Dobar dan "; ime$; "!"; SELECT CASE dan CASE 1 PRINT "Danas je ponedjeljak." CASE 2 PRINT "Danas je utorak." CASE 3 PRINT "Danas je srijeda." CASE 4 PRINT "Danas je cetvrtak." CASE 5 PRINT "Danas je petak."
CASE 6 PRINT "Danas je subota." CASE 7 PRINT "Danas je nedjelja." END SELECT END IF IF sat > 18 AND sat < 24 THEN PRINT "Dobra vecer "; ime$; "! "; SELECT CASE dan CASE 1 PRINT "Danas je ponedjeljak." CASE 2 PRINT "Danas je utorak." CASE 3 PRINT "Danas je srijeda." CASE 4 PRINT "Danas je cetvrtak." CASE 5 PRINT "Danas je petak." CASE 6 PRINT "Danas je subota." CASE 7 PRINT "Danas je nedjelja." END SELECT END IF Grupa B 1. Napiši program za pogađanje boja. Program bira slučajan broj od 1-5, a to je kod boje. (Uputa: Za generiranje sljučajnog broja od 1-100, formula je x = INT(RND * 100) + 1) Kodovi boja: 1 = bijela 2 = crna 3 = crvena 4 = plava 5 = zelena Korisnik unosi kod, tj. pogađa koji je to broj. Ako unese pogrešan kod koji nije u intervalu 1-5, ispisuje se poruka o tome i ponavlja se unos. Ako korisnik pogodi točan kod (npr. 3), ispisuje se poruka: Bravo! I moja boja je crvena Ako korisnik ne pogodi i unese npr. 2, ispisuje se poruka: Zao mi je! Moja boja nije crna
n=0 RANDOMIZE TIMER n = INT(1 + RND * 5) PRINT "Pogodi boju!" PRINT PRINT " Kodovi boja:" PRINT " 1 = bijela" PRINT " 2 = crna" PRINT " 3 = crvena" PRINT " 4 = plava" PRINT " 5 = zelena" 10 INPUT "Unesi kod boje: "; kod IF kod < 1 OR kod > 5 THEN PRINT "Pogresan unos! Boja je na intervalu 1-5" GOTO 10 END IF boja$ = "" SELECT CASE kod CASE 1 boja$ = "bijela" CASE 2 boja$ = "crna" CASE 3 boja$ = "crvena" CASE 4 boja$ = "plava" CASE 5 boja$ = "zelena" END SELECT WHILE kod <> n PRINT "Zao mi je! Moja boja nije "; boja$ GOTO 10 WEND PRINT "Bravo! I moja boja je "; boja$ REM u datoteku unositi stringove dok se ne unese prazan string REM za svaki podstring duljine 2 ili vise u kojem se pojavljiva REM isti znak ispisati koliko puta se pojavila i taj znak i tako REM za sve znakove u stringu REM .npr za AAABCCE ispisati 3AB2CE OPEN "dat.txt" FOR OUTPUT AS #1 a$ = " " WHILE NOT a$ = "" INPUT "Unesi string: "; a$
PRINT #1, a$ WEND CLOSE #1 OPEN "dat.txt" FOR INPUT AS #1 WHILE NOT EOF(1) INPUT #1, a$ b$ = "" FOR i = 1 TO LEN(a$) br = 1 WHILE MID$(a$, i, 1) = MID$(a$, i + br, 1) br = br + 1 WEND IF br > 1 THEN b$ = b$ + STR$(br) + MID$(a$, i, 1) ELSE b$ = b$ + MID$(a$, i, 1) END IF i = i + br - 1 NEXT i PRINT b$ WEND CLOSE #1 REM Napiši program koji u datoteku unosi brojeve (pita korisnika zeli li nastaviti) i zatim REM ispisuje koliko kojih znamenki ima u broju
INPUT "Unesi ime datoteke: "; ime$ OPEN ime$ FOR OUTPUT AS #1 INPUT "Unesi broj: "; broj PRINT #1, broj CLOSE #1 OPEN ime$ FOR INPUT AS #1 a=0 b=0 c=0 d=0 e=0 f=0 g=0 h=0 j = 0 k=0 WHILE NOT EOF(1) INPUT #1, broj br = 0
x = broj WHILE x > 0 y = x MOD 10 x = INT(x / 10) SELECT CASE y CASE 1 a=a+1 CASE 2 b=b+1 CASE 3 c=c+1 CASE 4 d=d+1 CASE 5 e=e+1 CASE 6 f=f+1 CASE 7 g=g+1 CASE 8 h=h+1 CASE 9 j=j+1 CASE 0 k=k+1 END SELECT WEND PRINT broj PRINT 1; "="; a; " "; 2; "="; b; " "; 3; "="; c; " "; 4; "="; d; " "; 5; "="; e; " "; 6; "="; f; " "; 7; "="; g; " "; 8; "="; h; " "; 9; "="; j; " "; 0; "="; k WEND CLOSE #1 4.zadatak -korisnik unosi prirodan broj n nakon čega unosi niz od n različith prirodnih brojeva (obavezna provjera uvjeta). -ispisati sve savršene brojeve iz niza. broj je savršen ako je jednak sumi svih svojih djelitelja, isključujući njega samoga. npr. 6=1+2+3.za svaki savršeni broj ispisati njegove djelitelje osim njega samoga. 10 INPUT "Unesi n: "; n IF n < 0 THEN PRINT "Broj mora biti prirodan!" GOTO 10 END IF DIM a(n) FOR i = 1 TO n
INPUT "Unesi broj: "; a(i) NEXT i FOR i = 1 TO n PRINT a(i); " "; NEXT i PRINT PRINT "SAVRSENI BROJEVI: " FOR i = 1 TO n s=0 FOR j = 1 TO n - 1 IF a(i) MOD j = 0 THEN s = s + j NEXT j IF a(i) = s THEN PRINT a(i); " - djeljitelji: "; FOR k = 1 TO n - 1 IF a(i) MOD k = 0 THEN PRINT k; NEXT k PRINT END IF NEXT i 5.zadatak -korisnik unosi prirodan broj n nakon čega unosi niz od n različith prirodnih brojeva (obavezna provjera uvjeta). -ispisati broj koji nastaje spajanjem znamenke koja se pojavljuje najviše u tim brojevima i znamenke koja se pojavljuje najmanje -za svaka dva susjedna člana niza ispisati uniju znamenki(ako postoji) 10 INPUT "Unesi n: "; n IF n < 0 THEN PRINT "Nije prirodan" GOTO 10 END IF DIM a(n) FOR i = 1 TO n 20 INPUT "Unesi broj: "; a(i) IF a(i) < 0 THEN PRINT "Nije prirodan" GOTO 20 END IF NEXT i FOR i = 1 TO n PRINT a(i); " "; NEXT i
c=0 i=0 FOR j = 1 TO n x = a(j) b=0 DIM z(100) WHILE x > 0 b=b+1 i=i+1 z(i) = x MOD 10 x = INT(x / 10) WEND c=c+b NEXT j q=0 FOR j = 2 TO c IF z(1) = z(j) THEN q = q + 1 NEXT j max = z(1) w=q min = z(1) FOR i = 2 TO c - 1 b=0 FOR j = i + 1 TO c IF z(i) = z(j) THEN b = b + 1 NEXT j IF b > q THEN max = z(i) q=b END IF IF b < w THEN min = z(i) w=b END IF NEXT i PRINT PRINT "Najvise puta se pojavljuje "; max; ",a najmanje "; min broj = max * 10 + min PRINT "Broj nastao spajanjem tih znamenaka je "; broj REM Unijeti u datoteku proizvoljni broj brojeva (pita korisnika zeli li nastaviti unos) REM Iscitati iz datoteke i sortirati brojeve REM ispisati njihov binarni i heksadecimalni ekvivalent REM provjeriti je li broj prost. ako jest ispisat ga naopako
OPEN "dat.txt" FOR OUTPUT AS #1 10 INPUT "Unesi broj: "; a PRINT #1, a INPUT "Zelite li nastaviti unos?(da/ne) "; odg$ IF UCASE$(odg$) = "DA" THEN GOTO 10 CLOSE #1 OPEN "dat.txt" FOR INPUT AS #1 DIM niz(100) nja = 0 WHILE NOT EOF(1) INPUT #1, a nja = nja + 1 niz(nja) = a DIM bi(100) x=a i=0 PRINT x PRINT "BIN:"; WHILE x > 0 y = x MOD 2 x = INT(x / 2) i=i+1 bi(i) = y WEND FOR j = i TO 1 STEP -1 PRINT bi(j); NEXT j PRINT DIM he(100) x=a y=0 i=0 PRINT "HEX:"; WHILE x > 0 y = x MOD 16 x = INT(x / 16) i=i+1 he(i) = y WEND FOR j = i TO 1 STEP -1 IF he(j) < 10 THEN PRINT he(j); ELSE SELECT CASE he(j)
CASE 10 PRINT " A"; CASE 11 PRINT " B"; CASE 12 PRINT " C"; CASE 13 PRINT " D"; CASE 14 PRINT " E"; CASE 15 PRINT " F"; END SELECT END IF NEXT j PRINT p=0 FOR i = 2 TO SQR(a) IF a MOD i = 0 THEN p = p + 1 NEXT i IF p = 0 THEN PRINT "Broj je prost" PRINT "Broj naopako je:"; x=a WHILE x > 0 y = x MOD 10 x = INT(x / 10) PRINT y; WEND PRINT END IF PRINT WEND PRINT "Sortirani niz: " FOR i = 1 TO nja - 1 FOR j = i + 1 TO nja IF niz(i) > niz(j) THEN t = niz(i) niz(i) = niz(j) niz(j) = t END IF NEXT j NEXT i FOR i = 1 TO nja PRINT niz(i); " "; NEXT i