Скачать презентацию Алгоритмы циклической структуры Часто при решении задач приходится Скачать презентацию Алгоритмы циклической структуры Часто при решении задач приходится

Алгоритмы циклической структуры.pptx

  • Количество слайдов: 7

Алгоритмы циклической структуры Часто при решении задач приходится многократно вычислять значения по одним и Алгоритмы циклической структуры Часто при решении задач приходится многократно вычислять значения по одним и тем же математическим зависимостям для различных значений входящих в них величин. Такие многократно повторяемые участки вычислительного процесса называются алгоритмами циклической структуры, или циклами. Использование циклов позволяет существенно сократить объем схемы алгоритма и длину соответствующей ей программы. Различают циклы с заданным и неизвестным числом повторений. I = k 1, k 2 Услловие Да Тело цикла Нет Услловие Да а) б) в) ВИДЫ ЦИКЛОВ: a – с заданным числом повторений (арифметический цикл); б – с неизвестным числом повторений (цикл с предусловием); в - с неизвестным числом повторений (цикл с послесловием)

Для организации цикла необходимо: 1. задать перед циклом начальное значение переменной, изменяющейся в цикле; Для организации цикла необходимо: 1. задать перед циклом начальное значение переменной, изменяющейся в цикле; 2. изменять переменную перед каждым новым повторением цикла; 3. проверять условие окончания или повторения цикла; 4. управлять циклом, т. е. переходить к его началу, если он не закончен, или выходить из него по окончании. Последние три функции выполняются многократно. Переменная, изменяющаяся в цикле, называется параметром цикла. В одном цикле может быть несколько параметров. Основная сложность в этом процессе — вывести закономерности (формулы) изменения параметров. ЗАДАНИЕ 1. Вычислить произведение целых нечетных чисел от т до n (т < n). Здесь исходными данными задачи являются величины от т, т + 2, т + 4, … n; результатом — р. Метод решения задачи следующий. Последовательно перемножаем т на т + 2, полученный результат — на т + 4 и т. д. Разобьем указанный процесс на этапы, запишем операцию первого, второго и третьего этапов и исходя из них выведем и представим операцию, выполненную на i-м этапе. Запишем операцию последнего этапа. Этап 1: Этап 2: Этап 3: Этап i: Этап r (последний):

Формула рi = pi-1 n есть рабочая формула создаваемого циклического алгоритма, в котором задействованы Формула рi = pi-1 n есть рабочая формула создаваемого циклического алгоритма, в котором задействованы переменные i и р. Найдем начальное значение переменной р. Представим формулу первого этапа в виде р1 = р0(т + 2). При этой замене не должно измениться значение р1 , а для этого до начала вычислений следует принять р0 = т. Это и есть начальное значение переменной р. Сопоставим операции i-го и n-го этапов, из чего следует условие повторения цикла т + 2 i <= n, т. е. i<=(n- т)/2. Выделим и запишем параметры переменных р и i: Здесь индексы при р мы опустили, так как для вычисления любого последующего значения переменной р достаточно знать лишь ее предшествующее значение.

Начало m, n k = (n – m)/2 i=1 p=m p = p*(m+2*i) Цикл Начало m, n k = (n – m)/2 i=1 p=m p = p*(m+2*i) Цикл с условием. Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, сколько раз это надо сделать, так как число повторений зависит от некоторого условия. Такой цикл реализуется с помощью оператора Do Loop. Цикл начинается с ключевого слова «Do» ("выполнить"), а последняя строка начинается с ключевого слова «Loop» ("петля"). Существуют четыре разновидности заданной конструкции. Условие выхода из цикла можно поставить в начале, перед телом цикла (такой цикл называется циклом с предусловием), или в конце (такой цикл называется циклом с послесловием). Виды циклов с условием 3 4 Do Until. . . Do Do <операторы> < операторы > <операторы> Loop Нет 2 Do While. . . i=i+1 1 Loop While. . . Loop Until. . . I>k Да Вывод Конец Do Условие Loop Условие

Проверка условия выхода из цикла проводится с помощью ключевых слов «While» или «Until» . Проверка условия выхода из цикла проводится с помощью ключевых слов «While» или «Until» . Эти слова придают одному и тому же условию противоположный смысл. Ключевое слово «While» ( «до тех пор» ) обеспечивает выполнение цикла до тех пор, пока выполняется условие, т. е. пока условие имеет значение «истина» . Как только условие примет значение «ложь» , выполнение цикла закончится. В этом случае условие является условием продолжения цикла. Do While Лож Do Until Условие Истина Условие Лож Ключевое слово «Until» ( «пока» ) обеспечивает выполнение цикла до тех пор, пока не выполняется условие, т. е. пока условие имеет значение «ложь» . Как только условие примет значение «истина» , выполнение цикла закончится. В этом случае условие является условием завершения цикла. Условие типа «While» — продолжение цикла. Повторяющиеся операторы выполняются, если значение условного выражения равно True (ИСТИНА). В противном случае цикл завершается. Условие типа «Until» — завершение цикла. Повторяющиеся операторы выполняются, если значение условного выражения равно False (ЛОЖЬ). В противном случае цикл завершается. Если условие стоит в первой строке, то может случиться так, что повторяющиеся операторы так ни разу и не будут выполнены. Иногда это бывает полезно.

ЗАДАНИЕ 2. Вычислить факториал натурального числа N. Факториал числа (!) — это произведение всех ЗАДАНИЕ 2. Вычислить факториал натурального числа N. Факториал числа (!) — это произведение всех натуральных чисел от 1 до N: m = 1*2*3*. . . *N. По определению 0! = 1 и 1! = 1. Исходными данными является значение N, результат будет получен в переменной F. В переменной F накапливается значение факториала числа. Для реализации вычислений используется арифметический цикл. Параметр цикла i меняется в интервале от 2 до N с шагом 1 (поэтому в данном примере шаг не указан). Выход из цикла произойдет, когда значение параметра цикла превысит значение N. В арифметическом цикле значение параметра цикла увеличивается на значение шага автоматически. Операция F= F*i обеспечивает постепенное накапливание произведений в переменной F, причем используется предыдущее значение этой же переменной. Из примера 1 видно, что перед началом цикла необходимо установить начальное значение переменной F. Обобщенная формула получения факториала имеет вид F= F*i, т. е. Fx = F 0*2 = 1!*2; F 2 = F*3 = 2!*3; F 3 = F 2*4 = 3!*4 и т. д.

Начало Ввод n F=1 Факториа л числа n (лат. factorialis — действующий, производящий умножающий; Начало Ввод n F=1 Факториа л числа n (лат. factorialis — действующий, производящий умножающий; обозначается n!, произносится эн факториа л) — произведение всех натуральных чисел от 1 до n включительно: i = 2, n F = F*i По определению полагают 0! = 1. Факториал определён только для целых неотрицательных чисел. Последовательность факториалов неотрицательных целых чисел начинается так: 1, 1, 2, 6, 24, 120, 720, 5040, 40 320, 362 880, 3 628 800, 39 916 800, 479 001 600, 6 227 020 800, 87 178 291 200, Ввывод F 1 307 674 368 000, 20 922 789 888 000, 355 687 428 096 000, 6 402 373 705 728 000, 121 645 100 408 832 000, 2 Конец 432 902 008 176 640 000, … Факториалы часто используются в комбинаторике, теории чисел и функциональном анализе. Факториал является чрезвычайно быстро растущей функцией. Он растёт быстрее, чем многочлен любой степени, и быстрее, чем экспоненциальная функция.