Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OVT_praktikum_A5-1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
9.29 Mб
Скачать

Лабораторная работа №8 Циклические алгоритмы. Разработка алгоритма и по­строение блок-схем

Алгоритмы «цикл».

Задача 1. Построить блок-схему для решения следующей за­дачи: Дано натуральное число N. Найти сумму первых N чле­нов натурального ряда.

S=1+2+3+…+N

Составим таблицу идентификаторов.

Объект задачи

Объект алгоритма

Иденти-фикатор

Тип, зна­чение

Начальное значение

Число чле­нов ряда

переменная

N

целый

Вводит пользователь

Сумма

переменная

S

целый

0

Переменная цикла

переменная

i

целый

1

Очевидно, что заранее известно число повторений цикла – оно соответствует числу членов ряда. Также очевидно, что до входа в цикл сумма равна нулю. В теле цикла использу­ется операция присваивания S=S+i, с помощью которой и вы­числяется значение суммы путем прибавления к предыдущему значению переменной S все новых значений переменной i. За­метим, что в данной задаче каждый следующий член ряда сов­падает с переменной цикла на текущем шаге.

Замечание1. Чаще всего в задачах подобного типа не­обходимо заводить дополнительные переменные, которые бу­дут соответствовать i-му члену заданной суммы или произ­ведения.

Замечание2. В задачах данного типа необходимо вы­полнять 6 этап разработки алгоритма: формальное исполне­ние алгоритма, т.е. производить проверку работоспособно­сти алгоритма.

Построим блок-схему:

Проверка: Пусть N=3.

S=0

(вход в цикл. Цикл выполнится 3 раза)

I=1: S=0+1

I=2: S=1+2

I=3: S=1+2+3

(выход из цикла по достиже­нию конечного значения пере­менной цикла, в данном случае – I=3)

(вывод S)

S=6

Блок-схема составлена верно.

Задача 2. Построить блок-схему для решения следующей за­дачи: Дано натуральное число N и ряд натуральных чисел 1,2,3,…, . Найти сумму членов данного ряда, причем вычисле­ние прекратить, как только значение суммы окажется равно или превысит заданное число N.

S=1+2+3+4+…

Очевидно, что здесь не известно заранее число шагов цикла, поэтому цикл с параметром использовать нельзя. Для решения такого рода задач используются циклы с предусло­вием или с постусловием. Рассмотрим оба варианта.

Составим таблицу идентификаторов.

Объект задачи

Объект ал­горитма

Иденти-фикатор

Тип, зна­чение

Начальное значение

Заданное число

переменная

N

целый

Вводит поль­зователь

Сумма

переменная

S

целый

0

Переменная цикла

переменная

i

целый

1

Рассмотрим вариант с использованием цикла с посту­словием: выход из данного цикла будет возможен, когда S>=N. При невыполнении данного условия вычисление суммы будет продолжаться аналогично предыдущей задаче (S=S+i). Заме­тим, что при использовании циклов с предусловием и посту­словием нельзя забывать об изменении переменной цикла. Но в данном примере алгоритм приведет к неверному решению при N=0, т.к. в этом случае не выполнится первое по порядку сравнение: S=N=0.

Рассмотрим вариант цикла с предусловием: В данном алгоритме сначала будет выполняться проверка условия вы­хода из цикла S<N. Если это условие будет верно, то будет выполняться тело цикла, если же нет, то произойдет выход из цикла. В этом случае при N=0 цикл не выполнится ни разу и задача будет решена верно.

Задание:

Построить блок-схемы для решения следующих задач:

    1. , где n>0 – целое число, вводимое поль­зователем

    2. , где n>0 – целое число, вводимое пользователем

    3. В

      n-раз

      зависимости от введенного пользователем целого числа n>0 (число членов суммы) и действительного х, найти зна­чение S=Sinx+SinSinx+SinSinSinx+…+SinSin…Sinx

    1. , где n>0 – целое число, вводимое пользователем

    1. Найти значение y, если х – действительное число, вводи­мое пользователем:

    2. , где n>0 – целое число, а x – действительное число, вводимые пользовате­лем

    3. , где N>0 – целое число, а x – действительное число, вводимые пользовате­лем

    4. Вычислить значение

    5. Х – действительное число, вводимое пользователем. Вычис­лить:

    6. Дано n>=3 (целое),

Найти

    1. Пусть a0=a1=2; ; i=2,3,… Найти произве­дение

    2. Вычислить:

    3. Дано натуральное N, действительное x. Вычислить:

    1. Пусть b0=0, b1=3; ; i=2,3,… Найти

    2. Дан натуральный ряд чисел от 1 до N. Вычислить сумму чет­ных и произведение нечетных членов этого ряда.