Программирование алгоритмов формирования и обработки одномерных массивов. 4-7 Отчёт. Лабораторная работа по теме 07 Программирование алгоритмов формирования и обработки одномерных массивов
Скачать 467.33 Kb.
|
Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования Московский технический университет связи и информатики КАФЕДРА ИНФОРМАТИКИ ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ 4.07 Программирование алгоритмов формирования и обработки одномерных массивов Выполнил: студент группы МОСКВА 2016 г. Тема и название работы Программирование алгоритмов формирования и обработки одномерных массивов. Заполнение и преобразование одномерного массива различными способами. 2. Еремин Василий, БИН1551, вариант 11. 3. Задание на разработку проекта и вариант задания:
Формализация и уточнение задания: В разрабатываемом приложении ввод значений исходных массивов (процедура vvod_mas()) может осуществляться одним из следующих способов: вводом с клавиатуры; с помощью датчика случайных чисел. При обнаружении более одной пары элементов удовлетворяющих условию задания выводится результат с наименьшим индексом в массиве «z». Новый массив образуется из элементов массива «z» имеющих больший индекс («стоящих справа») и элементов массива «a» имеющих меньший индекс («стоящих слева»). Блок-схема алгоритма проекта. 4.2 Программный код проекта: Option Strict On Option Explicit On Imports System.Math Public Class Form1 Dim m() As Single 'массив Dim b() As Single 'Процедура ввода элементов массива z Sub vvod_mas(ByRef m() As Single, ByRef index As Integer) Dim y As String Dim r As String Dim i As Integer Select Case index Case 0 'ввод с клавиатуры For i = 0 To UBound(m) r = CStr(i + 1) y = InputBox("Элемент массива (" + r + ")=", "Ввод значений элементов массива") m(i) = CSng(Val(y)) Next i Case 1 'ввод генератора случайных чисел For i = 0 To UBound(m) m(i) = Rnd(1) * 100 - 5 Next i End Select End Sub Public Sub PrintL(ByVal m() As Single, ByRef LB As ListBox) Dim i As Integer Dim y As String y = "" For i = 0 To UBound(m) y = y + CStr(m(i)) + Space(6) Next i y = y + "------" LB.Items.Add(y) End Sub 'Процедура обработки события выбора элем. из ComboBox1 '"Это ввод элементов массива и их количества Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged Dim index As Integer Dim n As Integer 'размер массива index = ComboBox1.SelectedIndex 'индекс выбр-го эл-та ComboBox1 0-с клавиатуры 1-случайно ListBox1.Items.Clear() 'очистка строки n = CInt(TextBox1.Text) 'кол=во эл-тов массива ReDim m(n - 1) 'присвоение размерности массиву 'ввод массива в зависимости от индекса выбора vvod_mas(m, index) PrintL(m, ListBox1) 'вывод исходного массива End Sub Public Sub poisk(ByVal m() As Single) Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim n As Integer Dim p As Integer k = 0 l = 0 n = 0 i = 0 j = 0 p = 0 For i = 0 To UBound(m) For j = i + 1 To (UBound(m) - 1) If (m(i) = m(j)) Then TextBox2.Text = CStr(Format(m(i), "0.0")) TextBox3.Text = CStr(i + 1) TextBox4.Text = CStr(j + 1) ReDim b(j - i - 2) For n = i + 1 To j - 1 b(l) = m(n) l = l + 1 Next PrintL(b, ListBox2) 'вывод нового массива Exit For End If Next j Next i End Sub 'START - Нажатие на кнопку "Ввести элементы массива z" Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click poisk(m) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'очищаем текстовые поля TextBox1.Clear() 'очищаем текстовые поля TextBox2.Clear() TextBox3.Clear() TextBox4.Clear() ListBox1.Items.Clear() ListBox2.Items.Clear() End Sub Private Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click End End Sub End Class Результат выполнения проекта |