- Что нужно знать
- Как это бывает на экзамене
- Разбор примера
- Типичные ошибки
- Проверь себя
- Ещё 4 раздела — в подписке
Что нужно знать
Типы, которые встречаются в тестах
| Паскаль | C++ | что хранит | порядковый |
|---|---|---|---|
integer | int | целые числа | да |
real | float | вещественные числа | нет |
char | char | один символ | да |
boolean | bool | true или false | да |
string | string | строку символов | нет |
(A, B, C) перечисляемый | enum {A, B, C} | именованные значения по порядку | да |
array[1..10] of integer | int B[10] | массив | нет |
record ... end | struct { ... } | компоненты разных типов | нет |
У порядковых типов значения счетные, у каждого есть предыдущее и следующее; на них работают ord, chr, succ, pred и оператор for. Перечисляемый тип порядковый, а его значения нумеруются с нуля: в type xx = (A, B, C, D, E) получается и .
Идентификаторы и ключевые слова
Идентификатор начинается с буквы или подчеркивания и состоит из букв, цифр и подчеркиваний: abc и a1b2 — идентификаторы, а 3a2b не является элементом языка, потому что начинается с цифры. case, for, type (Паскаль), switch, typedef (C++) — ключевые слова, их нельзя брать в качестве имен переменных.
Операторы и их порядок
- арифметические:
+,-,*, а деление имеет две формы:/дает вещественный результат в обоих языках, аdivиmod(Паскаль) или/и%между целыми (C++) дают целое частное и остаток divиmodтребуют целых операндов:y mod tпри вещественномy— синтаксическая ошибка, как иy % tв C++- остаток сохраняет знак делимого:
- сравнения:
=,<>,<,<=,>,>=в Паскале;==,!=,<,<=,>,>=в C++ - логические:
not,and,orв Паскале;!,&&,||в C++ - порядок: функции и скобки, затем
not, затем*,/,div,mod,and, затем+,-,or, и в конце сравнения
Присваивание и сравнение
В Паскале присваивание — это :=, а = сравнивает: c = chr(ord(c) - 2) не меняет c, а дает значение типа boolean. В C++ присваивание — =, сравнение — ==, и само присваивание имеет значение того типа, что и переменная слева.
Стандартные функцииabs, sqr (Паскаль) или pow (C++), sqrt, trunc, round, ord, chr, length. trunc отбрасывает дробную часть без округления: ; в C++ то же делает приведение int(...). Код ASCII буквы A равен 65, поэтому ord('D') = 68.
Как записать математическое выражение в коде
Дробь пишется в строку, со скобками в числителе и знаменателе, а каждый знак заменяется своей функцией: становится в Паскале и в C++. За каждую функцию и за скобки барем дает отдельный балл.
Вывод с форматом
В Паскале write(y:0:2) выводит вещественное число с двумя знаками после запятой, а write(x:5) выравнивает по пяти позициям. В C++ то же самое делают setw(5), fixed и setprecision(2).
Остальное в уроке — в подписке
Настоящие задания ANCE по этой теме, разбор примера шаг за шагом, типичные ошибки и 7 вопросов для самопроверки — в подписке. «Что нужно знать» остаётся бесплатным.
Диагностика на настоящих заданиях ANCE остаётся бесплатной: 20 минут — где теряешь баллы, ещё 10–15 минут — ориентировочная оценка по каждому экзамену. Нужен только аккаунт, без карты.
Целый месяц — 299 лей: ≈ 10 лей за вечер занятий. Без автопродления.
BAC · реальный профиль · тренировочный тест № 1 · 2026Nota10
Типы данных и выражения · 8 б.
Язык Паскаль
Даны определения типов и переменных на языке Паскаль:
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;a) Первый столбец следующей таблицы содержит выражения на языке Паскаль. Заполните следующие столбцы значениями и типами соответствующие выражениям из первого столбца:
| Выражение | Значение выражения | Тип выражения |
|---|---|---|
y / 4 | ||
c = chr(ord(c)- 2) | ||