Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
posobie.doc
Скачиваний:
27
Добавлен:
31.03.2015
Размер:
1.43 Mб
Скачать

2. Входные данные

цел n- число элементов массива; простая переменная; ...

цел а- заданный одномерный массив; .....

3. Выходные данные

цел km– искомый номер; ....

4. Аномалиине рассматриваем

5. Функциональные тестысоставить самостоятельно. Предусмотреть тесты для каждой из возможных ситуаций расположения элементов.

6. Метод

Пусть k1- номер первого элемента, удовлетворяющегос1,

истина, если такой элемент есть,

ложь, в противном случае.

лог р1=

истина, если такой элемент есть,

ложь, в противном случае.

k2- номер первого элемента, удовлетворяющегос2,

лог р2=

Соотношениями значений этих переменных описываются все перечисленные ситуации.

Схема решения

Поиск значений p1иk1

Вх.: n,a; вых.:p1,k1

A1

задача типа

«Поиск по условию»

Вх.: n,a; вых.:p2,k2

Поиск значений p2иk2

A2

{сит.1} если p1&p2& (k1<=k2) то

Вх.: n, a, k1, k2; вых.: km

Поиск номера максимального элемента, начиная с № k1до №k2,

c проверкой условия с1

A3

вывод (km) по обр4;

кесли;

{сит.2} если p1 & p2& (k1>k2) то

вывод по обр5;

кесли;

{сит.3} если p1& ¬p2то

Вх.: n, a, k1, k2; вых.: km

k2:=n;

Поиск номера максимального элемента, начиная с № k1до №k2,

c проверкой условия с1

A4

вывод (km) по обр6;

кесли;

{сит.4} если ¬p1&p2то

вывод по обр7;

кесли;

{сит.5} если ¬p1& ¬p2то

вывод по обр8;

кесли;

Замечание.Видно, что задачи А3 и А4 схожи по постановке (и даже совпадают). Тем не менее каждая из них должна быть представлена в программе, поэтому они имеют разные имена. Очевидно, для их решения будет использован один и тот же алгоритм, который будет записан дважды.

Далее такие «одинаковые» задачи мы будем оформлять в виде процедур, и тогда описание процедуры будет представлять собой обобщенный алгоритм решения, а две задачибудут решатьсядвумя вызовамиодной процедуры, т.е. А3 и А4 будут соответствовать отдельным вызовам одной процедуры. Не путать!

4.4. Упорядочение одномерного массива

Упорядочение, или сортировка,массива – размещение его элементов в заданном порядке: по убыванию или по возрастанию. Мы рассмотрим только так называемуювнутреннюю сортировку, когда обрабатываемый массив введен в оперативную память. Алгоритмывнешней сортировкипредназначены для сортировки файлов на внешнем устройстве и здесь не рассматриваются.

Приведены два базовых метода упорядочения:

  • включения, основанный на поиске максимума (или минимума);

  • пузырька, основанный на проверке условия упорядоченности.

Входной массив оставим тот же, что в предыдущих задачах.

1. Задача Order.Упорядочить в порядке убывания элементы одномерного массиваa[n].

Пример

Пусть n=5,a=(5 3 9 4 2).

Упорядоченный массив: a=(9 5 4 3 2).

2. Входные данные. Состав и входная форма те же, что в задачахExtrиCond_2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]