Скачиваний:
28
Добавлен:
06.11.2017
Размер:
281.18 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

СВЯЗИ И ИНФОРМАТИКИ

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

Лабораторная работа

по теме: «4.6. Программирование алгоритмов итеративных циклических структур»

Задание

Формализация и уточнение задания

Для решения поставленной задачи необходимо вывести рекуррентную формулу вычисления члена последовательности. Очевидно, что выражение для n-го члена заданной последовательности имеет вид:

an=(-1)n * (x2n/2n!)

Тогда формула для (n+1) члена последовательности имеет вид:

an+1=(-1)n+1 * (x2(n+1)/2(n+1)!) = (-1)n+1 * (x2n+2/(2n+2)!)

Отсюда получаем:

q = an+1/an = (-1)n+1 * (x2n+2/(2n+2)!) * (2n!/(-1)n * x2n

q = (-1) * (x2/(2n+1)(2n+2))

Графический интерфейс

Таблица элементов

Имя объектов

Свойство

Значение свойства

Form1

Text

Тема 4.6. Программирование алгоритмов итеративных циклических структур

Label1

Name

Label1

Text

Исходные данные

ForeColor

Maroon

Font

Book Antiqua; 14,25pt; style=Bold

Label2

Name

Label2

Text

X=

ForeColor

Черный

Font

Book Antiqua; 14,25pt; style=Bold

Label3

Name

Label3

Text

E=

ForeColor

Черный

Font

Book Antiqua; 14,25pt; style=Bold

Label4

Name

Label4

Text

N=

ForeColor

Черный

Font

Book Antiqua; 14,25pt; style=Bold

Label5

Name

Label5

Text

Таблица полученных значений

ForeColor

Maroon

Font

Book Antiqua; 14,25pt; style=Bold

Label6

Name

Label6

Text

Проверка с помощью встроенной функции:

ForeColor

Maroon

Font

Book Antiqua; 14,25pt; style=Bold

TextBox1

Name

TextBox1

ForeColor

Черный

Font

Microsoft Sans Serif, Обычный, 8 пунктов

TextBox2

Name

TextBox2

ForeColor

Черный

Font

Microsoft Sans Serif, Жирный, 8 пунктов

TextBox3

Name

TextBox3

ForeColor

Черный

Font

Microsoft Sans Serif, Жирный, 8 пунктов

TextBox4

Name

TextBox4

ForeColor

Черный

Font

Microsoft Sans Serif, Жирный, 8 пунктов

ListBox1

Name

ListBox1

ForeColor

Черный

Font

Microsoft Sans Serif, Жирный, 8 пунктов

Button1

Name

Button1

Text

Вычислить

Font

Comic Sans MS; 15pt; style=Bold

Button2

Name

Button2

Text

Повторить

Button3

Name

Button3

Text

Выход

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

Option Strict On

Option Explicit On

Imports System.Math

Public Class Form1

'Функция ввода исходных данных из TextBox

Function vvod(ByVal tb As TextBox) As Double

Return CDbl(Val(tb.Text))

End Function

'Функция ввода исходных данных из TextBox

Function vvod_int(ByVal tb As TextBox) As Integer

Return CInt(Val(tb.Text))

End Function

'Функция вывода данных в TextBox

Sub vivod(ByVal text As Double, ByRef tb As TextBox)

tb.Text = CStr(text)

End Sub

Public Sub Reshenie(ByRef X As Double, ByVal Eps As Double, ByRef n As Integer)

Dim z, minus As String

Dim a, sum As Double

Dim ListIndex As Integer

z = " "

sum = 1

ListIndex = 1

a = (-1) * (X ^ 2) / 2

ListBox1.Items.Add(z)

' Начало цикла Do Until... Loop

Do Until Abs(a) < Eps

z = " "

sum = sum + a

n = n + 1

a = (-a * (X ^ 2)) / ((2 * n + 1) * (2 * n + 2))

If a < 0 Then minus = "" Else minus = Space(1)

z = z + Space(15) + "|" + Space(6) + Format(n, "0000") + Space(6) + "|" + Space(5) + "|" + minus + Format(a, "00.0000000") + Space(6) + "|" + Space(6) + Format(sum, "00.00000000") + Space(6) + "|"

ListBox1.Items.Add(z)

Loop

' Вывод результата проверки

vivod(Cos(0.6), TextBox3)

End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click

Dim x As Double

Dim eps As Double

Dim n As Integer

'Присваиваем значения текстовых полей переменным

X = vvod(TextBox1)

Eps = vvod(TextBox2)

n = vvod_int(TextBox4)

'Переход в блок решения задачи

Reshenie(X, eps, n)

End Sub

Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click

'Очистка

TextBox1.Clear()

TextBox2.Clear()

TextBox3.Clear()

TextBox4.Clear()

ListBox1.Items.Clear()

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Application.Exit()

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

End Sub

End Class

Блок-схема

~ 7 ~