Come configurare smartphone e PC. Portale informativo
  • casa
  • Programmi
  • leggere e leggere le dichiarazioni. Procedure di immissione delle informazioni

leggere e leggere le dichiarazioni. Procedure di immissione delle informazioni

Sei nella sezione dei materiali sulla programmazione in Pascal. Prima di iniziare a programmare, dobbiamo chiarire alcuni concetti di cui avremo bisogno all'inizio. Non puoi semplicemente programmare in questo modo. Non possiamo scrivere il programma a parole: il computer, a parte zeri e uno, non capisce nient'altro. Per fare ciò, Pascal ha creato un simbolismo speciale: il linguaggio Pascal, un insieme di parole riservate che non possono essere utilizzate nei loro programmi da nessun'altra parte, se non per lo scopo previsto. Elenchiamo i concetti di base di cui abbiamo bisogno all'inizio:

✎ 1) programma - in inglese "programma", scritto all'inizio del codice, seguito dal nome del programma in latino e da un punto e virgola. Per esempio: programma Summa; − un programma chiamato Summa. Ma questa parte del codice, chiamata intestazione del programma, potrebbe non essere scritta: è presente solo per chiarezza e mostra quale problema risolve questo programma. Qui abbiamo usato la parola "codice": questo è il nome del record di testo del programma.

✎ 2) intero - in inglese significa "intero" (o semplicemente "intero") e in Pascal è usato per denotare interi con segno a 32 bit (8 byte) dall'intervallo [-2147483648, 2147483647] . Cosa significano questi grandi numeri, lo analizzeremo in seguito.

✎ 3) real - dall'inglese "real", "real", "real", "real". In Pascal, questo termine si riferisce a numeri reali nell'intervallo [-1.8∙10 308 , 1.8∙10 308 ] . Questi sono numeri molto grandi, ma vengono visualizzate le cifre significative da 15 a 16. A proposito, i tipi di dati interi e reali nell'ambiente di programmazione PascalABC.Net sono sempre automaticamente evidenziati in blu.

✎ 4) const - analogo dell'inglese. "costante", che significa "costante", "costante". In Pascal, questo è un valore che non può essere modificato. Si scrive così:


Questa voce va presa come è scritta: il numero N è uguale a 12, S è uguale a 5, "pi" è uguale a 3,14 (come in matematica, in Pascal si usa solo un punto al posto della virgola). Nell'ultima riga, abbiamo usato una doppia barra (due barre), seguita dal testo: è così che i commenti vengono scritti in Pascal e il programma non li percepisce. Tutto ciò che inizia con una doppia barra e fino alla fine della riga è un commento che viene scritto per spiegare il programma ed è sempre evidenziato con un colore diverso (in PascalABC.Net è verde, in Turbo Pascal questo tipo di commento non è Usato). C'è un altro tipo di commento: questo (testo racchiuso tra parentesi graffe, proprio come qui, evidenziato anche in verde). Questo tipo di commento può agire per più righe di seguito, dall'inizio della parentesi fino alla sua chiusura, e il compilatore non percepisce tutto ciò che è nel mezzo di una tale costruzione come codice e semplicemente lo salta.

In effetti, il formato di registrazione cost un po' più difficile. Secondo le regole, dovevamo scrivere:

1 2 3 4 cost N: digitare numero intero;

Descrizione:

")" onmouseout="toolTip()">numero intero
= 12 ; //numero N - tipo intero S: digitare numero intero;

Descrizione:
Rappresenta un intero con segno a 32 bit.

Intervallo di valori: -2 147 483 648 .. 2 147 483 647")" onmouseout="toolTip()">numero intero
= 5 ; //numero S - tipo intero pi: tipo reale;

Descrizione:
Rappresenta un numero in virgola mobile a precisione doppia.

Dimensione: 8 byte
Numero di cifre significative: 15 - 16
Intervallo di valori: -1.8∙10 308 .. 1.8∙10 308
")" onmouseout="toolTip()">reale
= 3.14 ; //numero "pi" - reale

Dopo aver dichiarato ogni valore, ne viene specificato il tipo e quindi viene assegnato un valore. Ma anche la voce precedente è corretta, perché il compilatore Pascal è configurato per determinare automaticamente il tipo della costante. Ma questo non si può dire del prossimo tipo di numeri: le variabili.

✎ 5) var - deriva dall'inglese. “variabile” (“variabile”, o “cambiabile”), che in Pascal significa un valore che può cambiare il suo valore durante il programma. Si scrive così:


Come si può vedere dalla voce, qui non c'è il segno "=" - le variabili dello stesso tipo vengono ricalcolate (separate da virgole) e solo il tipo viene indicato dopo i due punti. Le variabili N, m (intero) e Q, r, t (reale) nel programma possono modificare i valori rispettivamente all'interno di interi e reali. Un'altra nota: la descrizione delle variabili viene sempre dopo la descrizione delle costanti (costante) - prima viene la costruzione const e poi var.

✎ 6) inizio - tradotto dall'inglese significa "inizio" e Pascal significa l'inizio del programma principale in cui sono scritti i comandi (operatori). Dopo la parola inizio il punto e virgola non è incluso.

✎ 7) fine - in inglese. "fine", e in Pascal significa lo stesso (fine del programma). Dopo l'ultima parola fine c'è sempre un punto Abbiamo evidenziato la parola "ultimo" a causa dell'uso della costruzione inizio-fine forse in un altro caso: si tratta delle cosiddette parentesi operatore, che servono per combinare più operazioni sotto un unico operatore. Ma ne parleremo più avanti. Quindi il programma principale sarebbe simile a questo:

1 2 3 4 5 6 inizio < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; fine.

Qui, le istruzioni nel corpo del programma sono comandi diversi per il compilatore.

✎ 8) scrivere - in inglese significa "scrivere". Questa istruzione mostra il testo inserito al suo interno, motivo per cui è chiamata istruzione di output. Il testo inserito in esso è evidenziato in blu e scritto in questo modo:

Scrivere( "questo testo viene visualizzato sullo schermo");

Il messaggio tra parentesi e virgolette verrà mostrato nella finestra della console (non puoi semplicemente metterlo tra parentesi senza virgolette). Dopo aver eseguito questa istruzione, vedremo sullo schermo:

questo testo viene visualizzato sullo schermo

In questa forma, l'operatore di scrittura viene utilizzato quando è necessario mostrare un suggerimento, una spiegazione, un commento, ecc. E se è necessario visualizzare anche un valore numerico, diciamo S = 50 mq. m, viene utilizzato il seguente formato:

Scrivi(, S);

Di conseguenza, otteniamo il risultato sullo schermo:

Il valore dell'area è: S = 50

E se hai bisogno di visualizzare le unità di misura, devi inserire nuovamente il testo tra virgolette dopo la S:

Scrivere( "La dimensione dell'area è: S = ", S, "mq" );

Dopo aver eseguito l'ultima istruzione di output, otteniamo l'output sullo schermo:

La dimensione dell'area è: S = 50 mq

✎ 9) writeln - lo stesso di write, ma dopo l'esecuzione, il cursore si sposterà alla riga successiva.

✎ 10) read - tradotto dall'inglese significa "read", quindi read è chiamato operatore di lettura o input di dati. Scritto come read(N), il che significa che deve essere inserito il valore N, dove N è qualsiasi numero, testo o altro tipo di variabile. Ad esempio, se dobbiamo inserire l'età di una persona che ha 32 anni, possiamo scriverla in questo modo:


Nella prima riga di questo codice, il programma visualizza la domanda " Quanti anni hai?» e sposta il cursore sulla riga successiva (che termina con ln); nella seconda riga stampiamo "Anno =" (uno spazio all'inizio); quindi vediamo l'operatore readln(Year), che significa la necessità di inserire l'età dell'anno (numero 32); infine visualizziamo i messaggi “La mia età”, “32” e “anni. " a sua volta. Devi stare attento agli spazi. Come risultato dell'esecuzione di questo codice, riceveremo un messaggio:

Quanti anni hai?
Anno = 32
La mia età ha 32 anni

✎ 11) readln - lo stesso di read, solo con una nuova riga. Infatti, nell'esempio sopra, dopo aver inserito il numero Anno, scriviamo solo nella riga successiva: “ La mia età ha 32 anni».

È tutto per ora. Nella prossima pagina scriveremo il nostro primo programma, e nella programmazione Pascal questi saranno i nostri

Così come per le istruzioni di output delle informazioni, le istruzioni read e readln sono operatori per l'accesso integrati procedure di immissione delle informazioni.

Gli operatori read (read) e readln, che derivano da due parole inglesi read (read) e line (line), sono usati nei programmi per inserire informazioni nella memoria del computer e " letture" valori in una variabile.

Considera il lavoro di questi operatori e le procedure per l'immissione delle informazioni.

Il nostro programma ha una procedura readln(a). Durante l'esecuzione di un programma, quando incontra un'istruzione readln, il computer si ferma in attesa dell'immissione delle informazioni. Dopo aver inserito da tastiera il valore della variabile a - 16, il computer assegnerà questo valore alla variabile a, ovvero lo invierà alla posizione di memoria denominata a e continuerà l'esecuzione del programma. Chiamiamo questo processo " lettura" valori in una variabile.

Quindi, le procedure leggono e leggono "leggono" i valori delle variabili e li assegnano alle variabili che vi vengono scritte.

Possono esserci diverse di queste variabili, quindi vengono scritte in questi operatori separati da virgole, ad esempio:

read(a, b, c, n, g, j, i), readln(e, f, k, p, d) ecc.

Qual è la differenza tra le procedure read e readln?

La procedura di lettura richiederà l'input o l'output di informazioni su una riga dopo se stessa e la procedura readln consente di immettere e emettere informazioni dopo se stessa dall'inizio di una nuova riga.

Per esempio:

Nel programma: write("Inserisci i valori aeb "); leggi(a,b);

write("Inserimento di informazioni in una riga");

Quando questa parte del programma viene eseguita, tutto ciò che è scritto nella prima istruzione write verrà visualizzato sullo schermo, quindi il cursore si troverà sulla stessa riga e il computer attenderà che i valori aeb siano inserito. Inseriamo i loro valori - 2 e 3, separandoli con uno spazio o, in altre parole, con uno spazio. Successivamente, le informazioni scritte nella successiva istruzione di scrittura verranno emesse sulla stessa riga.

Sullo schermo:

Immettere i valori per aeb 2 3 Immettere le informazioni su una riga

In un programma:

writeln("Inserisci a, b e c); readln(a, b, c);

writeln("Informazioni di input e output dall'inizio della riga");

Sullo schermo:

Immettere i valori a, b e c

Immissione e emissione di informazioni dall'inizio di una riga

Operazioni aritmetiche con numeri interi. Variabili di tipo intero. Tipo reale

In Pascal vengono utilizzati gli interi, che includono tutti i numeri naturali formati nel processo di conteggio degli oggetti: 1, 2, 3, 4, 5, 6, ...; numeri negativi: ..., -6, -5, -4, -3, -2, -1 e il numero zero: 0. Gli interi formano le seguenti serie:

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

In Pascal, gli interi vanno da -32768 a 32767.

Variabili, che assumono valori interi, sono scritti nella sezione di descrizione con l'indicazione del tipo intero (intero).

Ad esempio: var a, b, c, a1, b34, nomb: intero;

Valori di tipo diverso da queste variabili nello stesso programma non può essere assegnato.

Operazioni aritmetiche con numeri interi e variabili di tipo intero in Pascal

Il segno "_" indica uno spazio. Gli spazi tra i nomi delle variabili e il nome dell'operazione (div) sono obbligatori. (Proviene dalla divisione inglese - divisione).

Il resto della divisione a per b. a_mod_b

Penso che molte persone saranno interessate

leggere e leggere le istruzioni

L'istruzione di lettura è destinata all'immissione di valori variabili (dati iniziali) dalla tastiera. In generale, l'istruzione è simile a questa:

read(Variable1, Variable2, ... VariableN)

dove variabile è il nome della variabile il cui valore deve essere inserito da tastiera durante l'esecuzione del programma.

Ecco alcuni esempi di scrittura di una dichiarazione di lettura:

leggi un); leggi(Cena, Kol);

Quando viene eseguita un'istruzione di lettura, accade quanto segue:

1. Il programma interrompe il suo lavoro e attende fino a quando i dati richiesti non vengono digitati sulla tastiera e viene premuto il tasto .

2 Riparazione computer portatili Deria a Stavropol ITGen. . Dopo aver premuto il tasto il valore inserito viene assegnato alla variabile il cui nome è specificato nell'istruzione.

Ad esempio, come risultato dell'esecuzione dell'istruzione

leggi(Temperatura);

e digitando la riga 21 sulla tastiera, il valore della variabile Temperat sarà il numero 21.

Un'istruzione read consente di ottenere i valori di più variabili. In questo caso, i numeri inseriti devono essere digitati su una riga e separati da spazi. Ad esempio, se il tipo di variabili a, b e c è reale, come risultato dell'esecuzione dell'istruzione read(a, b, c); e input da tastiera della linea:

4.5 23 0.17

le variabili avranno i seguenti valori:

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

Se ci sono più numeri in una riga rispetto alle variabili nell'istruzione read, il resto della riga verrà elaborato dall'istruzione read successiva. Ad esempio, come risultato dell'esecuzione delle istruzioni

leggi (A, B); leggi(C);

e input da tastiera

10 25 18

le variabili otterranno i seguenti valori: A=10, B=25 Istruzione letta (C); assegnerà il valore 18 alla variabile c.

L'istruzione readln differisce dall'istruzione read in quanto dopo aver estratto il numero successivo dalla stringa immessa sulla tastiera e averlo assegnato all'ultima variabile nell'elenco delle istruzioni readin, il resto della stringa viene perso e l'istruzione read o readin successiva richiederà un nuovo input.

Ad esempio, come risultato dell'esecuzione dell'istruzione

lettura (A, B); leggi(C);

e digitando dalla tastiera

10 25 18

le variabili assumeranno i seguenti valori: A=10, B=25, dopodiché il programma attenderà l'inserimento di un nuovo numero per assegnarlo alla variabile c.

Prima di ogni istruzione di lettura o lettura, dovresti inserire un'istruzione di scrittura per dire all'utente quali dati il ​​programma si aspetta da lui. Ad esempio, un frammento di un programma per il calcolo del costo di un acquisto potrebbe avere il seguente aspetto:

writeln("Inserisci i dati iniziali.");

Write("Prezzo del prodotto:");

Readln(Cena);

write("Quantità lotto:");

readln(col);

write("Sconto:");

readln(Skidka);

Se il tipo di dati immessi dalla tastiera non corrisponde o non è possibile eseguire il cast del tipo di variabili i cui nomi sono specificati nell'istruzione di lettura (lettura), il programma va in crash (le istruzioni successive alla lettura non vengono eseguite) e il messaggio su un errore.

Nella sezione sulla domanda Perché Pascal ha letto e letto, se read traduce anche la riga, anche se in teoria non dovrebbe? data dall'autore Alessandro la risposta migliore è readln - prende un valore dal buffer di input in un parametro cancella l'intero buffer di input della tastiera
e leggi - prende il valore dal buffer di input in un parametro e non lo cancella nel buffer, ma lascia il valore!! !
avanzamento riga quando si entra in automatico - ovunque
cioè readln è un input sicuro
lettura - input non sicuro
esempio:
var
a,b: intero;
inizio
leggi un); (utente inserito: 4, 5 a = 4)
(Nel buffer di input, il numero 5!!}
leggi(b); (qui ha inserito un numero: 6, ma b = 5)
(il numero 6 rimane nel buffer di input!!}
---
readln(a);(l'utente ha inserito: 4, 5; a = 4)
(il buffer di input è libero!!}
readln(a);(l'utente ha inserito il numero 6 e b = 6)
(il buffer di input è libero!!}
readln(b);
fine.
Al contrario, non c'è determinazione automatica del tipo di valore in ingresso, tutto è determinato dalle convenzioni nell'identificatore di formato.

Rispondi da Yoali-Mali[guru]
Può essere spiegato più semplicemente, senza troppi problemi:
Quando viene eseguita la procedura di lettura, il valore dei dati successivi viene letto dalla stessa riga e quando viene eseguita la procedura readln, il valore dei dati successivi viene letto da una nuova riga.
Pertanto, l'enunciato Readln (b1,b2,...bn); fornisce l'inserimento dei dati nella COLONNA.
Dopo aver inserito ciascuna variabile b1, b2, ..bn, il cursore salta all'inizio di una nuova riga.
Operatore Lettura(b1,b2,...bn); fornisce l'input di dati in una STRINGA


Rispondi da BT-107 ADATTA[guru]
Qui qualcosa Dmitry ha rotto, ma non è vero. E su un buffer completamente cancellato e non cancellato e sulla sicurezza. Anche Sali ha risposto in modo errato. Non ci sono colonne e righe, regole completamente diverse.
Innanzitutto, queste routine non funzionano solo con l'input della console, quindi sono necessarie due funzioni.
procedura Leggi(F, V1 [, V2,...Vn ]);
legge tutto V1..Vn dal flusso (esattamente n parametri), tutti i dati letti verranno eliminati. Tutto dopo questi dati rimarrà invariato.
Durante la lettura di una riga, verrà letto tutto fino al carattere di nuova riga o alla fine del file. Le successive chiamate alla lettura restituiranno una stringa vuota. E il carattere di nuova riga non verrà rimosso dallo stream.
Se si legge char, a seconda delle impostazioni, il carattere di nuova riga può essere letto come char(26)
Durante la lettura dei numeri, tutti gli spazi, le tabulazioni e le interruzioni di riga vengono saltati. E la lettura successiva inizierà con il carattere che segue il numero letto. Anche in questo caso, i caratteri non necessari possono essere saltati.
procedura ReadLn([ var F: Text; ] V1 [, V2, ..Vn ]);
legge dallo stream V1, Vn (cioè funziona come read) e quindi salta tutti i caratteri fino alla nuova riga inclusa. Tutti i caratteri dopo l'interruzione di riga rimarranno invariati.
Il passaggio a una nuova riga viene eseguito perché si preme Invio nella console.
Inverosimile sulla sicurezza. Queste sono funzioni con scopi diversi. Ogni loro uso scorretto non è sicuro, ogni uso corretto è corrispondentemente sicuro.

Articoli correlati in alto