Условие задачи: Для числового ряда найти а) сумму членов числового ряда при М=10; б) точное значение суммы членов числового ряда, вычисленное по формуле Sum2=15е; в) погрешности вычисления суммы членов числового ряда (абсолютную и относительную) по отношению к точному значению суммы членов числового ряда. Решение: Составим блок-схему алгоритма решения задачи (представлена на рисунке слева). Итак, для решения задачи используем переменные: М (количество членов вычисляемого числового ряда); f (вспомогательная переменная, вычисляющая для цикла факториал); Sum1 (сумма членов числового ряда); Sum2 (точное значение суммы); Err1 (абсолютная погрешность); Err2 (относительная погрешность); и определимся с типом данных, который они могут содержать. Значения переменных M и k будут короткими целыми (Integer),значение f – длинным целым (Long), а значения переменных Sum1, Sum2, Err1,Err2 – вещественные удвоенной точности [1]. Для ввода значений переменной M, а также вывода результатов используются текстовые поля (объект TextBox). Чтобы сделать поля для вывода неизменяемыми, при определении характеристик поля в строке Enable укажем False [2]. Составим текст программы (приведен с комментариями). Public Class Form1 Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click ' описание переменных: Dim M As Integer ' количество членов числового ряда Dim Sum1 As Double, Sum2 As Double ' суммаиточнаясуммаряда Dim Err1 As Double, Err2 As Double ' абсолютная и относительная погрешности Dim k As Integer, f As Long ' вспомогат.переменные ' для организации цикла и подсчета факториала ' количество членов числового ряда вводятся в форме M = Val(TextM.Text) ' вычисления f = 1 Sum1 = 0 For k = 1 To M f = f * k Sum1 = Sum1 + (k + 1) ^ 3 / f Next k Sum2 = 15 * 2.718281828495 Err1 = Sum2 - Sum1 Err2 = Err1 / Sum2 * 100 ' вывод результатов вычислений в поля формы TextSum1.Text = Format(Sum1, "0.00000") TextSum2.Text = Format(Sum2, "0.00000") TextErr1.Text = Format(Err1, "0.00000000") TextErr2.Text = Format(Err2, "0.00000000") End Sub Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click End EndSub EndClass На рис.1 представлен вариант реализации формы приложения: Рисунок 1 – Вычисление суммы ряда Задание № 2. Работа с массивами Условие задачи: Дан двумерный массив (матрица) размером NxN. 1. Определить сумму элементов, значения которых кратны заданному числу F. 2. Найти местоположения (номера индексов) минимальных элементов массива. Решение: Составим блок-схему алгоритма решения задачи
Fsum=0
Amin=Arr (0, 0)
Fsum=Fsum+Arr(i,j)
Amin = Arr(i,j)
Программа будет содержать несколько «циклов в цикле» в виду того, что организует работы с массивами. Текст программы Public Class Form1 описание переменных уровня модуля: массив Dim Arr(100, 100) As Integer Dim N As Integer ' количествоэлементовмассива Private Sub ButtonGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGenerate.Click описание переменных: Dim Amin As Integer, Amax As Integer ' границы значений элементов массива Dim i As Integer, j As Integer ' вспомогат.переменные для организации цикла ' количество элементов массива и границы значений вводятся в форме N = Val(TextN.Text) Amin = Val(TextMin.Text) Amax = Val(TextMax.Text) ' создание массива с помощью генератора случайных чисел Dim Str1 As String ListArray.Items.Clear() ' количество столбцов в поле вывода массива For i = 0 To N - 1 Str1 = "" For j = 0 To N - 1 Arr(i, j) = Amin + Int(Rnd() * (Amax - Amin)) Str1 = Str1 + Space(3) + Str(Arr(i, j)) Next j ListArray.Items.Add(Str1) Next i End Sub Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click ' описание переменных: Dim F As Integer ' число (вводимое) для поиска кратных элементов массива Dim Fsum As Long ' сумма (искомая) кратных элементов массива Dim Amin As Integer ' значение минимального элемента Dim i As Integer, j As Integer ' вспомогат.переменные ' для организации цикла ' число для поиска кратных элементов вводится в форме F = Val(TextF.Text) If F = 0 Then Exit Sub ' вычисления Fsum = 0 If N > 0 Then Amin = Arr(0, 0) For i = 0 To N - 1 For j = 0 To N - 1 If Arr(i, j) / F = Int(Arr(i, j) / F) Then Fsum = Fsum + Arr(i, j) If Amin > Arr(i, j) Then Amin = Arr(i, j) Next j Next i ' вывод результатов вычислений в поля формы LabelSum.Text = Fsum LabelMin.Text = Amin ' очистка полей для повторных нажатий кнопки "Вычислить" ListMin.Items.Clear() For i = 0 To N - 1 For j = 0 To N - 1 If Arr(i, j) = Amin Then ListMin.Items.Add("элемент (" + Str(i + 1) + ";" + Str(j + 1) + ")") End If Next j Next i End Sub Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click End End Sub End Class На рис.2 представлен вариант реализации формы приложения. Для вывода суммы элементов, кратных заданному числу и минимальных элементов используются поля Label [2].
Рефераты по информатикеУсловие задачи: Для числового ряда найти а) сумму членов числового ряда при М=10; б) точное значение суммы членов числового ряда, вычисленное по
Оценок: 400 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.