Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Programi
  • Čitajte i čitajte izjave. Procedure unosa informacija

Čitajte i čitajte izjave. Procedure unosa informacija

Nalazite se u odeljku o Pascal programiranju. Prije nego što počnemo s programiranjem, moramo razjasniti neke od koncepata koji će nam biti potrebni na početku. Ne možete programirati tek tako. Program ne možemo napisati riječima – kompjuter ne razumije ništa osim nula i jedinica. Za to su u Pascalu kreirani posebni simboli - Pascal jezik, skup rezerviranih riječi koje se ne mogu koristiti u njihovim programima nigdje drugdje, osim za njihovu namjenu. Nabrojimo osnovne koncepte koji su nam potrebni na početku:

✎ 1) program - "program" na engleskom jeziku, napisan na samom početku koda, nakon čega slijedi naziv programa latiničnim slovima i tačkom i zarezom. Na primjer: program Summa; - program pod nazivom Summa. Ali ovaj dio koda, koji se zove zaglavlje programa, ne treba pisati – on je prisutan samo radi jasnoće i pokazuje koji problem rješava dati program. Ovdje smo koristili riječ "kod" - ovo je naziv tekstualnog zapisa programa.

✎ 2) cijeli broj - na engleskom znači "cijeli broj" (ili samo "cijeli broj") i koristi se u Pascalu za označavanje 32-bitnih (8 bajtova) potpisanih cijelih brojeva s rasponom [-2147483648, 2147483647]. Šta znače ovi veliki brojevi, analiziraćemo kasnije.

✎ 3) pravi - od engleskog “real”, “real”, “real”, “real”. U jeziku Pascal, ovaj termin označava realne brojeve iz raspona [-1,8 ∙ 10 308, 1,8 ∙ 10 308]. To su vrlo veliki brojevi, ali se prikazuje 15 - 16 značajnih cifara.Uzgred, cjelobrojni i realni tipovi podataka u programskom okruženju PascalABC.Net uvijek su automatski istaknuti plavom bojom.

✎ 4) const - analog na engleskom. "Konstantno" znači "konstantno", "konstantno". U Pascalu, to je količina koja se ne može promijeniti. Napisano je ovako:


Ovaj unos treba shvatiti onako kako je napisan: broj N je 12, S je 5, "pi" je 3,14 (kao u matematici, u Pascalu se koristi samo tačka umjesto zareza). U zadnjem redu koristili smo dvostruku kosu crtu (dvije kose crte) iza koje slijedi tekst - ovako se pišu komentari u Pascalu, a program ih ne prihvaća. Sve što počinje dvostrukom kosom crtom pa do kraja reda je komentar koji je napisan da objasni program i uvijek je istaknut drugom bojom (u PascalABC.Net-u je zelena, u Turbo Pascal-u je ovakav komentar nije korišten). Postoji još jedna vrsta komentara - ovaj (tekst u vitičastim zagradama, kao ovdje, također označen zelenom bojom). Ovakav komentar može djelovati nekoliko redova za redom - od početka zagrade do njenog zatvaranja, a sve što se nalazi u sredini takve konstrukcije kompajler ne percipira kao kod i jednostavno se preskače.

Zapravo, format snimanja konst malo teže. Prema pravilima, morali smo napisati:

1 2 3 4 konst N: type integer;

Opis:

")" onmouseout = "toolTip ()"> cijeli broj
= 12 ; // broj N - cjelobrojni tip S: type integer;

Opis:
Predstavlja 32-bitni predpisani cijeli broj.

Raspon vrijednosti: -2 147 483 648 .. 2 147 483 647")" onmouseout = "toolTip ()"> cijeli broj
= 5 ; // broj S - cjelobrojni tip pi: tip real;

Opis:
Predstavlja broj s pomičnim zarezom dvostruke preciznosti.

Veličina: 8 bajtova
Broj značajnih cifara: 15 - 16
Raspon vrijednosti: -1,8 ∙ 10 308 .. 1,8 ∙ 10 308
")" onmouseout = "toolTip ()"> real
= 3.14 ; // broj "pi" - realan

Nakon deklaracije svake vrijednosti, naznačuje se njen tip, a zatim se dodjeljuje vrijednost. Ali prethodni unos je takođe tačan, pošto je Pascal kompajler konfigurisan tako da automatski detektuje tip konstante. Ali isto se ne može reći za sljedeću vrstu brojeva - varijabli.

✎ 5) var - dolazi iz engleskog. "Variable" (ili "volatile"), što u Pascalu znači vrijednost koja u toku programa može promijeniti svoju vrijednost. Napisano je ovako:


Kao što možete vidjeti iz unosa, nema znaka "=" - varijable istog tipa se ponovo izračunavaju (odvajaju se zarezima) i samo je tip naznačen nakon dvotačke. Varijable N, m (cijeli brojevi) i Q, r, t (realne) u programu mogu mijenjati vrijednosti unutar cijelog i realnog. Još jedna napomena: opis varijabli uvijek dolazi iza opisa konstanti (konstanti) - prvo dolazi konstrukcija const, a zatim var.

✎ 6) begin - u prevodu sa engleskog znači „početi“, a Pascal znači početak glavnog programa u kojem se pišu komande (operatori). Posle reči početi bez tačke sa zarezom.

✎ 7) kraj - na engleskom. "Kraj", au Pascal jeziku znači isto (kraj programa). Posle poslednje reči kraj uvek postoji poenta. Istaknuli smo riječ "zadnji" zbog upotrebe konstrukcije početak - kraj moguće u još jednom slučaju: to su takozvane operatorske zagrade, koje se koriste za kombinovanje nekoliko operacija pod jednim operatorom. Ali više o tome kasnije. Dakle, glavni program će izgledati ovako:

1 2 3 4 5 6 početi < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; kraj.

Ovdje su operatori u tijelu programa različite komande kompajleru.

✎ 8) pisati - na engleskom znači "pisati". Ovaj operator prikazuje tekst koji se nalazi u njemu, zbog čega se zove izlazni operator. Tekst koji se nalazi u njemu označen je plavom bojom i napisan je ovako:

Pisati ( "ovaj tekst je prikazan");

Poruka u zagradama i navodnicima će biti prikazana u prozoru konzole (samo u zagradama bez navodnika je nemoguće). Nakon izvršenja ove izjave, na ekranu ćemo vidjeti:

ovaj tekst se prikazuje na ekranu

U ovom obliku, operator write se koristi u slučaju kada je potrebno prikazati nagovještaj, objašnjenje, komentar itd. A iz ako je potrebno prikazati i brojčanu vrijednost, recimo, S = 50 sq. m, tada se koristi format:

Napiši (, S);

Kao rezultat, dobijamo rezultat na ekranu:

Veličina područja je: S = 50

A ako je potrebno prikazati mjerne jedinice, potrebno je ponovo umetnuti tekst pod navodnicima nakon S:

Pisati ( "Površina je jednaka: S =", S, "kv. ​​M");

Nakon izvršenja posljednje izlazne naredbe, dobivamo izlaz na ekran:

Veličina površine je: S = 50 m2

✎ 9) writeln je isto što i write, ali nakon izvršenja kursor će se pomeriti u sledeći red.

✎ 10) read – u prevodu sa engleskog znači „čitati“, pa se čitanje naziva operator čitanja, odnosno unosa podataka. Zapisuje se kao read (N), što znači da treba da unesete vrednost N, gde je N bilo koji broj, tekst ili bilo koji drugi tip varijable. Na primjer, ako treba da unesete godine starosti osobe koja ima 32 godine, možemo to napisati ovako:


U prvom redu ovog koda program prikazuje pitanje “ Koliko imaš godina?"I pomiče kursor na sljedeći red (završava sa ln); u drugom redu ispisujemo "Godina =" (na početku sa razmakom); onda vidimo readln (Year) operator, što znači da je potrebno uneti starost Year (broj 32); Na kraju, prikazujemo poruke "Moje godine", "32" i "Godine". "Jedan po jedan. Morate pomno paziti na prostore. Kao rezultat izvršavanja ovog koda, dobićemo poruku:

Koliko imaš godina?
Godina = 32
Imam 32 godine

✎ 11) readln - isto što i read, samo sa novim redom. Zaista, u gornjem primjeru, nakon unosa broja Godina, samo u sljedećem redu pišemo: “ Imam 32 godine».

To je sve za sada. Na sljedećoj stranici ćemo napisati prvi program, au Pascal programiranju ovo će biti naš

Kao i kod izlaznih naredbi, naredbe read i reeadln su ugrađeni pozivni izrazi. procedure unosa informacija.

Operatori read (čitaj) i readln, koji dolaze od dvije engleske riječi read i line (string) koriste se u programima za unos informacija u memoriju računara i " očitavanja"vrijednosti varijabli.

Pogledajmo rad ovih operatera i procedure za unos informacija.

Naš program ima readln (a) rutinu. Tokom izvršavanja programa, nakon susreta sa naredbom readln, računar će pauzirati dok čeka da se unesu informacije. Nakon što sa tastature unesemo vrijednost varijable a - 16, računar će tu vrijednost dodijeliti varijabli a, tj. će ga poslati na memorijsku lokaciju a i nastaviti s izvršavanjem programa. Ovaj proces nazivamo " čitanjem"vrijednosti varijabli.

Dakle, procedure read i readln "čitaju" vrijednosti varijabli i dodjeljuju ih varijablama koje su u njima zapisane.

Takvih varijabli može biti nekoliko, tada se pišu ovim operatorima odvojenim zarezima, na primjer:

čitaj (a, b, c, n, g, j, i), čitaj (e, f, k, p, d) itd.

Koja je razlika između read i readln procedura?

Procedura čitanja će zahtijevati za sobom unos ili izlaz informacija u jednom redu, a readln procedura omogućava nakon sebe unos i izlaz informacija s početka novog reda.

Na primjer:

U programu: napišite ("Unesite vrijednosti a i b"); pročitaj (a, b);

write ("Unos informacija u jedan red");

Prilikom izvršavanja ovog dijela programa na ekranu će se prikazati sve što je napisano u prvoj naredbi pisanja, zatim će kursor biti u istom redu, a računar će čekati da se vrijednosti a i b ušao. Unesite njihove vrijednosti - 2 i 3, odvajajući ih razmakom ili, drugim riječima, razmakom. Nakon toga, informacije upisane u sljedećoj izjavi za pisanje bit će prikazane u istom redu.

na ekranu:

Unesite vrijednosti za a i b 2 3 Unesite informacije u jedan red

u programu:

writeln ("Unesite vrijednosti a, b i c); readln (a, b, c);

writeln ("Unos i izlaz informacija s početka reda");

na ekranu:

Unesite vrijednosti a, b i c

Unos i izlaz informacija sa početka reda

Aritmetičke operacije s cijelim brojevima. Cjelobrojne varijable. Pravi tip

U jeziku Pascal koriste se cijeli brojevi koji uključuju sve prirodne brojeve nastale u procesu brojanja objekata: 1, 2, 3, 4, 5, 6, ...; negativni brojevi: ..., -6, -5, -4, -3, -2, -1 i broj nula: 0. Cijeli brojevi čine sljedeći niz:

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

Pascal prihvata raspon cijelih brojeva od -32768 do 32767.

Varijable koje uzimaju cjelobrojne vrijednosti upisane su u odjeljku opisa sa specificiranim cjelobrojnim tipom.

Na primjer: var a, b, c, a1, b34, nomb: cijeli broj;

Vrijednosti različitog tipa od ovih varijabli u jednom programu ne može se dodijeliti.

Aritmetičke operacije s cijelim brojevima i cjelobrojnim varijablama u Pascalu

Znak "_" znači razmak. Razmaci između imena varijabli i imena operacije (div) su potrebni. (Dolazi od engleskog division - division).

Ostatak a podijeljen sa b. a_mod_b

Mislim da će mnoge to zanimati)))

Čitajte i čitajte izjave

Instrukcija za čitanje je namijenjena unosu vrijednosti varijabli (početnih podataka) sa tastature. Općenito, instrukcija izgleda ovako:

pročitaj (Var1, Var2, ... VarN)

gdje je varijable naziv varijable čija vrijednost se mora unijeti sa tastature tokom izvršavanja programa.

Evo primjera pisanja pročitane izjave:

pročitaj (a); čitati (Cena, Kol);

Kada se izvrši naredba read, događa se sljedeće:

1. Program pauzira svoj rad i čeka dok se traženi podaci ne otkucaju na tastaturi i pritisne tipka .

2 Deria kompjuteri popravka laptopa u Stavropolju ITGen. ... Nakon pritiska na tipku unesena vrijednost se dodjeljuje varijabli imenovanoj u iskazu.

Na primjer, kao rezultat izvršavanja instrukcije

čitati (Temperat);

i kucajući red 21, vrijednost varijable Temperat će biti broj 21.

Jedna izjava za čitanje vam omogućava da dobijete vrijednosti nekoliko varijabli. U tom slučaju, uneseni brojevi moraju biti upisani u jednom redu i odvojeni razmacima. Na primjer, ako je tip varijabli a, b i c realan, tada se kao rezultat izvršavanja instrukcije čita (a, b, c); i niz za unos sa tastature:

4.5 23 0.17

varijable će imati sljedeće vrijednosti:

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

Ako red sadrži više brojeva od varijabli navedenih u naredbi za čitanje, tada će ostatak reda biti obrađen sljedećim naredbom za čitanje. Na primjer, kao rezultat izvršavanja instrukcija

čitaj (A, B); pročitaj (C);

i niz za unos sa tastature

10 25 18

varijable će dobiti sljedeće vrijednosti: A = 10, B = 25. Pročitajte instrukciju (C); će dodijeliti varijablu sa vrijednošću 18.

Instrukcija readln se razlikuje od instrukcije za čitanje po tome što se nakon odabira sljedećeg broja iz reda unesenog s tastature i dodjele posljednje varijabli sa liste čitane instrukcije, ostatak reda gubi, a sljedeće čitanje ili instrukcija readin će zahtijevati novi unos.

Na primjer, kao rezultat izvršavanja instrukcije

readin (A, B); pročitaj (C);

i kucanje stringa

10 25 18

varijable će dobiti sljedeće vrijednosti: A = 10, B = 25. Nakon toga, program će čekati da se unese novi broj kako bi ga dodijelio varijabli c.

Svakoj instrukciji čitanja ili čitanja treba da prethodi instrukcija pisanja koja će korisniku reći koje podatke program očekuje od njega. Na primjer, fragment programa za izračun cijene kupovine može izgledati ovako:

writeln ("Unesite početne podatke.");

Napišite ("Cijena proizvoda:");

Readln (Sena);

write ("Količina u seriji:");

Readln (Kol);

napisati ("Popust:");

readln (Skidka);

Ako se tip podataka unesenih sa tastature ne podudara ili se ne može konvertovati u tip varijabli čija su imena navedena u instrukciji za čitanje (čitanje), program se ruši (instrukcije nakon čitanja se ne izvršavaju) i prikazuje se poruka na ekranu o grešci.

U odeljku o pitanju Zašto Pascal čita i readln, ako read takođe prevodi red, iako u teoriji ne bi trebalo? dao autor Alexander najbolji odgovor je readln - uzima vrijednost iz ulaznog bafera u parametar, ispira cijeli ulazni bafer tastature
i read - preuzima vrijednost iz ulaznog bafera u parametar i ne briše je u bafer, već ostavlja vrijednost !! !
automatsko prebacivanje linije prilikom kucanja - svuda
tj. readln je siguran unos
čitanje – nesiguran unos
primjer:
var
a, b: cijeli broj;
početi
pročitaj (a); (korisnik je unio: 4, 5 a = 4)
(u ulaznom baferu broj 5!!}
pročitaj (b); (ovdje je unio broj: 6, ali b = 5)
(broj 6 ostaje u ulaznom baferu!!}
---
readln (a); (korisnik je unio: 4, 5; a = 4)
(ulazni bafer je čist!!}
readln (a); (korisnik je unio broj 6 i b = 6)
(ulazni bafer je čist!!}
readln (b);
kraj.
Naprotiv, ne postoji automatska detekcija tipa ulazne vrednosti, sve je određeno konvencijama u specifikaciji formata.

Odgovor od Yoali-Mali[guru]
To se može objasniti na jednostavniji način, bez posebnih problema:
Kada se izvrši procedura čitanja, vrijednost sljedećeg podatka se čita iz istog reda, a kada se izvrši readln procedura, vrijednost sljedećeg podatka se čita iz novog reda.
Prema tome, operator Readln (b1, b2, ... bn); omogućava unos podataka u BAR.
Nakon unosa svake varijable b1, b2, ..bn, kursor se pomiče na početak novog reda.
Operator čitanja (b1, b2, ... bn); omogućava unos podataka u LINIJU


Odgovor od VT-107 FIT[guru]
Ovdje je nešto Dmitry pošlo po zlu, ali nije istina. I o potpuno očišćenom i neočišćenom tamponu i o sigurnosti. Sali takođe nije tačno odgovorio. Nema kolona i linija, potpuno drugačija pravila.
Prvo, ove procedure ne rade samo sa unosom u konzolu, tako da su potrebne dvije funkcije.
procedura Read (F, V1 [, V2, ... Vn]);
čita sve V1..Vn iz toka (tačno n parametara), svi pročitani podaci će biti izbrisani. Sve što će se desiti nakon ovih podataka ostat će nepromijenjeno.
Čitanje reda će pročitati sve do novog reda ili kraja datoteke. Naknadni pozivi read će vratiti prazan string. I znak novog reda neće biti uklonjen iz toka.
Ako čitate char, tada, ovisno o postavkama, znak novog reda može se pročitati kao char (26)
Prilikom čitanja brojeva, svi razmaci, tabulatori, prijelomi reda se preskaču. I sljedeće čitanje će započeti znakom koji slijedi nakon pročitanog broja. Opet, nepotrebni znakovi se mogu preskočiti.
procedura ReadLn ([var F: Tekst;] V1 [, V2, ..Vn]);
čita iz toka V1, Vn (to jest, radi kao čitanje), a zatim preskače sve znakove do i uključujući novi red. Svi znakovi nakon prijeloma reda ostaju nepromijenjeni.
Prelazak na novi red se vrši jer pritisnete Enter u konzoli.
O sigurnosti je nategnuto. To su funkcije različite namjene. Svaka njihova nepravilna upotreba nije sigurna, ispravna i shodno tome sigurna.

Top srodni članci