Операторы IF и CASE в Turbo Pascal.
Условные операторы предназначены для реализации ветвящегося алгоритма.
Условные операторы обеспечивают выбор одного из двух возможных операторов в зависимости от истинности или ложности некоторого условия, и таким образом прерывают естественную линейную последовательность выполнения операций Выбранный оператор может быть простым или составным.
В качестве условия выбора используется значение логического выражения.
Ключевые слова if, then, else обозначают “если”, “то”, “иначе” соответственно.
Запись оператора IF
Различают полное и неполное ветвление.
Полное ветвление
If <условие> then <оператор1>
else <оператор2>;
Неполное ветвление
If <условие> then <оператор>;
Выполнение условного оператора IF
· проверяется условие
· если оно истинно, то выполняется оператор, стоящий после зарезервированного слова if
· если условие ложно, то выполняется оператор, стоящий после зарезервированного слова else
Часть оператора, стоящая после зарезервированного слова else, может отсутствовать. В этом случае при ложности проверяемого условия просто выполняется оператор, следующий за оператором условия.
Один оператор if может входить в состав другого оператора if. В этом случае говорят о вложенности операторов.
Если проверяемые Условие 1, Условие 2,... не влияют друг на друга, т.е. последовательность их вычисления безразлична, в тексте программы их рекомендуется располагать в определенном порядке: условие, с наибольшей вероятностью принимающее значение истинны, должно стоять на первом месте, с меньшей вероятностью — на втором и т. д.
Это ускорит выполнение программы.
Следует знать:
· при вложенности операторов каждое else соответствует тому if которое непосредственно ему предшествует
· конструкций со степенью вложенности более 2—3 необходимо избегать из-за сложности их анализа при отладке программы;
· в условных операторах часто используют составной оператор begin end. Если между begin и end находится только один оператор, операторные скобки лучше не писать,
· в условных операторах точка с запятой не ставится после then и перед else.
· самое простое логическое выражение — одна переменная логического типа, которая играет роль целого выражения;
· сложные логические выражения могут содержать несколько отношений или логических переменных, связанных операциями and, or, not (каждое отношение необходимо заключать в скобки).
Case
Если один оператор if может обеспечить выбор из двух альтернатив, то оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов.
Он состоит из выражения, называемого селектором, и списка параметров, каждому из которых предшествует список констант выбора (список может состоять и из одной константы).
Запись оператора case
case <выражение—селектор> of
<список1>: <оператор1; >
…
<списокN>: <операторN; >
else <оператор;>
end;
Массивы. Типы массивов.
Если работа программы связана с хранением и обработкой большого количества однотипных переменных, для их представления в программе можно использовать массивы.
Например, пусть программа пользователя выполняет некоторые действия над последовательностью целых чисел, насчитывающей сто элементов которые требуется сохранить до конца ее работы. Вместо того чтобы описывать указанные переменные сто раз, можно один раз объявить целочисленную переменную состоящую из ста элементов, — массив.
Массив представляет собой совокупность данных одного типа с общим для всех элементов именем.
Элементы массива пронумерованы, и обратиться к каждому из них можно по номеру (или нескольким номерам — например, для элемента таблицы задается номер строки и столбца). Номера элементов массива иначе называются индексами, а сами элементы массива — переменными с индексами (индексированными переменными).
Обратите внимание — данные в массивах сохраняются, как и в случае использования обычных неиндексированных переменных, только до конца работы программы. Для их долговременного хранёния программа должна записать данные в файл (см. гл. 12).
Характеристики массива:
− тип — общий тип всех элементов массива;
− размерность (ранг) — количество индексов массива;
− диапазон изменения индекса (индексов) — определяет количество элементов в массиве.
Вектор (одномерный массив) — это пример массива, в котором элементы нумеруются одним индексом.
Если в массиве хранится таблица значений (матрица), то такой массив называется двумерным, его элементы нумеруются двумя индексами — номером строки и столбца соответственно. Массивы еще большей размерности (трехмерные, четырехмерные и т. д.) на практике встречаются довольно редко.
В памяти компьютера все элементы массива обязательно занимают одну не прерывную область (массив), отсюда и произошло это название. Двумерные массивы располагаются в памяти по строкам: сначала все элементы первой строки, затем — второй и т. д.
В качестве номера (индекса) элемента массива, в общем случае, используется выражение порядкового типа. Наиболее часто индекс — это целая константа или переменная типа integer.
При обращении к элементу массива индекс указывается в квадратных скобках после имени массива. Например, а[3], b[1,2]. Однако использование элементов массива в качестве обычных переменных не дает существенной выгоды. Массивы ценны тем, что их индексы сами могут быть переменными или выражениями, обеспечивая доступ не к одному, а к последовательности элементов. Обработка массивов производится при изменении индексов элементов.
Описание массива в общем виде выглядит так:
для одномерного массива:
var
ИмяМассива:array[НижняяГраницаИндекса..ВерхняяГраницаИндекса] of ТипЭлементов;
для двумерного массива:
var
ИмяМассива: array [НижняяГраницаИндекса1..ВерхняяГраницаИндекса1, НижняяГраницаИндекса2..ВерхняяГраницаИндекса2] of ТипЭлементов.