7 лаба
.docxФедеральное агентство связи
Ордена Трудового Красного Знамени
федеральное бюджетное образовательное учреждение высшего образования
«Московский Технический Университет Связи и Информатики»
(МТУСИ)
Кафедра Информатики
Лабораторная работа № 7
Тема:
«Программирование алгоритмов формирования и обработки одномерных массивов»
Вариант 00
Выполнил:
Великий студент
-----
Москва 0000
3)
4) формализация и уточнения
Заполнение и преобразование одномерного массива различными способами.
Введите значения одномерного массива натуральных чисел a(n), используя различные алгоритмы заполнения массива, и сформируйте его. Далее осуществите преобразование сформированного массива, используя различные методы обработки одномерных массивов, и вычислите одну из заданных характеристик сформированного массива
В разрабатываемом приложении ввод значений исходного массива (процедура vvod()) может осуществляться одним из следующих способов: вводом с клавиатуры; с помощью датчика случайных чисел; формированием по формуле.
Преобразование исходного массива может осуществляться несколькими способами: сортировка по возрастанию методом «пузырька»; сортировка по убыванию методом «выбора»; удаление отрицательных элементов
Разработайте форму приложения, которая может иметь такой же
вид, как на рис. 4.7.7-1.
5.1) форма
5.2) схема алгоритма
5.3) код проекта
Option Strict On
Option Explicit On
Public Class Form1
Function vvodint(ByVal T As TextBox) As Integer
Return CInt(Val(T.Text))
End Function
Sub vivodint(ByVal Z As Integer, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
Sub vvod(ByRef a() As Integer)
Dim i As Integer
For i = 0 To UBound(a) - 1
a(i) = CInt(Val(InputBox(" ", "Введите элемент массива")))
Next
End Sub
Sub Rnd1(ByRef x() As Integer)
Dim i As Integer
Randomize()
For i = 0 To UBound(x)
x(i) = CInt(Rnd() * 30 - 15)
Next i
ReDim Preserve x(i)
End Sub
Sub vivod(ByVal str As Integer, ByVal tb As TextBox)
tb.Text = CStr(str)
End Sub
Sub Summa(Byref a() As Integer, ByRef s As Integer, ByRef x() As Integer)
Dim i, k As Integer
Dim nach, kon As Integer
For i = 0 To UBound(a)
If a(i) > 0 Then
kon = i
End If
Next i
For i = 0 To UBound(a)
If a(i) > 0 Then
nach = i
Exit For
End If
Next i
s = 0
For i = nach + 1 To kon - 1
s = s + a(i)
x(k) = a(i)
k = k + 1
Next i
ReDim Preserve x(k)
End Sub
Sub printLB(ByRef a() As Integer, ByRef l As ListBox)
Dim i As Integer
Dim m As String = ""
For i = 0 To UBound(a) - 1
l.Items.Add(Format(a(i), "00"))
Next i
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim n, x, y, s1 As Integer
n = CInt(TextBox3.Text)
Dim a(n) As Integer
x = vvodint(TextBox1)
y = vvodint(TextBox2)
Rnd1(a)
printLB(a, ListBox2)
Summa(a, s1, a)
printLB(a, ListBox3)
vivodint(s1, TextBox4)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button1.Click
End
End Sub
End Class
6) результат
7) проверка результат