Лабы по КП / Лаба 3
.docФедеральное агентство по образованию
Государственное образовательное учреждение
Высшего профессионального образования
«Государственный Университет Управления»
Институт Информационных Систем Управления
Кафедра компьютерных технологий
Лабораторная работа № 3
По дисциплине «Компьютерная подготовка»
4 вариант
Выполнила:
студентка ИНиМЭ,
Проверил:
Канаков А.Г.
МОСКВА 2005
Дана матрица M*М. Определить максимальное число среди отрицательных и расположенных выше главной диагонали и минимальное среди положительных – ниже главной диагонали. Поменять их местами. Вывести на экран матрицу до и после перестановки, а так же значения найденных цифр и их координаты.
Option Explicit ‘заставляет явно объявлять все переменные
Dim I As Integer ‘объявляем циклическую переменную I
Dim J As Integer ‘объявляем циклическую переменную J
Dim MAX As Integer ‘объявляем MAX как числовую переменную
Dim kMAX As Integer ‘объявляем kMAX как числовую переменную
Dim nMAX As Integer ‘объявляем nMAX как числовую переменную
Dim MIN As Integer ‘объявляем MIN как числовую переменную
Dim kMIN As Integer ‘объявляем kMIN как числовую переменную
Dim nMIN As Integer ‘объявляем nMIN как числовую переменную
Dim SP As String ‘объявляем SP как текстовую переменную
Dim B As Single ‘объявляем B как числовую переменную
Private Sub Command1_Click() ‘начинаем процедуру
Dim N As Integer ‘объявляем N как числовую переменную
Dim A() As Integer ‘объявляем динамический массив значений типа Integer
Dim MAX As Single ‘объявляем MAX как числовую переменную
Dim kMAX As Integer ‘объявляем kMAX как числовую переменную
Dim nMAX As Integer ‘объявляем nMAX как числовую переменную
Dim MIN As Single ‘объявляем MIN как числовую переменную
Dim kMIN As Integer ‘объявляем kMIN как числовую переменную
Dim nMIN As Integer ‘объявляем nMIN как числовую переменную
Randomize ‘инициализирует генератор случайных чисел
N = InputBox("N=") ‘выводим запрос о размере массива
ReDim A(1 To N, 1 To N) ‘переопределяем массив A
‘заполнение массива случайными числами
For I = 1 To N
For J = 1 To N ‘открываем цикл для всех элементов массива
A(I, J) = Int(-100 + Rnd * 200) ‘
Next J
Next I ‘закрываем цикл
P1 N, A() ‘вызов процедуры вывода на экран элементов массива
Text1.Text = SP ‘вывод результатов работы процедуры P1 на экран
P2 MAX, nMAX, kMAX, N, A() ‘вызов процедуры нахождение максимального числа
Text3.Text = MAX ‘вывод результатов работы процедуры P2 на экран
Text4.Text = nMAX ‘вывод результатов работы процедуры P2 на экран
Text5.Text = kMAX ‘вывод результатов работы процедуры P2 на экран
P3 MIN, nMIN, kMIN, N, A() ‘вызов процедуры нахождения минимального числа
Text6.Text = MIN ‘вывод результатов работы процедуры P3 на экран
Text7.Text = nMIN ‘вывод результатов работы процедуры P3 на экран
Text8.Text = kMIN ‘вывод результатов работы процедуры P3 на экран
‘замена перемнных
B = A(nMIN, kMIN) ‘
A(nMIN, kMIN) = A(nMAX, kMAX) ‘
A(nMAX, kMAX) = B ‘
P1 N, A() ‘вызов процедуры вывода на экран элементов массива
Text2.Text = SP ‘вывод результатов работы процедуры P1 на экран
End Sub
Private Sub P1(N1 As Integer, A1() As Integer) ‘процедура вывода на экран элементов массива
SP = "" ‘
For I = 1 To N1
For J = 1 To N1 ‘открываем цикл для всех элементов массива
SP = SP + Str(A1(I, J)) + " " ‘
Next J ‘
SP = SP + vbCrLf ‘
Next I ‘закрываем цикл
End Sub ‘
Private Sub P2(MAX1 As Single, nMAX1 As Integer, kMAX1 As Integer, N2 As Integer, A2() As Integer) ‘процедура нахождения максимального числа
MAX1 = -1E+38 ‘
For I = 1 To N2
For J = 1 To N2 ‘открываем цикл для всех элементов массива
If I < J And A2(I, J) < 0 And A2(I, J) > MAX1 Then ‘
MAX1 = A2(I, J) ‘
nMAX1 = I ‘
kMAX1 = J ‘
End If ‘
Next J
Next I ‘закрываем цикл
End Sub ‘
Private Sub P3(MIN1 As Single, nMIN1 As Integer, kMIN1 As Integer, N3 As Integer, A3() As Integer) ‘
MIN1 = 1E+38 ‘
For I = 1 To N3
For J = 1 To N3 ‘открываем цикл для всех элементов массива
If I > J And A3(I, J) > 0 And A3(I, J) < MIN1 Then ‘
MIN1 = A3(I, J) ‘
nMIN1 = I ‘
kMIN1 = J ‘
End If ‘
Next J
Next I ‘закрываем цикл
End Sub ‘
Private Sub Command2_Click()‘
End ‘
End Sub ‘