Алгоритмическая структура «Цикл»



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Алгоритмическая структура «Цикл»



В алгоритмическую структуру «цикл» входит серия команд, выполняемая многократно. Такая последователь­ность команд называется телом цикла.

Циклические алгоритмические структуры бывают двух типов:

циклы со счетчиком, в которых тело цикла выполняется определенное количество раз;

циклы с условием, в которых тело цикла выполняется, пока условие истинно или ложно.

Алгоритмическая структура «цикл» может быть зафик­сирована различными способами:

• графически - с помощью блок-схемы;

• на языке программирования, например, на языке Паскаль с использованием специальных инструкций, реализующих циклы различного типа.

Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно вос­пользоваться циклической инструкцией.

В начале выполнения цикла значение переменной i устанавливается равным In. При каждом проходе цикла переменная i увеличивается на величину шага. Если она достигает величины, большей Ik, то цикл за­вершается и выполняются следующие за ним операторы (нц – начало цикла, кц – конец цикла).


 

для i от In до Ik, повторять

нц

<тело цикла>

кц

 

Циклы с условием. Часто бывает так, что необходимо по­вторить тело цикла, но заранее неизвестно, какое количест­во раз это надо сделать. В таких случаях количество повто­рений зависит от некоторого условия.

Условие выхода из цикла можно поставить в начале, пе­ред телом цикла. Такой цикл называется циклом с предусло­вием.

цикл выполняется, пока условие имеет значение «истина». Как только условие примет значение «ложь», вы­полнение цикла закончится. В этом случае условие является условием продолжения цикла.

    пока <условие>, повторять нц <тело цикла> кц

 

 

Условие выхода из цикла можно поставить в конце, после тела цикла. Такой цикл называется «циклом с постусловием». цикл выполняется, пока условие имеет значение «ложь». Как только условие примет значение «ис­тина», выполнение цикла закончится. В этом случае усло­вие является условием завершения «цикла».

Цикл с постусловием, в отличие от цикла с предусловием, выполняется обязательно как минимум один раз, независимо от того, выполняется условие или нет.

Повторять

<тело цикла>

условие
до тех пор, пока не выполнится <условие>

 

Примеры

Пример 1. Даны две простые дроби. Составить алгоритм получения дроби, являющейся результатом их деления.

Решение. В алгебраической форме решение задачи выглядит следующим образом:

.

Исходными данными являются четыре целые величины: а, b, с, d. Результат - два целых числа m и n.

       
 
   
алг деление дробей целa, b, c, m, n, d нач ввод a, b, c, d m := a´d n := b´c вывод “Числитель=”, m вывод “Знаменатель=”, n кон
 

 


 

       
   
 
 

 


Тест: a = 3, b=4, c=5, d=6.

Результат: m = 18, n = 20.

 

Пример 2. Даны две переменные величины X и Y. Требуется произвести между ними обмен значениями. Обмен происходит через промежуточную переменную Z.

 

 

ввод X,Y

Z:=X

X:=Y

Y:=Z

вывод X, Y

Тест: x = 3, y = -7.

Результат: x = -7, y = 3.

 

 

 
 

 

 

Пример 3. Даны три вещественных числа А, В, С. Найти наибольшее среди них.

Решение.1 способ.

Сначала определяется большее среди двух значений А и В, затем большее между найденным зна­чением и величиной С. Алгоритм имеет структуру двух пос­ледовательных ветвлений.

 

 


Тест: a = 3, b = 6, c = 2.

Результат: D = 6.


2 способ. Задача решена с помощью вложенных ветвлений.

 

 

Пример 4. Дано целое положительное число N. Вычислить факториал этого числа: N! = 1 * 2 * 3 * ... * N

Решение. Задача решается c помощью циклического алгоритма. Составим два варианта алгоритма: цикла с параметром и с применением цикла с предусловием.

       
 
   
алг Факториал 2 целF, N, R нач ввод N F:=1 дляRот1доN повторять нц F:=F´ R кц вывод “Факториал=”, F кон
 

 


Тест: N = 5.

Результат: факториал F = 120.

 

 


       
 
   
алг Факториал 1 целF, N, R нач ввод N F:=1 R:=1 покаR£N,повторять нц F:=F´R R:=R+1 кц вывод “Факториал=”, F кон
 

 

 


 

 
 

 

 

Пример 5. вычислить значение функции Y = A = BX + CX2 для изменяющимся с шагом 0,5.

 
 

Пример 6. Вычислить выборочное среднее С и выборочную дисперсию D случайной величины x по формулам

, , ,

1, х2, …, х50 – выборочные значения случайной величины х).

Указание: при нахождении суммы (произведения) рекомендуется начальное значение суммы (произведения) брать равным нулю (единице) или первому слагаемому (множителю).

 

       
 
   
алг Сумма вещА, В, С нач А = 0 В = 0 для k от 1 до 50 повторять нц ввод х A:= A+x B:= B+x кц C:= A/50 B:=B/50 – C2 вывод “значение С=”, С “значение В=”, В кон
 

 

Пример 7. Использование вложенных циклов на примере вычисления двойной суммы

где

А= - матрица или двумерный массив данных одного и того же типа

В = (b1, b2, b3, …, bk) – одномерный массив (вектор) данных одного и того же типа.

 
 

 


 

алг Массив вещВk, Ank, C цел k, n нач для k от 1 до 9 повторять нц ввод bk кц для k от 1 до 9 повторять для n от 1 до 8 повторять нц ввод Аnk кц С:=0 для n от 1 до 8 повторять нц для k от 1 до 9 повторять нц C:=C+Ank×B кц кц выводС кон

 

 


Варианты

Задание по лабораторной работе «Алгоритмы в блок-схемах»

Составить алгоритмы на уровне блок-схем решения задач 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*t2/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.12.Составить алгоритм вычисления площади треугольник со сторонами a, b, c (а, b, c - вещественные положительные числа).

5.1.13.Длина стороны треугольника равна a, периметр равен Р, длины двух других сторон равны между собой. Найти эти длины.

5.1.14.Периметр треугольника рaвен Р, длина одной стороны равна a, другой - b. Найти длину третьей cтоpоны.

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.11. Числа а и b - катеты одного треугольника, с и d - катеты другого. Определить являются ли эти треугольники равновеликими.

5.2.12. Определить, принадлежит ли заданная точка (х,у) плоской фигуре, являющейся кольцом с центром в начале координат, с внутренним радиусом r1 и внешним радиусом r2.

5.2.13. Какая площадь больше - параллелограмма со сторонами а, b и углом между ними 30° или площадь прямоугольника со сторонами n, m?

5.2.14. Выбрать среди данных четырех чисел a, b, c, d те, которые принадлежат интервалу (m, n).

5.2.15. Сколько чисел среди а, b, c, d принадлежит отрезку [m, n].



Последнее изменение этой страницы: 2016-12-27; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.215.177.171 (0.019 с.)