Основы Python, Pascal и C++ для ЕГЭ: что нужно знать
Программирование на ЕГЭ по информатике — это не просто написание кода, а умение решать задачи на одном из трёх языков: Python, Pascal или C++. Кодификатор ФИПИ выделяет базовые конструкции, которые встречаются в заданиях №1, №2, №5, №6 и других. В этой статье разберём фундамент: типы данных, переменные, арифметические операции и ввод-вывод. Покажем на примерах, как эти элементы используются в реальных экзаменационных задачах.
Python стал самым популярным языком среди сдающих, но Паскаль и C++ тоже остаются в арсенале. Важно понимать не синтаксис каждого языка, а общие принципы. На ЕГЭ вы выбираете один язык и работаете с ним. Мы будем показывать параллели между тремя языками, чтобы вы могли легко переключаться.
Эта статья для учеников 10-11 классов, которые готовятся к ЕГЭ и хотят систематизировать знания. Если вы только начинаете, начните с Python — он проще для понимания. Если уже знаете один язык, примеры помогут освоить другие.
Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.
Типы данных в Python, Pascal и C++
В любом языке программирования данные имеют тип. На ЕГЭ чаще всего встречаются четыре базовых типа: целые числа, вещественные числа, строки и логические значения. В Python типы динамические — переменная может менять тип. В Pascal и C++ типы строгие: переменная объявляется с типом и не может его изменить.
Python: int, float, str, bool. Пример: x = 5 (int), y = 3.14 (float), name = 'Анна' (str), flag = True (bool).
Pascal: integer, real, string, boolean. Объявление: var x: integer; y: real; name: string; flag: boolean.
C++: int, double (или float), string (из библиотеки <string>), bool. Объявление: int x; double y; string name; bool flag.
На ЕГЭ часто проверяют преобразование типов. Например, нужно перевести строку в число или наоборот. В Python: int('123') даёт 123, str(456) даёт '456'. В Pascal: StrToInt('123') в Delphi или Val('123', x, code) в классическом Pascal. В C++: stoi('123') или to_string(456).
Задача (ЕГЭ, задание 5). На вход подаётся строка, содержащая целое число. Увеличьте его на 10 и выведите результат. Решите на Python, Pascal и C++.
Python:
s = input()
n = int(s)
n += 10
print(n)
Pascal:
var s: string; n, code: integer;
begin
readln(s);
val(s, n, code);
n := n + 10;
writeln(n);
end.
C++:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cin >> s;
int n = stoi(s);
n += 10;
cout << n;
return 0;
}
Переменные и присваивание
Переменная — это именованная область памяти для хранения данных. Присваивание записывает значение в переменную. В Python присваивание простое: x = 10. В Pascal используется оператор :=: x := 10. В C++ знак равенства =, но с учётом типа: int x = 10;.
Важно: в Pascal и C++ переменную нужно объявить до использования. В Python объявление не требуется. На ЕГЭ это может влиять на стиль решения, но не на логику.
Пример: обмен значений двух переменных. В Python: a, b = b, a. В Pascal: tmp := a; a := b; b := tmp. В C++: int tmp = a; a = b; b = tmp;.
Задача (ЕГЭ, задание 1). Даны две переменные a и b. Поменяйте их значения местами, не используя третью переменную. Решите на Python.
Python:
a = 5
b = 10
a = a + b
b = a - b
a = a - b
print(a, b) # Выведет 10 5
Пояснение: этот способ работает только с числами. Строки так менять нельзя.
Арифметические операторы
Во всех трёх языках основные операторы одинаковы: +, -, *, /, а также целочисленное деление и остаток. В Python // — целочисленное деление, % — остаток. В Pascal div и mod. В C++ / для целых даёт целочисленное деление, если оба операнда целые, иначе вещественное; % — остаток.
На ЕГЭ важно различать вещественное и целочисленное деление. Пример: 7 / 2 = 3.5 (вещественное), 7 // 2 = 3 (целое), 7 % 2 = 1. В C++: 7 / 2 = 3 (если оба int), 7.0 / 2 = 3.5.
Также есть возведение в степень: в Python **, в Pascal нет стандартного оператора (используется функция power или цикл), в C++ pow из <cmath>.
Приоритет операций: умножение и деление выше сложения и вычитания. Скобки меняют порядок.
Задача (ЕГЭ, задание 6). Дано трёхзначное число. Найдите сумму его цифр. Решите на Python.
Python:
n = int(input())
summa = 0
while n > 0:
summa += n % 10
n //= 10
print(summa)
Пояснение: n % 10 даёт последнюю цифру, n //= 10 отбрасывает её. Цикл повторяется, пока число не станет 0.
Ввод и вывод: input(), print() и их аналоги
Ввод данных с клавиатуры — обязательная часть задач ЕГЭ. В Python: input() читает строку, print() выводит. В Pascal: readln(x) для чисел, readln(s) для строк; writeln для вывода. В C++: cin >> x, cout << x; для строки cin >> s (читает до пробела) или getline(cin, s) (читает всю строку).
Важно: в Python input() всегда возвращает строку, поэтому для чисел нужно преобразование. В Pascal и C++ readln и cin сами преобразуют в зависимости от типа переменной.
Формат вывода: в Python можно использовать f-строки: print(f'x = {x}'). В Pascal: writeln('x = ', x). В C++: cout << "x = " << x.
На ЕГЭ часто требуется вывести результат с определённой точностью. В Python: print(f'{x:.2f}'). В Pascal: writeln(x:0:2). В C++: cout << fixed << setprecision(2) << x; (нужен <iomanip>).
Задача (ЕГЭ, задание 2). Даны два числа a и b. Выведите их сумму с точностью до двух знаков после запятой. Решите на Python.
Python:
a = float(input())
b = float(input())
summa = a + b
print(f'{summa:.2f}')
Пример ввода: 3.5 2.7
Вывод: 6.20
Разбор типовых ошибок и советов
1. Путаница между целочисленным и вещественным делением. Внимательно читайте условие: если числа целые, но результат может быть дробным, используйте float.
2. Забывают преобразовывать строку в число в Python. input() возвращает строку, даже если ввели число.
3. В C++ и Pascal путают оператор присваивания (=) и сравнения (==). В Python = присваивание, == сравнение.
4. Ввод строки с пробелами: в C++ cin >> s прочитает только до пробела, используйте getline. В Python input() читает всю строку.
5. Неправильный формат вывода: на ЕГЭ строгие требования к точности. Если в задаче сказано "с точностью до сотых", обязательно используйте форматирование.
Совет: всегда проверяйте граничные случаи — большие числа, отрицательные, ноль. Например, при нахождении суммы цифр числа 0 должно быть 0, а не ошибка.
Задача (ЕГЭ, задание 5). На вход подаётся целое число. Определите, является ли оно чётным. Выведите "YES" или "NO". Решите на Pascal.
Pascal:
var n: integer;
begin
readln(n);
if n mod 2 = 0 then
writeln('YES')
else
writeln('NO');
end.
Пояснение: оператор mod даёт остаток от деления на 2. Если остаток 0, число чётное.
Как подготовиться к ЕГЭ по теме «Основы программирования»
Чтобы уверенно решать задачи на ЕГЭ, нужно не просто знать синтаксис, а понимать логику. Рекомендуем следующий план:
1. Изучите один язык на базовом уровне. Python — самый простой для старта.
2. Решайте задачи из открытого банка ФИПИ и с сайта РешуЕГЭ. Начинайте с простых (задания 1, 2), потом переходите к более сложным (5, 6, 12).
3. Разбирайте каждую задачу: пишите код, тестируйте на разных входных данных, ищите ошибки.
4. Используйте онлайн-компиляторы для проверки.
5. Если чувствуете, что нужна помощь, попробуйте AI-репетитора. Например, Наставник может объяснить тему в диалоге, подобрать задачи и проверить решения. Это удобно, когда нет возможности спросить учителя.
Помните: на экзамене время ограничено, поэтому важно набить руку на типовых конструкциях. Чем больше задач решите, тем увереннее будете.
Частые вопросы
Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.