Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Цель работы: 4
Порядок выполнения работ: 4
Основные этапы работы: 4
Задания: 4
Одномерные массивы 4
Двумерные массивы 4
Одномерные массивы 5
Уровень сложности №1 5
Задание 1 5
Реализация приложения. 5
На форме размещены: 5
Блок схема 5
Текст программы: 6
Задание 2 6
Реализация приложения. 6
На форме размещены: 7
Блок схема 7
Текст программы: 7
Задание 3 7
Реализация приложения: 7
На форме размещены: 7
Блок схема 8
Текст программы: 9
Уровень сложности №2 9
Задание 1: заменить первые k элементов массива на те же элементы в обратном порядке 9
Реализация приложения. 9
На форме размещены: 9
Блок схема 9
Текст программы: 10
Уровень сложности №3 11
Задание 1: перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k]. 11
Реализация приложения. 11
На форме размещены: 11
Блок схема 12
Текст программы: 12
Двумерные массивы 13
Уровень сложности №1 13
Задание 1 13
Реализация приложения. 13
На форме размещены: 13
Блок схема 14
Текст программы: 15
Уровень сложности №2 16
Задание 1: вставить после всех строк, содержащих максимальный по модулю элемент, первую строку. 16
Реализация приложения. 16
На форме размещены: 16
Блок схема 16
Текст программы: 19
Уровень сложности №3 20
Задание 1: подсчитать количество одинаковых чисел под побочной диагональю матрицы 20
Реализация приложения. 20
На форме размещены: 20
Блок схема 21
Текст программы: 23
Вывод: 24
Целью работы является изучение возможностей разработки приложений и получение практических навыков решения типовых задач с использованием одномерных и двумерных массивов.
1. Запустить программу Visual Basic.
2. Изучить правила работы с одномерными и двумерными массивами - описание, ввод-вывод элементов массива, операции с элементами массива.
3. Выполнить задания, приведенные в методических указаниях.
4. Сохранить результаты работы на личной дискете.
1. Изучить правила работы с одномерными и двумерными массивами - описание, ввод-вывод элементов массива, операции с элементами массива.
2. Изменение свойств управляющих элементов.
3. Выполнение заданий.
4. Сохранить результаты работы на личной дискете.
Уровень сложности №1.
Задание 1: дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-20,40]. Найти удвоенную сумму положительных элементов.
Задание 2: вывести индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго).
Задание 3: определить, есть ли две пары соседних элементов с одинаковыми знаками.
Уровень сложности №2
Задание 1: заменить первые k элементов массива на те же элементы в обратном порядке.
Уровень сложности №3
Задание 1: перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k].
Уровень сложности №1.
Задание 1: дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.
Уровень сложности №2.
Задание 1: вставить после всех строк, содержащих максимальный по модулю элемент, первую строку.
Уровень сложности №3.
Задание 1: Подсчитать количество одинаковых чисел под побочной диагональю матрицы
Задание 1: дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-20,40]. Найти удвоенную сумму положительных элементов.
Реализация приложения.
Дано: массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-20,40].
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопка для выполнения действия приложения.
Private Sub Command1_Click()
n = Val(Text1.Text)
ReDim mass(n) As Integer
Text2.Text = ""
For i = 1 To n
randomValue = Int(Rnd * (40 - (-20) + 1) + (-20))
mass(i) = randomValue
Text2.Text = Text2.Text + Str(randomValue) + " "
Next i
End Sub
Private Sub Command2_Click()
sumel = 0
For i = 1 To n
If mass(i) > 0 Then sumel = sumel + mass(i)
Next i
sumel = sumel * 2
Text3.Text = sumel
End Sub
Задание 2: вывести индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго).
Дано: массив случайных чисел.
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопки для выполнения действия приложения.
Private Sub Command3_Click()
For i = 2 To n
If mass(i) > mass(i - 1) Then Text4.Text = Text4.Text + Str(i) + " "
Next i
End Sub
Задание 3: определить, есть ли две пары соседних элементов с одинаковыми знаками.
Дано: массив случайных чисел.
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопки для выполнения действия приложения.
Private Sub Command4_Click()
For i = 2 To n
If mass(i - 1) > 0 Then
If mass(i) > 0 Then
plus = plus + 1
End If
Else
If mass(i) < 0 Then
minus = minus + 1
End If
End If
Next i
If plus >= 2 Or minus >= 2 Then
Text5.Text = "Да"
Else
Text5.Text = "Нет"
End If
End Sub
Реализация приложения.
Дано: массив случайных чисел.
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопка для выполнения действия приложения.
Dim mass() As Integer, mass2() As Integer, D() As Integer, A() As Integer, min As Integer, n, i, k, s As Integer, nommin As Integer
Private Sub Command1_Click()
n = Val(Text1.Text)
ReDim mass(n) As Integer
Text2.Text = ""
For i = 1 To n
randomValue = Int(Rnd * (40 - (-20) + 1) + (-20))
mass(i) = randomValue
Text2.Text = Text2.Text + Str(mass(i)) + " "
Next i
End Sub
Private Sub Command3_Click()
k = Val(Text5.Text)
Text4.Text = ""
ReDim D(n) As Integer
s = 0
For i = k To 1 Step -1
s = s + 1
D(s) = mass(i)
Text4.Text = Text4.Text + Str(D(s)) + " "
Next i
For i = k + 1 To n
D(i) = mass(i)
Text4.Text = Text4.Text + Str(D(i)) + " "
Next i
End Sub
Реализация приложения.
Дано: массив случайных чисел.
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопки для выполнения действия приложения.
Dim mass() As Integer, b() As Integer, m As Integer, n, i, k As Integer
Private Sub Command1_Click()
n = Val(Text1.Text)
ReDim mass(n) As Integer
Text2.Text = ""
For i = 1 To n
randomValue = Int(Rnd * (175 - (-135) + 1) + (-135))
mass(i) = randomValue
Text2.Text = Text2.Text + Str(mass(i)) + " "
Next i
End Sub
Private Sub Command2_Click()
k = Val(Text4.Text)
ReDim b(n) As Integer
m = 0
For i = k + 1 To n
m = m + 1
b(m) = mass(i)
Next i
For i = 1 To k
m = m + 1
b(m) = mass(i)
Next i
For i = 1 To n
Text3.Text = Text3.Text + Str(b(i)) + " "
Next i
End Sub
Задание 1: дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.
Реализация приложения.
Дано: двумерный массив размером n*m.
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопка для выполнения действия приложения.
Dim n, m, i, j, plus, minus, da As Integer, a() As Integer
Private Sub Command1_Click()
n = Val(Text1.Text)
m = Val(Text2.Text)
Text3.Text = ""
ReDim a(n, m)
For i = 1 To n
For j = 1 To m
a(i, j) = Int(Rnd * (50 - (-50) + 1) + (-50))
Text3.Text = Text3.Text + Format(Str(a(i, j)), "00") + " "
Next j
Text3.Text = Text3.Text + Chr(13) + Chr(10)
Next i
End Sub
Private Sub Command2_Click()
da = 0
For j = 1 To m
plus = 0
minus = 0
For i = 1 To n
If a(i, j) > 0 Then
plus = plus + 1
Else
minus = minus + 1
End If
Next i
If plus = minus Then da = 1
Next j
If da = 1 Then
Text4.Text = "Есть"
Else
Text4.Text = "Нет"
End If
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Реализация приложения.
Дано: массив случайных чисел.
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопка для выполнения действия приложения.
Dim n, m, i, j As Integer, a() As Integer, b() As Integer, strok() As Integer, max, prin As Integer
Private Sub Command1_Click()
n = Val(Text1.Text)
m = Val(Text2.Text)
Text3.Text = ""
ReDim a(n, m)
For i = 1 To n
For j = 1 To m
a(i, j) = Int(Rnd * (50 - (-50) + 1) + (-50))
Text3.Text = Text3.Text + Format(Str(a(i, j)), "00") + " "
Next j
Text3.Text = Text3.Text + Chr(13) + Chr(10)
Next i
End Sub
Private Sub Command2_Click()
ReDim b(n, m) As Integer
ReDim strok(m) As Integer
max = 0
Text4.Text = ""
For i = 1 To n
For j = 1 To m
If i = 1 Then
strok(j) = a(1, j)
End If
b(i, j) = Abs(a(i, j))
If max < b(i, j) Then
max = b(i, j)
End If
Next j
Next i
For i = 1 To n
prin = 0
For j = 1 To m
Text4.Text = Text4.Text + Format(Str(a(i, j)), "00") + " "
If b(i, j) = max Then
prin = 1
End If
Next j
If prin = 1 Then
Text4.Text = Text4.Text + Chr(13) + Chr(10)
For l = 1 To m
Text4.Text = Text4.Text + Format(Str(strok(l)), "00") + " "
Next l
Text4.Text = Text4.Text + Chr(13) + Chr(10)
End If
Text4.Text = Text4.Text + Chr(13) + Chr(10)
Next i
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Реализация приложения.
Дано: массив случайных чисел.
1. текстовые окна (TextBox), предназначенные для ввода исходных данных;
2. метки (Label) для подписи окон;
3. кнопки для выполнения действия приложения.
Dim n, i, j As Integer, a() As Integer, m, u, v As Integer, b() As Integer, mas2() As Integer, kol As Integer, kolvo() As Integer
Private Sub Command1_Click()
n = Val(Text1.Text)
Text3.Text = ""
ReDim a(n, n) As Integer
For i = 1 To n
For j = 1 To n
a(i, j) = Int(Rnd * (10 - (-10) + 1) + (-10))
Text3.Text = Text3.Text + Format(Str(a(i, j)), "00") + " "
Next j
Text3.Text = Text3.Text + Chr(13) + Chr(10)
Next i
End Sub
Private Sub Command2_Click()
Text4.Text = ""
m = 0
ReDim b(n * n) As Integer
ReDim mas2(n * n) As Integer
ReDim kolvo(n * n) As Integer
For i = n To 1 Step -1
For j = 1 To n
If (n - i + 1) < j Then
m = m + 1
b(m) = a(i, j)
End If
Next j
Next i
For i = 1 To m
For j = 1 To m - 1
If b(j) > b(j + 1) Then
u = b(j)
b(j) = b(j + 1)
b(j + 1) = u
End If
Next j
Next i
kol = b(1)
v = 1
kolvo(v) = 0
For i = 1 To m
If kol = b(i) Then
kolvo(v) = kolvo(v) + 1
mas2(v) = b(i)
Else
v = v + 1
kol = b(i)
kolvo(v) = kolvo(v) + 1
mas2(v) = b(i)
End If
Next i
For i = 1 To v
If kolvo(i) > 1 Then
Text4.Text = Text4.Text + Str(mas2(i)) + ": " + Str(kolvo(i)) + Chr(13) + Chr(10)
End If
Next i
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
В ходе работы мы изучили возможности разработки приложений типовых задач с использованием одномерных и двумерных массивов. Применили данные возможности непосредственно при решениях поставленных задач.
PAGE \* MERGEFORMAT 1
Начало
n
I=1;n
mass(i)
mass(i)
I=1;n
mass(i) > 0
Нет
Да
sumel = sumel + mass(i)
sumel = sumel * 2
mass(i)
Конец
Начало
I=2;n
mass(i) > mass(i - 1)
Нет
Да
i
Конец
Начало
n
I=2;n
mass(i - 1) > 0
Нет
Да
Конец
mass(i) > 0
Нет
Да
plus = plus + 1
Нет
mass(i) < 0
Да
minus = minus + 1
plus >= 2 Or minus >= 2
Нет
Да
Да
Нет
Начало
n, k
i = k; 1;-1
Конец
s = 0
s = s + 1
D(s) = mass(i)
D(s)
i = k+1; n
D(i) = mass(i)
D(i)
Начало
n, k
i = k+1; n
Конец
m= 0
b(m) = mass(i)
i = 1; k
m = m + 1
b(m) = mass(i)
i = 1; n
b(i)
Начало
n, m
I=1;n
a(i, j)
a(i, j)
j=1;m
da = 0
j=1;m
plus = 0
minus = 0
i=1;n
a(i, j) > 0
Нет
Да
plus = plus + 1
minus = minus + 1
Есть
Конец
plus = minus
Нет
Да
da = 1
da = 1
Нет
Да
Нет
Начало
n, m
I=1;n
a(i, j)
a(i, j)
j=1;m
max = 0
I=1;n
j=1;m
i = 1
Нет
Да
strok(j) = a(1, j)
b(i, j) = Abs(a(i, j))
max < b(i, j)
Нет
Да
max = b(i, j)
I=1;n
prin = 0
j=1;m
a(i, j)
b(i, j) = max
Нет
Да
prin = 1
prin = 1
Нет
Да
l=1;m
strok(l)
Конец
Начало
n
I=1;n
a(i, j)
a(i, j)
j=1;n
m = 0
I=n;1;-1
j=1;n
(n - i + 1) < j
Нет
Да
m = m + 1
b(m) = a(i, j)
I=1;m
j=1;m-1
b(j) > b(j + 1)
Нет
Да
u = b(j)
b(j) = b(j + 1)
b(j + 1) = u
kol = b(1)
v = 1
kolvo(v) = 0
i=1;m
kol = b(i)
Нет
Да
kolvo(v) = kolvo(v) + 1
mas2(v) = b(i)
v = v + 1
kol = b(i)
kolvo(v) = kolvo(v) + 1
mas2(v) = b(i)
i=1;v
kolvo(i) > 1
Нет
Да
mas2(i), kolvo(i)
Конец