Краткие теоретические сведения
Диапазон представления чисел
При компиляции программы, под каждую переменную отводится строго фиксированный объем памяти, в соответствии с ее типом. Этот объем не может изменяться в процессе выполнения программы. Таким образом, величина и точность чисел, а также точность выполнения арифметических операций всегда ограничены.
Таблица 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
Разветвленные алгоритмы
Цель работы
Ознакомиться с конструкциями операторов ветвления и научиться описывать на языке ПАСКАЛЬ разветвленные алгоритмы.