У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net: 2015-12-26

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 4.3.2025

Содержание

Цель работы: 4

Порядок выполнения работ: 4

Основные этапы работы: 4

Задания: 4

Одномерные массивы 4

Двумерные массивы 4

Одномерные массивы 5

Уровень сложности №1 5

Задание 1 5

Реализация приложения. 5

На форме размещены: 5

Блок – схема 5

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

Задание 2 6

Реализация приложения. 6

На форме размещены: 7

Блок – схема 7

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

Задание 3 7

Реализация приложения: 7

На форме размещены: 7

Блок – схема 8

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

Уровень сложности №2 9

Задание 1: заменить первые k элементов массива на те же элементы в обратном порядке 9

Реализация приложения. 9

На форме размещены: 9

Блок – схема 9

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

Уровень сложности №3 11

Задание 1: перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k]. 11

Реализация приложения. 11

На форме размещены: 11

Блок – схема 12

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

Двумерные массивы 13

Уровень сложности №1 13

Задание 1 13

Реализация приложения. 13

На форме размещены: 13

Блок – схема 14

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

Уровень сложности №2 16

Задание 1: вставить после всех строк, содержащих максимальный по модулю элемент, первую строку. 16

Реализация приложения. 16

На форме размещены: 16

Блок – схема 16

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

Уровень сложности №3 20

Задание 1: подсчитать количество одинаковых чисел под побочной диагональю матрицы 20

Реализация приложения. 20

На форме размещены: 20

Блок – схема 21

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

Вывод: 24


Цель работы:

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

Порядок выполнения работ:

1. Запустить программу Visual Basic.

2. Изучить правила работы с одномерными и двумерными массивами - описание, ввод-вывод элементов массива, операции с элементами массива.

3. Выполнить задания, приведенные в методических указаниях.

4. Сохранить результаты работы на личной дискете.

Основные этапы работы:

1. Изучить правила работы с одномерными и двумерными массивами - описание, ввод-вывод элементов массива, операции с элементами массива. 

2. Изменение свойств управляющих элементов.

3. Выполнение заданий.

4. Сохранить результаты работы на личной дискете.

Задания:

Одномерные массивы

Уровень сложности №1.

Задание 1: дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-20,40]. Найти удвоенную сумму положительных элементов.

Задание 2: вывести индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго).

Задание 3: определить, есть ли две пары соседних элементов с одинаковыми знаками.

Уровень сложности №2

Задание 1: заменить первые k элементов массива на те же элементы в обратном порядке.

Уровень сложности №3

Задание 1: перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k].

Двумерные массивы

Уровень сложности №1.

Задание 1: дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.

Уровень сложности №2.

Задание 1: вставить после всех строк, содержащих максимальный по модулю элемент, первую строку.

Уровень сложности №3.

Задание 1: Подсчитать количество одинаковых чисел под побочной диагональю матрицы

Одномерные массивы

Уровень сложности №1

Задание 1: дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-20,40]. Найти удвоенную сумму положительных элементов.

Реализация приложения.

Дано: массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-20,40].

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопка для выполнения действия приложения.

Блок – схема

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

Private Sub Command1_Click()

n = Val(Text1.Text)

ReDim mass(n) As Integer

Text2.Text = ""

For i = 1 To n

randomValue = Int(Rnd * (40 - (-20) + 1) + (-20))

mass(i) = randomValue

Text2.Text = Text2.Text + Str(randomValue) + " "

Next i

End Sub

Private Sub Command2_Click()

sumel = 0

For i = 1 To n

If mass(i) > 0 Then sumel = sumel + mass(i)

Next i

sumel = sumel * 2

Text3.Text = sumel

End Sub

Задание 2: вывести индексы тех элементов, значения которых больше значения предыдущего элемента (начиная со второго).

Реализация приложения. 

Дано: массив случайных чисел.

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопки для выполнения действия приложения.

Блок – схема

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

Private Sub Command3_Click()

For i = 2 To n

If mass(i) > mass(i - 1) Then Text4.Text = Text4.Text + Str(i) + " "

Next i

End Sub

Задание 3: определить, есть ли две пары соседних элементов с одинаковыми знаками.

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

Дано: массив случайных чисел.

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопки для выполнения действия приложения.

Блок – схема

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

Private Sub Command4_Click()

For i = 2 To n

If mass(i - 1) > 0 Then

If mass(i) > 0 Then

plus = plus + 1

End If

Else

If mass(i) < 0 Then

minus = minus + 1

End If

End If

Next i

If plus >= 2 Or minus >= 2 Then

Text5.Text = "Да"

Else

Text5.Text = "Нет"

End If

End Sub

Уровень сложности №2

Задание 1: заменить первые k элементов массива на те же элементы в обратном порядке

Реализация приложения.

Дано: массив случайных чисел.

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопка для выполнения действия приложения.

Блок – схема

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

Dim mass() As Integer, mass2() As Integer, D() As Integer, A() As Integer, min As Integer, n, i, k, s As Integer, nommin As Integer

Private Sub Command1_Click()

n = Val(Text1.Text)

ReDim mass(n) As Integer

Text2.Text = ""

For i = 1 To n

randomValue = Int(Rnd * (40 - (-20) + 1) + (-20))

mass(i) = randomValue

Text2.Text = Text2.Text + Str(mass(i)) + " "

Next i

End Sub

Private Sub Command3_Click()

k = Val(Text5.Text)

Text4.Text = ""

ReDim D(n) As Integer

s = 0

For i = k To 1 Step -1

s = s + 1

D(s) = mass(i)

Text4.Text = Text4.Text + Str(D(s)) + " "

Next i

For i = k + 1 To n

D(i) = mass(i)

Text4.Text = Text4.Text + Str(D(i)) + " "

Next i

End Sub

Уровень сложности №3

Задание 1: перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k].

Реализация приложения.

Дано: массив случайных чисел.

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопки для выполнения действия приложения.

Блок – схема

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

Dim mass() As Integer, b() As Integer, m As Integer, n, i, k As Integer

Private Sub Command1_Click()

n = Val(Text1.Text)

ReDim mass(n) As Integer

Text2.Text = ""

For i = 1 To n

randomValue = Int(Rnd * (175 - (-135) + 1) + (-135))

mass(i) = randomValue

Text2.Text = Text2.Text + Str(mass(i)) + " "

Next i

End Sub

Private Sub Command2_Click()

k = Val(Text4.Text)

ReDim b(n) As Integer

m = 0

For i = k + 1 To n

m = m + 1

b(m) = mass(i)

Next i

For i = 1 To k

m = m + 1

b(m) = mass(i)

Next i

For i = 1 To n

Text3.Text = Text3.Text + Str(b(i)) + " "

Next i

End Sub

Двумерные массивы

Уровень сложности №1

Задание 1: дан двумерный массив размером n*m, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов.

Реализация приложения.

Дано: двумерный массив размером n*m.

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопка для выполнения действия приложения.

Блок – схема

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

Dim n, m, i, j, plus, minus, da As Integer, a() As Integer

Private Sub Command1_Click()

n = Val(Text1.Text)

m = Val(Text2.Text)

Text3.Text = ""

ReDim a(n, m)

For i = 1 To n

For j = 1 To m

a(i, j) = Int(Rnd * (50 - (-50) + 1) + (-50))

Text3.Text = Text3.Text + Format(Str(a(i, j)), "00") + "      "

Next j

Text3.Text = Text3.Text + Chr(13) + Chr(10)

Next i

End Sub

Private Sub Command2_Click()

da = 0

For j = 1 To m

plus = 0

minus = 0

For i = 1 To n

If a(i, j) > 0 Then

plus = plus + 1

Else

minus = minus + 1

End If

Next i

If plus = minus Then da = 1

Next j

If da = 1 Then

Text4.Text = "Есть"

Else

Text4.Text = "Нет"

End If

End Sub

Private Sub Command3_Click()

Unload Me

End Sub

Уровень сложности №2

Задание 1: вставить после всех строк, содержащих максимальный по модулю элемент, первую строку.

Реализация приложения.

Дано: массив случайных чисел.

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопка для выполнения действия приложения.

Блок – схема

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

Dim n, m, i, j As Integer, a() As Integer, b() As Integer, strok() As Integer, max, prin As Integer

Private Sub Command1_Click()

n = Val(Text1.Text)

m = Val(Text2.Text)

Text3.Text = ""

ReDim a(n, m)

For i = 1 To n

For j = 1 To m

a(i, j) = Int(Rnd * (50 - (-50) + 1) + (-50))

Text3.Text = Text3.Text + Format(Str(a(i, j)), "00") + "      "

Next j

Text3.Text = Text3.Text + Chr(13) + Chr(10)

Next i

End Sub

Private Sub Command2_Click()

ReDim b(n, m) As Integer

ReDim strok(m) As Integer

max = 0

Text4.Text = ""

For i = 1 To n

For j = 1 To m

If i = 1 Then

strok(j) = a(1, j)

End If

b(i, j) = Abs(a(i, j))

If max < b(i, j) Then

max = b(i, j)

End If

Next j

Next i

For i = 1 To n

prin = 0

For j = 1 To m

Text4.Text = Text4.Text + Format(Str(a(i, j)), "00") + "      "

If b(i, j) = max Then

prin = 1

End If

Next j

If prin = 1 Then

Text4.Text = Text4.Text + Chr(13) + Chr(10)

For l = 1 To m

Text4.Text = Text4.Text + Format(Str(strok(l)), "00") + "      "

Next l

Text4.Text = Text4.Text + Chr(13) + Chr(10)

End If

Text4.Text = Text4.Text + Chr(13) + Chr(10)

Next i

End Sub

Private Sub Command3_Click()

Unload Me

End Sub

Уровень сложности №3

Задание 1: подсчитать количество одинаковых чисел под побочной диагональю матрицы

Реализация приложения.

Дано: массив случайных чисел.

На форме размещены:

1. текстовые окна (TextBox), предназначенные для ввода исходных данных;

2. метки (Label) для подписи окон;

3. кнопки для выполнения действия приложения.

Блок – схема

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

Dim n, i, j As Integer, a() As Integer, m, u, v As Integer, b() As Integer, mas2() As Integer, kol As Integer, kolvo() As Integer

Private Sub Command1_Click()

n = Val(Text1.Text)

Text3.Text = ""

ReDim a(n, n) As Integer

For i = 1 To n

For j = 1 To n

a(i, j) = Int(Rnd * (10 - (-10) + 1) + (-10))

Text3.Text = Text3.Text + Format(Str(a(i, j)), "00") + "      "

Next j

Text3.Text = Text3.Text + Chr(13) + Chr(10)

Next i

End Sub

Private Sub Command2_Click()

Text4.Text = ""

m = 0

ReDim b(n * n) As Integer

ReDim mas2(n * n) As Integer

ReDim kolvo(n * n) As Integer

For i = n To 1 Step -1

For j = 1 To n

If (n - i + 1) < j Then

m = m + 1

b(m) = a(i, j)

End If

Next j

Next i

For i = 1 To m

           For j = 1 To m - 1

               If b(j) > b(j + 1) Then

                   u = b(j)

                   b(j) = b(j + 1)

                   b(j + 1) = u

               End If

           Next j

Next i

kol = b(1)

v = 1

kolvo(v) = 0

For i = 1 To m

If kol = b(i) Then

kolvo(v) = kolvo(v) + 1

mas2(v) = b(i)

Else

v = v + 1

kol = b(i)

kolvo(v) = kolvo(v) + 1

mas2(v) = b(i)

End If

Next i

For i = 1 To v

If kolvo(i) > 1 Then

Text4.Text = Text4.Text + Str(mas2(i)) + ": " + Str(kolvo(i)) + Chr(13) + Chr(10)

End If

Next i

End Sub

Private Sub Command3_Click()

Unload Me

End Sub

Вывод: 

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

PAGE   \* MERGEFORMAT 1


Начало

n

I=1;n

mass(i)

mass(i)

I=1;n

mass(i) > 0

Нет

Да

sumel = sumel + mass(i)

sumel = sumel * 2

mass(i)

Конец

Начало

I=2;n

mass(i) > mass(i - 1)

Нет

Да

i

Конец

Начало

n

I=2;n

mass(i - 1) > 0

Нет

Да

Конец

mass(i) > 0

Нет

Да

plus = plus + 1

Нет

mass(i) < 0

Да

minus = minus + 1

plus >= 2 Or minus >= 2

Нет

Да

Да

Нет

Начало

n, k

i = k; 1;-1

Конец

s = 0

s = s + 1

D(s) = mass(i)

D(s)

i = k+1; n

D(i) = mass(i)

D(i)

Начало

n, k

i = k+1; n

Конец

m= 0

b(m) = mass(i)

i = 1; k

m = m + 1

b(m) = mass(i)

i = 1; n

b(i)

Начало

n, m

I=1;n

a(i, j)

a(i, j)

j=1;m

da = 0

j=1;m

plus = 0

minus = 0

i=1;n

a(i, j) > 0

Нет

Да

plus = plus + 1

minus = minus + 1

Есть

Конец

plus = minus

Нет

Да

da = 1

da = 1

Нет

Да

Нет

Начало

n, m

I=1;n

a(i, j)

a(i, j)

j=1;m

max = 0

I=1;n

j=1;m

i = 1

Нет

Да

strok(j) = a(1, j)

b(i, j) = Abs(a(i, j))

max < b(i, j)

Нет

Да

max = b(i, j)

I=1;n

prin = 0

j=1;m

a(i, j)

b(i, j) = max

Нет

Да

prin = 1

prin = 1

Нет

Да

l=1;m

strok(l)

Конец

Начало

n

I=1;n

a(i, j)

a(i, j)

j=1;n

m = 0

I=n;1;-1

j=1;n

(n - i + 1) < j

Нет

Да

m = m + 1

b(m) = a(i, j)

I=1;m

j=1;m-1

b(j) > b(j + 1)

Нет

Да

u = b(j)

b(j) = b(j + 1)

b(j + 1) = u

kol = b(1)

v = 1

kolvo(v) = 0

i=1;m

kol = b(i)

Нет

Да

kolvo(v) = kolvo(v) + 1

mas2(v) = b(i)

v = v + 1

kol = b(i)

kolvo(v) = kolvo(v) + 1

mas2(v) = b(i)

i=1;v

kolvo(i) > 1

Нет

Да

mas2(i), kolvo(i)

Конец




1. вступил в силу закон о новом регулировании энергетического хозяйства предусматривающий свободный выбор пос.html
2. Педагогические взгляды Толстого
3. ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ ИССЛЕДОВАНИЕ ОСНОВНЫХ ХАРАКТЕРИСТИК ОПЕРАЦИОННЫХ УСИЛИТЕЛЕЙ Выполнил ст.html
4. То'ырау жылдары 2
5. слово и моление 12 век Даниил Заточник 5слово о полку Игореве
6. Королевский путь
7. Природа экономических противоречий
8. ДИККС1999113с Учебное пособие для студентов институтов и колледжей искусств икультуры а также для инт
9. Специфика организации социологического исследования в области социальной защиты населения
10. навчальний посібник з політичної економії побудований відповідно до навчальної програми яка була рекомендо