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

Вопрос 1 Типы данных, преобразование типов.

Базовые типы – типы, определяемые в языке программирования.

Конструируемые типы – типы, которые задаются программистом.

Например переменные базовых типов могут быть определены в разделе описания переменных

Конструируемые типы так же могут быть описаны в разделе описания переменных

Типы данных, конструируемые программистом, описываются в разделе Type по следующему шаблону:

Type

<имя_типа> = <описание_типа>;

Базовые типы данных являются стандартными, поэтому нет нужды описывать их в разделе Type.

Однако при желании это тоже можно сделать, например, дав длинным определениям короткие имена. Скажем, введя новый тип данных

Неявное преобразование типов

Тип результата арифметических операций (а следовательно, и выражений) может отличаться от типов исходных операндов.

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

Явное преобразование типов

Тип значения можно изменить и явным способом:

просто указав новый тип выражения.

Пример:

a:= byte(b);

В этом случае переменной а будет присвоено значение, полученное новой интерпретацией значения переменной b.

Функции округления:

trunc real -> integer

round real -> integer

Функция преобразования строки в число

val string -> byte/integer/real

Получение символа по заданному ASCII-коду

сhr byte -> char

Преобразование порядковых типов

ord <порядковый_тип> -> longint

Вопрос 2 Массивы, как параметры функций и процедур

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

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

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

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

Если параметров - значения одного типа несколько, их можно объединить в одну группу, перечислив их имена через запятую, а затем уже указать общий тип. Как отмечалось выше, отдельные группы параметров отделяются друг от друга точкой с запятой.

Пример.

procedure Inp ( Max, Min: real ; N: Word );

function Mult (X, Y: integer): real;

В качестве фактичного параметра на месте параметра-значения при вызове подпрограммы может выступать любое выражение совместимого для присваивания типа, не содержащее файловую компоненту, например:

Inp(Abs (Z), - Abs (T), 2 * K);

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

Если мы хотим передать какой-то элемент массива, то проблем, как правило, не возникает, но если в подпрограмму передается весь массив, то следует первоначально описать его тип. Например:

type

atype = array [1..10]of Real;

Procedure S (a: atype);