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

  • doc
  • 07.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

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

Иконка файла материала 83. Лабораторная работа №6. Циклический алгоритм цикл с постусловием.doc

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

 

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

 

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

 

Do

 

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

 

Loop Until <условие>

 

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

 

 

Пример 1

 

Найти сумму отрицательных значений функции у = sin(2x)/cos(4x) для x, изменяющегося на отрезке [1; 10] с шагом 0,5.

 

Выполнение:

1 Создайте форму, содержащую две метки и одну кнопку (рис. 34).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

 

2 Алгоритм, реализующий вычисление суммы отрицательных значений функции, имеет следующий вид:

 

Private Sub CommandButton1_Click()

Dim x As Single 'входная переменная

Dim s As Double 'выходная переменная

Dim y As Double 'значение функции

s = 0  'обнуление суммы

x = 1  'начальное значение х

 

Do  'начало цикла

y = Sin(2 * x) / Cos(4 * x) 'вычисление значения функции

If y < 0 Then

    s = s + y  'вычисление суммы отрицательных значений

End If

x = x + 0.5  'переход к следующему значению х

Loop Until x > 10 'конец цикла

 

MsgBox("Сумма отрицательных значений=" & s)

End Sub

 

3 Блок-схема к этому алгоритму приведена в приложении 2, стр. 127.

 

 

Пример 2

 

Найти первый член последовательности ln(9n/n2), меньший 0, для n, изменяющегося следующим образом: n =1,2,3,….

Выполнение:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

 

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

 

Private Sub CommandButton1_Click()

Dim n As Integer  'входная переменная

Dim y As Double   'значение функции

n = 1  'первое значение n

Do  'начало цикла

y = Log(9 * n / n ^ 2) 'вычисление значения функции

n = n + 1  'переход к следующему значению n

Loop Until y < 0  'конец цикла

MsgBox("Первый отрицательный y равен " & y) 'печать y

End Sub

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

Рис. 36. Результат работы программы для примера 2 лабораторной работы № 6

 

Пример 3

 

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

Выполнение:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

 

2 Алгоритм печати квадратов чисел:

 

Private Sub CommandButton1_Click()

Dim x As Integer, y As Integer

Do

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

ListBox1.AddItem (Str(x))

y = x ^ 2

ListBox2.AddItem (Str(y))

Loop Until x < 0

End Sub

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

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

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

 

 

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

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

 

Варианты

 

1           Вывести на печать значения функции , находящиеся в интервале (0,3; 0,7) для х, изменяющегося на отрезке [4; –6] с шагом –0,2.

 

2           Найти первый член последовательности , меньший 0, для n, изменяющегося следующим образом: n=1; 2; 3;….

 

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

 

4           Напечатать модули чисел, вводимых с клавиатуры. Как только введено положительное число, напечатать его модуль, затем ввод и печать прекратить.

 

5           Найти сумму отрицательных значений функции  для х, изменяющегося на отрезке [–5; 12] с шагом 0,4.

 

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

 

7           Напечатать числа, вводимые с клавиатуры. Как только введено четное число, напечатать его, затем ввод и печать прекратить.

 

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

 

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

 

10      Вывести на печать положительные значения функции
 для x, изменяющегося на отрезке [5; –10] с шагом –1,4.

 

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

 

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

 

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

 

14      Найти первый отрицательный член последовательности  для n, изменяющегося следующим образом: n=1; 2; 3;….

 

15      Hайти сумму положительных значений функции  для х, изменяющегося на отрезке [–6; 13] с шагом 0,5.

 

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

 

17      Напечатать числа, вводимые с клавиатуры. Как только введено нечетное число, напечатать его, затем ввод и печать прекратить.

 

18      Hайти произведение отрицательных значений функции  для х, изменяющегося на отрезке [–8; 15] с шагом 0,7.

 

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

 

20      Найти первый член последовательности , меньший 0, для n, изменяющегося следующим образом: n=1; 2; 3;….

 

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

 

22      Напечатать квадраты чисел, вводимых с клавиатуры. Как только введено кратное трем число, напечатать его квадрат, затем ввод и печать прекратить.

 

23      Найти первый отрицательный член последовательности  для n, изменяющегося следующим образом: n = 1; 2; 3;….

 

24      Hайти произведение положительных значений функции  для х, изменяющегося на отрезке [–7; 10] с шагом 0,35.

 

25      Hайти сумму отрицательных значений функции  для х, изменяющегося на отрезке [–5; 5] с шагом 0,5.

 

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

 

27      Напечатать числа, вводимые с клавиатуры. Как только введен ноль, напечатать его, затем ввод и печать прекратить.

 

28      Найти первый член последовательности , меньший 1, для n, изменяющегося следующим образом: n = 1; 2; 3;….

 

29      Напечатать модули чисел, вводимых с клавиатуры. Как только введено кратное пяти число, напечатать его модуль, затем ввод и печать прекратить.

 

30      Hайти модуль суммы отрицательных значений функции  для x, изменяющегося на отрезке [–14; 10] с шагом 0,25.