Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Производная алгоритмическая структура ПерестановкаСодержание книги
Поиск на нашем сайте
Используется в тех случаях, когда требуется поменять местами значения элементов массива. Особенности алгоритма. 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 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 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; просмотров: 319; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.15 (0.007 с.) |