Станьте совладельцем корпорации
Главная  
  • Программы  
  • Методички  
  • Рефераты  
  • Дипломы  
  • Разное  
  • Фото  
  • Контакты  
  • Карта сайта  

  • Я:
    Найти:
    Возраст:
    -

    Пример выполнения лабораторной работы №2 по предмету
    "Высокоуровневые методы информатики и программирования"



    Лабораторная работа №2
    Тема: "Сложные типы данных. Массивы".

    Задание: Вариант 5
    В одномерном массиве, состоящем из n вещественных элементов, вычислить:
    1) максимальный элемент массива;
    2) сумму элементов массива, расположенных до последнего положительного элемента.
    3)Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, Ь]. Освободившиеся в конце массива элементы заполнить i

    Словесный алгоритм программы:
    1. Начало.
    2. Ввод исходных данных: размер массива, интервал [a,b], символ-заменитель.
    3. Начинаем цикл по I от 1 до конца массива.
    4. Если i-й элемент массива меньше i+1-го, то максимальным считаем i+1-й.
    5. Если достигнут конец массива, то вывод максимального элемента массива.
    6. Иначе, переход к следующему элементу.
    сумма элементов массива, расположенных до последнего положительного элемента.

    7. Начинаем цикл по I от конца массива, до его первого элемента.
    8. Если i>=0 то последний положительный элемент найден, запоминаем его номер и переход к 10.
    9. Иначе переход к следующему элементу массива.
    10. Считаем сумму элементов массива, с номерами от 1-го до найденного последнего положительного.
    11. Вывод суммы.

    Сжать массив, удалив из него все элементы, модуль которых находится в интервале [а, Ь]. Освободившиеся в конце массива элементы заполнить i
    12. Начинаем цикл по I от 1 до конца массива.
    13. Если модуль i-го элемента не входит в интервал [a.b], то заносим его в новый массив.(с таким же размером как и исходный).
    14. Если не достигли конца массива, то переход к след. элементу массива.
    15. Массив, содержащий только отобранные элементы, дополняем символами-заменителями.
    16. Конец



    Реализация:

    Option Explicit
    Private Sub Command1_Click()

    Dim arraySL() As Variant
    Dim arrayNEW() As Variant
    Dim razmer As Long
    Dim i As Double
    Dim arrayMax As Double
    Dim arrayMin As Double
    Dim maxElementArraySL As Double
    Dim poslPlusNumberArraySL As Long
    Dim summaArraySL As Double
    Dim otZ As Double
    Dim doZ As Double
    Dim zamena As Variant
    Dim shetchikMassiva As Long


    razmer = Val(Text1.Text)
    arrayMin = Val(Text4.Text)
    arrayMax = Val(Text5.Text)
    List1.Clear
    List2.Clear


    otZ = Val(Text6.Text)
    doZ = Val(Text7.Text)
    zamena = Text8.Text


    'заполняем массив cлучайным образом
    ReDim arraySL(1 To razmer)
    Randomize


    For i = LBound(arraySL) To UBound(arraySL)
    If Check1.Value = 1 Then
    arraySL(i) = Int((arrayMax - arrayMin + 1) * Rnd + arrayMin)
    List1.AddItem arraySL(i)
    Else
    arraySL(i) = (arrayMax - arrayMin + 1) * Rnd + arrayMin

    List1.AddItem arraySL(i)
    List1.ListIndex = List1.NewIndex
    End If
    Next i

    'Находим максимальный элемент сгенерированного массива
    maxElementArraySL = arraySL(1)
    For i = LBound(arraySL) To UBound(arraySL)
    If maxElementArraySL < arraySL(i) Then maxElementArraySL = arraySL(i)
    Next i
    Text2.Text = maxElementArraySL


    'Находим сумму элементов массива, расположенных до последнего положительного элемента
    For i = UBound(arraySL) To LBound(arraySL) Step -1
    If arraySL(i) >= 0 Then
    poslPlusNumberArraySL = i
    Exit For
    End If
    Next i
    For i = LBound(arraySL) To poslPlusNumberArraySL
    summaArraySL = summaArraySL + arraySL(i)
    Next i
    Text3.Text = summaArraySL

    'Сжимаем массив, удалив из него все элементы, модуль которых
    'находится в интервале [а, Ь].
    'Освободившиеся в конце массива элементы заполняем i
    ReDim arrayNEW(1 To razmer)
    shetchikMassiva = 1
    For i = LBound(arraySL) To UBound(arraySL)
    If arraySL(i) > otZ And arraySL(i) < doZ Then GoTo e
    arrayNEW(shetchikMassiva) = arraySL(i)
    List2.AddItem arrayNEW(shetchikMassiva)
    shetchikMassiva = shetchikMassiva + 1
    e: Next i

    For i = shetchikMassiva To UBound(arrayNEW)
    arrayNEW(i) = zamena
    List2.AddItem arrayNEW(i)
    Next i
    End Sub


    Вид формы во время работы:






    Содержание:

    Лабораторная 1

    Лабораторная 2

    Лабораторная 3

    Лабораторная 4

    Лабораторная 5

    © Copyright 2006-2024. Все права защищены. Сайт бесплатно.