90 likes | 295 Views
Datoteke. Zašto datoteke ? (Motivacija !). 1. Izvršite popis učenika u razredu. 2. Unesite popis u računalo. 3. Izvršite SORT po abecednom redu. 4. Tiskajte izvještaj. PROBLEM !!! Došao/otišao učenik! Što učiniti? Očito - Ponoviti radnje po stavkama 1.; 2.; 3. i 4.
E N D
Datoteke Branko Žitko, PMF Split
Zašto datoteke ? (Motivacija !) 1. Izvršite popis učenika u razredu. 2. Unesite popis u računalo. 3. Izvršite SORT po abecednom redu. 4. Tiskajte izvještaj. PROBLEM !!! Došao/otišao učenik! Što učiniti? Očito - Ponoviti radnje po stavkama 1.; 2.; 3. i 4. DA LI JE OVO UČINKOVITO ?? (Sigurno nije !) Branko Žitko, PMF Split
QBasic Datoteke • Za snimanje podataka u datoteku: • Pozovi OPEN komandu (ime datoteke, modalitet datoteke OUTPUT, logički broj datoteke) • Upotrijebi PRINT komandu zajedno s logičkim brojem datoteke kako bi zapisao podatke u datoteku • Zatvori datoteku sa CLOSE komandom OPEN "test.dat" FOR OUTPUT AS #1 PRINT #1, "Pozdrav Svima"CLOSE #1 Kod imena datoteke se može navesti i cijela putanja, npr. "c:\temp\datoteka.dat" Ako putanja nije navedena, onda se datoteka snimila u direktorij u kojem se nalazi QBasic Branko Žitko, PMF Split
QBasic Datoteke • Za čitanje podataka iz datoteke: • Pozovi OPEN komandu (ime datoteke, modalitet datoteke INPUT, logički broj datoteke) • Upotrijebi INPUT komandu zajedno s logičkim brojem datoteke kako bi zapisao podatke iz datoteke u varijablu • Zatvori datoteku sa CLOSE komandom OPEN "test.dat" FOR INPUT AS #1 INPUT #1, tekst$CLOSE #1 PRINT tekst$ Pozdrav svima Branko Žitko, PMF Split
QBasic Datoteke • EOF – ispituje da li je program tijekom izvršavanja došao do oznake kraja datoteke • UCASE$ - pretvara slovo u veliko tiskano slovo Branko Žitko, PMF Split
QBasic Unos i čitanje QBasic Unos i čitanje REM Unos podataka CLS INPUT "Unesi naziv datoteke : "; N$ OPEN N$ FOR OUTPUT AS #1 11 INPUT "Unesi zapis"; a$ PRINT #1, a$ INPUT "Nastavak D/N ??"; O$ IF UCASE$(O$) = "D" THEN GOTO 11 END IF CLOSE #1 REM Citanje podataka CLS INPUT "Unesi naziv datoteke s podacima : "; N$ OPEN N$ FOR INPUT AS #1 DO WHILE NOT (EOF(1)) INPUT #1, a$ PRINT a$ LOOP CLOSE #1 Branko Žitko, PMF Split
QBasic Primjer Unjeti neko slovo. Upisati u datoteku proizvoljan broj imena studenata. Ispisati iz datoteke imena onih studenata koja započinju unesenim slovom. Procedura za unos – standardna U standardnu proceduru za ispis dodajemo nove linije INPUT "Unesi naziv datoteke s podacima : "; N$ INPUT “Unesi zeljeno slovo:”;slovo$ OPEN N$ FOR INPUT AS #1 DO WHILE NOT (EOF(1)) INPUT #1, a$ IF UCASE$(MID$(a$,1,1))=UCASE$(slovo$) THENPRINT a$ LOOP CLOSE #1 Branko Žitko, PMF Split
QBasic Zadaci • Napravi program koji će u datoteku “student.txt” zapisati podatke sljedeće podatke o studentu: ime, prezime, datum rođenja. • Napravi program koji će iz datoteke “student.txt” pročitati podatke o studentu i ispisati ih na ekran. • 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. • Napravi program koji će u datoteku “niz.txt” zapisati upisati n slučajno generiranih brojeva između 1 i 100. • Napravi program koji će iz datoteke “niz.txt” stvoriti n dimenzionalno polje, te učitati n slučajno generiranih brojeva iz datoteke u polje. Branko Žitko, PMF Split
QBasic Zadaci • Upisati u datoteku proizvoljan broj riječi. Ispisati iz datoteke samo one riječi kojima je duljina veća od 3. • Upisati u datoteku proizvoljan broj imena studenata. Ispisati iz datoteke imena tih studenata i broj pojavljivanja slova ''a'' u njihovom imenu. • Upisati u datoteku proizvoljan broj riječi. Ispisati iz datoteke na zaslon naopako samo one riječi kojima je duljina prost broj. Branko Žitko, PMF Split