- Что нужно знать
- Как это бывает на экзамене
- Разбор примера
- Типичные ошибки
- Проверь себя
- Ещё 4 раздела — в подписке
Что нужно знать
Tipurile pe care le cer testele
| Pascal | C++ | ce reține | ordinal |
|---|---|---|---|
integer | int | numere întregi | da |
real | float | numere reale | nu |
char | char | un caracter | da |
boolean | bool | true sau false | da |
string | string | un șir de caractere | nu |
(A, B, C) enumerat | enum {A, B, C} | valori numite, în ordine | da |
array[1..10] of integer | int B[10] | tablou | nu |
record ... end | struct { ... } | componente de tipuri diferite | nu |
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șimod(Pascal),/și%între întregi (C++) dau câtul și restul întreg divșimodcer operanzi întregi:y mod tcuyreal este o greșeală de sintaxă, la fel cay % 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 predefiniteabs, 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 în Pascal și î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).
Остальное в уроке — в подписке
Настоящие задания ANCE по этой теме, разбор примера шаг за шагом, типичные ошибки и 7 вопросов для самопроверки — в подписке. «Что нужно знать» остаётся бесплатным.
Диагностика на настоящих заданиях ANCE остаётся бесплатной: 20 минут — где теряешь баллы, ещё 10–15 минут — ориентировочная оценка по каждому экзамену. Нужен только аккаунт, без карты.
Целый месяц — 299 лей: ≈ 10 лей за вечер занятий. Без автопродления.
BAC · реальный профиль · тренировочный тест № 1 · 2026Nota10
Tipuri de date și expresii · 8 б.
Fie date definițiile de tipuri și declarațiile de variabile și valorile lor (limbajul Pascal, respectiv C++):
Limbajul Pascal
Var x : (Rosu, Verde, Galben, Albastru, Gri, Orange );
b : boolean;
c : char;
y : real;
q : integer;
x := Gri;
b := x > Verde;
c := 'D';
y := 11;
q := 3;Limbajul C++
enum {Rosu, Verde, Galben, Albastru, Gri, Orange} x = Gri;
bool b = x > Verde;
char c = 'D';
float y = 11;
int q = 3;a) Completați, pentru limbajul pe care îl utilizați, valorile și tipurile corespunzătoare expresiilor: y / 4; c = chr(ord(c) - 2) (Pascal) / c = c - 2 (C++); ord(x) mod q (Pascal) / x % q (C++); ord(b) - ord(Albastru) (Pascal) / b - Albastru (C++).