Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kostin_1sem_Zachyot_Otvety.pdf
Скачиваний:
4
Добавлен:
16.04.2015
Размер:
280.45 Кб
Скачать

© Vogal, Green, NSG inc. 2009

Изображение: ‘_’(‘A’, ’B’, ’1’) апостроф – ‘’’’

Представление: 1 байт – под ASCII(целое число от 0 до 255){цифровой код каждого символа} Операции: <>, <, >, <=, >=; - сравнение по исходному коду символа.

Сравнение происходит в лексикографическом порядке. Все литеры упорядочены соответственно своему коду.

Типы Char, Integer, Boolean – перечислимые, стандартные типы (не обладающие свойством полноты).

Билет №5

Перечислимый тип.

Перечислимый тип задается перечислением его элементов. Обычно в процессе компиляции значения таких типов представляются при помощи целых чисел.

Некие константы последовательно нумеруются целыми числами, начиная с 0, и порядковый номер константы становится ее внутренним представление.

Пример:

Type Month=(January, February, March, April, May, June, July, August, September, October, November, December);

Var m: month;

...

for m:=September downto March do case m of

March..May :...

June, Septembr:...

...

end;

type День = (Пн, Вт, Ср, Чт, Пт, Сб, Вс). z:= Вт;

Возможны операции сравнения: Пример: if z<Вт then …

Стандартные функции

Назначение функции

Функция

Порядковый номер в множестве

ORD(P)

значений

 

Предыдущее значение из множества

PRED(P)

значений

 

Следующее значение из множества

SUCC(P)

знаний

 

Значение по порядковому номеру

<имя типа>(byte)

Тип диапазон.

Этот тип задаётся самим программистом (пользовательский тип). Переменная по прежнему принадлежит типу, от которого берется диапазон, но не может принять значение вне этого диапазона. Это во многих случаях повышает надежность программ.

Пример:

1.N=1..20;

2.B=’a’..'z';

3. type

Index = 1..25; var

© Vogal, Green, NSG inc. 2009

i : Index;

{переменная принимает значения} {только в диапазоне от 1 до 25}

т.е. при попытке присвоения i : = 30 компилятор выдаст ошибку. **оба типа являются пользовательскими.

Билет №6.

Оператор присваивания.

«:=» (<левая часть>:=<выражение>)

Служит для записи в ячейку памяти, соответствующую переменной в левой части, значения, получаемого справа. Типы должны совпадать.

Выполняются «справа налево»: сначала вычисляется значение выражения в правой части оператора, если его тип совпадает с типом левой части оператора, то оно присваивается переменной, указанной в левой части оператора. Соответственно слева может находиться только переменная или имя функции (в описании функции), но ни в коем случае не выражение. Исключение из правила совпадения типов в правой и левой части оператора:

переменная любого вещественного типа, а выражение дает результат любого целого типа (в этом случае результат вычисления выражения преобразуется к типу переменной);

одна из составных частей оператора присваивания (переменная или результат) является типом диапазон, а вторая – базовым типом, на основании которого построен этот тип диапазон;

обе части оператора присваивания являются типами диапазонами, построенными на одном и том же базовом типе.

Приведение типов:

В Турбо Паскаль ограничения на совместимость типов можно обойти с помощью приведения типов. Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция

Имя_Типа(переменная или значение)

Напрмер, Integer('Z') представляет собой значение кода символа 'Z' в двухбайтном представлении целого числа, а Byte(534) даст значение 22, поскольку целое число 534 имеет тип Word и занимает два байта, а тип Byte занимает один байт, и в процессе приведения старший байт будет отброшен.

x:=1.3+5,(=6.3) – автоматически приводится в тип Real.

Билет № 7

Условный оператор – реализует выполнение определенных команд при условии, что некоторое логическое выражение (условие) принимает значение true.

Структура:

условный оператор с одной ветвью:

If <логическое выражение> then

© Vogal, Green, NSG inc. 2009

<оператор 1>

с двумя ветвями:

If <логическое выражение> then <оператор 1>

Else <оператор 2>

Порядок действий:

1. Вычисление логического выражения

2. Если <логическое выражение> = true => выполняется <оператор 1> , в противном случае выполняется <оператор 2>(если он есть).

В случае если должно выполняться несколько операторов, запись выглядит так:

if <логическое выражение> then begin <оператор 1>; <оператор 2>; ...; <оператор n>; end else begin <оператор 1>; <оператор 2>; ...; <оператор m>; end;

Каждый else относится к предшествующему ему if!

Другой вариант запоминания этого правила: за else следует новый условный оператор со всеми атрибутами, включая свои then и else.

Билет № 8.

Оператор выбора Паскаля позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа.

Структура оператора выбора в Паскале такова:

Case <ключ_выбора> of <список_выбора> [else <оператор_иначе>] end

Здесь case, of, else, end – зарезервированные слова (случай, из, иначе, конец);

<ключ_выбора> - выражение простого перечислимого типа;

<список_выбора> - одна или более конструкций вида: o <константа_выбора>: <оператор>;

<константа_выбора> - константа того же типа, что и выражение o <ключ_выбора>;

<операторы> - произвольные операторы Паскаля.

Оператор выбора Паскаля работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности <список_выбора> отыскивается константа, равная вычисленному значению. Выполняется оператор, который следует за найденной константой, после чего оператор выбора завершает работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else <оператор_иначе> можно опустить, тогда при отсутствии в списке выбора нужной константы не будет выполнено никаких действий, и оператор выбора просто завершит свою работу.

Например, составим программу, которая по номеру дня недели выводит на экран его название:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]