Blocarea operatorului, blocuri de date, subrutine de bază de limbă - limbaj de programare de bază

În cazul în care problema datelor prelucrate sunt organizate ca matrice, în acest caz, interpretul este obligat să raporteze informațiile necesare pentru a aloca memorie pentru matrice utilizate în program. Pentru a face acest lucru, utilizați operatorul DIM.

Format: DIM a1 (m1), a2 (m2). aN (mN)

ai este numele matricei;

mi - listă de parametri care specifică valorile maxime ale indicilor de matrice. Lista mi poate conține una sau două constante întregi sau variabile separate de a cincea, precum și expresii aritmetice. Indicii variază de la 0 la maxim.

Exemplu: DIM A (4), B (5,8), A1 $ (5), B1 $ (3,4)

Operatorul DIM descrie matrice numerice A și B, matrice de caractere A1 $ și B1 $. Matricea A este unidimensională și conține 5 elemente A (0), A (1), A (2), A (3), A (4). O matrice numerică bidimensională B conține 6 rânduri și 9 coloane. Gama simetrică unidimensională A1 $ constă din 6 elemente. Matricea bidimensională simbolică B1 $ constă din 20 de elemente (4 rânduri, 5 coloane).

Procesarea matricelor în limba BASIC se face element-cu-element. Instrucțiunea DIM care descrie matricea trebuie să fie localizată în program înainte de prima instrucțiune utilizând elementele sale.

Dacă nu există mai mult de 11 elemente într-o matrice unidimensională și într-o matrice bidimensională nu mai mult de 11 rânduri și 11 coloane, atunci astfel de rețele nu pot fi descrise.

Puteți utiliza nume de variabile ca indici maximi. Dar valorile pentru variabile trebuie să fie atribuite înainte de declarația DIM.

Exemplul 1: Exemplul 2:

10 INTRARE N, K 10 INTRARE N, M

20 DIM A (N), B (K, N) 20 DIM A (N + 1, M)

Exemplul 3: Având în vedere rețelele unidimensionale A și B, care conțin elemente N. Formați o matrice nouă D, fiecare element al căruia este determinată de formula

10 INPUT "Introduceți dimensiunea matricelor";

20 DIM A (N), B (N), C (N), D (N)

40 INTRAREA A (I), B (I), C (I)

Blocuri de date

a) Operatorul DATA

Instrucțiunea DATA este creată pentru a crea un bloc de date.

DATA este cuvântul cheie;

A este o listă care conține una sau mai multe constante reale, întregi sau șir separate prin virgule (nu este necesar să includeți în ghilimele constante șir).

Operatorul DATA creează un bloc de date în memoria principală a computerului. Informațiile din blocul de date sunt scrise în ordinea în care se află în listă. Dacă programul nu folosește mai mulți operatori DATA, se formează un bloc de date prin legarea secvențială a valorilor din liste în ordinea apariției operatorilor.

Exemplu: 20 DATE 2, 5.6, program

50 DATE 8, exemplu, 37,6, 5

Există 7 elemente în blocul de date: 2, 5.6, program, 8, exemplu, 37.6, 5

b) operatorul READ

Pentru a citi informații din blocul de date, instrucțiunea READ este destinată.

READ - cuvânt cheie;

V este o listă cu numele uneia sau mai multor variabile, separate prin virgule.

Blocul de date este organizat astfel încât să furnizeze acces secvențial la informațiile stocate în acesta utilizând un indicator intern. Poziția curentă a indicatorului indică un element de bloc de date care poate fi citit direct. Când programul este pornit, pointerul este setat la elementul inițial al blocului. În timpul funcționării, operatorul primul element de a citi date bloc de date din lista operatorului i se atribuie ca valoarea variabilei al cărui nume se află în prima listă operatorul de citire și cursorul se mută în poziția următoare și este acum indică al doilea element al blocului de date. Dacă există o altă denumire a variabilei în lista de instrucțiuni READ, al doilea element va fi atribuit ca valoare. Pointerul se mută apoi în următoarea poziție și procesul se repetă până când lista de instrucțiuni READ se termină.

La sfârșitul listei, pointerul va fi setat la elementul bloc de date urmând ultima valoare citită. Dacă se întâlnește o altă instrucțiune READ în program, atribuirea elementelor din blocul de date variabilelor din lista de instrucțiuni READ va fi efectuată pornind de la poziția cursorului curent.

Exemplu: 30 CITIȚI A, B

A = 2 B = 5.6 C = "program"

D = 8 E = "exemplu" F = 37,6 G = 5

DATA este singura limbă fundamentală al cărei număr de rând nu afectează ordinea acțiunilor efectuate. Numărul liniei este necesar numai pentru ca formatul general al programului să fie susținut.

Doar instrucțiunea READ determină când și ce date trebuie citite.

c) Operatorul RESTORE

Pentru a readuce pointerul la începutul blocului de date, utilizați instruciunea RESTORE.

Format: RESTORE sau RESTORE N

N este numărul liniei care conține instrucțiunea DATA.

Utilizarea acestui operator vă permite să citiți în mod repetat aceleași date de către diferiți operatori DATA și să le atribuiți ca valori diferitelor variabile.

40 DATE 2, 4, 8, 3, -6, 4

A = 2, A1 = 4, A2 = 8, inclusiv un pointer la 3, dar returneaza-l RESTORE pe primul număr, deci B = 2, B1 = 4.

Dacă specificați numărul liniei care conține instrucțiunea DATA în instrucțiunea RESTORE, indicatorul marchează prima valoare. După ce RESTORE modifică poziția indicatorului, orice citire ulterioară va începe citirea datelor din noua poziție specificată.

Operatorul DATA ar trebui să fie utilizat în cazurile în care anumite variabile trebuie să fie atribuite acelorași valori de fiecare dată când un program este executat.

Subrutine ale limbajului de bază

a) Operatorii GOSUB și RETURN

La scrierea programelor, devine deseori necesară efectuarea acelorași acțiuni în diferite părți ale programului. În multe cazuri, aceste acțiuni trebuie efectuate cu date inițiale diferite. Scrierea unui astfel de program va fi mai simplă dacă înregistrați o singură secțiune de calcul repetată și apoi accesați-o din diferite locuri din program. Această posibilitate este oferită de utilizarea subrutinelor.

În BASIC, subrutina este accesată de operatorul GOSUB.

GOSUB este cuvântul cheie;

N este numărul primei linii cu care trebuie să înceapă subrutina (punctul de intrare la subrutină).

Ultima declarație executată în subrutină trebuie să fie operatorul RETURN, care readuce controlul la programul principal.

Exemplu: Există date privind suprafața grâului din fermele raionului. Este necesar să se determine numărul de ferme în care suprafața este mai mare decât unele pentru o anumită valoare.

Programul principal REM

30 PRINT "Introduceți numărul de ferme"

60 PRINT "Introduceți zona plantată în fermă";

90 PRINT "Introduceți limita inferioară a zonei de cultură" 100 INPUT D

120 PRINT "Numărul fermelor cu o suprafață însămânțată>"; D; "="; K