Nota10

Lecții · BAC · Informatica

Tipuri de date și expresii în Pascal și C++

Tema din testele ANCE: Tipuri de date și expresii

Subiectul II începe cu tipuri de date, identificatori și valoarea expresiilor, în Pascal și în C++. Aici ai tipurile puse față în față, regulile operatorilor și felul în care baremul plătește fiecare valoare și fiecare tip.

Citește lecția în rusă

Ce trebuie să știi

Tipurile pe care le cer testele

PascalC++ce rețineordinal
integerintnumere întregida
realfloatnumere realenu
charcharun caracterda
booleanbooltrue sau falseda
stringstringun șir de caracterenu
(A, B, C) enumeratenum {A, B, C}valori numite, în ordineda
array[1..10] of integerint B[10]tablounu
record ... endstruct { ... }componente de tipuri diferitenu

Tipurile ordinale au valori numărabile, fiecare cu un predecesor și un succesor; pe ele funcționează ord, chr, succ, pred și instrucțiunea for. Tipul enumerat este ordinal, iar valorile lui au indici de la 0: în type xx = (A, B, C, D, E), și .

Identificatori și cuvinte-cheie
Un identificator începe cu literă sau liniuță de subliniere și conține litere, cifre și liniuțe: abc și a1b2 sunt identificatori, 3a2b nu este element al limbajului, fiindcă începe cu o cifră. case, for, type (Pascal), switch, typedef (C++) sunt cuvinte-cheie și nu pot fi folosite ca nume de variabile.

Operatori și ordinea lor

  • aritmetici: +, -, *, iar împărțirea are două forme: / dă un rezultat real în ambele limbaje, div și mod (Pascal), / și % între întregi (C++) dau câtul și restul întreg
  • div și mod cer operanzi întregi: y mod t cu y real este o greșeală de sintaxă, la fel ca y % t în C++
  • restul păstrează semnul deîmpărțitului:
  • de comparare: =, <>, <, <=, >, >= în Pascal; ==, !=, <, <=, >, >= în C++
  • logici: not, and, or în Pascal; !, &&, || în C++
  • ordinea: funcțiile și parantezele, apoi not, apoi *, /, div, mod, and, apoi +, -, or, iar la urmă comparările

Atribuire și comparare
În Pascal atribuirea este :=, iar = compară: c = chr(ord(c) - 2) nu schimbă pe c, ci dă o valoare booleană. În C++ atribuirea este =, iar compararea ==, și o atribuire are ea însăși o valoare, de tipul variabilei din stânga.

Funcții predefinite
abs, sqr (Pascal) sau pow (C++), sqrt, trunc, round, ord, chr, length. trunc taie partea fracționară fără rotunjire: ; în C++ același efect îl dă conversia int(...). Codul ASCII al literei A este 65, deci ord('D') = 68.

Cum scrii o expresie matematică în cod
Treci fracția pe un rând, cu paranteze la numărător și la numitor, și înlocuiești fiecare simbol cu funcția lui: devine sqrt(abs((1 - sqr(cos(x))) / sin(x))) în Pascal și sqrt(fabs((1 - pow(cos(x), 2)) / sin(x))) în C++. Fiecare funcție și fiecare pereche de paranteze are punctul ei în barem.

Afișarea cu format
În Pascal write(y:0:2) afișează un număr real cu două zecimale, iar write(x:5) îl aliniază pe cinci poziții. În C++ aceleași lucruri se fac cu setw(5), fixed și setprecision(2).

Restul lecției e în abonament

Itemii reali ANCE în care apare tema, exemplul rezolvat pas cu pas, greșelile tipice și cele 7 întrebări de verificare se deschid cu abonamentul. „Ce trebuie să știi” rămâne gratuit.

Se deschide cu abonamentul

  • Cum apare la examen
  • Exemplu rezolvat
  • Greșeli tipice
  • Verifică-te

Verifică-ți nivelul gratuit