Краткие теоретические сведения

Диапазон представления чисел

При компиляции программы, под каждую переменную отводится строго фиксированный объем памяти, в соответствии с ее типом. Этот объем не может изменяться в процессе выполнения программы. Таким образом, величина и точность чисел, а также точность выполнения арифметических операций всегда ограничены.

Таблица 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

Разветвленные алгоритмы

Цель работы

Ознакомиться с конструкциями операторов ветвления и научиться описывать на языке ПАСКАЛЬ разветвленные алгоритмы.