Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Programe
  • Citiți și citiți declarațiile. Proceduri de introducere a informațiilor

Citiți și citiți declarațiile. Proceduri de introducere a informațiilor

Te afli in sectiunea de programare Pascal. Înainte de a începe programarea, trebuie să clarificăm câteva dintre conceptele de care vom avea nevoie la început. Nu poți programa așa. Nu putem scrie un program în cuvinte - computerul nu înțelege decât zerouri și unu. Pentru aceasta, au fost create simboluri speciale în Pascal - limbajul Pascal, un set de cuvinte rezervate care nu pot fi folosite în programele lor nicăieri, cu excepția scopului propus. Să enumerăm conceptele de bază de care avem nevoie la început:

✎ 1) program - „program” în limba engleză, scris chiar la începutul codului, urmat de numele programului cu litere latine și punct și virgulă. De exemplu: program suma; - un program numit Summa. Dar această parte a codului, numită antetul programului, nu trebuie scrisă - este prezentă doar pentru claritate și arată ce problemă rezolvă programul dat. Aici am folosit cuvântul „cod” - acesta este numele înregistrării textuale a programului.

✎ 2) întreg - în engleză înseamnă „întreg” (sau doar „întreg”) și este folosit în Pascal pentru a desemna numere întregi cu semn de 32 de biți (8 octeți) cu intervalul [-2147483648, 2147483647]. Ce înseamnă aceste numere mari, vom analiza mai târziu.

✎ 3) real - din engleză „real”, „real”, „real”, „real”. În limbajul Pascal, acest termen denotă numere reale din intervalul [-1,8 ∙ 10 308, 1,8 ∙ 10 308]. Acestea sunt numere foarte mari, dar sunt afișate 15 - 16 cifre semnificative.Apropo, tipurile de date întregi și reale din mediul de programare PascalABC.Net sunt întotdeauna evidențiate automat cu albastru.

✎ 4) const - analog al englezei. „Constant” înseamnă „constant”, „constant”. În Pascal, este o cantitate care nu poate fi schimbată. Este scris astfel:


Această intrare ar trebui să fie percepută așa cum este scrisă: numărul N este 12, S este 5, „pi” este 3,14 (ca și în matematică, în Pascal se folosește doar un punct în loc de virgulă). În ultima linie, am folosit o dublă bară (două bare oblice) urmată de text - așa sunt scrise comentariile în Pascal, iar programul nu le acceptă. Tot ceea ce începe cu o bară oblică dublă și până la sfârșitul rândului este un comentariu care este scris pentru a explica programul și este întotdeauna evidențiat într-o culoare diferită (în PascalABC.Net este verde, în Turbo Pascal acest gen de comentariu este nefolosit). Există un alt tip de comentariu - acesta (text inclus în acolade, precum și aici, evidențiat și în verde). Acest tip de comentariu poate acționa mai multe rânduri la rând - de la începutul parantezei până la închiderea acesteia, iar tot ceea ce se află în mijlocul unei astfel de construcții nu este perceput de compilator ca cod și pur și simplu sărit peste.

De fapt, formatul de înregistrare const putin mai greu. Conform regulilor, trebuia să scriem:

1 2 3 4 const N: tip întreg;

Descriere:

")" onmouseout = "toolTip ()"> întreg
= 12 ; // număr N - tip întreg S: tip întreg;

Descriere:
Reprezintă un număr întreg cu semn de 32 de biți.

Interval de valori: -2 147 483 648 .. 2 147 483 647")" onmouseout = "toolTip ()"> întreg
= 5 ; // număr S - tip întreg pi: tip real;

Descriere:
Reprezintă un număr în virgulă mobilă cu precizie dublă.

Dimensiune: 8 octeți
Număr de cifre semnificative: 15 - 16
Interval de valori: -1,8 ∙ 10 308 .. 1,8 ∙ 10 308
")" onmouseout = "ToolTip ()"> real
= 3.14 ; // numărul "pi" - real

După declararea fiecărei valori, se indică tipul acesteia, apoi se atribuie o valoare. Dar și intrarea anterioară este corectă, deoarece compilatorul Pascal este configurat astfel încât să detecteze automat tipul constantei. Dar nu același lucru se poate spune despre următorul tip de numere - variabile.

✎ 5) var - provine din engleză. „Variabilă” (sau „volatilă”), care în Pascal înseamnă o valoare care în cursul programului își poate schimba valoarea. Este scris astfel:


După cum puteți vedea din intrare, nu există semnul „=" - variabilele de același tip sunt recalculate (separate prin virgule) și numai tipul este indicat după două puncte. Variabilele N, m (numere întregi) și Q, r, t (real) din program pot schimba valori în cadrul întregului și, respectiv, real. Încă o notă: descrierea variabilelor vine întotdeauna după descrierea constantelor (constantelor) - mai întâi vine construcția const, iar apoi var.

✎ 6) începe - tradus din engleză înseamnă „a începe”, iar Pascal înseamnă începutul programului principal în care sunt scrise comenzi (operatorii). După cuvânt începe fără punct și virgulă.

✎ 7) final - în engleză. „Sfârșit”, iar în limbajul Pascal înseamnă același lucru (sfârșitul programului). După ultimul cuvânt Sfârșitîntotdeauna există un punct. Am evidențiat cuvântul „ultimul” din cauza utilizării construcției început - sfârșit eventual într-un alt caz: acestea sunt așa-numitele paranteze operator, care sunt folosite pentru a combina mai multe operații sub un singur operator. Dar mai multe despre asta mai târziu. Astfel, programul principal va arăta astfel:

1 2 3 4 5 6 începe < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; Sfârșit.

Aici operatorii din corpul programului sunt comenzi diferite față de compilator.

✎ 8) scrie - în engleză înseamnă „a scrie”. Acest operator afișează textul plasat în el, motiv pentru care se numește operator de ieșire. Textul plasat în el este evidențiat cu albastru și scris astfel:

Scrie ( „acest text este afișat”);

Mesajul dintre paranteze și ghilimele va fi afișat în fereastra consolei (doar între paranteze fără ghilimele este imposibil). După executarea acestei instrucțiuni, vom vedea pe ecran:

acest text este afișat pe ecran

În această formă, operatorul de scriere este utilizat în cazul în care este necesar să se afișeze un indiciu, explicație, comentariu etc. Și din cazul în care este necesară și afișarea unei valori numerice, să spunem, S = 50 sq. m, atunci se folosește formatul:

Scrie (, S);

Ca rezultat, obținem rezultatul pe ecran:

Dimensiunea zonei este: S = 50

Și dacă este necesar să afișați unitățile de măsură, trebuie să introduceți din nou textul între ghilimele după S:

Scrie ( „Aria este egală cu: S =", S, "Mp");

După executarea ultimei instrucțiuni de ieșire, obținem rezultatul pe ecran:

Dimensiunea suprafetei este: S = 50 mp

✎ 9) writeln este la fel ca write, dar după execuție cursorul va fi mutat pe linia următoare.

✎ 10) citit - tradus din engleză înseamnă „citește”, prin urmare citirea se numește operator de citire, sau introducere de date. Este scris ca citire (N), ceea ce înseamnă că trebuie să introduceți valoarea N, unde N este orice număr, sau text sau orice alt tip de variabilă. De exemplu, dacă trebuie să introduceți vârsta unei persoane care are 32 de ani, o putem scrie astfel:


În prima linie a acestui cod, programul afișează întrebarea „ Ce vârstă ai?„Și mută cursorul pe linia următoare (se termină cu ln); pe a doua linie, tipărim „Anul =" (la început cu un spațiu); apoi vedem operatorul readln (An), ceea ce înseamnă necesitatea introducerii vârstei An (numărul 32); În cele din urmă, afișăm mesajele „Vârsta mea”, „32” și „Ani”. "Unul câte unul. Trebuie să urmăriți cu atenție spațiile. Ca urmare a executării acestui cod, vom primi mesajul:

Ce vârstă ai?
Anul = 32
Vârsta mea are 32 de ani

✎ 11) readln - la fel ca readln, numai cu newline. Într-adevăr, în exemplul de mai sus, după introducerea numărului An, scriem doar în rândul următor: „ Vârsta mea are 32 de ani».

Asta este tot pentru acum. Pe pagina următoare vom scrie primul program, iar în programarea Pascal acestea vor fi ale noastre

Ca și în cazul instrucțiunilor de ieșire, instrucțiunile read și reeadln sunt instrucțiuni de apel încorporate. procedurile de introducere a informațiilor.

Operatorii read (read) și readln, care provin din cele două cuvinte englezești read și line (șir) sunt folosite în programe pentru a introduce informații în memoria computerului și „ citiri„valori la o variabilă.

Să luăm în considerare munca acestor operatori și procedurile de introducere a informațiilor.

Programul nostru are o rutină readln (a). În timpul executării programului, la întâlnirea instrucțiunii readln, computerul se va opri în timp ce așteaptă introducerea informațiilor. După ce introducem de la tastatură valoarea variabilei a - 16, computerul va atribui această valoare variabilei a, adică. îl va trimite în locația de memorie a și va continua execuția programului. Numim acest proces " citind„valori la o variabilă.

Deci, procedurile read și readln „citesc” valorile variabilelor și le atribuie variabilelor care sunt scrise în ele.

Pot exista mai multe astfel de variabile, apoi ele sunt scrise în acești operatori separați prin virgule, de exemplu:

citiți (a, b, c, n, g, j, i), readln (e, f, k, p, d), etc.

Care este diferența dintre procedurile read și readln?

Procedura de citire va necesita după sine introducerea sau ieșirea de informații într-o linie, iar procedura readln face posibilă după sine introducerea și ieșirea informațiilor de la începutul unei noi linii.

De exemplu:

În program: scrieți ("Introduceți valorile lui a și b"); citiți (a, b);

scrieți („Introducerea informațiilor pe un rând”);

Când această parte a programului este executată, tot ce este scris în prima instrucțiune de scriere va fi afișat pe ecran, apoi cursorul va fi pe aceeași linie, iar computerul va aștepta ca valorile a și b să fie fi introdus. Să introducem valorile lor - 2 și 3, separându-le cu un spațiu sau, cu alte cuvinte, printr-un spațiu. După aceea, informațiile scrise în următoarea instrucțiune de scriere vor fi afișate în aceeași linie.

Pe ecran:

Introduceți valori pentru a și b 2 3 Introduceți informații pe o linie

Intr-un program:

writeln ("Introduceți valorile a, b și c); readln (a, b, c);

writeln ("Intrarea și ieșirea informațiilor de la începutul liniei");

Pe ecran:

Introduceți valorile a, b și c

Intrarea și ieșirea informațiilor de la începutul unei linii

Operații aritmetice cu numere întregi. Variabile întregi. Tip real

În limbajul Pascal se folosesc numere întregi, care includ toate numerele naturale formate în procesul de numărare a obiectelor: 1, 2, 3, 4, 5, 6, ...; numere negative: ..., -6, -5, -4, -3, -2, -1 și numărul zero: 0. Numerele întregi formează următoarea serie:

6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, ...

Pascal acceptă un interval de numere întregi de la -32768 la 32767.

Variabile care iau valori întregi sunt scrise în secțiunea de descriere cu tipul întreg specificat.

De exemplu: var a, b, c, a1, b34, nomb: întreg;

Valori de alt tip față de aceste variabile într-un singur program nu poate fi atribuit.

Operații aritmetice cu numere întregi și variabile întregi în Pascal

Semnul „_” înseamnă un spațiu. Sunt necesare spații între numele variabilelor și numele operației (div). (Vine din divizia engleză - divizie).

Restul lui a împărțit la b. a_mod_b

Cred că mulți vor fi interesați de el)))

Citiți și citiți declarațiile

Instrucțiunea de citire este destinată introducerii valorilor variabilelor (date inițiale) de la tastatură. În general, instrucțiunea arată astfel:

citiți (Var1, Var2, ... VarN)

unde variabile este numele unei variabile a cărei valoare trebuie introdusă de la tastatură în timpul execuției programului.

Iată exemple de scriere a unei declarații citite:

Citeste o); citește (Cena, Kol);

Când instrucțiunea de citire este executată, se întâmplă următoarele:

1. Programul își întrerupe activitatea și așteaptă până când datele necesare sunt tastate pe tastatură și este apăsată o tastă .

2 calculatoare Deria reparatie laptop in stavropol ITGen. ... După apăsarea tastei valoarea introdusă este atribuită variabilei numite în instrucțiune.

De exemplu, ca rezultat al executării instrucțiunii

citi (Temperat);

și tastând rândul 21, valoarea variabilei Temperat va fi numărul 21.

O declarație de citire vă permite să obțineți valorile mai multor variabile. În acest caz, numerele introduse trebuie introduse pe o singură linie și separate prin spații. De exemplu, dacă tipul de variabile a, b și c este real, atunci ca urmare a execuției instrucțiunii citiți (a, b, c); și șirul de intrare de la tastatură:

4.5 23 0.17

variabilele vor avea următoarele valori:

a = 4,5; b = 23,0; c = 0,17.

Dacă linia conține mai multe numere decât variabilele specificate în instrucțiunea de citire, atunci restul liniei va fi procesată de următoarea instrucțiune de citire. De exemplu, ca urmare a executării instrucțiunilor

citește (A, B); citiți (C);

și șirul de intrare de la tastatură

10 25 18

variabilele vor primi următoarele valori: A = 10, B = 25. Citiți instrucțiunea (C); va atribui variabilei cu valoarea 18.

Instrucțiunea readln diferă de instrucțiunea de citire prin aceea că, după selectarea următorului număr din linia introdusă de la tastatură și atribuirea acestuia ultimei variabile din lista instrucțiunii de citire, restul liniei se pierde și următoarea citire sau instrucțiunile de citire vor necesita o nouă intrare.

De exemplu, ca rezultat al executării instrucțiunii

readin (A, B); citiți (C);

și tastând șirul

10 25 18

variabilele vor primi următoarele valori: A = 10, B = 25. După aceea, programul va aștepta să fie introdus un nou număr pentru a-l atribui variabilei c.

Fiecare instrucțiune de citire sau citire ar trebui să fie precedată de o instrucțiune de scriere pentru a spune utilizatorului ce date așteaptă programul de la el. De exemplu, un fragment al programului pentru calcularea costului unei achiziții poate arăta astfel:

writeln ("Introduceți datele inițiale.");

Scrie („Prețul produsului:”);

Readln (Сenа);

scrie ("Cantitatea din lot:");

Readln (Kol);

scrie ("Reducere:");

readln (Skidka);

Dacă tipul de date introduse de la tastatură nu se potrivește sau nu poate fi convertit în tipul de variabile ale căror nume sunt specificate în instrucțiunea de citire (citire), programul se blochează (instrucțiunile care urmează citirii nu sunt executate) și este afișat un mesaj pe ecran despre eroare.

În secțiunea despre întrebarea De ce Pascal a citit și readln, dacă readln traduce și un rând, deși în teorie nu ar trebui? dat de autor Alexandru cel mai bun răspuns este readln - preia o valoare din tamponul de intrare într-un parametru, șterge întregul tampon de intrare de la tastatură
și citește - preia valoarea din buffer-ul de intrare în parametru și nu o șterge în buffer, ci lasă valoarea !! !
avans automat de linie la tastare - peste tot
adică readln este o intrare sigură
citire - intrare nesigură
exemplu:
var
a, b: întreg;
începe
Citeste o); (utilizatorul a introdus: 4, 5 a = 4)
(în tamponul de intrare numărul 5!!}
citiți (b); (aici a introdus un număr: 6, dar b = 5)
(numărul 6 rămâne în tamponul de intrare!!}
---
readln (a); (utilizatorul a introdus: 4, 5; a = 4)
(bufferul de intrare este clar!!}
readln (a); (utilizatorul a introdus numărul 6 și b = 6)
(bufferul de intrare este clar!!}
readln (b);
Sfârșit.
Dimpotrivă, nu există o detectare automată a tipului valorii de intrare, totul este determinat de convențiile din specificatorul de format.

Raspuns de la Yoali-Mali[guru]
Poate fi explicat într-un mod mai simplu, fără probleme speciale:
Când procedura de citire este executată, valoarea următoarelor date este citită de pe aceeași linie, iar când este executată procedura readln, valoarea următoarelor date este citită de pe o linie nouă.
Prin urmare, operatorul Readln (b1, b2, ... bn); asigură introducerea datelor în BAR.
După introducerea fiecărei variabile b1, b2, ..bn, cursorul se deplasează la începutul unei noi linii.
Operator de citire (b1, b2, ... bn); oferă introducerea datelor în LINE


Raspuns de la VT-107 FIT[guru]
Aici ceva Dmitry a mers prost, dar nu este adevărat. Și despre un tampon complet curățat și necurățat și despre siguranță. Nici Sali nu a răspuns corect. Nu există coloane și linii, reguli complet diferite.
În primul rând, aceste proceduri nu funcționează numai cu intrarea în consolă, deci sunt necesare două funcții.
procedura Citire (F, V1 [, V2, ... Vn]);
citește toate V1..Vn din flux (exact n parametri), toate datele citite vor fi șterse. Tot ce se va întâmpla după aceste date va rămâne neschimbat.
Citirea unei linii va citi totul până la o nouă linie sau la sfârșitul fișierului. Apelurile ulterioare la citire vor returna un șir gol. Iar caracterul newline nu va fi eliminat din flux.
Dacă citiți un caracter, atunci, în funcție de setări, caracterul newline poate fi citit ca caracter (26)
La citirea numerelor, toate spațiile, tabulatorii, întreruperile de rând sunt sărite. Iar următoarea lectură va începe cu caracterul care urmează numărului citit. Din nou, caracterele inutile pot fi sărite.
procedura ReadLn ([var F: Text;] V1 [, V2, ..Vn]);
citește din fluxul V1, Vn (adică funcționează ca citire) și apoi omite toate caracterele până la linia nouă inclusiv. Toate caracterele după o întrerupere de rând vor rămâne neschimbate.
Tranziția la o linie nouă se realizează deoarece apăsați Enter în consolă.
Despre siguranță exagerat. Acestea sunt funcții cu scopuri diferite. Orice utilizare incorectă a acestora nu este sigură, corectă și, în mod corespunzător, sigură.

Top articole similare