Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Структурированные данные и алгоритмы их обработки





Тип данных, позволяющий хранить вместе под одним именем несколько переменных, называется структурированным. Рассмотрим структуру, объединяющую элементы одного типа данных, - массив.

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

Одномерный массив предполагает наличие у каждого элемента только одного индекса. Примерами одномерных массивов служат арифметическая (аi) и геометрическая (bi) последовательности, определяющие конечные ряды чисел. Количество элементов массива называют размерностью. При определении одномерного массива его размерность записывается в круглых скобках, рядом с его именем. Например, если сказано: "задан массив А(10)", это означает, что даны элементы: а 1, а 2,..., а 10.

Ввод одномерного массива осуществляется поэлементно, в порядке, необходимом для решения конкретной задачи. Блок-схема алгоритма ввода элементов массива А(10) представлена на рис. 21.

i= 1, 10, 1
Ввод a i
Алгоритм на псевдокоде:

Для i от 1 до 10 шаг 1

Нц

Ввод ai

Кц

 

Рис. 21.Ввод элементов

одномерного массива А(10)

Пример 1.

Рассмотрим алгоритм вычисления среднего арифметического положительных элементов числового массива А(10).

Среднее арифметическое есть отношение суммы к числу ее слагаемых, т.е.

среднее арифметическое =

Нет
Нет
Начало
S= 0 N =0
S=S+ a i N=N+ 1
i= 1, 10, 1
Положительных элементов нет
Вывод SA
Да
a i>0
i= 1, 10, 1
Ввод a i
Да
SA = S / N
N >0
Конец
Алгоритм решения задачи (рис. 22) будет содержать подсчет суммы (обозначим ее S), включающей положительные элементы массива i> 0), и количества ее слагаемых (обозначим N).

Алгоритм на псевдокоде:

Начало

Для i от 1 до 10 шаг 1

Нц

Ввод ai

Кц

S =0

N =0

Для i от 1 до 10 шаг 1

Нц

Если ai >0

то S = S + ai

N = N +1

Все

Кц

Если N >0

то SA = S / N

Вывод SA

Иначе

Вывод

"Положительных

элементов нет"

Все

Конец

 

Рис. 22. Блок-схема алгоритма вычисления среднего арифметического положительных элементов массива  

 


Пример

Пример 2.

В заданном числовом массиве А(10) найти наибольший элемент и его индекс, при условии, что такой элемент в массиве существует, и он единственный.

Обозначим индекс наибольшего элемента т. Будем считать, что первый элемент массива является наибольшим ( т = 1). Сравним поочередно наибольший с остальными элементами массива. Если оказывается, что текущий элемент массива аi (тот, с которым идет сравнение) больше выбранного нами наибольшего аm, то считаем его наибольшим (m = i). Блок-схема алгоритма решения задачи приведена на рис. 23.

Алгоритм на псевдокоде:

Начало

Начало
i= 1, 10, 1
Ввод ai
max=a1 m= 1
max=ai m=i
Вывод max, m
Конец
i= 2, 10, 1
ai>max
Для i от 1 до 10 шаг 1

Нц

Ввод ai

Кц

max=a1

m =1

Для i от 2 до 10 шаг 1

Нц

Если ai > max

то max = ai

m=i

Все

Кц

Вывод max, m

Конец

 

Рис. 23. Блок-схема алгоритма

поиска наибольшего элемента

массива и его индекса


 

Пример 3.

Нет
Начало
K= 1, P =1
K=K+ 1 AK=Ci
i= 1, 20, 1
Да
C i<0
i= 1, 20, 1
Ввод Сi
Конец
P=P+ 1 ВP=Ci
i= 1, K, 1
Вывод Аi
i= 1, Р, 1
Вывод Вi
Задан массив С, состоящий из 20 элементов целого типа. Сформировать два массива А и В, включая в первый отрицательные элементы исходного массива, во второй положительные элементы исходного массива. На рис. 24 представлена блок-схема решения данной задачи.

Алгоритм на псевдокоде:

Начало

Для i от 1 до 20 шаг 1

Нц

Ввод Сi

Кц

K= 0

P= 0

Для i от 1 до 20 шаг 1

Нц

Если Ci <0

то K = K +1, AK = Ci

иначе P = P +1, BP = Ci

Кц

Для i от 1 до K шаг 1

Нц

Вывод Аi

Кц

Для i от 1 до P шаг 1

Нц

Вывод Вi

Кц

Конец

 

Рис. 24. Блок-схема алгоритма

формирования новых массивов


 

Рассмотрим двумерный массив. В математике двумерный массив (таблица чисел) называется матрицей. Каждый элемент матрицы аij имеет два индекса, первый индекс i определяет номер строки, в которой находится элемент (координата по горизонтали), а второй j - номер столбца (координата по вертикали). Двумерный массив характеризуется двумя размерностями N и М, определяющими число строк и столбцов соответственно (рис. 25).

столбец j
строка i

Рис. 25. Матрица А (N ´ M)

Ввод элементов двумерного массива осуществляется построчно, в свою очередь, ввод каждой строки производится поэлементно, тем самым определяется циклическая конструкция, реализующая вложение циклов. Внешний цикл определяет номер вводимой строки (i),внутренний — номер элемента по столбцу (j).На рис. 26 представлена блок-схема алгоритма ввода матрицы А (N ´ М).

Алгоритм на псевдокоде:

i= 1, N, 1
Ввод aij
j= 1, M, 1
Для i от 1 до N шаг 1

Для j от 1 до M шаг 1

Нц

Ввод aij

Кц

 

 

Рис. 26.Ввод элементов

двумерного массива А (N ´ M)

 


Пример 1.

Пусть дана квадратная матрица А размером 5×5 состоящая из элементов целого типа. Необходимо преобразовать матрицу: поэлементно вычесть последний столбец из всех столбцов, кроме последнего. На рис. 27 представлена блок-схема решения данной задачи.

j= 1, 5, 1
Ввод A(i, j)
Начало
Конец
i= 1, 5, 1
A(i, j)=A(i, j)-A(i, 5)
j= 1, 4, 1
i= 1, 5, 1
j= 1, 5, 1
Вывод A(i, j)
i= 1, 5, 1
Алгоритм на псевдокоде:

Начало

Для i от 1 до 5 шаг 1

Для j от 1 до 5 шаг 1

Нц

Ввод А(i,j)

Кц

Для i от 1 до 5 шаг 1

Для j от 1 до 4 шаг 1

Нц

А(i,j)=А(i,j)-А(i, 5)

Кц

Для i от 1 до 5 шаг 1

Для j от 1 до 5 шаг 1

Нц

Вывод А(i,j)

Кц

Конец

 

Рис. 27. Блок-схема алгоритма

преобразования квадратной матрицы


Пример 2.

Найти сумму элементов А(i, j) массива А(5, 5), имеющих заданную разность индексов i - j = k (-4≤ k ≤ 4). На рис. 28 представлена блок-схема решения данной задачи.

Да
Нет
j= 1, 5, 1
Ввод A (i, j)
Начало
Конец
i= 1, 5, 1
j= 1, 5, 1
i= 1, 5, 1
Вывод S
S = S + A (i, j)
i - j = k
Ввод k
Алгоритм на псевдокоде:

Начало

Ввод k

Для i от 1 до 5 шаг 1

Для j от 1 до 5 шаг 1

Нц

Ввод А(i,j)

Кц

S =0

Для i от 1 до 5 шаг 1

Для j от 1 до 5 шаг 1

Нц

Если i - j = k

то S = S + A (i, j)

Все

Кц

Вывод S

Конец

 

 

Рис. 28. Блок-схема алгоритма вычисления суммы определенных элементов двумерного массива


Упражнения для самостоятельной работы

1. Задан массив А(10). Найти произведение отрицательных элементов массива с четными номерами (индексами).

2. Изменить знак всех элементов одномерного массива А(10) с нечетными номерами (индексами) на противоположный.

3. Задан массив размером 3*4. Найти максимальный по модулю элемент массива, номер строки и столбца, содержащий данный элемент, вывести на печать.

 







Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.