- •Информатика серия «Языки программирования» Паскаль
- •Часть 2: Основные структуры языка
- •Пояснительная записка
- •Раздел Var 7
- •1.Структура программы на Паскале
- •Ввод данных
- •Оператор присвоения
- •Арифметические выражения
- •Составной оператор
- •3.Структуры ветвления
- •Оператор условия
- •Оператор выбора
- •4.Циклические структуры
- •Цикл с предусловием
- •Цикл с постусловием
- •Цикл с параметром
- •5.Подпрограммы
- •Процедуры
- •Функции
- •6.Массивы
- •Литература
Ввод данных
Ввод данных – передача исходных данных программы в оперативную память компьютера для обработки.
Основные способы ввода – ввод с клавиатуры или чтение данных из файла.
Описание переменных служит для выделения памяти. Выделенные ячейки памяти остаются незаполненными до тех пор, пока в них не было записано конкретное значение. Ввод данных – один из способов задания значений переменных.
Инструкция ввода с клавиатуры можно записать в следующей форме:
Операторы ввода данных с клавиатуры Read(список переменных);
или ReadLn(список переменных);
Инструкция ReadLn при вводе с клавиатуры предпочтительнее Read, т.к. полностью освобождает буфер клавиатуры – рабочую область памяти, в которой хранятся (временно) введенные с клавиатуры символы.
Пустой оператор ReadLn используется для организации паузы – выполнение программы продолжится, как правило, только после нажатия на клавиатуре клавиши <Enter>.
В одной инструкции Read или ReadLn можно записать несколько переменных, разделенных занятыми. При выполнении программы значения, вводимые с клавиатуры, можно разделять клавишами <> (пробел), <Tab>, <Enter>.
Оператор присвоения
Другим способом назначения переменным значений является операция присвоения.
Оператор присвоения задает значения переменных в ходе выполнения программы.
Обозначается операция присвоения знаком – «:=».
Результат, полученный при вычислении выражения, должен быть совместим по типу с переменной, которой он присваивается.
Арифметические выражения
Выражение определяет порядок совершения действии над элементами данных и состоит из:
операндов (констант, переменных, функций);
круглых скобок;
знаков операций.
Операции определяют действия, которые надо выполнить над операндами. Любые операции можно поделить на унарные, которые относятся к одному операнду, и бинарные, которые относятся к двум операндам.
Таблица 1. Таблица знаков операций
Операция |
Обоз-начение |
Тип |
|
операндов |
результата |
||
Бинарные |
|||
Сложение |
+ |
real |
real |
integer |
integer |
||
Вычитание |
- |
real |
real |
integer |
integer |
||
Умножение |
* |
real |
real |
integer |
integer |
||
Деление |
/ |
real |
real |
integer |
real |
||
Целочисленное деление |
div |
integer |
integer |
Остаток от деления |
mod |
integer |
integer |
Арифметическое И |
and |
integer |
integer |
Арифметическое ИЛИ |
or |
integer |
integer |
Арифметическое побитовое сложение по модулю 2 |
xor |
integer |
integer |
Побитовый сдвиг влево |
shl |
integer |
integer |
Побитовый сдвиг вправо |
shr |
integer |
integer |
Унарные |
|||
Сохранение знака |
+ |
real |
real |
integer |
integer |
||
Отрицание знака |
- |
real |
real |
integer |
integer |
||
Арифметическое отрицание |
not |
integer |
integer |
Операции div – вычисление результата от целочисленного деления и mod – вычисления остатка от целочисленного деления предназначены для работы с целыми числами и в итоге дают также целые значения. Примеры:
19 div 4=4;
12 div 4=3;
-21 div 4=-5;
-7 div (-4)=1;
19 mod 4=3;
12 mod 4=0;
-21 mod 4=-1;
-7 mod (-4)=-3.
В Паскале есть две процедуры, которые также меняют значения целого числа: inc и dec. Первая увеличивает число на указанное значение, вторая – наоборот – уменьшает. Пример:
Inc(X)
Inc(X,N)
Dec(X)
Dec(X,N)
X:=X+1
X:=X+N
X:=X-1
X:=X-N
Операции побитового сдвига выполняются быстрее, чем соответствующие операции деления и умножения на степень двойки. Сдвиг влево (k shl n) восстанавливает в качестве результата значение, полученное путем сдвига на n позиций влево двоичной формы числа k:
2 shl 7 = 256 = 2*27
Сдвиг вправо (k shr n) наоборот:
240 shr 3 = 30 = 240 div 23
Арифметическое отрицание (not) вызывает побитовую инверсию числа – получение обратного значения.
Таблица 2. Логические операции
Операция |
Название |
< |
меньше |
> |
больше |
<= |
меньше или равно |
>= |
больше или равно |
= |
равно |
<> |
не равно |
not |
отрицание |
or |
Или |
and |
И |
xor |
исключающее ИЛИ |
Последовательность выполнения любой операции в составе арифметического выражения зависит от ее приоритета (Рисунок 1. Последовательность операций).
Выражение, заключенное в скобки, перед выполнением вычисляется как отдельный операнд. При наличии вложенных скобок вычисление выполняется, начиная с самых внутренних.
Рисунок 1. Последовательность операций
Операции с равным приоритетом выполняется слева направо.
Если в выражении встречается функция, то данная функция заменяется конкретным значением – результатом вычисления функции и расчет содержащего ее выражения продолжается далее.
Таблица 3. Стандартные арифметические функции
Стандартная функция |
Выполняемое действие |
Тип |
|
аргумента |
результата |
||
abs(x) |
|x| |
real |
real |
integer |
integer |
||
sqr(x) |
x2 |
real |
real |
integer |
integer |
||
sqrt(x) |
x½ |
real |
real |
integer |
real |
||
exp(x) |
ex |
real |
real |
integer |
real |
||
ln(x) |
ln(x) |
real |
real |
integer |
real |
||
arctan(x) |
arctg(x) |
real |
real |
integer |
real |
||
cos(x) |
cos(x) |
real |
real |
integer |
real |
||
sin(x) |
sin(x) |
real |
real |
integer |
real |
||
pi |
π |
– |
real |
frac(x) |
Дробная часть числа |
real |
real |
int(x) |
Целая часть числа |
real |
real |
random(x) |
Расчет случайного числа y: 0<=y<x |
– |
integer |
trunc(x) |
Отброс дробной части |
real |
integer |
round(x) |
Округление до целого |
real |
integer |
Для тригонометрических функций sin и cos аргумент задается в радианах.
