Вычисление факториала натурального числа




Известно, что факториал натурального числа можно вычислить последовательным перемножением всех натуральных чисел, начиная с единицы до данного натурального числа:

N!=1 * 2 * 3 *…* (N - 1) * N

Сделайте небольшой проект с использованием цикла For…Next, в котором после задания пользователем значения натурального N будет рассчитываться значение N! Результат вычислений должен распечатываться на форме.

Условные циклы

Часто бывает так, что необходимо повторить операторы, выражающие совокупность действий, какое-то число раз, но сколько будет повторений заранее не известно. В жизни такого рода ситуации встречаются довольно часто. Например, вам необходимо дойти до двери комнаты, в которой вы находитесь, повторяя действие “сделай один шаг”. Сколько повторений вам придется сделать, заранее вы не знаете. Вы делаете повторения, пока не упретесь в дверь. В таких случаях количество повторений зависит от некоторого условия.

Условие выхода из цикла можно поставить в начале цикла, перед повторяющимися действиями. Такой цикл называется циклом с предусловием. Фрагмент блок-схемы, соответствующий этому типу цикла, выглядит следующим образом:

...

...

Условие B – это условие выхода из цикла, блок S – блок повторяющихся действий – тело цикла.

Условие выхода из цикла можно поставить в конце цикла, после повторяющихся операторов. Такой цикл называется циклом с послеусловием. Фрагмент блок-схемы, соответствующий этому типу цикла, выглядит следующим образом:

...

...

5. Оператор цикла DO…LOOP

С помощью оператора Do…Loop на языке Visual Basic можно реализовать цикл с предусловием и цикл с послеусловием.

Формат цикла с предусловием следующий:

Do [{While/Until} условие]

[Операторы блока S]

Loop

Формат цикла с послеусловием следующий:

Do

[Операторы блока S]

Loop [{While/Until} условие]

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

Проверка условий выхода из цикла проводится с помощью ключевых слов While или Until. Эти слова придают одному и тому же условию противоположный смысл. Например, в цикле:

A = 1

Do

A = A + 1

Print “Visual Basic”

Loop While A < 11

условие выхода можно трактовать следующим образом: пока A меньше 11. Фраза Visual Basic будет печататься, пока значение переменной A меньше одиннадцати (т. е. десять раз). А в цикле:

A = 1

Do

A = A + 1

Print “Visual Basic”

Loop Until A > 10

условие выхода можно трактовать так: пока значение переменной A не стало больше десяти. И в том, и в другом случае фраза Visual Basic будет распечатываться 10 раз.

6. Усложнение проекта prjCycles

Давайте дополним проект prjCycles, который вы делали для иллюстрации “работы” цикла For…Next, таким образом, чтобы в этом проекте была представлена “работа” оператора Do…Loop для цикла с предусловием и для цикла с послеусловием. Дополним графический интерфейс пользователя еще двумя командными кнопками cmdAfter (значение свойства Caption “С послеусловием”) и cmdBefore (значение свойства Caption “С предусловием”) и меткой, комментирующей содержание этих командных кнопок.

Составьте код для cmdAfter. Пусть пользователь количество повторений печати на форме фразы Visual Basic задает с помощью функции InputBox и условие выхода из цикла формулируется с помощью слова While. Не забудьте объявить переменные. Сделайте их локальными.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: