Главная страница
Навигация по странице:

  • Блок-схема Рисунок 1 – Блок-схема алгоритмаИнтерфейс

  • Лабораторная работа №3. Программирование разветвляющихся процессов

  • Результаты работы программы

  • Лабораторная работа №4 Программирование циклических процессов. Суммирование рядов

  • Блок-схема Рисунок 12 – Блок-схемаИнтерфейс

  • Блок-схема Рисунок 15 – Блок-схемаИнтерфейс

  • Лабораторная работа №6 Работа с двумерными массивами

  • Программирование линейных процессов. Лабораторная работа 2 Программирование линейных вычислительных процессов


    Скачать 0.7 Mb.
    НазваниеЛабораторная работа 2 Программирование линейных вычислительных процессов
    АнкорПрограммирование линейных процессов
    Дата12.07.2022
    Размер0.7 Mb.
    Формат файлаdocx
    Имя файлаПрограммирование линейных процессов.docx
    ТипЛабораторная работа
    #629781

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

    Программирование линейных вычислительных процессов

    Вычислить функцию f(u, v) и округлить до 0,001 f(u, v), где u=u(x), v=v(x), вводя с клавиатуры различные значения аргумента х из интервала (0; 10).







    Блок-схема



    Рисунок 1 – Блок-схема алгоритма

    Интерфейс



    Рисунок 2 – Интерфейс программы

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

    Public Class Form1

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Ex_button.Click

    End

    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Clear.Click

    vvodX.Clear()

    vivodU.Text = ""

    vivodV.Text = ""

    vivodF.Text = ""

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles OK.Click

    Dim x As Double

    Dim f, v, u As Double

    If vvodX.Text = "" Or Not IsNumeric(vvodX.Text) Or Convert.ToDouble(vvodX.Text) <= 0 Then

    MsgBox("Ошибка в данных!!!", vbOKOnly, "Ошибка")

    Exit Sub

    End If

    x = Convert.ToDouble(vvodX.Text)

    v = x + 1 / Math.Tan(5)

    u = Math.Log(3 * x) + Math.Atan(2)

    f = 3 * Math.Sin(u) + 5 * Math.Cos(3 * v)

    vivodU.Text = "u(x) = " + Math.Round(u, 3).ToString()

    vivodV.Text = "v(x) = " + Math.Round(v, 3).ToString()

    vivodF.Text = "f(u,v) = " + Math.Round(f, 3).ToString()

    End Sub

    End Class
    Результаты работы программы



    Рисунок 3 – Результат выполнения программы



    Рисунок 4 – Результат при вводе текстовых данных



    Рисунок 5 – Результат при вводе чисел меньше либо равных 0



    Рисунок 6 – Результат при пустом поле ввода
    Лабораторная работа №3.

    Программирование разветвляющихся процессов

    Вычислить функцию и округлить до 0,001.



    Вводя различные значения переменной х из интервала (0; 10) обеспечить вычисления по каждой из ветвей алгоритма.

    Блок-схема



    Рисунок 7 – Блок-схема
    Интерфейс



    Рисунок 8 – Интерфейс

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

    Public Class Form1

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

    vvodX.Clear()

    vivod_rez.Text = ""

    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Ex_but.Click

    End

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles OK.Click

    Dim x, y As Single

    Dim k As Integer

    If vvodX.Text = "" Or Not IsNumeric(vvodX.Text) Then

    MsgBox("Ошибка в данных!!!", vbOKOnly, "Ошибка")

    Exit Sub

    End If

    x = Val(vvodX.Text)

    If x < 1.3 Or x > 7.3 Then

    y = 5 * Math.Sin(2 * x)

    k = 1

    ElseIf x > 3.3 And x < 5.3 Then

    y = 2 * Math.Log(2 * x) + Math.Atan(5)

    k = 2

    Else

    y = Math.Tan(6) - x

    k = 3

    End If

    y = Math.Round(y, 3)

    vivod_rez.Text = vivod_rez.Text + "y(x) = " + y.ToString() + Chr(13)

    vivod_rez.Text = vivod_rez.Text + "Ветвь решения №" + k.ToString()

    End Sub

    End Class


    Результаты работы программы



    Рисунок 9 – Вычисление значения функции по 1 ветви



    Рисунок 10 – Вычисление значения функции по 2 ветви



    Рисунок 11 – Вычисление значения функции по 3 ветви
    Лабораторная работа №4

    Программирование циклических процессов. Суммирование рядов

    На отрезке [2,7; 8,71] с шагом h=1,0 вычислить и округлить до 0,1 функцию . В процессе вычисления функции найти произведение положительных . Значение k вводить с клавиатуры из интервала (0; 10).

    Блок-схема



    Рисунок 12 – Блок-схема


    Интерфейс



    Рисунок 13 – Интерфейс программы
    Программный код

    Public Class Form1

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

    vvodK.Clear()

    Mult.Text = ""

    ListX.Items.Clear()

    ListY.Items.Clear()

    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Ex_but.Click

    End

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles OK.Click

    Dim k, x, y, h, f, p As Single

    If vvodK.Text = "" Or Not IsNumeric(vvodK.Text) Then

    MsgBox("Ошибка в данных!!!", vbOKOnly, "Ошибка")

    Exit Sub

    End If

    k = Convert.ToInt32(vvodK.Text)

    x = 2.7

    h = 1

    p = 1

    While x < 8.71

    y = 4 * Math.Cos(2 * x + k) * 2 * Math.Sin(3 * x)

    ListX.Items.Add(x)

    ListY.Items.Add(Math.Round(y, 1))

    f = Math.Sin(Math.Abs(y))

    If f > 0 Then

    p *= f

    End If

    x += h

    End While

    Mult.Text = Math.Round(p, 1)

    End Sub

    End Class

    Результаты работы программы



    Рисунок 14 – Результат работы программы
    Лабораторная работа №5

    Работа с одномерными массивами

    Вычислить и округлить до 0,1 элементы массива , где . Найти среднеарифметическое .

    Значение параметра k вводить с клавиатуры из интервала (0; 10).

    Блок-схема



    Рисунок 15 – Блок-схема

    Интерфейс



    Рисунок 16 – Интерфейс программы

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

    Public Class Form1

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

    vvodK.Clear()

    ListM.Items.Clear()

    Rez.Text = ""

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles OK.Click

    Dim m(7) As Single

    Dim f, sr, sum, k As Single

    Dim i As Integer

    If vvodK.Text = "" Or Not IsNumeric(vvodK.Text) Then

    MsgBox("Ошибка в данных!!!", vbOKOnly, "Ошибка")

    Exit Sub

    End If

    sum = 0

    k = Convert.ToSingle (vvodK.Text)

    For i = 1 To 7

    m(i) = Math.Round(9 * Math.Cos(i + k), 1)

    ListM.Items.Add(m(i))

    f = Math.Cos(3 * m(i))

    sum = sum + f

    Next i

    sr = sum / 7

    Rez.Text = Math.Round(sr, 3).ToString()

    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Ex_but.Click

    End

    End Sub

    End Class
    Результаты работы программы



    Рисунок 17 – Результат работы программы
    Лабораторная работа №6

    Работа с двумерными массивами

    Вычислить матрицу A = {ai,j}, где i, j = {1, 2, …, 7} по формуле . Элементы матрицы округлить до целого значения. Найти наименьшее положительное . Отсортировать квадраты элементов 4-й строки по возрастанию. Значение параметра k вводить с клавиатуры из интервала (0; 10).

    Блок-схема





    Рисунок 18 – Блок-схема

    Интерфейс



    Рисунок 19 – Интерфейс программы
    Программный код

    Public Class Form1

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

    VivodMin.Text = ""

    VivodSort.Text = ""

    vvodK.Clear()

    ListM.Items.Clear()

    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Ex_but.Click

    End

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles OK.Click

    Dim i, j As Integer

    Dim a(7, 7), k, tmp, min As Single

    If vvodK.Text = "" Or Not IsNumeric(vvodK.Text) Then

    MsgBox("Ошибка в данных!!!", vbOKOnly, "Ошибка")

    Exit Sub

    End If

    k = Convert.ToSingle(vvodK.Text)

    For i = 1 To 7

    For j = 1 To 7

    a(i, j) = Math.Round(33 * Math.Sin(i) + 43 * Math.Cos(j) + 23 * Math.Sin(k), 0)

    Next j

    ListM.Items.Add(a(i, 1) & vbTab & a(i, 2) & vbTab & a(i, 3) & vbTab & a(i, 4) & vbTab & a(i, 5) & vbTab & a(i, 6) & vbTab & a(i, 7))

    Next i

    min = Math.Sin(a(1, 3))

    For i = 2 To 7

    tmp = Math.Sin(a(i, 3))

    If tmp < min Then

    min = tmp

    End If

    Next i

    VivodMin.Text = Math.Round(min, 3).ToString()

    For i = 1 To 7

    a(4, i) = a(4, i) ^ 2

    Next i

    For i = 1 To 6

    For j = i + 1 To 7

    If a(4, j) < a(4, i) Then

    tmp = a(4, i)

    a(4, i) = a(4, j)

    a(4, j) = tmp

    End If

    Next j

    Next i

    For j = 1 To 7

    VivodSort.Text = VivodSort.Text & a(4, j).ToString() & " "

    Next j

    End Sub

    End Class


    Результаты работы программы



    Рисунок 20 – Результат работы программы


    написать администратору сайта