Cum de a lucra cu fișiere (BASIC)

Cum de a lucra cu fișiere (BASIC)

Până în prezent, am introdus datele de la tastatură, iar rezultatele sunt afișate. Dacă lucrați cu seturi mari de date de intrare introduse de la tastatura este extrem de incomod: nu există nici o ocazie de a pregăti în prealabil și să verifice informațiile, și să-l câștige, la cererea programului este foarte obositor. Display-ul, la rândul său, nu poate salva datele de pe suportul de mașină și să le utilizeze în activitatea viitoare.

de prelucrare a fișierelor, disponibil în limba BASIC, extinde dramatic oportunitățile.

Pentru a începe cu fișierul, va trebui mai întâi să-l deschidă - OPEN. Apoi, puteți elibera sau o altă porțiune a octetului comanda de citire de la intrare fișier-operator sau scrie comenzi în următoarea porțiune a fișierului octet - declarație PRINT.

Lucrul cu fișiere în mediul QBasic (la fel ca în orice alt mediu), trebuie să vă amintiți că programul recunoaște fișiere în două moduri: în funcție de tipul și metoda de accesare octeți scrise la dosar.

1. Fișierele pot fi împărțite în funcție de tipul de text și non-text (binar). Acolo a subliniat, de asemenea convenționalitatea acestei împărțiri: orice programator fișier text poate citi și binar (dar nu și invers).

Porțiune de bytes care citește un program în timpul executării unei comenzi INPUT (sau care înregistrează comanda programul PRINT), fișierul este numit un record.

În fișierul text înregistrarea este considerat a fi familiar linie a fișierului, adică, o secvență de octeți într-un separator - .. Caractere retur de car (cod 13) și „linie nouă“ (cod 10). Aceste caractere în înregistrarea nu este inclus.

Implicit QBasic găsește fișiere ca text, de exemplu. A. citește o porțiune de octeți de caractere 13 și 10, și o altă parte a înregistrării adaugă automat bytes la sfârșitul caracterelor ei 13 și 10.

Dacă fișierul a declarat în mod explicit binar (BINARY), programul nu se mai distinge de caractere normale separatorii este. Trebuie să specificați în mod explicit lungimea înregistrării în octeți (de exemplu, 14, 68, 160), și calculatorul mecanic trimite specificați configurația de biți a programului (citire) sau pe un disc (în timpul înregistrării) nu este interesat de semnificația lor.

2. Programul face distincția între fișierele de acces secvențiale (intrare, ieșire, anexați) fișiere și acces aleator (RANDOM)

Dacă specificați un acces aleator, în orice moment, puteți face referire la orice parte a datelor într-un fișier existent - pentru a citi sau de actualizare.

Vom lua în considerare numai textul fișierelor de acces secvențiale deschis ca intrare (pentru a citi-intrare) sau de ieșire (pentru înregistrare - IEȘIRE). Fig. 3.30 de procesare de circuit tipic de fișier de acces secvențial.

3.21.2. Tehnica de lucru cu fișierul

Pentru a deschide un fișier, folosiți OPEN:

numele fișierului OPEN pentru modul AS #N

File name - modul obișnuit șir de caractere - cuvântul cheie de intrare (de intrare) sau de ieșire (de ieșire), N - (. N == 1,2) numărul de serie al fișierului pentru a deschide. Toți operatorii care lucrează cu fișierul, descrise mai jos, sunt deschise numai un fișier și se referă la el nu prin nume, ci pur și simplu pe numărul. Prin urmare, nu puteți deschide simultan două fișiere cu același număr. Închideți fișierul, puteți utiliza acest număr pentru a deschide un alt fișier.

Pentru activitatea de dezvoltare cu intrare și fișierul de intrare va rezolva următoarea problemă:

a) să introduceți într-un fișier text câteva numere;

b) intră lor de bază înseamnă sumă și pentru a găsi media;

c) pentru a deduce numerele TESTO.TXT numărul, imaginea suma medie m.

  • Asigurați-un program de bază.
  • „Blocați 1. Citiți fișierul de intrare.

    10 OPEN "TESTI.TXT" pentru intrare AS # 1

    20 sum = 0. k = 0 „suma și numărul

    30 WHILE NOT EOF (1)

    50 suma = suma + a. k = k + 1

    „Blocați 2. Înregistrați fișierul de ieșire.

    100 OPEN "TESTO.TXT" pentru ieșirea AS # 1

    110 PRINT # 1, k; sum; sred

    130 PRINT k; suma; sred

    Citirea fișierului de intrare pentru a while. WEND.

    Operatorul #N CLOSE închide dosarul cu numărul specificat.

    100-120 echipe Deschidem TESTO.TXT fișier de ieșire derivă sale valori k, suma și SRED și închideți-l.

    Deschideți fișierul text rezultat (comanda [File-Open]) și asigurați-vă că într-o singură linie a fișierului este de fapt scris la numărul de numere, sume si medii.

    Vă recomandăm să utilizați pentru a citi fișierul nu este operatorul de intrare ( „Enter“), iar intrarea operatorului LINE ( ​​„Introduceți șirul“). Diferența principală dintre acești operatori este după cum urmează. INPUT, citirea înregistrării (string fișier), deoarece mimează datele de afișare de intrare: debarasează spațiile inițiale și rămase în urmă într-un rând și virgulă interpretează ca separator de date. LINE INPUT citește întreaga linie, pentru separatoare 13 și 10.

    Exemplu. Familiarizarea cu fișierele de text metode de prelucrare, puteți scrie un scurt „concert“, program fără dificultate, care va juca orice melodie, înregistrate într-un fișier text. De exemplu, începeți să introduceți melodia „Fur Elise“ în fișier text ELIZA.TXT (un joc mai mic și citate):

    . L8 Oz e scrie un program:

    INPUT „Introduceți numele fișierului-melodia“, fl $

    $ Fl DESCHISĂ de intrare ca # 1

    LINE INPUT # 1. ml $

    Accesul la fișierele. (BASIC)

    # 9; Pentru a începe cu un fișier este necesar pentru a deschide comanda OPEN. Puteți citi apoi operatorul provoditm comanda de intrare sau de o comandă de scriere într-o declarație de fișier PRINT. Lucrul cu fișiere este important să ne amintim că programul diferențiază între fișiere în două moduri: în funcție de tipul și metoda de acces.

    Dacă specificați un acces aleator, apoi, în orice moment, puteți merge la orice parte a fișierului și a citit-o sau scrie.

    În viitor, vom lua în considerare doar fișiere text secvențiale deschise ca date de intrare (pentru a citi-intrare) sau de ieșire (pentru înregistrare - IEȘIRE)

    Fișierul text este tratat ca un set de șiruri de lungime variabilă. Accesul la fiecare este posibilă numai secvențial, începând cu prima. Atunci când creați un fișier text la sfârșitul fiecărui rând este un semn specific de EOLN, iar în cele din urmă doar pe EOF.

    Tehnica de lucru cu fișierul.

    Pentru a deschide un fișier, folosiți OPEN:

    numele fișierului OPEN pentru modul AS # N

    Numele fișierului este de obicei un șir de caractere mod - comanda de intrare sau ieșire N - numărul de serie al fișierului pentru a deschide. Toți operatorii sunt discutate mai jos sunt doar fișier deschis și se referă la el după nume și nu prin număr.

    Sarcina de tip într-un fișier text test.txt mai multe numere

    Introduceți-le prin intermediul BASIC, rezuma și pentru a găsi media,

    Intră în ASD.txt cantitate de numere, iar valoarea fișierului media.

    REM citirea fișierului de intrare.

    DESCHIS "test.txt" pentru intrare AS # 1

    suma = suma + a: k = k + 1