Добавил:
Negorov1337@gmail.com inst:vech.no_17 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб 6 циклы / Лабораторный_практикум_по_программированию_Ч.3.doc
Скачиваний:
9
Добавлен:
11.10.2020
Размер:
1.02 Mб
Скачать

Методические указания к выполнению задания b Вычисление суммы

Вычисление суммы организуется с помощью структуры «ЦИКЛ».

При этом в цикле последовательно вычисляются все промежуточные суммы:

S1= S0+ y1;

S2= S1+ y2=y1+ y2;

....................................

Si = Si-1+ yi = y1+ y2+... + yi;

....................................

Sn = Sn-1+ yn =

Промежуточные суммы и слагаемые хранить в памяти не требуется, поэтому они записываются в программе в виде простых переменных. Поэтому рекуррентная формула для вычисления суммы в программе будет выглядеть S = S + y (рекуррентной называется формула, где новое значение функции получается путем преобразования одного или нескольких предшествующих). Первая промежуточная сумма (S1) должна быть равна значению первого слагаемого (y1). Поэтому начальное значение суммы S должно быть равно нулю.

Присвоение начального значения переменной S, в которой накапливается сумма, выполняется перед циклом. Вывод результата, поскольку он единственный, осуществляют после окончания работы цикла.

Вычисление произведения

Вычисление произведения производится аналогично вычислению суммы. Рекуррентная формула выглядит при этом: P = P *y. А начальное значение произведения P=1.

Примеры выполнения задания b лабораторной работы

Пример 1. Вычислить сумму

.

Визуальное представление алгоритма накопления суммы дано на рисунке 10.

Рис. 10. Визуальное представление алгоритма накопления суммы

Программа на языке QBasic

REM вычисление суммы

Y=0 '‑‑-начальное значение суммы

FOR I=1 TO 10

Y=Y+1/I^2

NEXT I

PRINT USING “Сумма равна ##.## “; Y

END

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

Сумма равна 1.55

Рассмотрим этот же пример разработки циклической программы вычисления суммы, основанный на методике компьютерного решения задач (процедурное программирование), реализуемый средствами языка VBA. Для вывода значения y используем функцию MsgBox().

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

Public Sub Сумма()

Dim y As Single

Dim i As Integer

y = 0 ' начальное значение суммы

For i = 1 To 10

y = y + 1 / i ^ 2

Next i

MsgBox "Сумма = " & y

End Sub

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

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

сообщений MsgBox

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

Экранная форма и её элементы управления после переименования и изменения свойств представлена на рисунке 12.

Рис. 12. Экранная форма и её элементы управления после переименования и изменения свойств

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

Private Sub CmdСумма_Click()

Dim y As Single

Dim i As Integer

y = 0 ' -начальное значение суммы

For i = 1 To 10

y = y + 1 / i ^ 2

Next i

TxtСумма.Value = y

End Sub

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

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

Пример 2. Вычислить произведение

.

Визуальное представление алгоритма вычисления произведения представлено в виде блок-схемы на рисунке 14.

Рис. 14. Визуальное представление алгоритма вычисления произведения

Программа на языке QBasic

REM вычисление произведения

Z=1 '‑‑-начальное значение произведения

FOR I=1 TO 10

Z=Z*I/(I+1)

NEXT I

PRINT USING “Произведение равно ##.####”; Z

END

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

Произведение равно 0.0909

Рассмотрим этот же пример разработки циклической программы вычисления произведения, основанный на методике компьютерного решения задач (процедурное программирование), реализуемый средствами языка VBA. Для вывода значения y используем функцию MsgBox().

Public Sub Произведение()

Dim z As Single

Dim i As Integer

z = 1 ' -начальное значение произведения

For i = 1 To 10

z = z * i / (i + 1)

Next i

MsgBox "Произведение = " & z

End Sub

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

сообщений MsgBox

Пример разработки программного кода вычисления произведения на VBA с использованием экранных форм предлагается студентам реализовать самостоятельно аналогично примеру вычисления суммы.

Соседние файлы в папке лаб 6 циклы