
- •Структура программы на алгоритмическом языке Паскаль: Раздел описаний, раздел операторов, понятие «Блок».
- •Символы языка: цифры, буквы, знаки арифметических операций, знаки операций отношения, разделители, скобки, числа, имена.
- •Раздел описаний и последовательность описаний в Паскаль- программе: описание меток, констант, типов, переменных, процедур, функций. Примеры.
- •Понятие блока в Паскаль- программе. Локальные и глобальные описания имен. Области действия описаний. Примеры.
- •Понятие данных в Паскаль- программе. Типы данных: логические, символьные, вещественные, перечисленные типы, тип диапазон, процедурный тип. Их описание. Примеры.
- •Описание массивов. Примеры.
- •Ввод/вывод переменных: скалярного типа, одно- и двумерных массивов. Формат вывода результатов целого и вещественного типов. Примеры.
- •Операторы алгоритмического языка Паскаль: присваивания, перехода, условные, варианта, составной. Примеры.
Описание массивов. Примеры.
Массив представляет собой совокупность данных одного типа с общим для всех элементов именем. Элементы массива пронумерованы, и обратиться к каждому из них можно по номеру. Номера элементов массива иначе называют индексами, а сами элементы массива- переменными с индексами. Вектор (одномерный массив)- это пример массива, в котором элементы нумеруются одним индексом. Если в массиве хранится таблица значений (матрица), то такой массив называется двумерным, его элементы нумеруются двумя индексами- номером строки и столбца.
Самый простой способ описания массива- это объявить переменную в разделе описания переменных Var с использованием зарезервированного слова array (т.е. массива).
Пример:
Для одномерного массива
Var A: array [1..100] of integer; {100 элементов- целые числа}
Для двумерного массива
Var B: array [1..100,1..100] of integer; {матрица 100х100- целые числа}
Операции в алгоритмическом зыке Паскаль: арифметические, логические, отношения. Приоритеты выполнения операций. Типы результатов выполнения данных операций при различных типах операндов. Выражения в Паскаль- программе и их выполнение. Примеры.
Приоритет операций
*, /, mod, div, and
+, -, or, xor
=, <, >, <=, >=, <>, in
В скобках имеют высший приоритет, т. е. сначала выполняются операции в скобках, в том числе вычисление аргументов и значения функции. Операции одинакового приоритета выполняются слева направо, например: a/c*b соответствует (a/c)*b.
Пример:
В выражении Y:= 5 * Cos (Pi + x); сначала вычисляется значение аргумента, затем значение функции, которое умножается на пять.
11 div 5 = 2
10 mod 3 = 1
Ввод/вывод переменных: скалярного типа, одно- и двумерных массивов. Формат вывода результатов целого и вещественного типов. Примеры.
Ввод данных
Скалярного типа:
Для ввода исходных данных чаще всего используется процедура Read:
ReadLn (A1,A2,...AK);
Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК.
При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо. Значения исходных данных могут отделяться друг от друга. Не допускается разделение вводимых чисел запятыми!
Ввод массива:
Массив представляет собой совокупность данных одного типа с общим для всех элементов именем. Элементы массива пронумерованы, и обратиться к каждому из них можно по номеру. Номера элементов массива иначе называют индексами, а сами элементы массива- переменными с индексами. Вектор (одномерный массив)- это пример массива, в котором элементы нумеруются одним индексом. Если в массиве хранится таблица значений (матрица), то такой массив называется двумерным, его элементы нумеруются двумя индексами- номером строки и столбца.
Самый простой способ описания массива- это объявить переменную в разделе описания переменных Var с использованием зарезервированного слова array (т.е. массива).
Пример:
Для одномерного массива
Var A: array [1..100] of integer; {100 элементов- целые числа}
Для двумерного массива
Var B: array [1..100,1..100] of integer; {матрица 100х100- целые числа}
Вывод данных
Для вывода результатов работы программы на экран используются процедуры:
Write (A1,A2,...AK);
WriteLn (A1,A2,...AK);
Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.
Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или булевскому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.
Оператор вывода позволяет задать ширину поля вывода для каждого элемента списка вывода. В этом случае элемент списка вывода имеет вид А:К, где А - выражение или строка, К - выражение либо константа целого типа. Если выводимое значение занимает в поле вывода меньше позиций, чем К, то перед этим значением располагаются пробелы. Если выводимое значение не помещается в ширину поля К, то для этого значения будет отведено необходимое количество позиций.
Для величин действительного типа элемент списка вывода может иметь вид А:К:М, где А - переменная или выражение действительного типа, К - ширина поля вывода, М - число цифр дробной части выводимого значения. К и М - выражения или константы целого типа. В этом случае действительные значения выводятся в форме десятичного числа с фиксированной точкой.
Пример записи операторов вывода:
Var rA, rB: Real;
iP,iQ:Integer;
bR, bS: Boolean;
chT, chV, chU, chW: Char;
Begin
. . .
WriteLn (rA, rB:10:2);
WriteLn (iP, iQ:8);
WriteLn (bR, bS:8);
WriteLn (chT, chV, chU, chW);
End.
Скалярные типы данных - целочисленные, вещественные имеющие символьные и булевский тип.
Вывод массива:
Вывод значений элементов массива выполняется в цикле For с использованием операторов write или writeln.
Например, вывод вектора из 5 элементов:
-в столбец
For i:= 1 to 5 do writeln (a[i]);
-в одну строку, через пробел- разделитель
For 1:= 1 to 5 do write (a[i], ‘ ‘);
-с заданием формата, где под каждый элемент отводится 4 позиции:
For i:= 1 to 5 do write (a[i]:4);
Вывод матриц в стандартной форме записи выполняется при помощи оператора writeln;. Он используется после вывода текущей строки матрицы для перевода курсора в начало следующей строки экрана:
For i:= 1 to n do Begin
For j:= 1 to m do write (a[i,j]:4);
writeln; end;