Практическая работа № 3
Тема: Типы данных, стандартные операции и функции Паскаля. Ввод и вывод информации.
Цель работы:
Формирование и отработка умений и навыков работы по вводу и выводу информации разного типа в среде Паскаль АВС.
Решение задач линейного типа, изучение стандартных функций и типов данных
Краткая теория
Типы данных
| Тип | Диапазон значений | |
| Целый | ShortInt | -128...127 |
| Integer | -32768...32767 | |
| Longint | -2147483648... 2147483647 | |
| Byte | 0.... 255 | |
| Word | 0... 65535 | |
| Вещественный | Real | 2,9 10-39..... 1,7 1038 11..12 значащих цифр |
| Single | 7..8 значащих цифр | |
| Double | 15..16 значащих цифр | |
| Extended | 19..20 значащих цифр | |
| Comp | 19..20 значащих цифр | |
| Логический | Boolean | TRUE, FALSE |
| Символьный | Char | 1 символ |
| Строковый | String | Массив символов, по умолчанию длина 256 символов |
| Массивы | array | |
| Записи | record | |
| Множества | set | |
| Файлы | File | |
| Указатели | Pointer |
В Паскале в распоряжении пользователя имеются множество операций и функций. Вот некоторые из них:
Операции целочисленной арифметики:
Целочисленное деление Div - (при целочисленном делении операция Div возвращает целую часть частного (дробная часть отбрасывается))
11 div 4 = 2
7 div 3 = 2
26 div 5 = 5
Остаток от деления Mod - (остаток от деления (целая часть отбрасывается))
Mod 4 3
7 mod 3 = 1
26 mod 5 = 1
Обратите внимание: если Х Mod Y = 0, то Х кратно Y
если Х Mod 2 = 0, то Х четное число,
если Х Mod 2 = 1,то Х нечетное число
Стандартные функции Паскаля:
| Обращение | Тип аргумента | Тип результата | Функция | Пример |
| PI | R | Число π=3.1415926536Е+00 | A:=pi; | |
| ABS(X) | I,R | I,R | Модуль аргумента Х | abs(-4)=4 |
| ARCTAN(X) | I,R | R | Арктангенс Х(радианы) | |
| COS(X) | I,R | R | Косинус Х (х в радианах) | |
| EXP(X) | I,R | R | ех-экспонента | |
| FRAC(X) | I,R | R | Дробная часть х | Frac(6.9)=0.90 |
| INT(X) | I,R | R | Целая часть х | Int(6.9)=6.00 |
| LN(X) | I,R | R | Натуральный логарифм Х | |
| RANDOM | R | Случайное число в интервале [0..1] | A:=random; Write(a);{выйдет цифра 0.3} | |
| RANDOM(X) | I | I | Случайное число в интервале [0..x-1] | |
| ROUND(X) | R | I | Округление до ближайшего целого | |
| SIN(X) | I,R | R | Синус Х(ч в радианах) | |
| SQR(X) | I,R | I,R | Квадрат Х | |
| SQRT(X) | I,R | R | Корень квадратный из Х | |
| TRUC(X) | R | I | Ближайшее целое, не превышающее Х по модулю | Trunc(6.9)=7 Trunc(6.4)=6 |
В Паскале пользователь может вычислять значения сложных выражений, состоящих из многих переменных и функций, с использованием скобок. Любые выражения записываются в одну строку с использованием скобок, что позволяет менять очередность вычислений в сложных выражениях.
Пример выражения:
Y:= ((A+B)/(C+D*Cos(X))*2)/4 - Переменной Y присвоено значение выражения
Пример выражения. 
Пример из математики 
Пример: запишем по правилам Паскаля математическое выражение

На Паскале (2*a+Sqrt(0.5*Sin(x+y)))/(0.2*C-Ln(x-y))

На Паскале(1+y)*(2*x+sqrt(y)-(x+y))/(y+1/sqr(x)-4))
Для вычисления степенной функции используется следующая формула:xy=eyln(x) На Паскале Exp(y*Ln(x)).
Например это выражение на Паскале Exp(1/3*Ln(a+1))
При использовании операций и функций пользователю необходимо помнить о типах данных исходных и конечных значений, например частное от деления двух целых чисел может быть дробным числом, что естественно соответствующим образом должно быть объявлено в разделе переменных Var.
Оператор ввода
Read (<список переменных>);
Readln (<список переменных>);
После выполнения данного оператора программа останавливается и ждет ввода данных с клавиатуры. Если вводятся числовые данные, то их можно ввести через пробел друг за другом, а можно каждый отдельно нажимая в конце ввода Enter. Переменный в < списке переменных> разделяются запятой. Ln за словом Read означает, что после ввода следует перевести курсор на следующую строку.
Вводить с клавиатуры можно только значения переменных, но не выражения.
READLN(f,b,a);
read(s);
readln(w);
Оператор вывода
Write(‘комментарии’, <переменные>);
Writeln(‘ком - рии’, <переменные>);
Переменный в <списке переменных> разделяются запятой.
Форматированный вывод информации:
Операторы Write и Writeln выводят значения переменных и тексты на экран. Ве- щественные (дробные) числа выводятся в формате с плавающей точкой, например:
1.7480000000Е+02, что не совсем удобно и наглядно.
Решаем проблему с помощью форматированного вывода информации, где имеется возможность указать ширину поля вывода для переменной или выражения, например:
Var
A: string[15]; B,C: integer; D,Y: Real;
Begin
ReadLn(B,C); ReadLn(A);
D:= B Mod C; Y: =25.178;
Y:= Int(Y); WriteLn(Y:6:1);
WriteLn(‘ A = ‘, A:22); // Вывод значения текста А шириной в 22 символа WriteLn(B:6, C:4); // Вывод значений чисел В и С шириной 6 и 4 символа WriteLn(D:8:2); //Вывод дробного числа D шириной 8 с 2 знаками после запятой
End.
Форматированный вывод удобно использовать при выводе чисел и текста для выравнивания столбцов выводимой информации.
Задания к работе
1. Введите дробное число. Выведите отдельно на своей строке дробную и целую части.
2. Запиши программу вычисления выражения.
Значения Х и Y вводятся.
3. Запиши программу вычисления выражения.
Значения S, A, вводятся.

4. Запиши программу вычисления выражения.
Значения X, Y, Z вводятся.
5. Запиши программу вычисления суммы квадратов Синуса и Косинуса
(Sin(X))2 + (Cos(X))2
6. Напиши программу ввода А, В. Увеличить А в 20 раз, уменьшить В в 30 раз.
7. Напиши программу вычисления площади треугольника, если известны его стороны (формула Герона)
8. Найти значение функции при значениях аргумента Х=1,5 и введенных A B C

9. Напиши программу вычисления площади трапеции по введенным основаниям А и В, высоте h
10. Напиши программу вычисления площади окружности по введенному радиусу.