Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Основы алгоритмизации / lec_m2_ipovs_informatica_231000.62.ppt
Скачиваний:
85
Добавлен:
19.02.2017
Размер:
2.26 Mб
Скачать

Пример 3: Произведение всех элементов массива А(10)

10

I этап: PR Ai

i 1

II этап: входные данные - массив А промежуточные данные - i выходные данные - PR

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

Начало

Ввод Ai i 1..10

PR=1

i=1,10,1

PR=PR*Ai

III этап: разработка схемы

PR=1

Вывод PR

 

 

 

 

 

 

 

рекуррентная формула произведения:

Конец

 

 

PR = PR * Ai

 

 

Пример 4: Произведение отрицательных элементов массива А (с 3-го по 8-й)

Начало

Ввод Ai i 1..10

PR=1, n=0

i=3,8,1

Да

Ai<0 PR=PR*Ai

n=1 Нет

 

Да

n=1

Нет

 

 

 

 

 

 

 

 

 

 

 

 

Нет отриц.

Вывод PR

 

 

 

 

элементов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

Пример 5: Максимальный элемент массива А

Начало

 

 

Ввод Ai i 1..10

 

 

m=A1

 

 

i=1,10,1

 

 

m<Ai

Да

m=Ai

 

Нет

 

 

Вывод m

 

 

Конец

Примечание:

Можно ввести следующие дополнительные проверки:

-единственность максимума

-все элементы равны

Сортировка элементов массива

Алгоритмы выбора

Алгоритмы обмена

Алгоритм выбора

Исходный массив: 5 4 1 3 2

n=5

1 этап - находим макс. элемент и меняем местами с последним элементом:

2 4 1 3 5

2 этап – (рассматриваем массив на единицу короче n=4) находим макс. элемент и меняем местами с последним элементом в

укороченном массиве:

2 3 1 4 5

3 этап – (рассматриваем массив на единицу короче n=3) находим макс. элемент и меняем местами с последним элементом в

укороченном массиве

2 1 3 4 5

4 этап – (рассматриваем массив на единицу короче n=2) находим макс. элемент и меняем местами с последним элементом в

укороченном массиве

1 2 3 4 5

5 этап – (рассматриваем массив на единицу короче n=1) находим макс.

элемент и меняем местами с самим собой

1 2 3 4 5 Вывод: 1) на каждом этапе повторяются одни и те же действия

2)этапы отличаются только количеством элементов массива

3)число этапов равно размеру массива

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

Начало

 

Ввод Ai i 1..10

 

k=n, 1, -1

 

max = A1

 

nom = 1

 

i=1, k, 1

 

Да

max = Ai

max<Ai

 

Нет

nom = i

 

 

buf = Anom

 

Anom= Ak

Внешний цикл

Ak = buf

 

Вывод Ai i 1..10

 

Конец

 

Алгоритм обмена

Исходный массив: 5 4 1 3 2

 

n=5

 

1

этап – сравниваем два соседних элемента: если предыдущий больше

 

последующего, то меняем их местами:

4 1 3 5 2

4 1 3 2 5

 

4 5 1 3 2

4 1 5 3 2

2

этап – (рассматриваем массив на единицу короче n=4) сравниваем два

 

соседних элемента: если предыдущий больше последующего,

то меняем их местами:

1 3 2 4 5

3 этап – (рассматриваем массив на единицу короче n=3) сравниваем два соседних элемента: если предыдущий больше последующего,

то меняем их местами:

1 2 3 4 5

4 этап – (рассматриваем массив на единицу короче n=2) сравниваем два соседних элемента: если предыдущий больше последующего,

то меняем их местами:

1 2 3 4 5

5 этап – (рассматриваем массив на единицу короче n=1) сравнения нет

1 2 3 4 5 Вывод: 1) на каждом этапе повторяются одни и те же действия

2)этапы отличаются только количеством элементов массива

3)число этапов равно размеру массива

Схема алгоритма метода обмена

Начало

 

 

Ввод Ai i 1..n

 

 

k=n,1,-1

 

 

i=1,k-1,1

 

 

 

Да

buf=Ai

Ai> Ai+1

Ai=Ai+1

 

Нет

 

Ai+1=buf

 

 

Вывод Ai i 1..n

 

 

Конец

 

 

Двумерные массивы (матрицы)

Типовые алгоритмы обработки матриц

Обозначения 2-мерных массивов

1.Словесное описание:

Например, матрица А(n,m) целых чисел

2.Математическое описание:

- матрица А:

{ Аij } i=1,n

j=1,m или А(n х m)

- элементы матрицы А:

А11 А12 А13 …А1m

А21

А22 А23 …А2m

 

 

А31

А32 А33 …А3m

 

 

Аn1

Аn2 Аn3 …Аnm

.

 

 

Замечание. 1. Размерность массива А равна 2.

2. Размер массива А - n х m элементов

Соседние файлы в папке Основы алгоритмизации