Курсач, Вариант 3, часть первая. государственный университет управления
Скачать 0.97 Mb.
|
Государственное образовательное учреждение Высшего профессионального образования «ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ УПРАВЛЕНИЯ» ЗАДАНИЕ №1Составить программу расчета формулы A+B*6 Рис. 1 Рис.2 ПРОГРАММНЫЙ КОД: Private Sub Command1_Click() Dim A As Single Dim B As Single A = Val(Text1.Text) B = Val(Text2.Text) Label4.Caption = A + B * 6 End Sub ЗАДАНИЕ № 2 Составить программу вычисления Y: Y = x*Exp(-x) при 0 Y = Sin(x) – Exp(x)+5 при x<=-3 или x>8 Рис. 3 Рис. 4 Рис. 5 Рис. 6 ПРОГРАММНЫЙ КОД: Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) Label2.Caption = "" Text2.Text = "" Label3.Caption = "" Label4.Caption = "" If x > 0 And x <= 5 Then y = x * Exp(-x) Label2.Caption = "Функция вычисляется по формуле" Text2.Text = " x * Exp(-x)" Label3.Caption = "Получен результат Y =" Label4.Caption = Format(y, "###0.0000") ElseIf x <= -3 Or x > 8 Then y = Sin(x) - Exp(x) + 5 Label2.Caption = "Функция вычисляется по формуле" Text2.Text = "Sin(x) - Exp(x) + 5" Label3.Caption = "Получен результат Y =" Label4.Caption = Format(y, "###0.0000") Else Label2.Caption = "Функция не определена" Label3.Caption = "Результата нет" End If End Sub ЗАДАНИЕ № 3 Исходные данные: наименование марки стали, количество выпуска по плану, % выполнения плана. Выдать справку: наименование марки стали, выработано. Рис. 7 Рис. 8 Рис. 9 ПРОГРАММНЫЙ КОД: Form 1: Private Sub Command1_Click() Dim name As String Dim plan, procent, itog As Single name = Text1.Text plan = Val(Text2.Text) procent = Val(Text3.Text) Load Form2 'Unload Form2 Form2.Show 'Form2.Hide Form2.Text1 = name Form2.Label5.Caption = Format(((procent / 100) * plan), "#####0.0###") End Sub Form 2: Private Sub Command1_Click() End End Sub ЗАДАНИЕ 4 Исходные данные: зарплата каждого из К арендаторов за каждый день рабочей недели. Исходные данные определяются путем обращения к датчику случайных чисел. Задание:
Рис. 10 Рис. 11 ПРОГРАММНЫЙ КОД: Option Explicit Dim A() As Currency Dim N As Byte, M As Byte Dim k1 As Byte, k2 As Byte Dim MX1 As Currency Private Sub Form_Load() Randomize End Sub Private Sub HScroll1_Change() Text1.Text = HScroll1.Value VScroll1.Max = HScroll1.Value End Sub Private Sub HScroll2_Change() Text2.Text = HScroll2.Value VScroll2.Max = HScroll2.Value End Sub Private Sub Image3_Click() N = CByte(Text1.Text) M = CByte(Text2.Text) ReDim A(1 To N, 1 To M) As Currency Dim i As Byte, j As Byte Form1.Picture1.Cls For i = 1 To N For j = 1 To M A(i, j) = CCur(Rnd * 499 + 500) Form1.Picture1.Print " "; Format(A(i, j), "000.00"); Tab(10 * j); Next j Form1.Picture1.Print Next i End Sub Private Sub Image4_Click() Dim i As Byte, S As Currency k1 = CByte(Text3.Text): k2 = 1: MX1 = A(k1, 1) For i = 2 To M If A(k1, i) > MX1 Then MX1 = A(k1, i): k2 = i Next Form1.Picture2.Cls Form1.Picture2.Print "Арендатор "; k1; "в день"; k2; " получает максимальную з/п = "; Format(MX1, "000.00") End Sub Private Sub Image5_Click() Dim i As Byte, S As Currency k1 = CByte(Text4.Text): S = 0 For i = 1 To N S = S + A(i, k1) Next S = S / M Form1.Picture3.Cls Form1.Picture3.Print "В день"; k1; " средняя зарплата арендаторов равна= "; Format(S, "000.00") End Sub Private Sub Image6_Click() End End Sub Private Sub Option1_Click() Image3.Picture = Image2.Picture Image4.Picture = Image1.Picture Image5.Picture = Image1.Picture Image6.Picture = Image1.Picture Image3.ToolTipText = "Нажми меня" Image4.ToolTipText = "" Image5.ToolTipText = "" Image6.ToolTipText = "" End Sub Private Sub Option2_Click() Image3.Picture = Image1.Picture Image4.Picture = Image2.Picture Image5.Picture = Image1.Picture Image6.Picture = Image1.Picture Image3.ToolTipText = "" Image4.ToolTipText = "Нажми меня" Image5.ToolTipText = "" Image6.ToolTipText = "" End Sub Private Sub Option3_Click() Image3.Picture = Image1.Picture Image4.Picture = Image1.Picture Image5.Picture = Image2.Picture Image6.Picture = Image1.Picture Image3.ToolTipText = "" Image4.ToolTipText = "" Image5.ToolTipText = "Нажми меня" Image6.ToolTipText = "" End Sub Private Sub Option4_Click() Image3.Picture = Image1.Picture Image4.Picture = Image1.Picture Image5.Picture = Image1.Picture Image6.Picture = Image2.Picture Image3.ToolTipText = "" Image4.ToolTipText = "" Image5.ToolTipText = "" Image6.ToolTipText = "Нажми меня" End Sub Private Sub VScroll1_Change() Text3.Text = VScroll1.Value End Sub Private Sub VScroll2_Change() Text4.Text = VScroll2.Value End Sub ЗАДАНИЕ №5 Составить функцию для вычисления: Y=1+2/x+(2*3)/x^2+(2*3*2)/x^3+(2*3*2*3)/x^4+… принимая, что модуль “x” больше 3. Вычисление продолжать, пока модуль разности между слагаемым и его предыдущим значением больше малой заданной величины (точности вычисления). Напечатать таблицу значении функции “Y” для всех значений аргумента “x” от заданного до заданного конечного с заданным шагом изменений. Рис. 12 Рис. 13 Рис. 14 Рис. 15 Рис. 16 ПРОГРАММНЫЙ КОД: Form 1: Private Sub Command1_Click() Dim x! x! = Val(Text1.Text) tv! = Val(Text2.Text) Text3.Text = Str(Y(x!, tv!)) End Sub Private Sub Command2_Click() End End Sub Private Sub Command3_Click() Load Form2 Form2.Show End Sub Form 2: Private Sub Command1_Click() Dim xn!, xk!, x!, st!, i% xn! = Val(Text1.Text) xk! = Val(Text2.Text) st! = Val(Text3.Text) x! = xn!: i% = 0 Form2.Picture1.Cls: Print tv 'Print tv! Form2.Picture1.Print " Таблица" Form2.Picture1.Print "------------------------------------------" Form2.Picture1.Print " X Y" Form2.Picture1.Print "------------------------------------------" Do Form2.Picture1.Print " "; Format(x, "00.00"), Format(Y(x!, tv!), "000.000") i% = i% + 1 If i Mod 6 = 0 Then Form2.Picture1.Print "------------------------------------------" MsgBox "Нажми ОК", 16, "Продолжение таблицы" Form2.Picture1.Cls: Print Form2.Picture1.Print " Таблица" Form2.Picture1.Print "------------------------------------------" Form2.Picture1.Print " X Y" Form2.Picture1.Print "------------------------------------------" End If x! = x! + st! Loop Until x! > xk! Form2.Picture1.Print "------------------------------------------" End Sub Модуль 1: Public tv! Function Y(ByVal x As Single, ByRef t As Single) As Single Dim pr!, sl!, s! Dim m As Byte, zn% s = 0: pr = 0: sl = 1: m = 2: zn = 1 Do While Abs(pr - sl) > t s = s + sl pr = sl: sl = sl * m / x m = m + zn: zn = -zn Loop Y! = s! End Function |