КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
План заняття. 1. Характеристика поняття структурований оператор
1. Характеристика поняття структурований оператор 2. Огляд поняття составний оператор 3. Характеристика та формат запису оператора if 4. Характеристика та формат запису оператора case Структурированные операторы включают в себя последовательность из нескольких других (простых и структурированных) операторов. К структурированным операторам относятся: ■ составной оператор; ■ условный оператор if; ■ условный оператор case; ■ оператор цикла repeat; ■ оператор цикла while; ■ оператор цикла for; ■ оператор над записями with. Составной оператор представляет собой последовательность операторов, заключенных между двумя зарезервированными словами begin и end. Эти ключевые слова называются операторными скобками. Между последним оператором и словом end разрешается не ставить точку с запятой. Однако ее необходимо ста вить после end. Из описанных выше простых операторов можно составить составной оператор, например: Составной оператор обычно используется в том случае, если синтаксис языка требует в определенной ситуации применения только одного оператора. В таком случае этим единственным оператором и будет составной оператор. По сути дела, тело программы или процедуры тоже являются составными операторами, так как они заключены в операторные скобки begin и end. Условный оператор if предназначен для выбора к выполнению одного из двух действий, в зависимости от некоторого условия. Структура условного оператора имеет вид: Условием выбора является логическое выражение (как правило, использующее операторы сравнения). Алгоритм работы оператора if имеет следующий вид. Сначала вычисляется выражение условие. Результат вычисления должен иметь логический тип. Если результат True (истина), то выполняется действие1, а действие2 пропускается. В противном случае, если результат False (ложь), то выполняется действие2, а действие! игнорируется. Ниже приведен пример условного оператора if. Следует отметить тот факт, что одно из действий условного оператора может быть пустым (отсутствовать). Как правило, таким является действие, находящееся после слова else. В подобной ситуации управление немедленно передается оператору, следующему за условным Еще одним важным моментом, на который нужно обратить внимание, является то, что перед словом else никогда не ставится точка с запятой. Если в операторе необходимо предусмотреть несколько условий, то они объединяются путем организации вложения условных операторов либо при помощи использования логических операций and, or, xor, not. Так как приоритет у логических операций выше, чем у операций сравнения, то отдельные части сложного логического выражения следует заключають в скобки: Запись без скобок будет некорректной. Если предыдущий оператор записать в таком виде: то результат будет заметно отличаться от ожидаемого, поскольку компилятор выполнит ее следующим образом. Операторы действие! и действие2 могут быть любого типа, в частности, являться условными. В свою очередь, каждый из вложенных может содержать в себе еще условные операторы if. Довольно часто возникает ситуация, когда не все вложенные условные операторы имеют часть else действие!. Это означает, что возникает двусмысленность трактовки else соответствующему if. Такая неоднозначность в Object Pascal решается очень просто - зарезервированное слово else всегда ассоциируется с ближайшим к нему (сверху по тексту) зарезервированным словом if, которое еще не связано с else:
В комментарии написано, к какому if относится else. К написанию вложенных друг в друга условных операторов следует подходить с особой тщательностью. Условный оператор case позволяет осуществлять выбор из любого количества вариантов. В этом и заключается его главное отличие от оператора if. Структура оператора case в Object Pascal имеет вид: case ключ_выбора of константа_выбора: оператор; константа_выбора: оператор; константа_выбора: оператор; else операторы end; Здесь case, of, else и end - зарезервированные слова; ключ_выбора - выражение любого простого или строкового типа; константа_выбора - набор констант того же типа, что ивыражение ключ_выбора, оператор - любые операторы. Условный оператор case работает следующим образом. Вначале вычисляется выражение ключ__выбора. Затем просматривается последовательность констант выбора, с которыми сравнивается полученное значение. Если находится константа, равная выражению ключ_выбора, то выполняется оператор, находящийся за этой константой. После этого оператор case завершает свою работу. Если же значение выражения ключ_выбора не совпадает ни с одной из констант, то выполняется оператор, расположенный после else. Ветвь оператора else является необязательной. При отсутствии оператора else, когда ключу выбора нет соответствия, оператор case просто завершает свою работу и выполняется следующий за ним оператор. Если для нескольких констант необходимо выполнять один и тот же оператор, то эти константы можно перечислить через запятую, а также можно задавать диапазон. В следующем примере используется условный оператор case. В строке ввода задается номер этажа. Затем, в зависимости от введенного номера, либо выдается соответствующее сообщение, либо (если значение равно нулю) по оператору безусловного перехода производится выход из оператора case.
В практике программирования важную роль играют циклы. Циклы обеспечивают возможность многократного выполнения группы одних и тех же простых или составных операторов. В Object Pascal существует три стандартных оператора цикла. Оператор цикла repeat организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Выход из цикла осуществляется при выполнении заданного условия. Такой цикл называют еще циклом с постусловием, поскольку условие выхода из цикла проверяется в его конце и он гарантированно выполняется хотя бы один раз. Однократное выполнение цикла часто называется итерацией. Структура этого оператора выглядит следующим образом:
Точку с запятой перед until ставить необязательно, так как слова repeat и until подобны операторным скобкам. Выход из цикла происходит в случае, если выражение логического типа - условие, является истинным. Следующая процедура заполняет массив типа Integer значениями от 1 до 10 с использованием цикла repeat. В теле цикла содержатся операторы, обеспечивающие заполнение массива, вывод в текстовый редактор значений из массива и инкремент (последовательное наращивание) индекса массива. Условие окончания цикла - проверка выхода значения индекса за границы массива: i = 11.
В результате выполнения данной программы в многострочном редакторе отобразится цепочка чисел от 1 до 10. Оператор цикла while организует выполнение цикла с предусловием. Другими словами, сначала проверяется условие, и лишь после подтверждения его истинности выполняется тело цикла. Цикл прекращает работу, если условие ложно. А это означает, что при определенном стечении обстоятельств тело цикла может ни разу не выполниться. Оператор цикла while записывается так:
Цикл выполняется, пока условие не примет значение False. Решить предыдущий пример (т.е. заполнить массив числами от 1 до 10) с помощью цикла while можно следующим образом. Оператор цикла for организует выполнение оператора строго заданное количество раз. Существует два варианта оператора for:
Следует отметить тот факт, что начальное и конечное значения должны быть того же типа, что и параметр цикла. Действует цикл for следующим образом. Сначала вычисляются и запоминаются начальное и конечное значения. Затем параметру цикла присваивается начальное значение, после чего параметр цикла сравнивается с конечным значением. Далее, пока параметр цикла меньше или равен конечному значению (при использовании первого варианта) либо больше или равен (во втором варианте), последовательно выполняются итерации цикла. Как только параметр выходит за пределы, установленные конечным значением, цикл завершается. Итерация включает в себя выполнение оператора, расположенного за словом do, и увеличение (в первом варианте) или уменьшение (во втором варианте) параметра цикла на единицу. Изменение параметра цикла происходит автоматически при каждой итерации. Необходимо иметь в виду, что при применении цикла со словом to начальное значение не должно превышать конечное. Аналогично при использовании слова downto начальное значение не должно быть меньше конечного. Если эти условия не являются истинными, то цикл ни разу не выполнится. Процедура заполнения двух массивов числами от 1 до 10 и от 10 до 1 соответственно с помощью цикла for будет выглядеть так:
Массив a [i] заполнится числами от 1 до 10, а массив b [i] -от 10 до 1. В Object Pascal существуют две стандартные процедуры - break и continue, предназначенные специально для использования в операторах цикла. Процедура break позволяет досрочно выйти из цикла, даже если не выполнилось условие выхода. Если, например, в любой из циклов заполнения массивов, рассмотренных в примерах, добавить условный оператор следующего вида: то это приведет к выходу из цикла при достижении параметром значения i = 7. В свою очередь, применение процедуры continue позволит начать новую итерацию цикла, даже если не завершена предыдущая. Оператор над записями with был рассмотрен выше при описании типа запись. Контрольні питання 1. Надати характеристику поняття структурований оператор 2. Виконати огляд поняття составний оператор 3. Навести характеристику та формат запису оператора if 4. Навести характеристику та формат запису оператора case САМОСТІЙНА РОБОТА СТУДЕНТА ЗМІСТОВИЙ МОДУЛЬ 2: ПРОЦЕДУРНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ. ПРОГРАМУВАННЯ ГРАФІКИ ТЕМА 2.1: ОСНОВИ МОВИ OBJECT PASCAL
Самостійне заняття №13 – Тип дата-час
Дата добавления: 2014-12-25; Просмотров: 510; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |