ГлавнаяУрокиИнформатика 9 класс

§ 1.2. Запись вспомогательных алгоритмов на языке Паскаль

Прочитай параграф о процедурах и функциях в Паскале и ответь на 10 вопросов.

Большую программу редко пишут одним куском. Задачу делят на части, каждую часть оформляют отдельным алгоритмом и дают ей имя. Такой отдельно записанный кусок работы называют вспомогательным алгоритмом, а в языке программирования он превращается в подпрограмму: описать её достаточно один раз, а вызывать можно сколько угодно раз и из любого места.

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

В Паскале подпрограмма живёт внутри основной программы. Её описание ставят после раздела var и перед словом begin, с которого начинается сама программа (рис. 1). Если подпрограмм несколько, их описания идут одно за другим, а порядок значения не имеет — годится любой.

Схема строения программы на Паскале: блок var с переменными, блок описаний подпрограмм с примерами procedure и function, блок основной программы begin … end.
Рис. 1. Описание подпрограммы стоит между разделом var и основной программой.

Устроена подпрограмма почти так же, как программа: сначала заголовок, затем, если нужно, собственные переменные, потом begin, операторы и end. Отличие видно сразу: основная программа заканчивается точкой (end.), а описание подпрограммы — точкой с запятой (end;). Собственные переменные подпрограммы существуют только пока она работает, поэтому имена внутри неё выбирают свободно, не оглядываясь на остальную программу.

Подпрограмм в Паскале два вида, и различаются они тем, сколько ответов отдают наружу: процедуры и функции.

Определение. Процедура — подпрограмма, у которой может быть сколько угодно исходных данных и сколько угодно результатов.

Заголовок процедуры устроен так:

procedure <имя> (<параметры-значения>; var <параметры-переменные>); begin <операторы> end;

Имена в скобках — формальные параметры. Это не переменные основной программы, а обозначения, под которыми процедура знает свои данные. Исходные величины описывают параметрами-значениями: процедура получает их копии и может менять эти копии как угодно — на переменные вызывающей программы это не повлияет. Результаты возвращают только через параметры-переменные, записанные после слова var: такой параметр и есть сама переменная основной программы, поэтому новое значение попадает прямо в неё (рис.

Дальше — в приложении

Полный пересказ по учебнику «Информатика 9 класс», тест из большого пула вопросов и разбор ошибок с ИИ-репетитором. За сданный тест ребёнок получает экранное время — родители задают, сколько минут стоит урок.

Пройти урок бесплатноКак это работает

Вопросы из теста

Правильные ответы и разбор ошибок — в приложении: при пересдаче вопросы меняются, поэтому списать не получится.

Где в программе на Паскале записывают описание подпрограммы?

Чем функция отличается от процедуры?

← § 1.1. Конструирование алгоритмов§ 1.3. Запись вспомогательных алгоритмов на языке Python →