Пример выполнения 1-го 2-го заданий



 

Фамилия, имя студента, номер группы, номер варианта.

Иванов И., БИН1405, вариант 13.

2) Реализация 1-го задания:

2.1) Тема и название лабораторной работы:

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

Формирование таблицы значений функции y=f(x)на отрезке
[a;b] с шагом h.

2.2) Задание на разработку проекта:

Создайте проектПроект 5.4-1 для формирования таблицы значений функции f(x)=sin(x+2)*12+cos(x*4)*15 при изменении x на отрезке [a;b] с шагом h(а=2, b=8, h=0.5). Найдите наибольшее и наименьшее значения функции на этом же отрезке, а также число положительных и отрицательных значений функции.

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

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

2.4) Элементы, разрабатываемого проекта:

2.4.1) Графический интерфейс пользователя:

Форма приложения может иметь такой же вид, как на
рис.4.5.4-1.

При размещении первого элемента управления ListBox в форму на экране появляется пустой прямоугольник, внутри которого находится текст ListBox1. В этом списке нет ни полосы прокрутки, ни элементов. Вертикальная полоса прокрутки появляется автоматически, в том случае, когда новый добавляемый элемент не может быть размещен в выделенной для списка области экрана. В данном проекте два элемента ListBox располагаются на элементе управления (служит для объединения нескольких элементов в одну группу) и поэтому будут иметь одну общую полосу прокрутки.

Однако данные можно занести в список и на стадии разработки проекта. Для этого надо поместить элементы списка в свойство Items (Collections), которое имеется в окне Свойства элемента управления ListBox, щелкнув кнопку с тремя точками и составив нужный список в открывшемся диалоговом окне. Каждая строка этого свойства задает один элемент, для перехода на следующую строку надо нажать клавишу <Enter>, после набора всех элементов – щелкнуть ОК.

На кнопке с именем Button1 поместите надпись:
Выполните, а на кнопке Button2 – надпись Конец.

 

     

Рис 4.5.4-1. Форма проекта 1-го заданияПроект 5-1:
 Формирование таблицы значений функции y=f(x)на отрезке
[a; b] с шагом h

 

2.4.2) Таблица свойств объектов:

Определите, установите и сведите в таблицу табл. 4.5.4-3

свойства всех объектов.

                                                                          

Таблица 4.5.4-3

Имяобъекта Свойство Значениесвойства
Form1 Text Тема 4.5. Программирование алгоритмов регулярных циклических структур и цикл в цикле

Label1

Name Label1
Text Начальное значение
ForeColor Синий
Font Microsoft Sans Serif, Жирный, 8 пунктов

Label2

Name Label2
Text Конечное значение
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

Label3

Name Label3
Text Шаг
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

Label4

Name Label4
Text n=
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

Label5

Name Label5
Text Задание
ForeColor Красный
Font Arial, Жирный, 12 пунктов

TextBox1

Name TextBox1
Text Протабулировать функцию f(x)=sin(x+2)*12+cos(x*4)*15
ForeColor Красный
Font Microsoft Sans Serif, Жирный, 10 пунктов

TextBox2

Name TextBox2
Text Аргумент х
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

TextBox3

Name TextBox3
Text Функция f(x)
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

TextBox8

Name TextBox8
Text Наибольшее значение функции
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

TextBox10

Name TextBox10
Text Наименьшее значение функции
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

TextBox12

Name TextBox12
Text Число положительных элементов
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

TextBox14

Name TextBox7
Text Число отрицательных элементов
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

TextBox4

TextBox5

TextBox6

TextBox7

TextBox9

TextBox11

TextBox13

TextBox15

Name TextBox4, TextBox5, TextBox6, TextBox7, TextBox9, TextBox11, TextBox13, TextBox15
Text
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

ListBox1

Name ListBox1
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

ListBox2

Name ListBox2
ForeColor Черный
Font Microsoft Sans Serif, Жирный, 8 пунктов

Panel1

Name Panel1
Font Microsoft Sans Serif, Жирный, 8 пунктов
AutoScroll True

Button1

Name Button1
Text Выполнить

Button2

 

 

Name Button2
Text Конец

 


2.4.3) Схемы алгоритмов:

Схемы алгоритмов представлены на рис.4.5.4-2.

 

 

Рис. 4.5.4-2. Схемы алгоритмов процедур Fun(x)и RegCiklпроекта 1-го заданияПроект 5-1: Формирование таблицы значений функции y=f(x)на отрезке[a; b] с шагом h

2.4.4) Программный код проекта:

Программный код проекта приведен в на рис.4.5.4-3.

 

Imports System.Math PublicClassForm1 'Функция ввода исходных данных из TextBox Function vvod(ByVal T AsTextBox) AsDouble Return Val(T.Text) EndFunction 'Процедуравыводарезультатав TextBox Sub vivod(ByVal Z AsDouble, ByVal T AsTextBox)    T.Text = Format(Z, "00.0000") EndSub 'Процедуравыводарезультатав ListBox Sub vivodList(ByVal Z AsDouble, ByVal LB AsListBox)    LB.Items.Add(Format(Z, "00.0000")) EndSub 'Процедура вывода целого результата в TextBox Sub vivodint(ByVal Z AsInteger, ByVal T AsTextBox)    T.Text = CStr(Z) EndSub 'Функциявычислениязначенияфункции PublicFunction Fun(ByVal x AsDouble) AsDouble Return Sin(x + 2) * 12 + Cos(x * 4) * 15 EndFunction 'Процедурарешениязадачи PublicSub RegCikl(ByVal a AsDouble, ByVal b AsDouble,_ ByVal h AsDouble, ByRef max AsDouble, _ ByRef min AsDouble, ByRef n1 AsInteger, _              ByRef n2 AsInteger) Dim i AsInteger, n AsInteger, y AsDouble,xAsDouble n = CInt((b - a) / h + 1)'количество значений функции vivodint(n, TextBox7)    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 : If y < min Then min = y If y > 0 Then n1 = n1 + 1 : If y < 0 Then n2 = n2 + 1        vivodList(x, ListBox1) : vivodList(y, ListBox2)        x = x + h Next EndSub PrivateSub Button1_Click(sender AsObject, _                    e AsEventArgs) Handles Button1.Click Dim nn1 AsInteger, nn2 AsInteger Dim mm1 AsDouble, mm2 AsDouble Dim a AsDouble, b AsDouble, h AsDouble    a = vvod(TextBox4) : b = vvod(TextBox5) : h = vvod(TextBox6)    RegCikl(a, b, h, mm1, mm2, nn1, nn2) 'вызовпроц. реш.задачи    vivod(mm1, TextBox9) : vivod(mm2, TextBox11)    vivodint(nn1, TextBox13) : vivodint(nn2, TextBox15) EndSub PrivateSub Button2_Click(sender AsObject, _                    e AsEventArgs) Handles Button2.Click End EndSub EndClass

 

Рис. 4.5.4-3. Программный кодпроекта 1-го заданияПроект 4.5-1: Формирование таблицы значений функции y=f(x)на отрезке[a;b] с шагом h

 

2.5) Результаты выполнения проекта:

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

 

Рис4.5.4-4. Результаты выполненияпроекта 1-го заданияПроект 5-1: Формирование таблицы значений функции y=f(x)на отрезке[a;b] с шагом h

2.6) Доказательства правильности результатов:

Для доказательства правильности результата протабулируйте свой вариант функции с использованием программы Microsoft Excel, сделайте вывод о том, что полученные результаты подтверждают правильность выполнения программы.

 

3) Реализация 2-го задания:

3.1) Тема и название лабораторной работы:

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

цикле.

Формирования таблицы значений функции y1(x,y) при изменении x на отрезке [a;b] с шагом h1 и y на отрезке [c;d] с шагом h2.

3.2) Задание на разработку задачи:

Создайте проектПроект 5-2 для формирования таблицы значений 

функции y1(x,y) при изменении x на отрезке [a;b] с шагом h1 и y на отрезке [c;d] с шагом h2 (а=-1; в=2; с=-1; d=2; h1=1; y2=1).

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

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

3.4) Элементы, разрабатываемого проекта:

3.4.1) Графический интерфейс пользователя:

Форма приложения может иметь такой же вид,

как на рис. 4.5.4-5.


Рис. 4.5.4-5. Форма проекта 2-го заданияПроект 5-2: Формирования таблицы значений функции y1(x, y) при изменении x на отрезке [a; b] с шагом h1 и y на отрезке [c; d] с шагом h2

3.4.2) Таблица свойств объектов:

      Таблицу свойств объектов разработайте

 самостоятельно.

3.4.3) Схемы алгоритмов:

      Схемы алгоритмов представлены на рис.4.5.4-6.

 

Рис.4.5.4-6. Схемы алгоритмов процедурfun1(), fun2()и Cikl()

проекта 2-го заданияПроект 5-2:

Формирования таблицы значений функции y1(x, y) при изменении x на отрезке [a;b] с шагом h1 и y на отрезке [c;d] с шагомh2

3.4.4) Программный код проекта;

Программный код проекта 2-гозадания – нарис. 4.5.4-7.

 

PublicClassForm1 Function vvod(ByVal t AsTextBox) AsDouble Return Val(t.Text) EndFunction Sub vivodlist(ByVal z AsDouble, ByVal lb AsListBox)    lb.Items.Add(Format(z, "00.0000")) EndSub PublicFunction fun1(ByVal x AsDouble, _ ByVal y AsDouble) AsDouble Return x ^ 2 + y ^ 2 EndFunction PublicFunction fun2(ByVal x AsDouble, _ ByVal y AsDouble) AsDouble Return x + y EndFunction PublicSub Cikl(ByVal a AsDouble, ByVal b AsDouble,_ ByVal c AsDouble, ByVal d AsDouble, _ ByVal h1 AsDouble, ByVal h2 AsDouble) Dim i, j, n1, n2 AsInteger Dim x, y, y1 AsDouble  n1 = CInt(Fix(b - a)/h1 + 1) : n2 = CInt(Fix(d - c)/h2 + 1)    x = a For i = 1 To n1      y = b For j = 1 To n2 If (x > 0 And x < 1) And (y > 0 And y < 1) Then                y1 = fun1(x, y) Else                y1 = fun2(x, y) EndIf        vivodlist(x, ListBox1) : vivodlist(y, ListBox2)        vivodlist(y1, ListBox3)         y = y + h2 Next       x = x + h1 Next EndSub PrivateSub Button1_Click(sender AsObject, _                e AsEventArgs) Handles Button1.Click Dim a, b, c, d, h1, h2 AsDouble    a = vvod(TextBox1) : b = vvod(TextBox2)    c = vvod(TextBox3) : d = vvod(TextBox4)    h1 = vvod(TextBox5)    h2 = vvod(TextBox6)    Cikl(a, b, c, d, h1, h2) EndSub PrivateSub Button2_Click(sender AsObject,_                 e AsEventArgs) Handles Button2.Click End EndSub EndClass

Рис. 4.5.4 -7. Программный код проекта 2-го заданияПроект 5-2: Формирования таблицы значений функции y1(x, y) при изменении x на отрезке [a;b] с шагом h1 и y на отрезке [c;d] с шагом h2

 

Результаты выполнения проекта приведены на рис. 4.5.4-8.

Рис.4.5.4-8. Результаты выполнение проекта[OV1] 2-го заданияПроект 5-2: Формирования таблицы значений функции y1(x, y) при изменении x на отрезке [a;b] с шагом h1 и y на отрезке [c;d] с шагом h2

3.6) Доказательства правильности результатов:

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

Контрольные вопросы

 

1)Что называется, циклическим алгоритмом?

2)Как записывается цикл с оператором For в блок-схемах?

3)Как записывается цикл с оператором For в программах?

4)Как работает цикл с оператором For?

5)Что называется, циклом?

6)Что называется, регулярным циклом?

7)Какой оператор языка VB служит для организации регулярных циклов и как он работает?

8)Что такое параметр цикла, и какой тип данных рекомендуется использовать для его описания?

9)Каким образом определить число повторений цикла, если переменная, меняющая свое значение от цикла к циклу, вещественного типа?

10)Что такое вложенные циклы, каким образом они изображаются в схеме алгоритма и в программе?

11)Для чего служит оператор Exit For?

12)В чем суть базовых алгоритмов: табулирование функции в заданном диапазоне изменения аргумента; определение суммы (произведения) значений функции в границах изменения аргумента;

13)поиск минимального (максимального)     значения функции в заданном диапазоне изменения аргумента?

14)В чем суть алгоритма табулирования функции в заданном диапазоне изменения аргумента?

15)В чем суть алгоритма определения суммы (произведения) значений функции в пределах заданных границ изменения аргумента?

16)В чем суть алгоритма поиска минимального (максимального) значения функции в заданном диапазоне изменения аргумента?

17)Как называется переменная, изменяющая свое значение при каждом новом вхождении в цикл?

18)Как называется многократно повторяющаяся часть алгоритма?

19)Как определяется число повторений операторов тела цикла в регулярной циклической структуре?

20)Что является телом цикла в операторе Fоr … Next?

21)Что необходимо для досрочного прекращения регулярного цикла?

22)Для чего необходимо ключевое слово Step?

23)Что следует принять за начальное наименьшее значение для нахождения наименьшего значения числовой функции от аргумента, значение которого изменяется на заданном интервале?

24)Что следует принять за начальное значение произведения для нахождения значения произведения числовой функции от аргумента, значение которого изменяется на заданном интервале?

[OV1]ения


Дата добавления: 2018-05-09; просмотров: 843; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!