ФГОУ ВПО
Уфимский государственный авиационный технический университет
Кафедра Информатики
Создание проектов решения вычислительных задач на Visual Basic
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
.301003.000ПЗ
Студент
Мухаметдинов Р.Н.
Уфа 2014 г.
ГОУ ВПО
Уфимский государственный авиационный технический университет
Рецензия
на курсовую (контрольную) работу по информатике студента гр. П-214Сф факультета АП
Мухаметдинов Руслан Наилевич
Тема работы: Создание проектов решения вычислительных задач на Visual Basic
Вариант №: 3
Рецензент
Замечания
По результатам решения задач:
По содержанию и оформлению пояснить записки:
«_____» ___________ 20__ г. ____________________________
(подпись)
Содержание
Главная форма и титульный лист
Задание 1
Постановка задачи
Блок-схема программы
Исходный текст программы
Результаты работы программы
Задание 2
Постановка задачи
Блок-схема программы
Исходный текст программы
Результаты работы программы
Задание 3
Постановка задачи
Блок-схема программы
Исходный текст программы
Результаты работы программы
Задание 4
Постановка задачи
Блок-схема программы
Исходный текст программы
Результаты работы программы
Список литературы
Для создания формы с краткой информацией о приложении (титульный лист курсовой
работы) удобно использовать шаблон About Dialog . Пример оформления титульного
листа курсовой работы в виде показан на рисунке 1.
Рисунок 1 - Титульный лист
На главном окне приложения размещается меню, созданное с использованием кнопок (CommandButton) или текстового меню. Пример реализации главного окна приложения показан на рисунке 2.
Рисунок 2 - Главное окно приложения
Вычислить значение суммы ряда S. Сравнить полученное значение с точным
решением Y, вычислив абсолютную и относительную погрешности.
Для подсчета суммы используем цикл For … Next.
В цикле For используется переменная, называемая переменной
цикла или счетчиком цикла (counter), которая увеличивается или уменьшается на
заданную величину при каждом повторении цикла. [1, с.148]
Private Sub Command1_Click()s As Double.Cls.Cls.Cls.Cls=
Val(Text1.Text)= 0k = 1 To m= 1j = 2 To 2 * k - 1= F * jj= s + (-1) (k - 1) /
Fk.Print Format(s, "0.0000000000000")= Sin(1).Print Format(y,
"0.0000000000000")= Abs(y - s).Print Format(da,
"0.0000000000000")= da / y * 100.Print Format(dot,
"0.0000000") + "%"SubSub Command2_Click().ShowSubSub
Command3_Click()Sub
Результаты работы программы представлены на рисунке 3.
Рисунок 3 - Результаты работы программы
Дан двумерный массив (матрица) размером NxM.
. Определить произведение элементов, значения которых не кратны заданному числу F.
. Найти частное от деления максимального элемента массива и элемента с номером L.
. Упорядочить массив по убыванию элементов сверху вниз и слева направо.
Для выполнения данного задания необходимо знать, что такое массивы.
Массивы (arrays) позволяют ссылаться на ряд переменных с помощью имени и
числа, называемого индексом массива (index). [1, с.127]
Dim Am(50, 50) As IntegerSub Command1_Click()p As DoubleMax As Integer, k As Integer, F As Integer, L As Integeri As Integer, j As Integer= Val(Text1.Text)= Val(Text5.Text)_min = Val(Text3.Text)_max = Val(Text4.Text)= Val(Text6.Text)= Val(Text2.Text).Cleari = 1 To N= ""j = 1 To m(i, j) = am_min + Int(Rnd * (am_max - am_min))= stram + " " + Str(Am(i, j))j.AddItem (stram) i
. Определить произведение элементов, значения которых не кратны заданному числу F.
Next i
Label3.Caption = "Произведение элементов, не кратных F = " + CStr(p)
Label3.Visible = True
. Найти частное от деления максимального элемента массива и элемента с номером L.
Max = Am(1, 1)i = 1 To Nj = 1 To mMax < Am(i, j) Then Max = Am(i, j)ji.Caption = "Максимальный элемент массива = " + CStr(Max).Visible = True= 0i = 1 To N j = 1 To m
k = k + 1
If k = L Then Label11.Caption = "Частное от деления максимального элемента массива и элемента с номером L = " + CStr(Max / Am(i, j))
Next ji.Visible = True
3. Упорядочить массив по убыванию элементов сверху вниз и слева направо.
'сначала сверху вниз
For k = 1 To m
For i = 1 To N - 1j = 1 To mAm(i, j) < Am(i + 1, j) Then= Am(i, j)(i, j) = Am(i + 1, j)(i + 1, j) = tIfj i
Next k
'теперь слева направо
For k = 1 To Ni = 1 To Nj = 1 To m - 1Am(i, j) < Am(i, j + 1) Then= Am(i, j)(i, j) = Am(i, j + 1)(i, j + 1) = tIfj i
Next k
'вывести отсортированный массив на экран
List2.Cleari = 1 To N= ""j = 1 To m= stram + "
" + Str(Am(i, j))j.AddItem (stram)iSubSub Command2_Click().ShowSubSub
Command3_Click()Sub
Результаты работы программы представлены на рисунке 4.
Рисунок 4 - Результаты работы программы
Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.
В данном задании будем работать со строками.
Строковой переменной можно присваивать в качестве значений текстовые строки и манипулировать ею, используя строковые функции. [1, с.116]
погрешность строка функция массив
Sub Command1_Click()s As String= Text1.Text= 0= 0i = 1 To Len(s)Mid(s, i, 1) = "(" Then o = o + 1Mid(s, i, 1) = ")" Then z = z + 1io = z Then
Label3.Caption = "В данной строке кол-во открывающихся и закрывающихся скобок ОДИНАКОВОЕ".Caption = "В данной строке кол-во открывающихся и закрывающихся скобок НЕ ОДИНАКОВОЕ"
End If.Visible = TrueSubSub Command2_Click().ShowSubSub Command3_Click()
EndSub
Результаты работы программы представлены на рисунке 5.
Рисунок 5 - Результаты работы программы
Построить график функции Y=3+2/x+3/x2 на отрезке [-3, -1]
Sub Command1_Click().Cls= 1= 1= CDbl(Text1.Text)= CDbl(Text2.Text)a >= b Then
i = MsgBox("Неверно заданы границы построения графика", vbOKOnly, "Ошибка")
Exit SubIf= Abs(b)Abs(a) > MaxX Then= Abs(a)
End If
'определить конечную метку на оси У
MaxY = 3 + 2 / a + 3 / a 2x = a To b Step 0.01MaxY < 3 + 2 / x + 3 / x 2 Then MaxY = 3 + 2 / x + 3 / x 2x= Round(MaxY, 2)
'начертить ось У.Line (x0 + 5, y0)-(x0 + 5, y0 + 10).Print CStr(-MaxY)
'начертить ось Х.Line (x0, y0 + 5)-(x0 + 10, y0 + 5).Print CStr(MaxX)
'Построить график функции Y=3+2/x+3/x2 на отрезке [-3, -1]
'определить масштаб оси У= 5 / MaxY
'вычислить начальное значение по оси Х и У
px = a= 3 + 2 / px + 3 / px 2 * kfx = a To b Step 0.01= 3 + 2 / x + 3 / x 2 * kf.Line (px / (MaxX / 5) + 6, -py + 6)-(x / (MaxX / 5) + 6, -y + 6), vbRed= x= yxSubSub Command2_Click().Hide.ShowSubSub Command3_Click()Sub
Результаты работы программы представлены на рисунке 6.
Рисунок 6 - Результаты работы программы
1. Visual Basic 6.0: Пер. с англ. - СПб.: БХВ-Петербург, 2004. - 992 с.: ил.
2. Борисов Н.Н. Начинающему программисту - М.:ИНФРА-М, 1999
3. Глушаков С.В. Visual Basic 6.0: Создание приложений - М.:АСТ, 2000
4. Хассен А.И. Пользователь и компьютер. М. Элис, 2000