Cheat pentru Pascal

(Acțiunea de operare Tipuri de operatori Tipul de rezultat)
= Egal Compatibil simplă, pointer, șir multiplu sau șir logic împachetat Boolean






<> Nu este egal Compatibil simplă, pointer, șir multiplu sau șir logic împachetat Boolean
<Меньше чем Совместимый простой, указатель, множественный строковый или упакованный строковый Булевский
> Mai mult decât simplu compatibil, pointer, șir multiplu sau șir logic împachetat Boolean
<= Меньше или равно Совместимый простой, указатель, множественный строковый или упакованный строковый Булевский
> = Mare sau egal Compatibil simplă, pointer, șir multiplu sau șir logic împachetat Boolean
=> Supersetul setului de tipuri compatibile Boolean
<= Подмножество Множества совместимых типов Булевский
în Elementul operandului Stânga set: orice t enumerabil t; dreapta: setați compatibil cu t Boolean

+___ plus
-____ scăderea (schimbarea semnului)
* multiplicare ____
/ ____ diviziune
(A) DIV (B) ___ întreaga parte a A / B
(A) MOD (B) ___ restul lui A / B
ABC (X) ___ valoarea absolută a lui X
SQR (X) ___ X pătrat
SUCC (X) ___ X + 1
PRED (X) ___ X-1
SIN (X) ___ sine
COS (X) ___ cosinus
ARCTAN (X) ___ arctangent
LN (X) ___ logaritm
EXP (X) ___ exponent
SQRT___ pătrat rădăcină
ODD (X) ___ paritate (TRUE) și impar (FALSE)
INC (X) ___ X: = X + 1
INC (X, N) X: = X + N
DEC (X) ___ X: = X-1
DEC (X, N) X: = X-N
FRAC (X) ___ întoarcerea părții fracționare
INT (X) ___ întoarcerea întregii părți
PI ___ returnează valoarea Pi a unui număr real
TRUNC (X) ___ tăierea părții fracționare
ROUND (X) ___ rotunjirea părții fracționate
ORD (C) ___ definește numărul de ordine al simbolului C
CHR (K) ___ determină prin numărul ordinal K

(Acțiunea de operare Tipuri de operatori Tipul de rezultat)
nu Negație (bit) Întregul întreg
și AND (bit) întreg întreg
SAU OR (bit) întreg întreg
xor Exclusiv OR (bit) întreg întreg
Shl Shift Stânga Întregul întreg
Shr Shift Drept Întreaga Întreaga

Cu toate varietățile de limbi de programare, fiecare dintre ele are un anumit set obligatoriu de construcții de limbaj, indiferent de ce idei sunt încorporate în această limbă. Orice limbă ar trebui să ia în considerare necesitatea de a alege din mai multe soluții care să satisfacă anumite condiții.

Exemplu: Dacă ziua de lucru se termină, puteți pleca acasă, altfel trebuie să continuați să lucrați.

Orice limbă ar trebui să ofere posibilitatea de a repeta comenzile fără a le scrie în mod repetat.

Exemplu: Pentru fiecare număr de la 1 la 100, faceți:

Observăm suma divizoarelor sale.
Imprimați suma găsită.


Puteți continua exemplele de comenzi care ar trebui să fie în orice limbă, astfel încât această limbă să fie utilă. De exemplu, trebuie să puteți calcula expresii aritmetice, să imprimați valori variabile pe un ecran și așa mai departe. Se poate spune că în limba de programare, trebuie să existe orice constructe și comenzi care pot apărea atunci când se scriu algoritmi. Prin urmare, se poate presupune că comenzile limbajului de programare sunt o formă de înregistrare a instrucțiunilor algoritmilor, așa că vom studia în continuare limba de programare în conformitate cu următoarea schemă:


Vom scrie algoritmul în limba rusă.


Selectați comanda din înregistrarea primită.


Noi scriem comenzile selectate cu comenzi de limbaj de programare.

Exemplul 1. Este necesar să introduceți două numere, să găsiți aritmele medii și să deduceți valoarea primită pe ecranul monitorului. Algoritmul necesar va arăta astfel:







Introduceți numărul A.
Introduceți numărul B.
Calculați C = (A + B) / 2.
Ieșiți valoarea lui C.


În mod clar, pentru a scrie un program utilizând acest algoritm, aveți nevoie de comenzi pentru a introduce valori variabile, valori de ieșire a variabilelor și a calcula valori. În Pascal, operatorul de intrare este scris cu cuvântul citit, operatorul de ieșire este cuvântul de scriere. Operatorul de calcul este scris folosind semnul:. dar acest operator nu este numit o evaluare, ci o misiune. Acum putem scrie fragmentul programului nostru după cum urmează:

Operatorul de alocare în Pascal are următoarea formă:


Variabila. = Expresie aritmetică sau booleană


O expresie aritmetică este orice expresie acceptabilă în limba respectivă (vezi capitolul "Funcționare"). Există totuși câteva caracteristici, ignorarea cărora poate duce la probleme grave:


Tipul expresiei evaluate în dreapta semnei operatorului trebuie să se potrivească cu tipul Variabilei specificate în stânga. De exemplu, dacă variabila este de tip Real (număr real), atunci expresia trebuie să fie de tip Real. Trebuie reținut că unele operații (de exemplu, calculul rădăcinii pătrate) produc un rezultat de tip Real, indiferent de tipul de argument. Aceasta înseamnă că dacă calculați rădăcina sau sina din dreapta, etc. atunci variabila din dreapta trebuie să fie de tip Real.


Este necesar să se monitorizeze intervalul de valori în care valoarea calculată scade. Acest lucru rezultă din faptul că fiecare tip are un domeniu de valori bine definit. Dacă expresia dvs. oferă o valoare în afara acestui interval, atunci în timpul lucrului în program va exista o eroare pe care compilatorul nu o poate detecta. De exemplu, numerele întregi sunt definite în intervalul de la -32768 la 32767

Un exemplu. Introduceți un set de numere și stabiliți câte dintre ele sunt pozitive.


Ideea soluției este următoarea: vom configura o variabilă care va acționa ca un contor cu numere pozitive și de fiecare dată când numărul de intrare se dovedește a fi pozitiv, vom mări valoarea acestui contor cu unul. Și pentru a putea face acest lucru, avem nevoie de un design care să ne permită să executăm o anumită comandă numai dacă o anumită condiție se dovedește a fi adevărată.

Algoritmul nostru va arata astfel:

Pentru toate i de la 1 la N face

Dacă numărul> 0 atunci s = s + 1

Când scrieți un program folosind acest algoritm, va apărea o problemă serioasă. Trebuie să trecem prin două comenzi: introducerea unui număr și verificarea pozitivității. Dar deja știm că după cuvântul "DO" puteți înregistra o singură comandă. Soluția este de a introduce un operator complex. Un operator complex este un grup de operatori scrise între cuvintele "Începeți" și "Sfârșit". Un astfel de operator este perceput de calculator ca fiind un operator și poate fi pus, de exemplu, într-un ciclu. Având în vedere acest lucru, programul nostru va fi scris astfel:

dacă a> 0 atunci s: = s + 1;

Cuvântul în limba engleză "if" este tradus ca cuvântul "if" și operatorul: dacă a> 0 atunci s: = s + 1; se numește operator condițional. Dispozitivul acestui nou operator este după cum urmează: după cuvântul "if" se scrie o condiție și după cuvântul "apoi" este scris un operator (poate fi complicat), care este executat dacă condiția se dovedește a fi adevărată. Operatorul condițional are o altă formă:

dacă apoi atunci altceva declarație;

În această formă, dacă condiția este adevărată, se execută instrucțiunea scrisă după cuvântul "apoi", iar dacă condiția este falsă, atunci operatorul scrise după ce cuvântul "else" este executat.

Cei care tocmai au început să practice programele în Pascal fac adesea o greșeală groasă în declarația condiționată. Să luăm în considerare un exemplu:

Dacă t = 5 atunci t: = 6; altfel t: = 8;

În declarația scrisă după t: = 6 există un punct și virgulă. Ei l-au scos din considerentele că orice operator din limbajul Pascal se termină cu un punct și virgulă. Dar rezultatul nu este operatorul, ci construcția logică completă. Aici, la t: = 6, construcția condiționată de transfer nu este încă completă, iar punct și virgulă nu mai există locul aici. Trebuie să o puneți numai după ce operatorii urmează cuvântul "altceva". Prin urmare, construcția corectă va fi scrisă după cum urmează:

Dacă t = 5 atunci t: = 6 altfel t: = 8;

Să luăm în considerare următoarea problemă: Fie două cantități L și U pot lua doar trei valori și aceste cantități sunt interdependente, adică valoarea lui U ia valorile sale în funcție de valoarea lui L. Să presupunem că relația este stabilită după cum urmează: Pentru L = 1 U = 4; Pentru L = 4, U = -5; la L = 0 U = 11; Să presupunem, de asemenea, că valoarea lui L este introdusă de la tastatură, iar valoarea lui U este calculată în funcție de litera L. Să scriem cum se poate realiza acest lucru în limba Pascal:

Să luăm în considerare o situație mai interesantă. Să presupunem că relația dintre L și U este puțin mai complicată. Valorile vechi sunt legate în același mod ca înainte, dar acum L poate lua orice valoare și dacă L ia o altă valoare decât cele deja descrise, atunci U = 20; Descriim această situație folosind construcția CASE.

Dacă această construcție este executată, dacă L are o valoare diferită de 1, 4, 0, atunci U va fi 20. Este posibil ca structura operatorului să fie astfel încât U să aibă aceeași valoare pentru diferiți L. Să dăm un exemplu:







Articole similare

Trimiteți-le prietenilor: