Создание проектов решения вычислительных задач на Visual Basic

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 07.06.2014
Размер файла 875,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФГОУ ВПО

Уфимский государственный авиационный технический университет

Кафедра Информатики

Создание проектов решения вычислительных задач на Visual Basic

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

1308.301003.000ПЗ

Студент Мухаметдинов Р.Н.

Уфа 2014 г.

ГОУ ВПО Уфимский государственный авиационный технический университет

Рецензия

на курсовую (контрольную) работу по информатике студента гр. П-214Сф факультета АП

Мухаметдинов Руслан Наилевич

Тема работы: Создание проектов решения вычислительных задач на Visual Basic

Вариант №: 3

Рецензент

Замечания

По результатам решения задач:

По содержанию и оформлению пояснить записки:

«_____» ___________ 20__ г. ____________________________

(подпись)

Содержание

Главная форма и титульный лист

Задание 1

Постановка задачи

Блок-схема программы

Исходный текст программы

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

Задание 2

Постановка задачи

Блок-схема программы

Исходный текст программы

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

Задание 3

Постановка задачи

Блок-схема программы

Исходный текст программы

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

Задание 4

Постановка задачи

Блок-схема программы

Исходный текст программы

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

Список литературы

Главная форма и титульный лист

Для создания формы с краткой информацией о приложении (титульный лист курсовой работы) удобно использовать шаблон About Dialog . Пример оформления титульного листа курсовой работы в виде показан на рисунке 1.

Рисунок 1 - Титульный лист

На главном окне приложения размещается меню, созданное с использованием кнопок (CommandButton) или текстового меню. Пример реализации главного окна приложения показан на рисунке 2.

Рисунок 2 - Главное окно приложения

Задание 1. «Сумма ряда»

Постановка задачи

Вычислить значение суммы ряда S. Сравнить полученное значение с точным решением Y, вычислив абсолютную и относительную погрешности.

Для подсчета суммы используем цикл For … Next.

В цикле For используется переменная, называемая переменной цикла или счетчиком цикла (counter), которая увеличивается или уменьшается на заданную величину при каждом повторении цикла. [1, с.148]

Блок-схема программы

Исходный текст программы

Private Sub Command1_Click()

Dim s As Double

Picture1.Cls

Picture2.Cls

Picture3.Cls

Picture4.Cls

m = Val(Text1.Text)

s = 0

For k = 1 To m

F = 1

For j = 2 To 2 * k - 1

F = F * j

Next j

s = s + (-1) (k - 1) / F

Next k

Picture1.Print Format(s, "0.0000000000000")

y = Sin(1)

Picture2.Print Format(y, "0.0000000000000")

da = Abs(y - s)

Picture3.Print Format(da, "0.0000000000000")

dot = da / y * 100

Picture4.Print Format(dot, "0.0000000") + "%"

End Sub

Private Sub Command2_Click()

Form3.Show

End Sub

Private Sub Command3_Click()

End

End Sub

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

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

Рисунок 3 - Результаты работы программы

Задание 2. «Массивы»

Постановка задачи

Дан двумерный массив (матрица) размером NxM.

1. Определить произведение элементов, значения которых не кратны заданному числу F.

2. Найти частное от деления максимального элемента массива и элемента с номером L.

3. Упорядочить массив по убыванию элементов сверху вниз и слева направо.

Для выполнения данного задания необходимо знать, что такое массивы.

Массивы (arrays) позволяют ссылаться на ряд переменных с помощью имени и числа, называемого индексом массива (index). [1, с.127]

Блок-схема программы

Исходный текст программы

Dim Am(50, 50) As Integer

Private Sub Command1_Click()

Dim p As Double

Dim Max As Integer, k As Integer, F As Integer, L As Integer

Dim i As Integer, j As Integer

N = Val(Text1.Text)

m = Val(Text5.Text)

am_min = Val(Text3.Text)

am_max = Val(Text4.Text)

F = Val(Text6.Text)

L = Val(Text2.Text)

List1.Clear

For i = 1 To N

stram = ""

For j = 1 To m

Am(i, j) = am_min + Int(Rnd * (am_max - am_min))

stram = stram + " " + Str(Am(i, j))

Next j

List1.AddItem (stram)

Next i

1. Определить произведение элементов, значения которых не кратны заданному числу F.

p = 1

For i = 1 To N

For j = 1 To m

If Am(i, j) Mod F <> 0 Then p = p * Am(i, j)

Next j

Next i

Label3.Caption = "Произведение элементов, не кратных F = " + CStr(p)

Label3.Visible = True

2. Найти частное от деления максимального элемента массива и элемента с номером L.

Max = Am(1, 1)

For i = 1 To N

For j = 1 To m

If Max < Am(i, j) Then Max = Am(i, j)

Next j

Next i

Label7.Caption = "Максимальный элемент массива = " + CStr(Max)

Label7.Visible = True

k = 0

For i = 1 To N

For j = 1 To m

k = k + 1

If k = L Then Label11.Caption = "Частное от деления максимального элемента массива и элемента с номером L = " + CStr(Max / Am(i, j))

Next j

Next i

Label11.Visible = True

3. Упорядочить массив по убыванию элементов сверху вниз и слева направо.

'сначала сверху вниз

For k = 1 To m

For i = 1 To N - 1

For j = 1 To m

If Am(i, j) < Am(i + 1, j) Then

t = Am(i, j)

Am(i, j) = Am(i + 1, j)

Am(i + 1, j) = t

End If

Next j

Next i

Next k

'теперь слева направо

For k = 1 To N

For i = 1 To N

For j = 1 To m - 1

If Am(i, j) < Am(i, j + 1) Then

t = Am(i, j)

Am(i, j) = Am(i, j + 1)

Am(i, j + 1) = t

End If

Next j

Next i

Next k

'вывести отсортированный массив на экран

List2.Clear

For i = 1 To N

stram = ""

For j = 1 To m

stram = stram + " " + Str(Am(i, j))

Next j

List2.AddItem (stram)

Next i

End Sub

Private Sub Command2_Click()

Form4.Show

End Sub

Private Sub Command3_Click()

End

End Sub

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

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

Рисунок 4 - Результаты работы программы

Задание 3. «Строки»

Постановка задачи

Проверить, одинаковое ли число открывающихся и закрывающихся скобок в данной строке.

В данном задании будем работать со строками.

Строковой переменной можно присваивать в качестве значений текстовые строки и манипулировать ею, используя строковые функции. [1, с.116]

погрешность строка функция массив

Блок-схема программы

Размещено на http://www.allbest.ru/

Исходный текст программы

Private Sub Command1_Click()

Dim s As String

s = Text1.Text

o = 0

z = 0

For i = 1 To Len(s)

If Mid(s, i, 1) = "(" Then o = o + 1

If Mid(s, i, 1) = ")" Then z = z + 1

Next i

If o = z Then

Label3.Caption = "В данной строке кол-во открывающихся и закрывающихся скобок ОДИНАКОВОЕ"

Else

Label3.Caption = "В данной строке кол-во открывающихся и закрывающихся скобок НЕ ОДИНАКОВОЕ"

End If

Label3.Visible = True

End Sub

Private Sub Command2_Click()

Form5.Show

End Sub

Private Sub Command3_Click()

End

End Sub

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

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

Рисунок 5 - Результаты работы программы

Задание 4. «Графика»

Постановка задачи

Построить график функции Y=3+2/x+3/x2 на отрезке [-3, -1]

Блок-схема программы

Исходный текст программы

Private Sub Command1_Click()

Picture1.Cls

x0 = 1

y0 = 1

a = CDbl(Text1.Text)

b = CDbl(Text2.Text)

If a >= b Then

i = MsgBox("Неверно заданы границы построения графика", vbOKOnly, "Ошибка")

Exit Sub

End If

MaxX = Abs(b)

If Abs(a) > MaxX Then

MaxX = Abs(a)

End If

'определить конечную метку на оси У

MaxY = 3 + 2 / a + 3 / a 2

For x = a To b Step 0.01

If MaxY < 3 + 2 / x + 3 / x 2 Then MaxY = 3 + 2 / x + 3 / x 2

Next x

MaxY = Round(MaxY, 2)

'начертить ось У

Picture1.Line (x0 + 5, y0)-(x0 + 5, y0 + 10)

Picture1.Print CStr(-MaxY)

'начертить ось Х

Picture1.Line (x0, y0 + 5)-(x0 + 10, y0 + 5)

Picture1.Print CStr(MaxX)

'Построить график функции Y=3+2/x+3/x2 на отрезке [-3, -1]

'определить масштаб оси У

kf = 5 / MaxY

'вычислить начальное значение по оси Х и У

px = a

py = 3 + 2 / px + 3 / px 2 * kf

For x = a To b Step 0.01

y = 3 + 2 / x + 3 / x 2 * kf

Picture1.Line (px / (MaxX / 5) + 6, -py + 6)-(x / (MaxX / 5) + 6, -y + 6), vbRed

px = x

py = y

Next x

End Sub

Private Sub Command2_Click()

Form5.Hide

Form1.Show

End Sub

Private Sub Command3_Click()

End

End Sub

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

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

Рисунок 6 - Результаты работы программы

Список литературы

Visual Basic 6.0: Пер. с англ. - СПб.: БХВ-Петербург, 2004. - 992 с.: ил.

Борисов Н.Н. Начинающему программисту - М.:ИНФРА-М, 1999

Глушаков С.В. Visual Basic 6.0: Создание приложений - М.:АСТ, 2000

Хассен А.И. Пользователь и компьютер. М. Элис, 2000

Размещено на Allbest.ru


Подобные документы

  • Формирование матрицы и выполнение заданий: вычисление сумы четных элементов; максимума из нечетных элементов в строке; произведение элементов в нечетных столбцах; количество четных элементов выше главной диагонали. Создание программы в Visual Basic.

    контрольная работа [12,0 K], добавлен 07.10.2012

  • Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.

    контрольная работа [220,4 K], добавлен 18.06.2010

  • Вычисление суммы положительных элементов массива. Упорядочивание элементов массива по убыванию. Решение задачи с помощью алгоритма, реализованного в среде Microsoft Visual 2008 Express. Реализация и тестирование программы. Выполнение трассировки функций.

    практическая работа [146,3 K], добавлен 23.01.2015

  • Вычисление суммы ряда с заданной точностью. Форма представления исходных данных. Разработка алгоритма и его описание. Выбор метода обработки информации. Упорядочение элементов строк матрицы по возрастанию. Программа подсчета числа слов в предложении.

    курсовая работа [23,9 K], добавлен 11.02.2016

  • Решение экономических задач с помощью Microsoft Excel и инструментария Visual Basic For Application. Способы запуска редактора Visual Basic, правила его синтаксиса. Создание автоматических макросов по сортировке и выборке. Создание управляющих кнопок.

    курсовая работа [852,0 K], добавлен 24.09.2010

  • Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.

    курсовая работа [3,0 M], добавлен 19.06.2010

  • Построение графика функции. Поиск корней уравнения методом половинного деления. Определение минимума функции методом перебора и значения аргумента. Вычисление определенного интеграла на заданном отрезке с использованием метода правых прямоугольников.

    контрольная работа [316,1 K], добавлен 13.11.2014

  • Работа в Pascal, теория рядов. Главные признаки сходимости знакоположительных рядов. Общее понятие о ряде Тейлора. Вычисление конечной суммы факториального ряда для заданного массива значений. Исходный текст программы. Результаты выполнения программы.

    контрольная работа [1,6 M], добавлен 06.08.2013

  • Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.

    контрольная работа [36,4 K], добавлен 23.07.2014

  • Написание тестирующей программы для проверки знаний учащихся с помощью языка программирования Visual Basic for Applications (VBA), встроенного в пакет Microsoft Office. Общие сведения о программе, условия ее выполнения, настройка, проверка, выполнение.

    контрольная работа [25,2 K], добавлен 07.06.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.