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

  • Задание 1

  • 2 Математическая модель

  • 4 Разработка визуальной части проекта На форме располагаем только командную кнопку Command1. В свойстве Caption кнопки записываем «Найти максимальный элемент».5 Код

  • 6 Отладка программы

  • Задание 2

  • 3 Разработка алгоритма 5 Код приложения

  • Лабораторная работа VBA Excel. VISUAL BASIC 18 вариант ПР7. Министерство транспорта российской федерации федеральное агентство железнодорожного транспорта


    Скачать 498.75 Kb.
    НазваниеМинистерство транспорта российской федерации федеральное агентство железнодорожного транспорта
    АнкорЛабораторная работа VBA Excel
    Дата03.05.2021
    Размер498.75 Kb.
    Формат файлаdocx
    Имя файлаVISUAL BASIC 18 вариант ПР7.docx
    ТипДокументы
    #201034

    МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ

    ФЕДЕРАЛЬНОЕ АГЕНТСТВО ЖЕЛЕЗНОДОРОЖНОГО ТРАНСПОРТА

    Государственное бюджетное образовательное учреждение

    высшего образования

    «ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

    ПУТЕЙ СООБЩЕНИЯ ИМПЕРАТОРА АЛЕКСАНДРА I»
    Кафедра «ИНФОРМАЦИОННЫЕ И ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ»

    Дисциплина «Информатика»


    О Т Ч Е Т

    о лабораторной работе № 6

    ПРОИЗВОДНАЯ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ПОИСК»
    Вариант 18

    Выполнил студент Иванов И. И.

    Факультет XXX

    Группа XXX-000

    Санкт-Петербург

    2021
    Задание 1

    1 Постановка задачи

    Определить значение максимального элемента среди значений элементов вектора W размерности q, находящихся в диапазоне [a; b].

    Входные данные:

    • q – размерность вектора, целое число;

    • W – вектор, массив вещественных чисел;

    • a, b – начальное и конечное значения диапазона, вещественные числа.

    Выходные данные:

    • Мax – максимальный элемент, вещественное число.


    2 Математическая модель

    Max = a; k = 0;

    для всех i = 1, 2, … q, если Wi >=Max и Wi <= b , то Max = Wi, k = i

    Если k = 0, то вывести «Элементов в указанном диапазоне нет», иначе вывести Max
    3 Разработка алгоритма



    4 Разработка визуальной части проекта

    На форме располагаем только командную кнопку Command1. В свойстве Caption кнопки записываем «Найти максимальный элемент».
    5 Код приложения
    Private Sub Command1_Click()

    Dim q As Integer, i As Integer

    Dim W() As Single, Max As Single

    q = InputBox("Введите размерность массива q =")

    ReDim W(1 To q)

    For i = 1 To q

    W(i) = InputBox("W(" & i & ")=")

    Print "W(" & i & ") = " & W(i)

    Next

    Print

    a = InputBox("Введите нижнюю границу диапазона a =")

    Print "a = " & a

    b = InputBox("Введите верхнюю границу диапазона b =")

    Print "b = " & b

    Max = a

    k = 0

    For i = 1 To q

    If (W(i) > =Max) and (Wi<=b) Then

    Max = W(i)

    k = i

    End If

    Next

    If k=0 Then

    Print "Элементов в указанном диапазоне нет"

    Else:

    Print "Max = " & Max

    End If

    End Sub
    6 Отладка программы
    Вводим несколько векторов с различными параметрами поиска максимального элемента.

    .

    Ручной счет: для вектора {6,-3,0,2} в диапазоне [-5;-1] максимальный элемент -3; в диапазоне [0;6] максимальный элемент равен 6; в диапазоне [-5;-3] максимальный элемент -3; в диапазоне [3;4] элементов нет.

    Задание 2

    1 Постановка задачи

    Напечатать индексы первых элементов строк матрицы P, имеющих нулевые значения.

    Входные данные:

    {P} – произвольная матрица, массив вещественных чисел;

    m , n – размерность матрицы, целые числа.

    Выходные данные:

    i – индекс строки, целое число;

    j – индекс столбца, целое число;

    сообщение «Нулевых элементов в матрице нет».
    2 Математическая модель

    Flag=false

    Для всех i = 1, 2…m для всех j = 1, 2, …n если Pij = 0, то Flag=true; напечатать i и закончить процесс поиска.

    Если по окончании поиска Flag=false, то вывести сообщение «Нулевых элементов в строке нет»
    3 Разработка алгоритма



    5 Код приложения
    Private Sub Command1_Click()

    Dim m As Integer, n As Integer, i As Integer, j As Integer

    Dim P() As Single, flag As Boolean

    m = InputBox ("Введите количество строк матрицы ")

    n = InputBox ("Введите количество столбцов матрицы ")

    ReDim P(1 To m, 1 To n)

    For i = 1 To m

    For j = 1 To n

    P(i, j) = InputBox("P(" & i & "," & j & ")=")

    Print P(i, j);

    Next

    Print

    Next

    flag = False

    Print

    For i = 1 To m

    For j = 1 To n

    If P(i, j) = 0 Then

    Print " Индексы первого нулевого элемента " & i &"-й строки " &i &j

    flag = True

    Exit For

    End If

    Next

    Next

    If flag = False Then

    Print "Нулевых элементов в матрице нет"

    End If

    Print

    End Sub
    6 Отладка приложения

    Вводим матрицу размерности m = 3, n = 4 для контрольного примера.


    Вводим матрицу, в которой нет нулевых элементов:


    Программа выдает правильные результаты.


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