Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзорки Информатика.doc
Скачиваний:
19
Добавлен:
27.10.2018
Размер:
2.87 Mб
Скачать

7. Структурированные типы данных и работа с ними

В Turbo Pascal программист может описать свой тип на основе базовых типов в разделе описания типов, который начинается словом Type. Затем для каждого типа следует конструкция вида:

имя типа = определение типа;

type TArrStr = array [1..5] of String; {Массив строк}

var ArrStr : TArrStr;

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

Type Colors = (Red,Green,Blue);

Numbers = (Zero,One,Two,Three,Four,Five);

var c:Colors; n:Numbers;

Тип-Диапазон:

Тип-диапазон также называют ограниченным или интервальным типом. Он является подмножеством своего базового типа, в качестве которого может выступать любой порядковый тип кроме типа-диапазона. Тип-диапазон наследует все свойства своего базового типа. Имеются две стандартные функции, работающие с этим типом: High(x)- возвращает максимальное значение типа-диапазона, к которому принадлежит переменная x; Low(x) - возвращает минимальное значение.

type Abc = 'A' .. 'z'; {все английские буквы : диапазон на базе типа Char}

Digits = 0 .. 9; {цифры}

var n:Num; c,d:Abc; x:integer;

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

type

TStudent : record

Name : string; {имя}

Surname : string; {фамилия}

Age : Byte; {возраст}

end;

var

Students : array [1..10] of TStudent;

Пользовательский тип данных:

Type Person

Name As String

Vozrast As Integer

Stipendiy As Currency

End Type

Dim Student(30) As Person

8.Операторы передачи управления в языках программирования.

Turbo Pascal

Структурированные операторы состоят из других операторов.

Составной оператор - это набор простых операторов, заключённых в командные скобки begin end;. Этот оператор выполняется, как один оператор. Можно сказать, что тело программы на языке Pascal является составным оператором.

Оператор if позволяет проверять истинность условия и в зависимости от этого выполнять те или иные дейсьвия. Схема его использования такова:

if <Условие> then

<Выполняется, если условие истинно>

else

<Выполняется, если уловие ложно>;

Можно использовать так же неполную развилку:

if <условие> then

<Выполняется, если условие истинно>;

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

case <Параметр> of

<Значение1>: <Действие1>;

<Значение2>: <Действие2>;

. . .

<ЗначениеN>: <ДействиеN>;

else {необязательная часть}

<Выполняется, если параметр <> значениям>;

end;

Visual Basic

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

Оператор IfThenElse

Этот оператор существует в двух формах: однострочной и блочной. Простейшей формой оператора If является однострочная:

If условие Then оператор [Else оператор]

Функционирование оператора такой структуры относительно просто. Если условие после If истинно, т.е. результат равен True, выполняется оператор, указанный за Then. Если же результат равен False, то выполняется оператор, следующий за ключевым словом Else, если такое имеется.

Пример 1:

If Age<18 Then Print "Вы ещё не можете голосовать"

Блочная версия оператора If немного сложнее:

If условие Then

[операторы 1]

[Else

If условие N Then

[операторы 2]

Else

[операторы 3]

End If]

End If

Блочная запись предоставляет такие же возможности как и однострочная. Но если в зависимости от условия необходимо выполнить не простую команду, а группу операторов, следует использовать блочный синтаксис. Это относится и к ветви Else. Кроме того, блочная структура с Else If позволяет анализировать несколько условий.

Пример 1:

If BankBalance<0 Then

Print "Отрицательный баланс"

Else

Print "Всё в порядке"

End If

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

Оператор Select Case

Select Case оператор ветвления, который позволяет выполнять одну из нескольких групп операторов в зависимости от значения условия. Синтаксис конструкции Select Case:

Select Case Проверочное выражение

[Case значение 1

[Операторы 1]]

[Case значение 2

[Операторы 2]]

[Case Else

[Операторы N]]

End Select

В операторе Case можно использовать строковое или числовое выражение. В списке значений допускается указать: явное значение; диапазон значений, задаваемый с помощью ключевого слова To; условный диапазон, задаваемый с помощью ключевого слова Is.

Пример 1: Private Sub Command_Click()

Speed = S/t 'число от 0 до 50

Select Case Speed

Case 0, 1, 2

Print "Медленно"

Case 3 To 30

Print "В пределах нормы"

Case 30 To 40

Print "Небольшое превышение"

Case Is >= 50

Print "Наибольшее превышение"

Case Else

Print "Большое превышение"

End Select