Od tohto okamihu sa začíname venovať práci so súbormi, pomerne silným nástrojom, ktorý budeme veľmi často využívať pri mnohých úlohách.
Na hodine sa budeme jednotlivým príkazom venovať podrobnejšie, tu uverejňujem súhrn:
var nazov_premennej: TextFile; je deklarácia súborovej premennej
AssignFile(súb_premenná, meno_súboru); je príkaz, ktorý slúži na zapamätanie toho, že súborová premenná bude pracovať s uvedeným súborom
Rewrite(súb_premenná); slúži na otvorenie súboru (resp. na jeho vytvorenie, ak ešte neexistoval) a jeho sprístupnenie na zápis
Reset(súb_premenná); urobí otvorenie súboru na čítanie (súbor musí na disku už existovať, musí byť zostavený korektne)
WriteLn(súb_premenná, hodnota); slúži na zapisovanie hodnôt do súboru, za zapísanou hodnotou pridá prechod na nový riadok
Write(súb_premenná, hodnota); slúži na zapisovanie hodnôt do súboru, za zapísanou hodnotou nepridáva nový riadok
Read(súb_premenná, premenná); premenná je dátová premenná, do ktorej zapíšeme prečítané hodnoty
Readln(súb_premenná); nastaví kurzor na začiatok ďalšieho riadka (preskočí zvyšok momentálne čítaného riadka)
SeekEof(súb_premenná) – fcia, ktorej výsledok je True (ak zistí, že je na konci súboru, resp. v súbore už nasledujú iba prázdne riadky) alebo False (ak neplatí predchádzajúce tvrdenie)
SeekEoln(súb_premenná) – fcia, ktorá testuje, či v danom súbore v riadku, ktorý momentálne číta, je ešte niečo uvedené
Eof(súb_premenná) – fci, ktorá vráti True, ak sme v súbore už na jeho úplnom konci (a nenasledujú už ani žiadne prázdne riadky)
CloseFile(premenná); sa používa na zatvorenie súboru – nevyhnutné!!!
——————————————
1. Napíšte program, ktorý do súboru zapíše 8 čísel (druhé mocniny čísel 1 – 8).
Program tieto čísla zároveň vypíše aj do Mema.
2. Napíšte program, ktorý do súboru zapíše 20 riadkov, v ktorých budú tri čísla:
číslo (od 1 po 20), jeho druhá mocnina a jeho tretia mocnina. Vypíšte obsah súboru aj do Mema.
3. Napíšte program, ktorý do súboru zapíše 100 čísel (od 1 po 100),
pričom v každom riadku bude práve 10 čísel.
4. Vytvorte textový súbor trojuholnik.txt, ktorý bude obsahovať 20 riadkov:
v prvom bude číslo 1, v druhom dve čísla 1 a 2, v treťom tri čísla 1, 2 a 3, atď. až v poslednom v 20 riadku budú čísla od 1 do 20.
5. Napíšte program, ktorý vytvorí 10-riadkový súbor, pričom v každom riadku bude 50 čísel, a to bude jednotiek (1) alebo núl (0). Súbor vytvorte tak, aby v ňom bolo presne 100 jednotiek na náhodných pozíciách.
6. Napíšte program, ktorý do textového súboru zapíše prvých 15 členov Fibonacciho postupnosti.
Kto nevie, čo je Fibonacciho postupnosť, vygoogli si to. 😉
Domáca úloha, deadline 12.11.2016 o 23:59
7. Napíšte program, ktorý vygeneruje textový súbor teploty.txt.
Súbor bude obsahovať 7 riadkov pre 7 sledovaných dní. V každom riadku bude náhodný počet nameraných hodnôt (počet od 1 do 5). Teploty budú reálne čísla, ktoré vygenerujete náhodne od 10 do 25 na jedno desatinné miesto.
Súbor bude vyzerať napríklad takto:
10.0 13.7 14.5
25.0 20.6 11.3 12.4 14.6
18.9
19.2 20.3 22.4 21.5
11.6 12.7
13.0
27.0 10.6 17.3 14.4 14.6
BONUS za 2 body, deadline 12:11.2016 o 23:59
8. Napíšte program, ktorý si do dvojrozmerného poľa načíta „mapu“ bludiska s guličkou. Cieľom bude dostať guličku s pomocou šípok zo štartu do cieľa.
Nech je táto mapa uložená v stringu, ktorý vyzerá takto:
mapa:=’wwbwwwwwww’+’wweweeweew’+’weewewweww’+’wweeeeeeew’+’wwwwwwewww’+’weweeeewew’+’wewwewwwew’+’weewewewew’+
‘wweeeeeeew’+’wwwwwwwwew’;
pričom w znamená stenu (čierny štvorček), e znamená voľné miesto (biely štvorček) a b znamená loptičku (červená elipsa). Loptička sa po načítaní nachádza na štartovnej pozicii, cieľová pozícia je v pravom dolnom rohu.
Po načítaní sa vykreslí bludisko.
Ďalej použite procedúru onKeyDown (formulárová procedúra), v ktorej jeden z parametrov je parameter „key“. Ten nadobúda rôzne hodnoty podľa toho, aká klávesa bola zatlačená. Na jeho správne použitie ale musíte programu povedať, aby vytiahol knižnicu s príkazmi, ktoré pracujú s týmito klávesami, a to urobíte tak, že úplne v úvode do časti uses dopíšete lcltype. Teda bude to vyzerať takto:
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, lcltype;
Potom sa budete pýtať:
if key=vk_up … (vk_down, vk_right, vk_left)
A podľa toho posúvať guličku a prekresľovať bludisko.
Keď sa gulička dostane do cieľa, vypíšete krátku informáciu o tom, že sme vyhrali. 🙂
Najnovšie články
Najnovšie komentáre
- Judita komentoval 01 – čítame reťazce
- Edo Bleskovič komentoval 01 – čítame reťazce
- neviemuz komentoval 10 – trénujeme číselné „texťáky“
- admin komentoval 03 – ťahanie
- igor komentoval 03 – ťahanie
Aky prikaz sluzi nato aby mi to precitalo vsetko do konca ridku pls pls ?
Readln(t, s);
kde t je suborova premenna a s je premenna, do ktorej zapisujes to, co citas.
Dakujem 🙂