что такое алгоритмическая структура цикла
Что такое алгоритмическая структура цикла
Информатика и информационно-коммуникационные технологии в школе
Сервисы сайта | ||||||||||||||||||||||||||||||||
| Полная или частичная перепечатка каким бы то ни было способом материалов данного сайта допускается только с письменного согласия автора. Алгоритмическая структура «цикл». Циклы со счетчиком и циклы по условию.Лучшее качества компьютеров проявляются не тогда, когда они рассчитывают значения сложных выражений, а когда многократно, с незначительными изменениями, повторяют сравнительно простые операции. Даже очень простые расчеты могут поставить человека в тупик, если их надо повторить тысячи раз, а повторять операции миллионы раз человек совершенно не способен. С необходимостью повторяющихся вычислений программисты сталкиваются постоянно. Например, если надо подсчитать, сколько раз буква «о» встречается в тексте необходимо перебрать все буквы. При всей простоте этой программы исполнить ее человеку очень трудно, а для компьютера это задача на несколько секунд. Перечень повторяющихся действий называют телом цикла. Например, на уроке физкультуры вы должны пробежать некоторое количество кругов вокруг стадиона. На языке Basic они записываются следующим образом: FOR Счетчик=НачЗнач TO КонЗнач [STEP шаг] Параметры указанные в квадратных скобках являются не обязательными (их можно не записывать). По умолчанию шаг цикла равен одному, т.е. каждый раз после прохождения тела цикла счетчик увеличивается на единицу. Пример: Вывести на экран все числа от 1 до 100. Для этого можно было бы написать следующую программу: REM Вывод чисел от 1 до 100 Всего каких-то 102 строчки ;-). Хотя эту же программу можно написать намного короче: REM Вывод чисел от 1 до 100 Немного исправив программу можно сделать, чтобы она выводила все числа от a до b. REM Вывод чисел от a до b В этом случае счетчик при первом прохождении цикла принимает значение переменной a, после чего выполняются операторы до ключевого слова NEXT. После этого счетчик увеличивается на единицу и сравнивается со значение переменной b, если счетчик меньше, то цикл выполняется еще. Пример: Вычислить сумму двухзначных натуральных чисел. REM Вычислить сумму двухзначных натуральных чисел REM Вычислить факториал числа Вы, конечно, заметили, что до начала цикла мы присвоили переменной f значение равное единице. Иначе бы мы получили в результате ноль. В субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач. На языке Basic они записываются следующим образом: DO WHILE условие DO UNTIL условие Этот цикл отличается от предыдущего только тем, что он выполняется до тех пор пока условие не истинно (т.е. совсем наоборот). Пример: Вывести все натуральные числа меньше данного. REM Вывод всех чисел меньше данного Обсудить на форуме и принять участие в создании банка тестов. Алгоритмическая структура «Цикл»В алгоритмическую структуру «цикл» входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла. Циклические алгоритмические структуры бывают двух типов: • циклы со счетчиком, в которых тело цикла выполняется определенное количество раз; • циклы с условием, в которых тело цикла выполняется, пока условие истинно или ложно. Алгоритмическая структура «цикл» может быть зафиксирована различными способами: • на языке программирования, например, на языке Паскаль с использованием специальных инструкций, реализующих циклы различного типа. Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией. В начале выполнения цикла значение переменной i устанавливается равным In. При каждом проходе цикла переменная i увеличивается на величину шага. Если она достигает величины, большей Ik, то цикл завершается и выполняются следующие за ним операторы (нц – начало цикла, кц – конец цикла). Циклы с условием. Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Условие выхода из цикла можно поставить в начале, перед телом цикла. Такой цикл называется циклом с предусловием. цикл выполняется, пока условие имеет значение «истина». Как только условие примет значение «ложь», выполнение цикла закончится. В этом случае условие является условием продолжения цикла. Условие выхода из цикла можно поставить в конце, после тела цикла. Такой цикл называется «циклом с постусловием». цикл выполняется, пока условие имеет значение «ложь». Как только условие примет значение «истина», выполнение цикла закончится. В этом случае условие является условием завершения «цикла». Повторять
до тех пор, пока не выполнится Примеры Пример 1. Даны две простые дроби. Составить алгоритм получения дроби, являющейся результатом их деления. Решение. В алгебраической форме решение задачи выглядит следующим образом:
Тест: a = 3, b=4, c=5, d=6. Результат: m = 18, n = 20. Пример 2. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями. Обмен происходит через промежуточную переменную Z. вывод X, Y
Пример 3. Даны три вещественных числа А, В, С. Найти наибольшее среди них. Сначала определяется большее среди двух значений А и В, затем большее между найденным значением и величиной С. Алгоритм имеет структуру двух последовательных ветвлений. 2 способ. Задача решена с помощью вложенных ветвлений. Решение. Задача решается c помощью циклического алгоритма. Составим два варианта алгоритма: цикла с параметром и с применением цикла с предусловием.
Результат: факториал F = 120.
Пример 5. вычислить значение функции Y = A = BX + CX 2 для
Пример 6. Вычислить выборочное среднее С и выборочную дисперсию D случайной величины x по формулам (х1, х2, …, х50 – выборочные значения случайной величины х). Указание: при нахождении суммы (произведения) рекомендуется начальное значение суммы (произведения) брать равным нулю (единице) или первому слагаемому (множителю).
Пример 7. Использование вложенных циклов на примере вычисления двойной суммы А= В = (b1, b2, b3, …, bk) – одномерный массив (вектор) данных одного и того же типа.
Варианты Задание по лабораторной работе «Алгоритмы в блок-схемах» Составить алгоритмы на уровне блок-схем решения задач 5.1., 5.2., 5.3., 5.4., 5.5., 5.6. Контроль решения задачи или тест или ожидаемый результат должен быть рассмотрен и подготовлен до решения задачи с помощью ЭВМ. Номер варианта указывает преподаватель. Задачи на линейный алгоритм 5.1.1. Вычислить объем конуса и площадь основания. Даны радиус основания R и высота конуса H. (V= 5.1.2. Вычислить радиус вписанного в треугольник круга по сторонам треугольника. 5.1.3. Даны два числа. Найти их сумму, произведение и разность. 5.1.4. Дано t. Камень бросили в колодец, и через t секунд послышался всплеск воды. На какой глубине (от сруба) вода в колодце. (h= g*t 2 /2) 5.1.5.Составить программу вычисления площади треугольника по его трем углам A, B, C и стороне a. 5.1.6.Вычислить площадь поверхности цилиндра по радиусу основания R и высоте цилиндра H. 5.1.7.Дана сторона куба. Вычислить объем куба и полную поверхность. 5.1.8.Даны площадь треугольника S и стороны a, b, c. Вычислить сумму его высот. 5.1.9.Вычислить радиус описанного круга по сторонам треугольника. 5.1.10.Вычислить площадь трапеции по ее основаниям и высоте. 5.1.11.Длины сторон первого прямоугольника a и b, его площадь в 6 раз меньше площади второго прямоугольника. Найти длину стороны второго прямоугольника, если длина одной из его сторон равна c. 5.1.13.Длина стороны треугольника равна a, периметр равен Р, длины двух других сторон равны между собой. Найти эти длины. 5.1.15.Найти полную поверхность конуса с высотой H и радиусом основания R Задачи на разветвление 5.2.1. Написать алгоритм нахождения максимального среди четырех целых чисел. 5.2.2. Написать алгоритм проверки условия: имеются ли среди трех целых чисел два положительных числа? 5.2.3. Написать алгоритм проверки условия: могут ли три данных числа быть длинами сторон треугольника? 5.2.4. Написать алгоритм проверки условия: лежит ли данная точка c координатами (х, у) в первой четверти координатной плоскости? 5.2.5. Проверить принадлежность числа x интервалам [а,b] или [c,d]. 5.2.6. Проверить, является ли четырехугольник со сторонам a, b, c, d ромбом. 5.2.7. Определить, является ли треугольник со сторонами а, b, c равнобедренным. 5.2.8. Определить, является ли треугольник со сторонами а, b, c равносторонним. 5.2.9. Среди чисел а, b, с определить количество отрицательных. 5.2.10. Среди чисел а, b, с определить количество положительных. 5.2.12. Определить, принадлежит ли заданная точка (х,у) плоской фигуре, являющейся кольцом с центром в начале координат, с внутренним радиусом r1 и внешним радиусом r2. 5.2.14. Выбрать среди данных четырех чисел a, b, c, d те, которые принадлежат интервалу (m, n). 5.2.15. Сколько чисел среди а, b, c, d принадлежит отрезку [m, n]. Алгоритмическая структура «Цикл»В алгоритмическую структуру «цикл» входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла. Циклические алгоритмические структуры бывают двух типов: • циклы со счетчиком, в которых тело цикла выполняется определенное количество раз; • циклы с условием, в которых тело цикла выполняется, пока условие истинно или ложно. Алгоритмическая структура «цикл» может быть зафиксирована различными способами: • графически – с помощью блок-схемы; • на языке программирования, например, на языке Паскаль с использованием специальных инструкций, реализующих циклы различного типа. Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией. В начале выполнения цикла значение переменной i устанавливается равным In. При каждом проходе цикла переменная i увеличивается на величину шага. Если она достигает величины, большей Ik, то цикл завершается и выполняются следующие за ним операторы (нц – начало цикла, кц – конец цикла). Циклы с условием. Часто бывает так, что необходимо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Условие выхода из цикла можно поставить в начале, перед телом цикла. Такой цикл называется циклом с предусловием. цикл выполняется, пока условие имеет значение «истина». Как только условие примет значение «ложь», выполнение цикла закончится. В этом случае условие является условием продолжения цикла. Условие выхода из цикла можно поставить в конце, после тела цикла. Такой цикл называется «циклом с постусловием». цикл выполняется, пока условие имеет значение «ложь». Как только условие примет значение «истина», выполнение цикла закончится. В этом случае условие является условием завершения «цикла». Цикл с постусловием, в отличие от цикла с предусловием, выполняется обязательно как минимум один раз, независимо от того, выполняется условие или нет. Примеры Даны две простые дроби. Составить алгоритм получения дроби, являющейся результатом их деления. В алгебраической форме решение задачи выглядит следующим образом: Исходными данными являются четыре целые величины: а, b, с, d. Результат – два целых числа m и n. Тест: a = 3, b=4, c=5, d=6. Результат: m = 18, n = 20. Даны три вещественных числа А, В, С. Найти наибольшее среди них. Сначала определяется большее среди двух значений А и В, затем большее между найденным значением и величиной С. Алгоритм имеет структуру двух Задача решается c помощью циклического алгоритма: цикла с параметром.
Тест: N = 5. Результат: факториал F = 120. вычислить значение функции Y = A = BX + CX 2 для
Использование вложенных циклов на примере вычисления двойной суммы А= В = (b1, b2, b3, …, bk) – одномерный массив (вектор) данных одного и того же типа.
Замечание. В соответствии с ГОСТ 19.701-90 границы цикла можно изображать следующим образом: Начало цикла и конец цикла – оба символа имеют один и тот же идентификатор. Условия инициализации, приращения, завершения и т.д. помещаются внутри графического символа в начале или в конце в зависимости от расположения операции, проверяющей условие.
|