МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Оси и плоскости тела человека Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Написание программного кода с использованием процедур





Программный код, решаемой задачи, представлен на рис. 4.5-4.

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 = Format(Z, "00.0000") End Sub 'Процедура форматированного вывода результата в ListBox Sub vivodList(ByVal Z As Double, ByVal LB As ListBox) LB.Items.Add(Format(Z, "00.0000")) End Sub 'Процедура вывода целого результата в TextBox Sub vivodint(ByVal Z As Integer, ByVal T As TextBox) T.Text = CStr(Z) End Sub 'Функция вычисления значения ф-ции Public Function Fun(ByVal x As Double) As Double Return Sin(x + 2) * 12 + Cos(x * 4) * 15 End Function 'Процедура решения задачи Public Sub RegCikl(ByVal a As Double, ByVal b As Double, _ ByVal h As Double, _ ByRef max As Double, ByRef min As Double, _ ByRef n1 As Integer, ByRef n2 As Integer) Dim i As Integer, n AsInteger, y As Double, x As Double n = CInt((b - a) / h + 1) 'число точек таблицы vivodint(n, TextBox15) x = a : n1 = 0 : n2 = 0 max = Double.MinValue : min = Double.MaxValue For i = 1 To n y = Fun(x) If y > max Then max = y End If If y < min Then min = y End If If y > 0 Then n1 = n1 + 1 End If If y < 0 Then n2 = n2 + 1 End If vivodList(x, ListBox1) : vivodList(y, ListBox2) x = x + h Next End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click End End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim nn1 As Integer, nn2 As Integer Dim mm1 As Double, mm2 As Double Dim a As Double, b As Double, h As Double a = vvod(TextBox8) b = vvod(TextBox9) h = vvod(TextBox10) RegCikl(a, b, h, mm1, mm2, nn1, nn2) 'вызов проц. реш.задачи vivod(mm1, TextBox11) vivod(mm2, TextBox12) vivodint(nn1, TextBox13) vivodint(nn2, TextBox14) End Sub EndClass

Рис. 4.5-4

 

5. Выполнение приложения и получение результатов

Выполним проект на компьютере и получим следующий результат, приведенный на рис. 4.5-5.

Рис. 4.5-5

 

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

Таблица значений функции получена в заданном диапазоне значений. Правильность работы программы проверена исходя из выведенных на форму числовых значений функции.
4.5.6. Контрольные вопросы по теме
«Программирование регулярных циклических структур»

 

  1. Что называется циклом?
  2. Что называется регулярным циклом?
  3. Какой оператор языка VB служит для организации регулярных циклов и как он работает?
  4. Что такое параметр цикла, и какой тип данных рекомендуется использовать для его описания?
  5. Каким образом определить число повторений цикла, если переменная, меняющая свое значение от цикла к циклу, вещественного типа?
  6. Что такое вложенные циклы, каким образом они изображаются в схеме алгоритма и в программе?
  7. Для чего служит оператор Exit For?
  8. В чем суть базовых алгоритмов: табулирование функции в заданном диапазоне изменения аргумента; определение суммы (произведения) значений функции в границах изменения аргумента; поиск минимального (максимального) значения функции в заданном диапазоне изменения аргумента?
  9. В чем суть алгоритма табулирования функции в заданном диапазоне изменения аргумента?
  10. В чем суть алгоритма определения суммы (произведения) значений функции в пределах заданных границ изменения аргумента?
  11. В чем суть алгоритма поиска минимального (максимального) значения функции в заданном диапазоне изменения аргумента?
  12. Как работает оператор Fоr … Next?
  13. Как называется переменная, изменяющая свое значение при каждом новом вхождении в цикл?
  14. Как называется многократно повторяющаяся часть алгоритма?
  15. Как определяется число повторений операторов тела цикла в регулярной циклической структуре?
  16. Что является телом цикла в операторе Fоr … Next?
  17. Что необходимо для досрочного прекращения регулярного цикла?
  18. Для чего необходимо ключевое слово Step?
  19. Что происходит, если в операторе регулярного цикла For … Next отсутствует слово Step?
  20. Что следует принять за начальное наименьшее значение для нахождения наименьшего значения числовой функции от аргумента, значение которого изменяется на заданном интервале?
  21. Что следует принять за начальное значение произведения для нахождения значения произведения числовой функции от аргумента, значение которого изменяется на заданном интервале?
  22. Что следует принять за начальное значение суммы для нахождения значения суммы числовой функции от аргумента?
 

 

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.