Главная Контакты В избранное
  • Лабораторная работа "Работа с массивами"

    АвторАвтор: student  Опубликовано: 10-12-2020, 20:21  Комментариев: (0)

    Скачать: 2-var.rar [414,58 Kb] (cкачиваний: 0)  

     

    Работа с массивами

    Цель

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

    Одномерные массивы. Задания первого уровня сложности

    Реализация формы приложения:

    Блок схема:

    Текст программы:

    Private Sub Command1_Click()

    Picture1.Cls

    Dim f As Boolean

    Dim m(), pr As Integer

    n = Val(Text1)

    A = Val(Text2)

    k = Val(Text3)

    ReDim m(n)

    Dim s As String

    f = False

    For i = 1 To n

    m(i) = Int((31 * Rnd()) - 15)

    s = s + Str(m(i)) + " "

    Next i

    Picture1.Print "Исходный массив:"

    Picture1.Print s

    s = ""

    pr = 1

    For i = 1 To n

    If m(i) Mod 2 = 0 Then pr = pr * m(i)

    Next i

    Picture1.Print "Произведение элементов, имеющих четное значение: "

    Picture1.Print pr

    Dim ind As String

    ind = ""

    For i = 1 To n

    If Abs(m(i)) < A Then ind = ind & " " & i & " "

    Next i

    Picture1.Print "Индексы элементов, значения которых по модулю меньше заданного числа А:"

    Picture1.Print ind

    Picture1.Print "Есть ли в данном массиве положительные элементы, делящиеся на заданное число k с остатком 2"

    For i = 1 To n

    If m(i) Mod k = 2 And m(i) > 0 Then f = True

    Next i

    If f Then Picture1.Print "Есть" Else Picture1.Print "Нет"

    End Sub

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Одномерные массивы. Задания второго уровня сложности

    Реализация формы приложения:

    Блок схема:

    Текст программ:

    Private Sub Command1_Click()

    Picture1.Cls

    n = Val(Text1)

    Dim s As String

    Dim A(100) As Single

    Dim mas(100) As Long

    For i = 1 To n

    A(i) = CInt(Int((100 * Rnd()) - 30))

    s = s & A(i) & " "

    Next i

    Picture1.Print "Массив:"

    Picture1.Print s

    For i = n To 1 Step -1

    If A(i) Mod 3 = 0 Then

    A(i) = 0

    Exit For

    End If

    Next i

    s = ""

    For i = 1 To n

    s = s & A(i) & " "

    Next i

    Picture1.Print "Задание 1:"

    Picture1.Print s

    For i = 1 To n

    If i Mod 2 = 0 Then A(i) = A(i) * i

    Next i

    s = ""

    For i = 1 To n

    s = s & A(i) & " "

    Next i

    Picture1.Print "Задание 2:"

    Picture1.Print s

    mas(1) = 0

    For i = 2 To n

    If i Mod 2 = 0 Then

    mas(i) = i * A(i) ^ 2

    Else

    mas(i) = A(i) / (i - 1)

    End If

    Next i

    s = ""

    For i = 1 To n

    s = s & mas(i) & " "

    Next i

    Picture1.Print "Задание 3:"

    Picture1.Print s

    End Sub

     

     

     

    Двумерные массивы. Задания первого уровня сложности

    Реализация формы приложения:

    Блок схема:

    Текст программы:

    Private Sub Command1_Click()

    Picture1.Cls

    Picture2.Cls

    n = Val(Text1)

    m = Val(Text2)

    Dim s As String

    Dim f As Boolean

    f = False

    Dim a() As Long

    Dim mas() As Long

    ReDim mas(n, n)

    ReDim a(n, m)

    For i = 1 To n

    For j = 1 To m

    a(i, j) = 100 * Rnd() + 1

    Next j, i

    For i = 1 To n

    For j = 1 To m

    s = s & a(i, j) & " "

    Next j

    s = s & vbCrLf

    Next i

    Picture1.Print s

    Max = a(1, 1)

    Min = a(1, 1)

    For i = 1 To n

    For j = 1 To m

    If a(i, j) > Max Then Max = a(i, j)

    If a(i, j) < Min Then Min = a(i, j)

    Next j, i

    For i = 1 To n

    For j = 1 To m

    Sum = Sum + a(i, j)

    Next j, i

    sa = Sum / (n * m)

    r = sa - (Min + Max) / 2

    Picture1.Print "разность между средним арифметическим элементов массива"

    Picture1.Print "и средним арифметическим максимального и минимального элементов: " & r

    For i = 1 To n

    For j = 1 To n

    mas(i, j) = i

    Next j,i

    s = ""

    For i = 1 To n

    For j = 1 To n

    s = s & mas(i, j) & " "

    Next j

    s = s & vbCrLf

    Next i

    Picture2.Print s

    End Sub

    Двумерные массивы. Задания второго уровня сложности

    Реализация формы приложения:

    Блок схема:

    Текст программы:

    Private Sub Command1_Click()

    Picture1.Cls

    Picture2.Cls

    Picture3.Cls

    Picture4.Cls

     

    n = Val(Text1)

    m = Val(Text2)

    Dim s As String

    ReDim a(n, m) As Integer

     

    For i = 1 To n

    For j = 1 To m

    a(i, j) = Rnd * 35 - 15

    Next j, i

     

    s = ""

    For i = 1 To n

    For j = 1 To m

    s = s & a(i, j) & " "

    Next j

    s = s & vbCrLf

    Next i

    Picture1.Print s

     

    For i = 1 To n

    Min = Abs(a(i, 1))

    ind_min = 1

    For j = 1 To m

    If Abs(a(i, j)) < Min Then Min = Abs(a(i, j)): ind_min = j

    Next j

    a(i, ind_min) = 0

    Next i

     

    s = ""

    For i = 1 To n

    For j = 1 To m

    s = s & a(i, j) & " "

    Next j

    s = s & vbCrLf

    Next i

    Picture2.Print s

     

    For i = 1 To n

    temp = a(i, 1)

    a(i, 1) = a(i, n)

    a(i, n) = temp

    Next i

    s = ""

    For i = 1 To n

    For j = 1 To m

    s = s & a(i, j) & " "

    Next j

    s = s & vbCrLf

    Next i

    Picture3.Print s

    For i = 1 To n

    For j = 1 To m

    If a(i, j) = 0 Then

    For x = i To n - 2

    For y = 1 To m

    a(x, y) = a(x + 1, y)

    Next y, x

    n = n - 1

    End If

    Next j, i

    s = ""

    For i = 1 To n

    For j = 1 To m

    s = s & a(i, j) & " "

    Next j

    s = s & vbCrLf

    Next i

    Picture4.Print s

     

    End Sub

     

    скачать dle 10.6фильмы бесплатно