Краткие теоретические сведения
Диапазон представления чисел
При компиляции программы, под каждую переменную отводится строго фиксированный объем памяти, в соответствии с ее типом. Этот объем не может изменяться в процессе выполнения программы. Таким образом, величина и точность чисел, а также точность выполнения арифметических операций всегда ограничены.
Таблица 5. Диапазон представления целых чисел
| Тип | Диапазон | Размер в байтах |
| byte | 0…255 | |
| Shortint | -128…127 | |
| integer | -32768…32767 | |
| word | 0…65535 | |
| longint | -2147483648…2147483647 |
Таблица 6. Диапазон представления вещественных чисел
| Тип | Диапазон | Размер в байтах |
| real | 2,9х10Е-39…1,7х10Е38 | |
| single | 1,5х10Е-45…3,4х10Е38 | |
| double | 5,0х10Е-324…1,7х10Е308 | |
| extended | 1,9х10Е-4951…1,1х10Е4932 | |
| comp | -2Е+63+1…2Е+63-1 (только целые числа) |
Форматный вывод
Чтобы разобраться в результатах выданных программой на экран, часто требуется, чтобы числа занимали строго определенное количество экранных позиций и имели определенную точность. Для этого в процедурах вывода можно задавать параметры определения ширины поля для данного элемента. В этом случае оператор имеет формат:
Writeln (элемент: длина,….);
где длина - целое выражение (литерал, константа, переменная, вызов функции), определяющее общий размер поля для вывода элемента. Пример:
A : = 10 ; B : = 2 ; C : = 100
Writeln(A, B, C); результат на экране 102100
Writeln(A:2, B:2, C:3); результат на экране 10 2100
Writeln(A:2, B:2, C:4); результат на экране 10 2 100
Замечание: Элемент дополняется начальными пробелами слева в соответствии с указанной длиной. Само значение выравнивается справа. Если размер поля меньше, чем необходимо то при выводе ПАСКАЛЬ увеличивает размер до минимально необходимого. Этот метод применим для всех допустимых элементов: целого типа, вещественных чисел, символов, строк и булевских типов. Однако, при указании ширины (размера) поля для вещественных чисел выравнивание происходит слева и распечатывается в экспоненциальной форме:
х : = 421.53;
Writeln(x); результат на экране 4.2153000000E+02
Writeln(x : 8); результат на экране 4.2E+02
Поэтому, ПАСКАЛЬ позволяет добавить второй операнд длины:
Write(элемент : общее кол-во символов: количество цифр в дробной части.);
Вторая цифра указывает, сколько цифр выводить для числа с фиксированной точкой после точки:
х : = 421.53;
Writeln(x : 6 : 2); результат на экране 421.53
Writeln(x : 5: 1); результат на экране 421.5
Writeln(x : 8 : 4); результат на экране 21.5300
Задача №1
Написать программу, которая запрашивает у пользователя целое число, а затем выводит его на экран.
Проверить работу программы на числах: 0, 12, -35072, 87300, 17203, -199006.
Объяснить полученные результаты.
Задача №2
Написать программу, которая запрашивает у пользователя вещественное число, а затем выводит его на экран.
Проверить работу программы на числах: 0.32, 12, -35E-18, 8.73E65, 0.127635986413E-8, 7.3243524E41.
Объяснить полученные результаты.
Задача №3
Написать программу, которая вычисляет значение функции для аргумента заданного пользователем с клавиатуры. Вид функции взять из п. 0
Задача №4
Написать программу, которая выводит на экран значения функции Задачи №3, в виде:
Аргумент ! Функция
------------------!----------------
-1 ! 6.3758E-2
Требования к решению задач
Ø Функции, отсутствующие в списке стандартных функций языка ПАСКАЛЬ, следует выразить через имеющиеся.
Ø Программа должна выводить на терминал реквизиты авторов (фамилию, имя и группу).
Ø Программа должна подсказывать пользователю, что ему делать.
Ø При выдаче результата вычислений программа должна выводить и параметры, веденные пользователем
Варианты задач.
| № варианта | Функция | № варианта | Функция |
| 1. |
| 13. |
|
| 2. |
| 14. |
|
| 3. |
| 15. |
|
| 4. |
| 16. |
|
| 5. |
| 17. |
|
| 6. |
| 18. |
|
| 7. |
| 19. |
|
| 8. |
| 20. |
|
| 9. |
| 21. |
|
| 10. |
| 22. |
|
| 11. |
| 23. |
|
| 12. |
| 24. |
|
Контрольные вопросы
1) Какие арифметические операции имеются в языке ПАСКАЛЬ?
2) Что такое арифметическое выражение в языке ПАСКАЛЬ?
3) Какие арифметические операции языка ПАСКАЛЬ применимы к типу real?
4) Какие арифметические операции языка ПАСКАЛЬ применимы к типу integer?
5) Что такое форматный вывод и как им пользоваться?
Лабораторная работа № 3
Разветвленные алгоритмы
Цель работы
Ознакомиться с конструкциями операторов ветвления и научиться описывать на языке ПАСКАЛЬ разветвленные алгоритмы.