Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Bikkulov8

.pdf
Скачиваний:
0
Добавлен:
23.06.2025
Размер:
2.59 Mб
Скачать

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

Переменная i объявляется как целочисленная переменная

Dim i As Integer

Переменная f объявляется как длинная целочисленная

Dim f As Long

‘Переменные e, y, s объявляются как десятичные

Dim e, y, s As Single

Private Sub Form_Load()

‘Вывод текста в Метки

Метка1.Caption = "Введите e из интервала (0,0001;0.01)"

Метка2.Caption = "Сумма S = " End Sub

Private Sub Комманда_Click()

‘Ввод, преобразование типа и проверка числа е e = Val(Текст)

If e < 0.0001 Or e > 0.1 Then Текст = "Вне интервала!": Exit Sub s = 0: i = 0: f = 1: y = e

‘Организация цикла по условию

While Abs(y) >= e

‘Вычисление факториала i = i + 1: f = f * i

‘Вычисление функции и суммы

y = (-1) ^ i * i * (i + 1) * (i + 2) / f : s = s + y Wend

‘Вывод суммы

Метка2 = Метка2 & Format(s, "##0.000000")

End Sub

Результаты работы программы

Пример 5. Наибольшее число

Получить 10 случайных двузначных натуральных чисел и найти наибольшее число.

51

Блоксхема

Интерфейс

52

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

‘Объявление переменных

Dim i, Max As Integer Dim n(1 To 10) As Integer

‘Требование обязательного объявления переменных проекта

Option Explicit

Private Sub Form_Load()

‘Инициирует генератор случайных чисел

Randomize

Список1.List(0) = " Случайные"

Список1.List(1) = " числа"

Max = 0

‘Получение 10 случайных чисел в диапазоне от 1 до 99 и нахождение ‘наибольшего числа

For i = 1 To 10

n(i) = 98 * Rnd + 1

Список1.List(i + 1) = Format(n(i), " 00") If Max < n(i) Then Max = n(i)

Next i

‘Вывод в список

Список1.List(12) = " Наибольшее"

Список1.List(13) = " число" Список1.List(14) = Format(Max, " 00") End Sub

Private Sub Комманда1_Click()

“Вызов процедуры Form_Load для получения новых чисел

Form_Load End Sub

Private Sub Комманда2_Click()

‘Завершение работы

End End Sub

53

Результаты работы программы

Пример 6. Вычисление матрицы

Вычислить матрицу A a i, j , где i, j = {1,2,...,10} по формуле

a i, j log 5 i 3 j sin i j 2 . Отсортировать элементы главной диагонали по возрастанию.

54

Блоксхема

55

Интерфейс

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

‘Объявление переменных

Dim i, j As Integer

Dim b, a(10, 10) As Single Option Explicit

Private Sub Form_Load()

‘Вывод нулевого элемента списка

Список1.List(0) = "Матрица А"

‘Вычисление и вывод в список элементов двумерной матрицы

For i = 1 To 10 For j = 1 To 10

a(i, j) = (Log(5 * i + 3 * j) / Log(10)) * Sin(i * j) ^ 2 Список1.List(i)=Список1.List(i) & " " & Format(a(i, j), "####0.00")

Next j Next i

‘Вывод в список элементов главной диагонали

Список1.List(11) = "Элементы главной диагонали"

For i = 1 To 10

Список1.List(12) = Список1.List(12) & " " & Format(a(i, i), "##0.00") Next i

‘Сортировка элементов главной диагонали по возрастанию

For i = 1 To 10 For j = 1 To 9

If a(j, j) > a(j + 1, j + 1) Then b = a(j, j)

a(j, j) = a(j + 1, j + 1) a(j + 1, j + 1) = b

End If Next j, i

Список1.List(13)="Элементы главной диагонали по возрастанию."

“Вывод отсортированных элементов главной диагонали матрицы

56

For i = 1 To 10

Список1.List(14)=Список1.List(14)&" "& Format(a(i, i), "##0.00") Next i

End Sub

Результаты работы программы

Пример 7. Циклы по параметру и по условию

Для каждого значения переменной x на отрезке [ a , b ] с шагом h вычислить с точностью 0,001 сумму:

n

 

(3

tg x) 2arctgi

 

а) S 1 i

 

 

 

 

 

 

 

.

 

 

 

4

i

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Значения n ( 5 n 15 ),

a ( 1 a 0,7 ), b

( 0,7 b 1) , h ( 0,15 h 0,3 )

вводить с клавиатуры.

 

 

 

 

 

б) S 1 i

(3 tg x) 2arctgi

 

 

 

 

 

 

 

, k первых значений функции больших по

 

 

4

i

 

 

 

 

 

 

 

 

 

 

 

модулю числа ε

( 0,0001 0,01).

57

Блоксхема

58

Интерфейс

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

‘Объявление переменных

Dim i, k, n As Integer

Dim a, b, h, e, x, y, sa, sb As Single

‘Требование обязательного объявления переменных проекта

Option Explicit

Private Sub Комманда1_Click()

‘Ввод и преобразование данных n = Val(Текст1.Text)

a= Val(Текст2.Text)

b= Val(Текст3.Text)

h= Val(Текст4.Text)

e= Val(Текст5.Text)

‘Очистка списков

Список1.Clear

Список2.Clear

Список3.Clear

‘Вывод нулевых элементов списка

Список1.List(0) = "Аргумент" Список2.List(0) = "Ответ а" Список3.List(0) = "Ответ б"

‘Проверка принадлежности данных заданным интервалам

If n < 5 Or n > 15 Then Текст1 = "Вне интервала!": Exit Sub If a < -1 Or a > -0.7 Then Текст2 = "Вне интервала!": Exit Sub If b < 0.7 Or b > 1 Then Текст3 = "Вне интервала!": Exit Sub

If h < 0.15 Or h > 0.3 Then Текст4 = "Вне интервала!": Exit Sub

If e < 0.0001 Or e > 0.01 Then Текст5 = "Вне интервала!": Exit Sub

k= 0: sa = 0 :sb = 0

59

‘Организация цикла по х

For x = a To b Step h

‘Вычисление суммы n значений функции в цикле по параметру i

For i = 1 To n

y = ((-1) ^ i) * (3 + Tan(x)) * (2 * Atn(i)) / 4 ^ i sa = sa + y

‘Конец цикла по параметру i

Next i i = 0 y = e

‘Вычисление суммы значений функции больших или равных по модулю ‘числа е в цикле по условию

While Abs(y) >= e i = i + 1

y = ((-1) ^ i) * (3 + Tan(x)) * (2 * Atn(i)) / 4 ^ i sb = sb + y

‘Конец цикла по условию

Wend

“Вывод сумм в списки k = k + 1

Список1.List(k) = "x=" & Format(x, "#0.0") Список2.List(k) = "s=" & Format(sa, "##0.000") Список3.List(k) = "s=" & Round(sb, 3)

Next x

End Sub

Результаты работы программы

60