Udbenik informatike za 6 razred Programski jezik Small
Udžbenik informatike za 6. razred Programski jezik Small Basic Program za ispis kalendara u pojedinom mjesecu
Program 63 Bzad 72. sb na • Udžbenik informatike za 6. razred • 2 • Program ispisuje kalendar za svaki mjesec u godini koja nije prijestupna. Korisnik treba upisati koji dan u tjednu je 1. u mjesecu (1 -ponedjeljak, 2 -utorak, 3 -srijeda, 4 -četvrtak, 5 -petak, 6 -subota, 7 -nedjelja), te za koji mjesec (upisati broj od 1 do 12) se ispisuje kalendar. Program će ispisati kalendar.
Udžbenik informatike za 6. razred Nekoliko ispisa programa koji se mogu dobiti: 3
O čemu moramo voditi računa? 1. Udžbenik informatike za 6. razred 2. 4 3. 4. 5. 6. Mjesec u godini koja nije prijestupna može imati 28, 30 ili 31 dan. Datumi su jednoznamenkasti ili dvoznamenkasti brojevi, pa ćemo ispisivati u svaki treći stupac Položaj 1. u mjesecu moramo odrediti ovisno o učitanom danu u tjednu Sljedeća 3 reda sigurno imaju po 7 dana U petom redu treba ispisati preostale datume u mjesecu Ako smo u 5. redu već ispisali 7 dana, a ostalo je još dana u mjesecu preostale dane ispisujemo u 6. redu
Udžbenik informatike za 6. razred Varijable koje se koriste 5 • prvi – broj od 1 do 7 – pamti dan u tjednu prvoga dana u mjesecu • mjesec – pamti mjesec • broj – broj dana u mjesecu • ispisano – koliko smo dana ispisali • dan – redni broj dana kojeg treba ispisati • broji_dan – broji koliko je dana ispisano u pojedinom retku
Udžbenik informatike za 6. razred Rješenje (1/6): Upis ulaznih vrijednosti: 6 Text. Window. Title="PROGRAM ZA ISPIS KALENDARA" Text. Window. Write. Line ("Upiši redni broj koji označava koji dan u tjednu je 1. u mjesecu") Text. Window. Write. Line ("1 -ponedjeljak, 2 -utorak, 3 -srijeda, 4četvrtak 5 -petak, 6 -subota, 7 -nedjelja") Text. Window. Write ("Prvi u mjesecu je: ") prvi=Text. Window. Read. Number() Text. Window. Write ("Upiši mjesec za koji se kalendar ispisuje: ") mjesec=Text. Window. Read. Number()
Udžbenik informatike za 6. razred Rješenje (2/6): Određivanje broja dana u mjesecu: 7 If mjesec = 2 Then broj = 28 Goto briši End. If If mjesec = 4 Then broj = 30 Goto briši End. If If mjesec = 6 Then broj = 30 Goto briši End. If If mjesec = 9 Then broj = 30 Goto briši End. If If mjesec = 11 Then broj = 30 Goto briši End. If broj = 31 briši: Text. Window. Clear() započinje ispis kalendara
Udžbenik informatike za 6. razred Rješenje (3/6): Ispis prvog retka 8 dan = 1 ispisano = 0 stupac = (prvi - 1) * 3 + 3 For m = 1 To 8 -prvi Text. Window. Cursor. Top=4 Text. Window. Cursor. Left=stupac Text. Window. Write (dan) dan = dan + 1 stupac = stupac + 3 ispisano = ispisano + 1 End. For Ako u varijabli prvi pamtimo redni broj prvog dana u mjesecu onda u prvom redu treba ispisati 8 -prvi dana (Ako je prvi=1 ispisujemo svih 7 prvi dana, a ako je npr. prvi=6 prvi ispisujemo samo 2 dana: subotu i nedjelju. Nakon ove For petlje u varijabli dan nalazi se broj dana kojeg sljedećeg treba ispisati, a u varijabli ispisano koliko smo dana ispisali.
Udžbenik informatike za 6. razred Rješenje (4/6): Ispis redaka u kojima 7 dana: 9 stupac = 3 For k = 0 To 2 For m = 1 To 7 Text. Window. Cursor. Top=2+k Text. Window. Cursor. Left=stupac Text. Window. Write (dan) dan = dan + 1 stupac = stupac + 3 ispisano = ispisano + 1 End. For stupac = 3 End. For If ispisano = broj Then Goto kraj End. If
Udžbenik informatike za 6. razred Rješenje (5/6): 10 broji_dan = 1 stupac = 3 povratak: Text. Window. Cursor. Top=5 Text. Window. Cursor. Left=stupac Text. Window. Write (dan) dan = dan + 1 broji_dan = broji_dan + 1 stupac = stupac + 3 ispisano = ispisano + 1 If dan <= broj Then If broji_dan <= 7 Then Goto povratak End. If Ne možemo koristiti For petlju jer ne znamo koliko je dana preostalo. Dane ispisujemo dok nismo ispisali sve dane (dan <= broj) ili dok nismo ispisali cijeli tjedan (broji_dan <= 7)
Udžbenik informatike za 6. razred Rješenje (6/6): 11 If ispisano = broj Then Goto kraj End. If broji_dan = 1 stupac = 3 gore: Text. Window. Cursor. Top=6 Text. Window. Cursor. Left=stupac Text. Window. Write (dan) dan = dan + 1 broji_dan = broji_dan + 1 stupac = stupac + 3 If dan <= broj Then Goto gore End. If kraj: Text. Window. Write. Line("") Ako je ispisano = broj, onda smo ispisali sve potrebne dane i preskačemo na kraj programa. Inače, ispisujemo posljednji redak kalendara.
Zadaci za učenike: Udžbenik informatike za 6. razred a) 12 b) c) d) Dopuni program tako da ispisuje kalendar i za prijestupnu godinu Radne dane ispiši žutom bojom, a nedjelje crvenom Na vrhu kalendara ispiši početna slova dana u tjednu: P, U, S, Č, P, S i N. Dodaj naredbe koje ispisuju ime pojedinog mjeseca u godini.
Udžbenik informatike za 6. razred Rješenje (1/7): Text. Window. Title="PROGRAM ZA ISPIS KALENDARA" Text. Window. Write. Line ("Upiši redni broj koji označava koji dan u tjednu je 1. u mjesecu") Text. Window. Write. Line ("1 -ponedjeljak, 2 -utorak, 3 -srijeda, 4četvrtak 5 -petak, 6 -subota, 7 -nedjelja") Text. Window. Write ("Prvi u mjesecu je: ") prvi=Text. Window. Read. Number() Text. Window. Write ("Upiši mjesec za koji se kalendar ispisuje: ") mjesec=Text. Window. Read. Number() Text. Window. Write ("Je li godina prijestupna? 0 -NE, 1 -DA: ") prijestupna=Text. Window. Read. Number() Nove naredbe označene su svijetlo plavom podlogom. 13
Udžbenik informatike za 6. razred Rješenje (2/7): 14 If mjesec = 2 Then If prijestupna=1 Then broj=29 Else broj = 28 End. If Goto briši End. If If mjesec = 4 Then broj = 30 Goto briši End. If If mjesec = 6 Then broj = 30 Goto briši End. If If mjesec = 9 Then broj = 30 Goto briši End. If If mjesec = 11 Then broj = 30 Goto briši End. If broj = 31 briši: Text. Window. Clear() Text. Window. Foreground. Color=11 Text. Window. Cursor. Top=1 Text. Window. Cursor. Left=11
Udžbenik informatike za 6. razred Rješenje (3/7): 15 If mjesec = 1 Then Text. Window. Write End. If If mjesec = 2 Then Text. Window. Write End. If If mjesec = 3 Then Text. Window. Write End. If If mjesec = 4 Then Text. Window. Write End. If If mjesec = 5 Then Text. Window. Write End. If If mjesec = 6 Then Text. Window. Write End. If ("SIJEČANJ") ("VELJAČA") ("OŽUJAK") ("TRAVANJ") ("SVIBANJ") ("LIPANJ") If mjesec = 7 Then Text. Window. Write ("SRPANJ") End. If If mjesec = 8 Then Text. Window. Write ("KOLOVOZ") End. If If mjesec = 9 Then Text. Window. Write ("RUJAN") End. If If mjesec = 10 Then Text. Window. Write ("LISTOPAD") End. If If mjesec = 11 Then Text. Window. Write ("STUDENI") End. If If mjesec = 12 Then Text. Window. Write ("PROSINAC") End. If
Udžbenik informatike za 6. razred 16 Text. Window. Cursor. Top=2 Text. Window. Cursor. Left=3 Text. Window. Foreground. Color=15 Text. Window. Write. Line ("P U S Č Text. Window. Foreground. Color=14 dan = 1 ispisano = 0 stupac = (prvi - 1) * 3 + 3 For m = 1 To 8 -prvi Text. Window. Cursor. Top=4 Text. Window. Cursor. Left=stupac If stupac = 21 Then Text. Window. Foreground. Color=12 Else Text. Window. Foreground. Color=14 End. If Text. Window. Write (dan) dan = dan + 1 stupac = stupac + 3 ispisano = ispisano + 1 End. For Rješenje (4/7): P S N")
Udžbenik informatike za 6. razred 17 stupac = 3 For k = 0 To 2 For m = 1 To 7 Text. Window. Cursor. Top=5+k Text. Window. Cursor. Left=stupac If stupac = 21 Then Text. Window. Foreground. Color=12 Else Text. Window. Foreground. Color=14 End. If Text. Window. Write (dan) dan = dan + 1 stupac = stupac + 3 ispisano = ispisano + 1 End. For stupac = 3 End. For If ispisano = broj Then Goto kraj End. If Rješenje (5/7):
Udžbenik informatike za 6. razred 18 broji_dan = 1 stupac = 3 povratak: Text. Window. Cursor. Top=8 Text. Window. Cursor. Left=stupac If stupac = 21 Then Text. Window. Foreground. Color=12 Else Text. Window. Foreground. Color=14 End. If Text. Window. Write (dan) dan = dan + 1 broji_dan = broji_dan + 1 stupac = stupac + 3 ispisano = ispisano + 1 IF dan <= broj Then If broji_dan <= 7 Then Goto povratak End. If Rješenje (6/7):
Udžbenik informatike za 6. razred 19 If ispisano = broj Then Goto kraj End. If broji_dan = 1 stupac = 3 gore: Text. Window. Cursor. Top=9 Text. Window. Cursor. Left=stupac If stupac = 21 Then Text. Window. Foreground. Color=12 Else Text. Window. Foreground. Color=14 End. If Text. Window. Write (dan) dan = dan + 1 broji_dan = broji_dan + 1 stupac = stupac + 3 If dan <= broj Then Goto gore End. If kraj: Text. Window. Write. Line("") Rješenje (7/7):
- Slides: 19