
- •Структура программы на алгоритмическом языке Паскаль: Раздел описаний, раздел операторов, понятие «Блок».
- •Символы языка: цифры, буквы, знаки арифметических операций, знаки операций отношения, разделители, скобки, числа, имена.
- •Раздел описаний и последовательность описаний в Паскаль- программе: описание меток, констант, типов, переменных, процедур, функций. Примеры.
- •Описание массивов. Примеры.
- •Понятие данных в Паскаль- программе. Типы данных: логические, символьные, вещественные, перечисленные типы, тип диапазон, процедурный тип. Их описание. Примеры.
- •Ввод/вывод переменных: скалярного типа, одно- и двумерных массивов. Формат вывода результатов целого и вещественного типов. Примеры.
- •Операторы алгоритмического языка Паскаль: присваивания, перехода, условные, варианта, составной. Примеры.
- •In Формальный параметр
- •Var ИмяПраметра: ИмяТипа
In Формальный параметр
— константа, разрешается только чтение значения соответствующего фактического параметра;
— переменная, разрешается как чтение, так и изменение значения соответствующего фактического параметра.
Out Формальный параметр
— переменная, разрешается изменение значения соответствующего фактического параметра. Допускается чтение границ и дискриминантов формального параметра и его подкомпонент; никакое другое чтение не допускается.
Тип формальных параметров может быть любым, но должен указываться только идентификатором (именем типа). Таким образом, имя типа формального параметра - массива должно быть задано предварительно в операторе Type, например: Type M= array[1..100]of real; Затем тип массива может указываться в заголовке процедуры, например: Procedure Name_P(p: M); Тип формальных параметров описывается только в заголовке процедуры. Список формальных параметров может отсутствовать, например: процедура Randomize; не имеет параметров.
Если в результате выполнения нескольких операторов получается одно значение переменной, то эти операторы можно включить в описание функции. Например, функция Sin(x); возвращает значение, которое присваивается переменной Y:=sin(x);
Свойства параметров значений
Параметры-значения используются только для передачи исходных данных из основной программы в процедуру или функцию.
Procedure horline (len:integer; s:chsr); {len, s- формальные параметры-значения}
Если формальный параметр объявлен как параметр-значение, то фактическим параметром может быть того же типа выражение. В процессе выполнения подпрограммы формальные параметры могут изменяться, но это никак не отразится на соответствующих фактических параметрах-переменных, которые сохранят те значения, которые имели до вызова подпрограммы, т.к. меняются не они, а их копия. Поэтому параметры-значения нельзя использовать для передачи результатов из подпрограммы в основную программу.
Для передачи в подпрограмму массива необходимо предварительно описать его тип
Const mmax=5; nmax=5 {}
Type massiv = array [1..mmax, 1..nmax] of real;
Procedure input_array (m,n: integer; var mas: massiv);
…
Свойства параметров- переменных
В списке формальных параметров они перечисляются после зарезервированного слова Var с указанием типа.
Procedure degree (x:real; n:byte; Var res: real); {x,n- параметры-значения, res- параметр-переменная}
Если формальный параметр определен как параметр-переменная, то при вызове процедуры ей передается сама переменная (адрес переменной в памяти) и изменение параметра-переменной приводит к изменению фактического параметра вызывающей программе.
Описание формальных параметров массивов
При описании массива указывают его имя, размерность и диапазон изменения каждого индекса, тип входящих элементов.
В общем виде массив описывается так:
<имя массива>: array [диапазон индексов массива] of <тип элементов>
Можно описать массив-константу, тип данных массив или переменную-массив, например:
const mas_const=(2.3, 4, 6.4, −2, −3.7); {постоянный массив из пяти вещественных элементов}
var
A : array[1..10] of real; {одномерный массив-переменная из десяти вещественных элементов}
B : array[0..50,0..20] of char; {двумерный массив-переменная, размером 51´21, из символьных элементов}
C : array[-3..4] of boolean; {одномерный массив-переменная из восьми элементов логического типа}
type norm_mas=array[1..10,1..10] of integer; {описание типа данных пользователя – массив 10´10 из целых чисел}
var A1, A2 : norm_mas; {двумерные переменные-массивы типа norm_mas}
Над массивами целиком определена операция присваивания, например, выражение вида
A1:=A2
означает, что всем элементам массива A1 присвоены значения элементов A2. Все остальные операции осуществляются над элементами массивов. Обратиться в программе к конкретному элементу массива можно
<имя массива> [<номер элемента>]
Обращение к элементу одномерного массива A:
A[i] − i-тый элемент массива,
A[1] − первый элемент массива.
Обращение в программе к элементу двумерного массива B:
B[i, j] − элемент, стоящий на пересечении i-ой строки и j-ого столбца,
B[1, 5] − элемент, стоящий пятым в первой строке,
B[3, j] − элемент третьей строки.
Описание параметров процедур и функций
Формат процедуры имеет вид:
procedure ИмяПроцедуры (формальные параметры);
{раздел описаний процедуры}
begin
{исполняемая часть процедуры}
end;
Формат описания функции:
function ИмяФункции (формальные параметры): тип результата;
{раздел описаний функции}
begin
{исполняемая часть функции}
end;
Формальные параметры в заголовке процедур и функций записываются в виде: