
Часть 3
Операторы Турбо Паскаль
Оператор языка Паскаль представляет собой некоторый неделимый элемент программы, который позволяет выполнять определенные алгоритмические действия. Отличительной чертой оператора по отношению к другим элементам программы является то, что под ним всегда подразумевается какое-либо действие (сравнение, присваивание и т.д.). Все операторы, используемые в программе, должны обязательно отделяться от всех других элементов с помощью символа (;) – точка с запятой.
Все операторы можно условно разбить на две группы: простые и структурные.
Простые операторы – операторы которые не содержат в себе других операторов (оператор присваивания, безусловного перехода (GOTO), оператор обращения к процедуре (функции)).
Структурными операторами называют такие, которые состоят из других операторов (составной оператор, условные операторы, операторы цикла и оператор присоединения).
Оператор присваивания – основной оператор любого языка программирования, в том числе и Паскаль. Он позволяет поместить определенное значение в необходимую переменную.
В общем виде оператор присваивания можно записать так:
переменная := выражение;
:= – знак присваивания.
Оператор выполняется следующим образом:
вычисляется значение выражения в правой части присваивания. После этого переменная, указанная в левой части, получает вычисленное значение. При этом тип выражения должен быть совместим по присваиванию с типом переменной. Тип выражения определяется типом операндов, входящих в него, и зависит от операций, выполняемых над ними.
Пример 4––––––––––––––––––––––––––––––––––––––––––––––––––––
Присваивание:
X := (Y + Z) / (2 + Z * 10) - 1/3;
C := 83.2;
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Ввод и вывод исходных данных
Обмен информацией с ЭВМ предполагает использование определенных средств ввода-вывода. В ЭВМ основным средством ввода является клавиатура, вывода – дисплея.
Процедура ввода Read (ReadLn)
Процедура ввода – процедура, которая в режиме диалога с клавиатуры присваивает значение для переменной величины.
В языке Паскаль эта команда выглядит следующим образом:
Read(список переменных);
Как только в программе встречается вызов процедуры Read или ReadLn, работа программы приостанавливается до тех пор, пока пользователь не введет с клавиатуры соответствующие значения, которые по очереди будут присваиваться переменным, перечисленным в списке ввода. Значения вводимых данных одновременно отображаются на экране дисплея. После нажатия клавиши Enter, когда все переменные примут свои значения из входного набора данных, определенного пользователем, выполнение программы продолжается с оператора, следующего за Read или ReadLn.
При использовании процедуры Read, со списком ввода, ввод значений с клавиатуры осуществляется через пробел. Присваивание значений из входного потока выполняется слева направо в соответствии с порядком следования переменных в процедуре Read. Используя ReadLn, ввод значений с клавиатуры осуществляется через нажатие клавиши Enter и после завершения ввода курсор переходит к началу следующей строки на экране.
Пример 5 Ввод данных используя процедуру Read:
Даны переменные A : Real; B : Integer; C : Char;
Read (A, B, C);
Читается: “Ввести вещественную А, целую В и символьную С”
Вид экрана в результате ввода данных:
2.81 4 s
_
Ввод тех же данных используя процедуру ReadLn:
ReadLn(A, B, C);
Вид экрана в результате ввода данных:
2.81
4
s
_
После ввода данных с клавиатуры вещественной переменной А будет присвоено значение 2.81, целая переменная В будет равна 4, а символьной переменной будет присвоен символ "s".
Процедура вывода Write (WriteLn)
Процедура вывода на экран – процедура, с помощью которой можно вывести на экран текст и числа (содержимое переменных).
В Паскаль эта команда выглядит следующим образом:
Write(список констант и/или переменных, разделенных запятой);
В списке вывода может быть либо одно выражение, либо последовательность таких выражений, разделенных между собой запятыми.
Процедура WriteLn выводит информацию на экран и переводит курсор в начало следующей строки. Процедура Write осуществляет вывод информации, на одну строку экрана без перевода курсора новую строку.
Пример 6 Вывод данных:
WriteLn ('Привет Тимур! ');
WriteLn;
WriteLn ('Я надеюсь, что мы отлично');
WriteLn ('сработаемся!');
Вид экрана:
Привет Тимур!
Я надеюсь, что мы отлично
сработаемся!
Пример 7 Фрагмент программы, складывающей два числа, вводимых пользователем с клавиатуры.
Num_1, Num_2 - две переменные целого типа для хранения значений суммируемых чисел, Sum - для хранения результата суммирования.
Write ('Введите первое число: ');
ReadLn(Num_1);
Write ('Введите второе число: ');
ReadLn(Num_2);
Sum := Num_1 + Num_2;
Write ('Сумма введенных чисел равна: ', Sum);
Вид экрана:
Введите первое число: 2
Введите второе число: 3
Сумма введенных чисел равна: 5|
В последней строке, с помощью оператора WriteLn выводятся на экран два сообщения. Первое – константное – поясняет суть второго, которое представляет собой результат вычислений.
Посредством одного оператора Write или WriteLn на экран монитора могут быть выведены одновременно несколько константных сообщений и/или несколько значений различных переменных. Причем, фрагмент текста ограничивается апострофами, а переменные отделяются от текста запятыми.
Пример 8––––––––––––––––––––––––––––––––––––––––––––––––––––
WriteLn ('Сумма чисел',Num_1, 'и' ,Num_2, ' равна: ', Sum);
Этот оператор выдает на экран одновременно с результатом вычислений величины, участвовавшие в формировании этого результата.
Вид экрана:
Сумма чисел 2 и 3 равна: 5
|
Форматный вывод данных
В Турбо Паскале вещественное число выводится на экран в экспоненциальной форме. В этом случае Турбо Паскаль дает возможность установить необходимый Вам формат для вывода числовой информации с помощью процедур Write и WriteLn.
Процедура форматного вывода числа вещественного типа:
WriteLn (A : N : M);
Здесь А – переменная вещественного типа;
N – всего позиций, занимаемых числом;
M – число позиций, занимаемых числом после запятой.
Пример 8 Форматный вывод числа:
Значение переменной Cost = 65.5687.
WriteLn ('Цена за товар равна: ', Cost : 4: 2);
{4 позиции всего с двумя знаками после запятой}
WriteLn ('Цена за товар равна: ', Cost : 4: 0);
Вид экрана:
Цена за товар равна: 65.57
Цена за товар равна: 66
|
Основные арифметические операции Турбо Паскаль
Символ
Название операции
+
сложение
–
вычитание
*
умножение
/
деление
Операции отношения Турбо Паскаль
Символ
Название операции
=
равенство
>
больше
<
меньше
>=
больше либо равно
<=
меньше либо равно
<>
не равно
Логические операции
Операнд
Операция
Формат записи
Результат операции
NOT
Логическое отрицание ("НЕ")
NOT (X)
Результатом данной операции будет логическое значение, противоположное логическому значению Х
AND
Логическое "И"
(X) AND (Y)
Результатом данной операции будет логическое значение TRUE, если значения логических переменных X и Y равны TRUE, во всех остальных случаях результатом будет значение FALSE
OR
Логическое "ИЛИ"
(X) OR (Y)
Результатом данной операции будет логическое значение FALSE, если значения логических переменных X и Y равны FALSE, во всех остальных случаях результатом будет значение TRUE
XOR
Логическое исключающее "ИЛИ"
(X) XOR (Y)
Результатом данной операции будет логическое значение FALSE, если значения логических переменных X и Y равны между собой, в противоположном случае результатом будет значение TRUE
Математические функции Турбо Паскаль
Математическая запись
Запись на Паскаль
Назначение
[x]
trunc(x)
целая часть числа x
|x|
abs(x)
модуль числа x
x2
sqr(x)
квадрат числа x
sqrt(x)
квадратный корень из числа x
{x}
frac(x)
дробная часть числа x
p
Pi
число p
ex
exp(x)
экспонента аргумента
ln x
ln(x)
вычисление натурального логарифма
lg x
lg(x)
вычисление десятичного логарифма
logax
lg(x)/lg(a)
вычисление логарифма по произвольному основанию а
xa
exp(a*ln(x))
возведение x в произвольную степень a
cos x
cos(x)
вычисление косинуса x радиан
sin x
sin(x)
вычисление синуса x радиан
tg x
sin(x)/cos(x)
вычисление тангенса
ctg x
сos(x)/sin(x)
вычисление котангенса
arctg x
arctan(x)
вычисление арктангенса
Операция целочисленного деления
При выполнении целочисленного деления (операция DIV) остаток от деления отбрасывается.
15 div 3 = 5; 18 div 5 = 3; 123 div 10 = 12, 7 div 10 = 0.
Нахождение остатка от деления
С помощью операции MOD можно найти остаток от деления одного целого числа на другое.
15 mod 3 = 0; 18 mod 5 = 3; 123 mod 10 = 3, 7 mod 10 = 7.
При записи алгебраических выражений используют арифметические операции (сложение, умножение, вычитание, деление), функции Паскаль, круглые скобки.
Порядок действий при вычислении значения выражения:
1) вычисляются значения в скобках;
2) вычисляются значения функций;
3) выполняется унарные операции (унарный минус – смена знака);
4) выполняются операции умножения и деления (в том числе целочисленного деления и нахождения остатка от деления);
5) выполняются операции сложения и вычитания.