Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП для выполнения КР 1 и 2 факультетов-2008.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
506.37 Кб
Скачать

1.3. Пример выполнения задания

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

Условие задания: Найти номер района с максимальным количеством пожаров на транспорте.

Входные данные: А(5; 3) – матрица, содержащая количество пожаров в пяти районах.

Промежуточные данные: М – максимальное количество пожаров на транспорте.

Выходные данные: N – номер района с максимальным количеством пожаров на транспорте.

Разрабатывается блок-схема алгоритма решения задачи (рис.1.1).

Установка начальных значений индексов матрицы и переменной для хранения максимума

нет

Сравнение значений элементов матрицы с максимумом

да

Переменной N присваивается номер строки (номер района), содержащей максимум

да

Проверка условия: номер строчки матрицы меньше или равен общему количеству строк

нет

Вывод результата решения задачи

Рис. 1.1. Блок-схема алгоритма решения задачи

Проектируется диалоговая форма программы (рис. 1.2) и определяются свойства элементов управления (табл. 1.7).

Таблица 1.7

Элемент

управления

Свойство

Имя

Свойство

Caption

Форма

Form1

Номер района с максимальным количеством пожаров на транспорте

Рамка

Frame1

Количество пожаров

Надпись1

Label1

Вне здания

Надпись2

Label2

В здании

Надпись3

Label3

Транспорт

Надпись4

Label4

Номер района

Текстовое поле1

Вне_здания

-

Текстовое поле2

В_здании

-

Текстовое поле3

Транспорт

-

Текстовое поле4

Номер района

-

Кнопка1

Ввод_данных

Ввод данных

Кнопка2

Результат

Результат

Кнопка3

Выход

Выход

Рис. 1.2. Диалоговая форма компьютерной программы

Осуществляем запись программного кода:

'Объявление матрицы размером 5х3

Dim A(5, 3) As Integer

'Процедура построчного ввода элементов матрицы

Private Sub Ввод_данных_Click()

'Объявление счетчика элементов матрицы

Static i

i = i + 1

If i <= 5 Then

'Запись данных из текстовых полей в матрицу

A(i, 1) = Val(Вне_здания.Text)

A(i, 2) = Val(В_здании.Text)

A(i, 3) = Val(Транспорт.Text)

If i >= 5 Then

'Деактивация кнопки ввода элементов массива

Ввод_данных.Enabled = False

End If

End If

'Очистка текстовых полей

Вне_здания.Text = ""

В_здании.Text = ""

Транспорт.Text = ""

'Установка курсора в текстовое поле

Вне_здания.SetFocus

End Sub

'Процедура поиска максимального элемента

Private Sub Результат_Click()

'Объявление переменных M и N

Dim M As Integer

Dim N As Integer

'Определение максимального элемента

M = A(1, 3)

For i = 1 To 5

If A(i, 3) >= M Then

M = A(i, 3)

'Определение строки с максимальным элементом

N = i

End If

Next

'Вывод результата решения задания

Номер_района.Text = Str(N)

End Sub

'Процедура выхода из программы

Private Sub Выход_Click()

End

End Sub