Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Синтез сложных алгоритмов

Читайте также:
  1. V.4 Возрастной грим. Метод «постепенного» старения. Использование сложных приемов, средств грима и постижа
  2. А. Тенденция к синтезу
  3. АВТОТИПНОГО СИНТЕЗУ
  4. АДИТИВНИЙ СИНТЕЗ КОЛЬОРУ
  5. Алгоритмический синтез
  6. Ассимиляция углерода (фотосинтез)
  7. Афферентный синтез как специфический механизм функциональной системы

ИЗ ПРОИЗВОДНЫХ АЛГОРИТМИЧЕСКИХ СТРУКТУР

 

При разработке более сложных информационных технологий используются алгоритмы, представляющие собой сочетания алгоритмов производных алгоритмических структур. Наиболее распространенные из них – Выборка и Перестановка.

 

4.1. Производная алгоритмическая структура Выборка

 

Эта структура предназначена для формирования в вычислительной среде нового массива в соответствии с заданным условием.

 

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

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

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

3. В случае формирования одномерного массива вводится одна дополнительная переменная, которая определяет положение элементов вновь формируемого массива. Переменная служит индексом нового массива, и ей присваивается начальное значение, равное нулю. При завершении циклического вычислительного процесса значение дополнительной переменной определяет размерность нового массива.

4. Телом цикла служит структура Развилка, определяющая условие выбора значений элементов массива и структура Следование, которая служит для увеличения значения индекса вновь формируемого массива на единицу.

 

Пример 14.

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

Входные данные:

m – целое число;

n – целое число;

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

Выходные данные:

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

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

k = 0;

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

если aij – четное, то k = k + 1 и bk = aij

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

 
 

 

 


да

 


нет
да

 

 


да

нет

 


да

 

 


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

Option Base 1

Private Sub Command1_Click()

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

Dim a() As Integer, b() As Integer

m=InputBox(“Введите количество строк матрицы”)

n=InputBox(“Введите количество столбцов матрицы”)

ReDim a(m,n), b(m*n)

For i=1 to m

For j=1 to n

a(i,j)=InputBox(“a(“ & i & ”,” & j & ”)”)

Next

Next

k=0

For i=1 to m

For j=1 to n

If a(i,j) mod 2 =0 Then k=k+1:

b(k)=a(i,j)

Next j

Next i

Print “Исходный массив A”

For i=1 to m

Print

For j=1 to n

Print a(i,j);

Next

Next

If k <>0 Then

Print Chr(10);“Заполнен массив В ”

For i=1 to k

Print b(i);

Next

Else

Print “Четных значений элементов в массиве А нет”

End If

End Sub

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

 

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

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

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

 

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

 

 

 


Дата добавления: 2015-11-26; просмотров: 202 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.014 сек.)