← Маршрут ML-инженерии

Урок · 2 мин чтения · упражнения и самопроверка

Устройство программы

После урока: объяснить исходный код и выполнить упражнение «Проследить путь от исходного файла до результата», обосновав выбранный подход..

Перед началом

Код, вход и выход

Исходный код — текст с инструкциями. Вход — данные конкретного запуска. Выход — результат этих инструкций на выбранных данных. Один исходник может обработать много разных входов: числа не требуется каждый раз вписывать прямо в код.

В C++ сначала выполняется компиляция. Команда g++ -std=c++20 main.cpp -o main создаёт исполняемый файл. После изменения исходника файл надо собрать заново. В Python команда python main.py запускает интерпретатор. Python также разбирает и компилирует код во внутреннее представление; слово «интерпретируемый» не означает чтение каждой строки без предварительной проверки.

Порядок действий

Компьютер исполняет последовательность, которую вы записали. Присваивание заменяет текущее значение переменной. Оно не создаёт уравнение, которое пересчитывается само при изменении других значений. В примере y получает результат x + 1 в момент присваивания; дальнейшая замена x не меняет y.

Виды ошибок

Синтаксическая ошибка мешает правильно разобрать программу. Ошибка выполнения происходит после запуска: например, при делении на ноль. Логическая ошибка может дать неправильный ответ без какого-либо сообщения системы. Поэтому успешный запуск необходимо дополнить сравнением результата с ожидаемым.

Отладочные сообщения и требуемый ответ лучше разделять. На сайте сравнивается стандартный вывод; лишняя подпись вроде «Ответ:» может сделать решение неправильным, если её нет в формате задачи.

Пошаговый пример

python
x = 3
y = x + 1
x = 8
print(x, y)

Ожидаемый вывод

text
8 4

y вычислено, когда x было равно 3. Последнее присваивание меняет только x.

Сделайте самостоятельно

Проследите x = 2; y = x * 3; x = 4. Какие значения останутся?

Ответ и критерии проверки

x равно 4, y равно 6. Присваивание y произошло до изменения x.

Проверьте понимание

1. Что нужно сделать после изменения исходника C++?
2. Программа завершилась без ошибки. Доказывает ли это правильность?