- •Билет 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
Билет 3
Встроенные процедуры и функции с целочисленными аргументами.
Цикл while.
Если в арифметическом выражении используются значения только какого-либо одного из целых типов, то результат выражения будет иметь такой же тип. Если же в выражении используются значения различных целых типов, то результат будет иметь тип Integer.
При работе с данными целого типа необходимо следить за тем, чтобы значения переменных или выражений не выходили за допустимые границы диапазона значений. По умолчанию действует директива компилятора {SR-}, означающая, что проверка выхода значений из допустимого диапазона отменена. Это приводит к тому, что при выходе за допустимые границы значение будет изменяться циклически, то есть величина цикла будет равна количеству значений, входящих в диапазон значений для соответствующего типа. Для того чтобы контролировать выход за границы диапазона значений, следует в программе поместить директиву компилятора {SR+}. В этом случае при выходе за границы диапазона будет генерироваться исключение и на экран будет выведено сообщение об ошибке.
2) Оператор цикла с предусловием while имеет следующий формат: while < логическое выражение > do < оператор >; Выполняется оператор следующим образом. Вначале вычисляется значение логического выражения. Если это значение равняется true, то выполняется оператор, стоящий после слова do. После этого управление вновь передается на начало оператора, снова вычисляется значение логического выражения и процесс повторяется. Цикл прекращается, если при очередном вычислении логического выражения его значение окажется равным false. Если при первом вычислении значения логического выражения окажется, что оно равно false, то оператор цикла не выполнится ни разу. Поскольку логическое выражение вычисляется при выполнении каждой итерации, его следует делать по возможности более простым. Если в цикле нужно выполнить не один оператор, а несколько, то их следует заключить в операторные скобки begin...end, т.е. использовать составной оператор.
Замечу, что для правильного выхода из цикла условие выхода должно меняться внутри операторов, составляющих тело цикла while или repeat... until. Следующий цикл никогда не завершится «естественным» способом:
while True do begin
…
end;
Для гибкого управления циклическими операторами for, while и repeat в состав Object Pascal включены две процедуры без параметров:
break - реализует немедленный выход из цикла; действие процедуры заключается в передаче управления оператору, стоящему сразу за концом циклического оператора;
continue - обеспечивает досрочное завершение очередного прохода цикла; эквивалент передачи управления в самый конец циклического оператора.
Билет 4
Данные вещественного типа. Представление в ЭВМ. Операции над вещественными данными.
Оператор выбора (переключатель).
1)Вещественные типы предназначены для представления действительных чисел, т.е. чисел, имеющих дробную часть. Поскольку данные в компьютере хранятся в виде двоичных кодов, то действительные числа представляются приближенно, хотя и с большой степенью точности. Если провести сравнение с целыми данными, то в отличие от действительных чисел, данные целого типа представляются в двоичном виде точно. В Delphi имеется семь вещественных типов, которые позволяют получить нужный результат практически с любой заданной степенью точности. Вещественное число в Object Pascal занимает от 4 до 10 смежных байт и имеет следующую структуру в памяти ПК:
Здесь s - знаковый разряд числа; е - экспоненциальная часть; содержит двоичный порядок; m - мантисса числа.
Наибольшая производительность центрального процессора достигается при использовании типа Real. В Delphi 6 ему эквивалентен тип Double. Тип Real48 предназначен только для совместимости с ранними версиями Delphi. При его использовании производительность процессора минимальна. Если требуется (в целях совместимости) использовать 6-байтный Real, можно указать директиву компилятора {SREALCOMPA TIBIUTY ON}. Тип Extended позволяет производить расчеты с максимальной точностью. Более того, арифметический сопроцессор выполняет операции с действительными числами, представленными в формате Extended. Если же мы пользуемся типами Real, Single или Double, то результат вычислений усекается до соответствующей точности. Однако при использовании типа Extended следует помнить, что данные этого типа занимают в оперативной памяти ПК больше всего места - 10 байт. Типы Comp и Currency применяются для бухгалтерских расчетов. В типе Comp дробная часть отсутствует, а в типе Currency она ограничена четырьмя знаками. В оперативной памяти ПК значения этих типов представляются как данные целого типа, занимающие X байт. Это позволяет минимизировать ошибки округления в денежных расчетах. С другой стороны, значения типов Comp и Currency совместимы со значениями других вещественных типов, т.е. над ними могут выполняться все вещественные операции и им можно присваивать значения переменных и выражений других вещественных типов. Но при этом нельзя забывать о том, что будет происходить усечение значений до четырех знаков в дробной части для типа Currency и полное отбрасывание дробной части для типа Comp.
Мантисса m имеет длину от 23 (для Single) до 63 (для Extended) двоичных разрядов, что и обеспечивает точность 7...8 для single и 19...20 для Extended десятичных цифр. Десятичная точка (запятая) подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положение сдвигается влево или вправо в соответствии с двоичным порядком числа, хранящимся в экспоненциальной части, поэтому действия над вещественными числами называют арифметикой с плавающей точкой (запятой).
При условии, что хотя бы один из операндов вещественного типа (другой может быть и целым), операции *, /, +, - дают вещественный результат. Также можно применить к вещественным типам операцию взятия адреса @, её результатом будет указатель. К вещественным данным можно применить операции отношения < > <= >= <> =. Результатом такой операции будет логическое значение.