Цикл с параметром (For-Next)

  • doc
  • 13.05.2020
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 153. Цикл с параметром (For-Next).doc

Цикл с параметром (For-Next)

Задание 1.  Вычислить произведение целых чисел от m до n, кратных 3. При вводе значений полагать m < n.

 

Выполнение. Входными параметрами в данной программе являются переменные m и n. В задании сказано, что при тестировании программы следует вводить m < n, поэтому в программе будем исходить из того, что это условие соблюдается.

Искомое произведение будет пошагово «накапливаться» в некоторой переменной, например p, путем домножения его предыдущего значения на очередное число, удовлетворяющее условиям задачи. Чтобы на первом шаге в переменную p поместилось первое число, необходимо задать такое начальное значение для переменной p, которое бы не изменяло произведение. Такое число – 1.

После ввода входных параметров присваиваем для p начальное значение – 1. Далее программа должна осуществлять последовательный перебор всех целых чисел от m до n и присваивать эти числа некоторой рабочей переменной, например i. Далее следует обеспечить проверку значений этой переменной на кратность 3. Если i кратна 3, то домножаем ее в прежнее произведение p.

По окончании перебора всех чисел из интервала от m до n имеем результирующее произведение в переменной p.

 

Программа

 

1     Sub For_Next_1() 'Начало подпрограммы (макроса)

2     m = Val(InputBox("Введите m:")) 'Ввод параметра m с клавиатуры

3     n = Val(InputBox("Введите n:")) 'Ввод параметра n с клавиатуры

4      

5     p = 1 'Задается начальное значение для произведения

6     For i = m To n 'Начало цикла, перебирающего все значения от m до n

7     If i Mod 3 = 0 Then 'Проверка, что текущее значение i кратно 3

8     p = p * i 'если кратно, то домножаем его в прежнее произведение p

9     End If 'конец действий, относящихся к условию

10   Next i 'конец действий, относящихся к циклу for i

11    

12   Debug.Print "Результат ="; p 'Вывод результата на экран

13   End Sub 'Окончание подпрограммы

 

Словесное описание программы

 

После ввода исходных параметров (с. 2–3) задается начальное значение для переменной p, служащей для «накопления» произведения (c. 5). Организуется цикл (с. 6–10) для перебора всех целых чисел от m до n с шагом 1. Числа помещаются в переменную i. Внутри цикла проверяется, что переменная i кратна 3, т.е. остаток от ее деления на 3 равен 0 (с. 7). Если кратна, то домножаем прежнее произведение p на i (c. 8). Иначе до конца итерации не выполняем никаких действий, а затем начинаем новую итерацию (проход) цикла со следующим значением i. После цикла выводим результат, накопленный в переменной p на экран (с. 12).

 

Блок-схема

 

 

Задание 2. Вычислить y = sin(a * x), где a = [3, 12]; x = 1, 3, 5, … ,       (2*n – 1) n – произвольное целое положительное число.

 

Выполнение. Единственным входным параметром в данной задаче является переменная n, которая по заданию должна быть целым и положительным числом. Переменная a должна перебираться циклом в интервале от 3 до 12 с шагом 1. Для каждого значения переменной a следует перебирать значения переменной x, поэтому цикл для переменной x должен быть вложен внутрь цикла для a. Переменная x должна перебирать значения в интервале от 1 до 2*n – 1, причем с шагом 2, что видно из ряда x = 1, 3, 5, …

Для каждого сочетания значений переменных a и x следует рассчитывать функцию y и сразу же выводить результат на экран. Следовательно, на экран должно быть выведено не одно значение, а множество.

 

Программа

 

14   Sub For_Next_2() 'Начало подпрограммы (макроса)

15   n = Val(InputBox("Введите n:")) 'Ввод параметра n с клавиатуры

16    

17   For A = 3 To 12 'Начало цикла, перебирающего значения переменной a от 3 до 12

18   For x = 1 To 2 * n - 1 Step 2 'Начало цикла, перебирающего значения переменной x от 1 до 2*n - 1 с шагом 2

19   y = Sin(A * x) 'расчет текущего значения функции

20   Debug.Print "При A="; A; ", X="; x; "результат ="; y 'Вывод аргументов функции и результата на экран

21   Next x 'конец действий, относящихся к циклу for x

22   Next A 'конец действий, относящихся к циклу for A

23    

24   End Sub 'Окончание подпрограммы

 

Словесное описание программы

 

После ввода параметра  (с. 2) открываем цикл, отвечающий за перебор значений переменной a (с. 4). Для каждой итерации этого цикла нужно перебирать все возможные значения переменной x, поэтому в с. 5 открываем «вложенный» цикл для переменной x. Внутри вложенного цикла осуществляем 2 действия: расчет значений заданной функции с помещением результата в переменную y (с. 6); и вывод этого результата на экран (с. 7). Причем вместе с результатом выводятся на экран и значения аргументов a и x, при которых этот результат получен. Далее в с. 8–9 закрываем открытые циклы в обратном порядке.

 

Блок-схема

 

 


Скачано с www.znanio.ru