- •Билет 1
- •Билет 2
- •Билет 3
- •Билет 4
- •2) В отличие от оператора if, оператор case позволяет выбрать и выполнить один оператор не из двух, а из нескольких операторов. В общем случае оператор case может быть записан следующим образом:
- •Билет 5
- •Билет 6
- •Билет 7
- •Билет 8
- •Билет 9
- •Билет 10
- •Билет 11
- •Билет 12
- •Билет 13
- •Билет 14
- •Билет 15
- •Билет 16
- •Билет 17
- •Билет 18
- •Билет 19
- •2) Выражения различают по типу их результата: целые, вещественные, символьные, логические, строковые и т.Д. Выражения, имеющие результат целого и вещественного типа, называются арифметическими.
- •Билет 20
- •Билет 21
- •Билет 22
- •2)Оператор repeat имеет следующий формат:
- •Билет 23
- •2) В Pascal имеются две основных процедуры ввода read и readln, которые используются для чтения данных, вводимых с клавиатуры. Формат этих процедур таков:
- •Билет 24
- •Билет 25
- •Билет 26
Билет 21
Представление двоичных чисел с плавающей фиксированной запятой. Нормализованное число.
Особенности использования массивов в качестве параметров процедур и функций.
1) Вещественные типы предназначены для представления действительных чисел, т.е. чисел, имеющих дробную часть. Поскольку данные в компьютере хранятся в виде двоичных кодов, то действительные числа представляются приближенно, хотя и с большой степенью точности. Если провести сравнение с целыми данными, то в отличие от действительных чисел, данные целого типа представляются в двоичном виде точно. Вещественное число в Object Pascal занимает от 4 до 10 смежных байт и представляется в виде числа с плавающей запятой. Форма представления чисел с плавающей запятой называют представление числа в виде двух множителей N = A * Bp, где А – мантисса числа, В – основание системы счисления, р – порядок, записываемый в выбранной системе счисления. Если А удовлетворяет неравенству 1/В≤А<1, то число N и само представление называется нормализованными. В любой системе счисления это неравенство означает, что мантисса числа меньше 1, но её первая цифра после запятой отлична от 0, при этом порядок числа может быть как положительным, так и отрицательным.
Здесь s - знаковый разряд числа; е - экспоненциальная часть; содержит двоичный порядок; m - мантисса числа. Мантисса m имеет длину от 23 (для Single) до 63 (для Extended) двоичных разрядов, что и обеспечивает точность 7...8 для single и 19...20 для Extended десятичных цифр. Десятичная точка (запятая) подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положение сдвигается влево или вправо в соответствии с двоичным порядком числа, хранящимся в экспоненциальной части, поэтому действия над вещественными числами называют арифметикой с плавающей точкой (запятой).
2) Если массив передается в подпрограмму, то необходимо первоначально описать его тип. Требование описать любой тип-массив перед объявлением подпрограммы, на первый взгляд, кажется несущественным. Действительно, в рамках простейших вычислительных задач обычно заранее известна структура всех используемых в программе данных, поэтому статическое описание массивов не вызывает проблем. Однако разработка программных средств универсального назначения связана со значительными трудностями.
Динамический массив передается в подпрограмму, в которой соответствующий формальный параметр объявлен как открытый массив. Открытый массив представляет собой формальный параметр подпрограммы, описывающий базовый тип элементов массива, но не определяющий его размерности и границы. Внутри подпрограммы такой параметр трактуется как одномерный массив с нулевой нижней границей. Верхняя граница открытого массива возвращается стандартной функцией High. Используя 0 как минимальный индекс и значение, возвращаемое функцией High, как максимальный индекс, подпрограмма может обрабатывать одномерные массивы произвольной длины.
Открытый массив аналогичен динамическому. В подпрограмме реальная длина массива может быть определена с помощью функции Length – длина массива, либо при помощи функции High – наибольшее значение индекса. High(<Массив>)=Length(<Массив>)-1. В качестве фактического параметра для открытого массива может выступать и статический массив. Если минимальный индекс в статическом массиве не равен 0, то первый элемент статического массива все равно будет соответствовать нулевому элементу открытого массива. При использовании открытых массивов вы должны включить соответствующее указание компилятору – {$P+}. Есть некоторые ограничения в использовании открытых массивов. Во-первых, открытые массивы могут быть только одномерными. Во-вторых, их элементы передаются через стек, что замедляет работу программы и может послужить причиной переполнения стека.
При обращении к подпрограмме на месте формального параметра в виде открытого массива можно указывать так называемый конструктор массива. Конструктор массива представляет собой список разделенных запятыми значений элементов массива, обрамленный квадратными скобками.
