Дисциплина «Программирование» Специальность 08080165 «Прикладная информатика (в экономике)» Институт информатики, инноваций и бизнес-систем Кафедра информатики, инженерной и компьютерной графики Люлько Виктор Иванович, старший преподаватель Тема 4. Циклы и их организация. Операторы (инструкции) цикла. Требования к знаниям, умениям и навыкам После изучения темы студент должен знать разновидности циклов уметь использовать для реализации циклических алгоритмов операторы (инструкции) цикла, а также условные операторы (инструкции) и операторы (инструкции) перехода 2 Содержание 1. Ключевые понятия 2. Учебный материал 3 Ключевые понятия Цикл с предусловием Цикл с постусловием Цикл со счетчиком 4 Учебный материал Основные задачи лекции Знакомство с разновидностями циклов (с предусловием, с постусловием и со счетчиком) и приемами их организации Знакомство с использованием условных операторов (инструкций) и операторов (инструкций) перехода для организации циклов Изучение возможностей операторов (инструкций) цикла с предусловием, с постусловием и со счетчиком и особенностей их использования 5 Учебный материал Разновидности циклов (начало) Цикл представляет собой последовательность операторов, которая может выполняться более одного раза. Последовательность повторно выполняемых операторов называется телом цикла. Для построения цикла в принципе можно использовать операторы передачи управления с передачей управления на начало тела цикла, но все-таки в большинстве случаев удобнее использовать операторы цикла, специально предназначенные для организации циклов. Циклы могут быть вложены друг в друга. 6 Учебный материал Разновидности циклов (продолжение) Цикл с предусловием (с предварительным условием) организуется с проверкой условия выхода из цикла перед выполнением тела цикла. Его целесообразно использовать, когда число повторений тела цикла заранее неизвестно и тело цикла может даже ни разу не выполниться. Цикл с постусловием (с последующим условием) организуется с проверкой условия выхода из цикла после выполнения тела цикла. Его целесообразно использовать, когда тело цикла необходимо выполнить не менее одного раза и заранее неизвестно число повторений цикла. 7 Учебный материал Разновидности циклов (окончание) Цикл с параметром (обычно целочисленным) или цикл со счетчиком является разновидностью цикла с предусловием, и до начала выполнения такого цикла известно начальное и конечное значение параметра (счетчика) и, следовательно, количество повторений цикла. Цикл может быть прерван из тела цикла с помощью оператора перехода goto, который передает управление оператору вне цикла. Операторы тела цикла должны влиять на условие выхода из цикла, иначе произойдет зацикливание (повторение тела цикла без возможности выхода из цикла). 8 Учебный материал Использование условных операторов (инструкций) и операторов (инструкций) перехода для организации циклов (начало) Примеры использования условных операторов (инструкций) и операторов (инструкций) перехода для организации цикла для суммирования элементов числового ряда с заданной точностью e или заданным числом n 1 1 1 1 S = — + — + — + ... + — : 12 22 3 2 n2 для цикла с предусловием e:=0.001; s:=0; n:=1; a:=e+1; M: if a>e then begin a:=1/(n*n); s:=s+a; n:=n+1; goto M end; 9 Учебный материал Использование условных операторов (инструкций) и операторов (инструкций) перехода для организации циклов (окончание) для цикла с постусловием (и с пустым оператором после then) e:=0.001; s:=0; n:=1; M: a:=1/(n*n); s:=s+a; n:=n+1; if a<=e then else goto M; для цикла с параметром (со счетчиком) n:=1000; s:=0; i:=1; M: if i<=n then begin a:=1/(i*i); s:=s+a; i:=i+1; goto M end; 10 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (начало) Оператор цикла с предварительным условием (с предусловием) while Условие do Оператор; целесообразно использовать, когда число повторений тела цикла заранее неизвестно и тело цикла может даже ни разу не выполниться (здесь телом цикла является Оператор, который может быть составным). 11 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Оператор тела цикла с предусловием выполняется, пока значение логического выражения Условие равно True и выполняется до тех пор, пока это значение не станет равным False, после чего происходит передача управления оператору, следующему за этим оператором цикла. Оператор тела цикла должен влиять на значение Условия, иначе произойдет зацикливание (повторение тела цикла без возможности выхода из цикла). 12 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Если перед первым выполнением цикла с предусловием значение Условия равно False, то тело цикла не выполняется ни разу и происходит передача управления оператору, следующему за этим оператором цикла. 13 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Оператор цикла с последующим условием (с постусловием) repeat Оператор1; . . . ОператорN; until Условие; целесообразно использовать, когда тело цикла необходимо выполнить не менее одного раза и заранее неизвестно число повторений цикла. 14 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Операторы между repeat и until составляют тело цикла с постусловием и выполняются до тех пор, пока значение логического выражения Условие не примет значение True, после чего происходит передача управления оператору, следующему за этим оператором цикла, (то есть тело цикла повторяется при значении Условия, равном False). Операторы тела цикла должны влиять на значение Условия, иначе произойдет зацикливание (повторение тела цикла без возможности выхода из цикла). 15 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Так как Условие проверяется в конце цикла с постусловием, Операторы выполняются хотя бы один раз. 16 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Оператор цикла со счетчиком имеет две разновидности: for Счетчик:=Выражение1 to Выражение2 do Оператор; и for Счетчик:=Выражение1 downto Выражение2 do Оператор; и применяется, если количество повторений цикла известно заранее. 17 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Оператор тела цикла со счетчиком выполняется до полного перебора всех целочисленных значений Счетчика (параметра цикла) с шагом 1 для оператора с to и с шагом –1 для оператора с downto от значения Выражения1 (начального значения) до значения Выражения2 (конечного значения). Начальное и конечное значения не изменяются при выполнении цикла. Значение Счетчика не должно изменяться при выполнении Оператора. 18 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Цикл с to может не выполниться ни разу, если начальное значение больше конечного. Цикл с downto может не выполниться ни разу, если начальное значение меньше конечного. 19 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Выполнение оператора цикла может быть прервано из тела цикла с помощью оператора перехода goto или специального оператора без параметров break, который передает управление оператору, следующему за оператором цикла. С помощью специального оператора без параметров continue можно досрочно передать управление в конец тела цикла, что равносильно досрочному завершению очередного повторения тела цикла. 20 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (продолжение) Примеры использования операторов (инструкций) цикла с предусловием, с постусловием и со счетчиком для организации цикла для суммирования элементов числового ряда с заданной точностью e или заданным числом n 1 1 1 1 S = — + — + — + ... + — : 12 22 3 2 n2 для цикла с предусловием e:=0.001; s:=0; n:=1; a:=e+1; while a>e do begin a:=1/(n*n); s:=s+a; n:=n+1 end; 21 Учебный материал Операторы (инструкции) цикла с предусловием, с постусловием и со счетчиком и особенности их использования (окончание) для цикла с постусловием e:=0.001; s:=0; n:=1; repeat a:=1/(n*n); s:=s+a; n:=n+1; until a<=e; для цикла со счетчиком n:=1000; s:=0; i:=1; for i:=1 to n do begin a:=1/(i*i); s:=s+a end; 22 Использование материалов презентации Использование данной презентации, может осуществляться только при условии соблюдения требований законов РФ об авторском праве и интеллектуальной собственности, а также с учетом требований настоящего Заявления. Презентация является собственностью автора. Разрешается распечатывать копию любой части презентации для личного некоммерческого использования, однако не допускается распечатывать какую-либо часть презентации с любой иной целью или по каким-либо причинам вносить изменения в любую часть презентации. Использование любой части презентации в другом произведении, как в печатной, электронной, так и иной форме, а также использование любой части презентации в другой презентации посредством ссылки или иным образом допускается только после получения письменного согласия автора. 23