Лабораторная работа №5. Циклический алгоритм цикл с предусловием
Оценка 5

Лабораторная работа №5. Циклический алгоритм цикл с предусловием

Оценка 5
doc
07.05.2020
Лабораторная работа №5. Циклический алгоритм цикл с предусловием
82. Лабораторная работа №5. Циклический алгоритм цикл с предусловием.doc

Лабораторная работа №5. Циклический алгоритм: цикл с предусловием

 

Предварительные сведения

 

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

 

Do While <условие>

 

Группа команд (тело цикла)

 

Loop

 

Тело цикла выполняется до тех пор, пока логическая конструкция, стоящая в <условии>, принимает значение «истина».

Пример 1

 

Напечатать квадратные корни чисел, вводимых с клавиатуры. Ввод и печать прекратить,  как только введено отрицательное число.

Выполнение:

1 Экранная форма имеет вид (рис. 24) и содержит одну метку и одну кнопку.

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 24. Окно формы для примера 1 лабораторной работы № 5

 

 

2 Блок-схема алгоритма задачи приведена в приложении 2, стр. 125.

 

3 Программный код:

 

Private Sub CommandButton1_Click()

Dim x As Integer, y As Single

x = InputBox("Введите x", "Окно ввода данных")

 

Do While x >= 0  'начало цикла с предусловием

  y = Sqr(x)

  MsgBox("y= " & y)

  x = InputBox("Введите x","Окно ввода данных")

Loop   'конец цикла с предусловием

 

MsgBox ("Введено отрицательное число")

End Sub

 

 

Запустите программу (нажатием на кнопку Ввод числа) и в окне ввода данных введите число, значение у отобразится в окне Результат (рис. 25). Продолжайте вводить числа (рис. 26), пока не будет введено отрицательное число (рис. 27).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 25. Результат работы программы

 для примера 1 задания 5 при х = 4

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 26. Результат работы программы

 для примера 1 задания 5 при х = 81

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 27. Результат работы программы

 для примера 1 задания 5 при х = –5

Пример 2

 

Посчитать произведение чисел, вводимых с клавиатуры до тех пор, пока не встретится 0.

Выполнение:

1 Здесь также заранее не известно, сколько чисел будет введено, поэтому используем цикл While. Экранную форму можно создать аналогично примеру 1 (рис. 24).

 

2 Блок-схема алгоритма:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


3 Программа подсчета данного произведения:

 

Private Sub CommandButton1_Click()

Dim a As Integer, P As Integer

a = InputBox("Введите ненулевое число")

Р = 1

While a <> 0 

  P = P * a

  a = InputBox("Введите число")

Wend   

MsgBox (Р)

End Sub

 

 

Пример 3

 

Вывести на печать положительные значения функции y=5sin(x)+cos(x–3) для х, изменяющегося на отрезке [–7; 15] с шагом 1,2.

 

Выполнение:

1 Экранная форма имеет вид (рис. 28) и содержит одну метку, одну кнопку и элемент ListBox.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 28. Окно формы для примера 3 лабораторной работы № 5

 

 

2 Блок-схема алгоритма этой задачи:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


3 Алгоритм работы программы:

 

Private Sub CommandButton1_Click()

Dim x As Single, y As Single

x = -7

While x <= 15

y = 5 * Sin(x) + Cos(x - 3)

If y > 0 Then

L = Str(y)

ListBox1.AddItem (L)

End If

x = x + 1.2

Wend

End Sub

 

4 Результат работы программы приведен на рис. 29.

 

Рис. 29. Результат работы программы для примера 2

лабораторной работы № 5

 

Пример 4

 

       Дано натуральное число N. Получить наименьшее число вида 4k, большее N.

Выполнение:

1 Экранная форма имеет вид (рис. 30).

 

2 Алгоритм работы программы:

 

Private Sub CommandButton1_Click()

Dim N As Integer, D As Integer

N = Val(TextBox1.Text)

D = 1

While D <= N

D = D * 4

Wend

MsgBox("Число равно" & D)

End Sub

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 30. Окно формы для примера 4 лабораторной работы № 5

 

3 Блок-схема к приведенному алгоритму:

 

 

 

 

 

 

 

 

 

 

 

 

 

 


4 Результат работы программы приведен на рис. 31.

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 31. Результат работы программы для примера 4

лабораторной работы № 5

Пример 5

 

Найти сумму бесконечного ряда  с точностью до .

Выполнение:

1 Экранная форма имеет вид (рис. 32).

 

Label4

 

TextBox1

 

Label3

 

CommandButton1

 
                      

Label2

 

Label1

 

 

Рис. 32. Окно формы для примера 5 лабораторной работы № 5

 

2 Программный код данной задачи:

 

Private Sub CommandButton1_Click()

Dim n As Long, S1 As Single, S0 As Single

Dim eps As Single

eps = CSng(Val(TextBox1.Text))

n = 1

S0 = 0

S1 = 1

Do While S1 - S0 > eps

n = n + 1

S0 = S1

S1 = S1 + 1 / (n ^ 2)

Loop

Label4.Caption = Str(S1)

End Sub

На каждом шаге цикла запоминается предыдущая сумма ряда в переменной S0 и вычисляется новая сумма S1 с очередным членом ряда. Условие окончания цикла – разность между этими суммами меньше либо равна .

 

CSng – функция, которая переводит текстовое значение, введенное в поле формы, в действительное число.

 

 

3 Блок-схема алгоритма:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


4 Результат работы программы приведен на рис. 33.

 

 

Рис. 33. Результат работы программы для примера 5

лабораторной работы № 5

Варианты

 

1           Вычислить сумму бесконечного ряда  с точностью до .

 

2           Вывести на печать значения функции  для x, изменяющегося на отрезке [-3; 3] с шагом 0,3.

 

3           Напечатать модули чисел, вводимых с клавиатуры. Ввод и печать прекратить, как только введено отрицательное число.

 

4           Вывести на печать значения функции , большие 1, для x, изменяющегося на отрезке [3; 8] с шагом 0,9.

 

5           Дано натуральное число N. Получить наименьшее число вида 5k, большее N.

 

6           Вычислить сумму бесконечного ряда  с точностью до .

 

7           Дано натуральное число N. Получить наименьшее число вида 7k, большее N.

 

8           Вычислить сумму бесконечного ряда  с точностью до .

 

9           Напечатать квадраты чисел, вводимых с клавиатуры. Ввод и печать прекратить, как только введено положительное число.

 

10      Вычислить сумму бесконечного ряда  с точностью до .

 

11      Напечатать числа, вводимые с клавиатуры. Ввод и печать прекратить, как только введено равное нулю число.

 

12      Вывести на печать значения функции , большие 2, для х, изменяющегося на отрезке [3; –8] с шагом –0,9.

 

13      Дано натуральное число N. Получить наибольшее число вида 3k, меньшее N.

 

14      Вычислить сумму бесконечного ряда  с точностью до .

 

15      Посчитать сумму чисел, вводимых с клавиатуры до тех пор, пока не встретится ноль.

 

16      Вычислить сумму бесконечного ряда  с точностью до .

 

17      Напечатать кубы чисел, вводимых с клавиатуры.  Ввод и печать прекратить, как только введено отрицательное число.

 

18      Вычислить сумму бесконечного ряда  с точностью до .

 

19      Посчитать произведение чисел, вводимых с клавиатуры до тех пор, пока не встретится четное число.

 

20      Вывести на печать положительные значения функции  для х, изменяющегося на отрезке [–30; 2] с шагом 0,5.

 

21      Напечатать квадратные корни чисел, вводимых с клавиатуры. Ввод и печать прекратить, как только введено кратное трем число.

 

22      Дано натуральное число N. Получить наименьшее число вида 2k, большее N.

 

23      Найти сумму значений функции  для x, изменяющегося на отрезке [–3; 8] с шагом 0,2.

 

24      Вычислить сумму бесконечного ряда  с точностью до .

 

25      Посчитать сумму чисел, вводимых с клавиатуры до тех пор, пока не встретится отрицательное число.

 

26      Напечатать числа, вводимые с клавиатуры. Ввод и печать прекратить, как только введено нечетное число.

 

27      Дано натуральное число Т. Получить наибольшее число вида 8k, меньшее Т.

 

28      Вычислить сумму бесконечного ряда  с точностью до .

 

29      Напечатать сумму чисел, вводимых с клавиатуры. Ввод и суммирование прекратить, как только введено отрицательное число.

 

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


Лабораторная работа №5. Циклический алгоритм: цикл с предусловием

Лабораторная работа №5. Циклический алгоритм: цикл с предусловием

Loop ' конец цикла с предусловием

Loop ' конец цикла с предусловием

Рис. 27. Результат работы программы для примера 1 задания 5 при х = –5

Рис. 27. Результат работы программы для примера 1 задания 5 при х = –5

Wend MsgBox ( Р ) End Sub

Wend MsgBox ( Р ) End Sub

Алгоритм работы программы :

Алгоритм работы программы :

Wend MsgBox("Число равно" & D)

Wend MsgBox("Число равно" & D)

Пример 5 Найти сумму бесконечного ряда с точностью до

Пример 5 Найти сумму бесконечного ряда с точностью до

На каждом шаге цикла запоминается предыдущая сумма ряда в переменной

На каждом шаге цикла запоминается предыдущая сумма ряда в переменной

Варианты 1 Вычислить сумму бесконечного ряда с точностью до

Варианты 1 Вычислить сумму бесконечного ряда с точностью до

Дано натуральное число N . Получить наибольшее число вида 3 k , меньшее

Дано натуральное число N . Получить наибольшее число вида 3 k , меньшее

Напечатать числа, вводимые с клавиатуры

Напечатать числа, вводимые с клавиатуры
Скачать файл