- •Как написать простейшую программу
- •1. Описание переменной файлового типа
- •2. Связь переменной файлового типа с конкретным внешним файлом.
- •3. Чтение из файла
- •4. Закрытие файла
- •5. Признак конца файла
- •6. Запись в файл
- •Логическая функция Eoln()
- •Описание данных логического типа
- •Логические операции
- •Стандартные логические функции
- •Решение задач
- •Окно редактора кода
- •Окно вывода
- •Окно ввода
- •Запуск и остановка программы
- •Оператор цикла с предусловием while
- •Оператор цикла с постусловием repeat
- •Решение
- •Параметры процедур и функций
- •Передача параметров
- •Глобальные и локальные переменные
- •Вызов процедуры
- •Вызов функции
- •Операции для данных символьного типа
- •Функции для данных символьного типа
- •Перечисляемый тип
- •Набор операций
- •Стандартные функции
- •Интервальный тип (диапазон)
- •Описание массива
- •Особенность языка Паскаль
- •Заполнение одномерного массива значениями
- •Вывод значений элементов массива на экран
- •Изменение значений некоторых элементов
- •Заполнение массива по заданному правилу
- •Работа с несколькими массивами
- •Вставка одного элемента
- •Вставка нескольких элементов
- •Сортировка массива методом простого выбора
- •Сортировка массива методом простого обмена (методом пузырька)
Вызов процедуры
Процедура не может выполнится сама, ее необходимо вызвать. Чтобы вызвать процедуру, нужно указать ее имя и список фактические параметров.
Общий вид вызова процедуры:
<имя процедуры> [(<список фактических параметров>)]; |
Фактические параметры - это параметры, которые передаются процедуре при обращении к ней. При вызове процедуры ее формальные параметры заменяются фактическими. Число и тип формальных и фактических параметров должны совпадать с точностью до их следования. Имя фактического параметра никак не связано с именем соответствующего формального параметра.
Пример 1. Оформить в виде процедуры алгоритм вычисления степени y = xn с натуральным показателем n.
procedure degree(x,y: integer; var st: longint); var i:integer; begin st :=1; For i:=1 to y do st:= st * x; end; |
Процедура имеет три параметра: первый параметр - основание степени, второй - показатель степени, а третий - это результат. Поэтому первые два параметра - это параметры значения, а третий - это параметр-переменная и перед ним надо написать слово Var.
В программе процедуры и функции описывается в разделе описаний основной программы после раздела описания переменных. Вся программа для нашей задачи имеет следующий вид:
program primer1; var a, n: integer; s:longint; procedure degree(x,y: integer; var st: longint); var i:integer; begin st :=1; For i:=1 to y do st:= st * x; end; begin {main} writeln('Введите два числа'); readln(a, n); degree(a,n,s); {Вызов процедуры} writeln('Результат: ', s); {Вывод результата} end. |
Процедура вызывается по имени. В нашем примере, фактические параметры а, n и s передают свои значения соответствующим формальным параметрам x, y и st. После завершения работы процедуры переменные a и n имеют те же значения, что и при вызове, а s получает новое значение.
Вы научились определять и вызывать пользовательские процедуры. На следующем уроке рассмотрим пользовательские функции.
Урок 15 из серии: "Язык программирования Паскаль"
Функция - это подпрограмма, возвращающая одно значение в вызывающую программу. Функцию можно использовать в качестве операнда в выражениях. Поэтому, если в вызывающую программу необходимо возвратить одно значение, то рекомендуется оформить подпрограмму как функцию.
На этом уроке вы научитесь определять и вызывать пользовательские функции.
Описание функции
Любая используемая в программе функция должна быть предварительно описана в разделе описаний.
Функции в разделе описаний, так же как и процедуры, определяют после раздела описания переменных (после раздела Var) и до начала раздела операторов (до слова Begin).
Заголовок функции начинается с ключевого слова Function, за которым следует имя функции и необязательный, заключенный в круглые скобки, список формальных параметров с указанием типа каждого параметра. После чего через двоеточие записывается тип возвращаемого значения.
Операторы функции внутри операторных скобок begin/end называются телом этой функции.
В теле функции обязательно должен быть оператор присвоения, где в левой части стоит имя функции, а в правой - её значение. Иначе, значение функции не будет определено.
Таким образом, общий вид функции в языке Паскаль такой:
function <имя функции>[<список формальных параметров>]:<тип возвращаемого значения>; <раздел описаний> begin <операторы> <имя функции> := <возвращаемое значение>; еnd; |
В языке Pascal ABC вместо имени функции для возврата значений в вызывающую программу можно использовать другую специальную переменную с именем Result.
Раздел описаний функции устроен так же, как раздел описаний основной программы. Здесь описываются так называемые локальные переменные и константы, типы, а также вложенные процедуры и функции. Все такие локальные объекты доступны лишь внутри данной функции и не видны извне.