отчет 4.6
.docxМОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ
Кафедра Информатики
Лабораторная работа по теме
«Тема 4.6. «Программирование алгоритмов итеративных циклических структур»
Вариант 26
ОТФ-1,БИК1204
Выполнил: Харьковский Александр
Москва 2012
4.6.2. Задание
-
Выбрать вариант задания из таблицы 4.6-1 по усмотрению преподавателя.
-
Провести формализацию поставленной задачи.
-
Составить схему алгоритма решения поставленной задачи.
-
Разработать интерфейс пользователя. В этом интерфейсе предусмотреть отображение на форме номера итерации и значения вычисляемого члена бесконечной последовательности или корня уравнения.
-
Написать программный код процедур пользователя в соответствии со схемами алгоритмов. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных.
-
Написать программный код проекта. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.
-
Выполнить созданный проект.
-
Получить решение.
-
Обосновать правильность полученных результатов на заранее разработанных тестах.
4.6.1. Вопросы, подлежащие изучению
-
Алгоритмы организации итеративных циклических структур: цикл с предусловием; цикл с постусловием.
-
Базовые алгоритмы, использующие итеративные циклические структуры: алгоритм вычисления суммы (или произведения) членов бесконечной последовательности; алгоритмы вычислений по итеративным формулам.
-
Оператор, реализующий выполнение итеративного цикла, Do/Loop и его основные конструкции: Do While…Loop; Do Until…Loop; Do...Loop While…; Do…Loop Until… ; Do... Exit Do…Loop.
2.Результат выполнения проекта.
Результат работы проекта представлен на рисунке.
Графический интерфейс.
3. Программный код выполняемой задачи.
Программный код решаемой задачи представлен ниже.
Option Strict On
Option Explicit On
Imports System.Math
Public Class Form1
'Функция ввода исходн. данных из TextBox
Function vvod(ByVal T As TextBox) As Double
Return Val(T.Text)
End Function
'Процедура вывода вещественного результата в TextBox
Sub vivod(ByVal Z As Double, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
'Процедура вывода вещественного результата в ListBox
Sub vivodList(ByVal Z As Double, ByVal LB As ListBox)
LB.Items.Add(CStr(Z))
End Sub
' Процедура вывода целого результата в ListBox
Sub vivodListint(ByVal Z As Integer, ByVal LB As ListBox)
LB.Items.Add(CStr(Z))
End Sub
Function ck(ByVal k As Integer) As Integer
Dim n As Integer
Dim a As Double
Dim strk As String
Dim sum As Double
a = 1 : n = 1 : sum = 0
strk = Space(20) + " n " + Space(30) + " a " + Space(33) + " Summa "
ListBox1.Items.Add(strk)
Do While sum < k
sum = sum + a
vivod(sum, TextBox1)
strk = Space(21) + Format(n) + Space(25) + Format(a, "0.000000") + Space(30) + Format(sum, "0.000")
ListBox1.Items.Add(strk)
a = a * (Sqrt(n) / Sqrt(n + 1))
n = n + 1
Loop
Return n
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim nn, kk As Integer
kk = 4
nn = ck(kk)
vivod(nn, TextBox2)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Clear()
TextBox2.Clear()
ListBox1.Items.Clear()
End Sub
End Class
4.Разработка схемы алгоритма, решаемой задачи.
5.Установка свойств объектов.
Имя объекта |
Свойство |
Значение свойства |
Form1 |
Name/Text |
Form1/Программирование алгоритмов итеративных циклических структур |
Label1 |
Text |
Тема 4.6. "Программирование алгоритмов итеративных циклических структур" |
Label2 |
Text |
Задание: |
Label3 |
Text |
S= |
Label4 |
Text |
n= |
TextBox1 |
Text |
Вывод S |
TextBox2 |
Text |
Вывод n |
Button1 |
Text |
Вычислить |
Button3 |
Text |
Очистить |
Button2 |
Text |
Завершить |