Главная страница
Навигация по странице:

  • КАФЕДРА ИНФОРМАТИКИ ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ 4.07 Программирование алгоритмов формирования и обработки одномерных массивов

  • Выполнил: студент группы МОСКВА 201 6 г. Тема и название работы

  • Формализация и уточнение задания: В разрабатываемом приложении ввод значений исходных массивов (процедура vvod_ mas ()

  • Блок-схема алгоритма проекта .

  • Результат выполнения проекта

  • Программирование алгоритмов формирования и обработки одномерных массивов. 4-7 Отчёт. Лабораторная работа по теме 07 Программирование алгоритмов формирования и обработки одномерных массивов


    Скачать 467.33 Kb.
    НазваниеЛабораторная работа по теме 07 Программирование алгоритмов формирования и обработки одномерных массивов
    АнкорПрограммирование алгоритмов формирования и обработки одномерных массивов
    Дата17.11.2021
    Размер467.33 Kb.
    Формат файлаdocx
    Имя файла4-7 Отчёт.docx
    ТипЛабораторная работа
    #274858

    Федеральное государственное образовательное бюджетное

    учреждение высшего профессионального образования
    Московский технический университет связи и информатики

    КАФЕДРА ИНФОРМАТИКИ

    ЛАБОРАТОРНАЯ РАБОТА ПО ТЕМЕ 4.07

    Программирование алгоритмов
    формирования и обработки
    одномерных массивов


    Выполнил:

    студент группы

    МОСКВА 2016 г.

    1. Тема и название работы

    Программирование алгоритмов формирования и обработки одномерных массивов.

    Заполнение и преобразование одномерного массива различными способами.

    2. Еремин Василий, БИН1551, вариант 11.
    3. Задание на разработку проекта и вариант задания:


     11)

     

    Ввести одномерные массивы z = {0, 1.6, 6.4, 3.8, -7, 1, -2} и a = {5,4,6.4,1}.

    Найти среди элементов массивов a и z два одинаковых элемента с наименьшими индексами и вывести их значения и индексы. Элементы, расположенные между найденными числами, записать в новый массив.


    1. Формализация и уточнение задания:

    В разрабатываемом приложении ввод значений исходных массивов (процедура vvod_mas()) может осуществляться одним из следующих способов: вводом с клавиатуры; с помощью датчика случайных чисел.

    При обнаружении более одной пары элементов удовлетворяющих условию задания выводится результат с наименьшим индексом в массиве «z».

    Новый массив образуется из элементов массива «z» имеющих больший индекс («стоящих справа») и элементов массива «a» имеющих меньший индекс («стоящих слева»).


      1. Блок-схема алгоритма проекта.











    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


      1. Результат выполнения проекта



    написать администратору сайта