Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич задания VB.doc
Скачиваний:
4
Добавлен:
02.12.2018
Размер:
1.69 Mб
Скачать

3.3. Итерационные циклы Варианты индивидуальных заданий

Найти сумму ряда:

  1. ;

  2. ;

  3. ;

  4. ;

  5. ;

  6. ;

  7. ;

  8. ;

  9. ;

  10. ;

  11. ;

  12. ;

  13. ;

  14. ;

  15. ;

  16. ;

  17. ;

  18. Вычислить корень квадратный по алгоритму Герона , где n = 0,1,2…, приняв начальное значение ; расчет остановить, если .

  19. Вычислить двумя способами: используя стандартную функцию и формулу разложения в ряд

.

Сравнить два полученных результата и получить их абсолютную разницу. Учесть ввод аргументов в градусах.

  1. Вычислить двумя способами: используя стандартную функцию и формулу разложения в ряд

.

Сравнить два полученных результата.

  1. Вычислить , используя формулу разложения в ряд

.

Образец выполнения задания

Пример 1. Определить количество итераций, при котором будет выполняться равенство с точностью до 0,001:

Dim S As Single, N As Integer

Private Sub Form_Load()

S = 0 'Присвоить начальное значение S

N = 0 'Присвоить начальное значение N

WHILE ABS(2 - S) >= .001 'Начало итерационного цикла

S = S + (1 / 2 ^ N) 'Вычисление очередного приближения

N = N + 1 'Изменение переменной N

WEND 'Конец цикла

MSGBOX "S=" & S 'Вывод результата на экран

MSGBOX "N="& N '

END Sub

Пример 2. Программа, вычисляющая сумму первых n членов ряда

1+1/2+1/3+....1/n.

Dim S As Single, N As Integer, J As Integer

Private Sub Form_Load()

N=INPUTBOX ("введите число членов ряда")

S=1: 'S-сумма ряда;

j=1 ‘j-переменная цикла

DO WHILE j <= n 'начало цикла, делать, пока J <= n

S=S+1/(j+1) 'накапливаем сумму ряда

j=j+1 'изменяем переменную цикла

LOOP 'конец цикла

MSGBOX "сумма ряда равна " & S 'печать результата

END SUB

Пример 3. Определить сумму членов арифметической прогрессии:

формулу не использовать.

Dim S As Single,N As Integer,J As Integer,D As Single,A As Single

Private Sub Form_Load()

S=0'S-сумма ряда

J=1 'j-переменная цикла

N = INPUTBOX ("Введите N ")'Ввод переменных N, D, A

D = INPUTBOX ("Введите D ")

A = INPUTBOX ("Введите A ")

DO WHILE J <= N 'начало цикла, делать, пока J <= N

S = S + (A + (J - 1) * D) 'накапливаем сумму ряда

J = J + 1'изменяем переменную цикла

LOOP'конец цикла

MSGBOX "S=" & S'печать результата

END SUB

Задание 4 Сочетание разветвляющегося и циклического вычислительных процессов Усложненные задачи

Найти значение суммы или произведения в зависимости от заданного условия. Значения переменных выбрать самостоятельно.

Задания для решения на практических занятиях:

Варианты индивидуальных заданий

Образец выполнения задания

Найти значение суммы или произведения в зависимости от заданного условия. Значения переменных выбрать самостоятельно.

  1. Входными данными являются переменные b, и n.

  2. Выходными данными – значение Y.

  3. На форме спроэктированы следующие элементы управления:

Label (Введите n, Введите b, Y=, Исходные данные, Результат),

TextBox (для ввода и вывода данных),

CommandButton (Найти Y, Выход),

Image (для помещения на форму формулы)

При проектировании данной формы использованы свойства элементов управления:

Alignment - для выравнивания текста,

Caption (для элементов управления Label, CommandButton),

Text (для элемента TextBox),

Font – для изменения размера и начертания шрифта,

ForeColor - для изменения цвета шрифта.

Icon – для размещения пиктограммы в стоке заголовка формы.

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

Dim N As Integer, B As Single, Y As Single

Dim i As Integer, k As Integer, p As Single

Private Sub Command1_Click()

If IsNumeric(Text1) = True And IsNumeric(Text2) = True Then

B = Text1.Text

N = Text2.Text

If B < 0 And N > 0 And N = Int(N) Then

Y = 0

For k = 1 To N

Y = Y + 1 / (2 * k + 1) ^ 2 * B ^ 2

Next

ElseIf B > 0 And N = 0 Then

p = 1

For i = 1 To 3

p = p * Log(i * B) / Log(10)

Next

Y = Log(B + p)

Else

Y = 0

End If

Text3.Text = Y

Else

MsgBox "Вы ввели не число! Повторите ввод."

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

Text1.SetFocus

Exit Sub

End If

End Sub

Private Sub Command2_Click()

End

End Sub

  1. Результат выполнения программы: