Производная алгоритмическая структура Перестановка 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Производная алгоритмическая структура Перестановка



 

Используется в тех случаях, когда требуется поменять местами значения элементов массива.

Особенности алгоритма.

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

2. В зависимости от размерности массива определяется тип вычислительного процесса – цикл или цикл в цикле.

3. Телом цикла служит структура Следование, состоящая из трех блоков:

- в первом блоке дополнительной переменной присваивается значение первого из двух элементов массива, значения которых переставляются;

- во втором блоке этому элементу массива присваивается значение второго из двух элементов массива;

- в третьем блоке второму из элементов присваивается значение дополнительной переменной.

Пример 15.

Разработать информационную технологию, позволяющую поменять местами элементы k-го столбца и q-й строки квадратной матрицы А произвольной размерности m×m.

Входные данные: m, k, q – целые числа;

A=[aij], , – массив целых чисел.

Выходные данные: A=[aij], , – массив целых чисел.

Математическая модель:

для i = 1.. m, j = m.. 1;

d = aik, aik = aqj, aqj = d

Схема алгоритма:

 
 
 
 
 


Код приложения:

Private Sub Command1_Click()

Dim i As Integer, j As Integer, k As Integer, q As Integer, m As Integer

Dim d As Integer, a() As Integer

m = Text1

k = Text2

q = Text3

ReDim a(1 To m, 1 To m)

For i = 1 To m

For j = 1 To m

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

Next

Next

Print Chr(10); " Исходный массив А "

For i = 1 To m

Print

For j = 1 To m

Print a(i, j);

Next

Next

For i = 1 To m

For j = m To 1 Step -1

d = a(i, k)

a(i, k) = a(q, j)

a(q, j) = d

Next

Next

Print Chr(10); "Полученный массив А "

For i = 1 To m

Print

For j = 1 To m

Print a(i, j);

Next

Next

End Sub

 

Результат выполнения кода приложения представлен на форме:

 

 

 

Пример информационной технологии,

Реализующей процесс упорядочения элементов массива

Для упорядочения значений элементов массива по возрастанию (убыванию) используются производные алгоритмические структуры Поиск максимума (минимума) и Перестановка.

 

Пример 16.

Разработать информационную технологию, позволяющую упорядочить вектор А произвольной размерности m по возрастанию значений его элементов.

Входные данные: m – целое число;

A=[ai], – массив целых чисел.

Выходные данные: A=[ai], – упорядоченный массив целых чисел.

Математическая модель:

для n = m...1

y = –1000; для i = 1.. n;

если ai < y, то y = ai, k = i, ak = an, an = y

Схема алгоритма:

 

 
 

Код приложения:

Private Sub Form_Click()

Dim m As Integer, n As Integer, A() As Integer

Dim i As Integer, k As Integer, y As Integer

m = InputBox("Введите размерность вектора")

ReDim A(1 To m)

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

For i = 1 To m

а(i) = InputBox("a(" & i & ")=")

Print а(i);

Next

For n = m To 1 Step -1

y = -10000

For i = 1 To n

If а(i) > y Then y = а(i): k = i

Next i

а(k) = а(n): а(n) = y

Next n

Print Chr(10); "Упорядоченный массив"

For i = 1 To m

Print а(i);

Next

End Sub


 

 



Поделиться:


Последнее изменение этой страницы: 2016-12-10; просмотров: 217; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.64.128 (0.008 с.)