Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Kurs2011

.pdf
Скачиваний:
10
Добавлен:
15.06.2014
Размер:
615.51 Кб
Скачать

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

1

2

3

4

5

6

7

8

Массив до сортировки

10

2

–3

14

–10

–1

40

18

Массив после сортировки

2

10

–1

14

–3

–10

18

40

Условия по вариантам.

1.Разбить массив на тройки элементов. Отсортировать каждый третий элемент по возрастанию, каждый второй – по убыванию, каждый первый – не сортировать.

Если элемент равен нулю, его также не сортировать.

2.Если MAX есть максимальное, а MIN – минимальное значения элементов, то элементы со значениями большими, чем (MAX+MIN)/2 сортировать по возрастанию; элементы с меньшими значениями – по убыванию; элементы со значениями равными (MAX+MIN)/2 не сортировать.

3.Отсортировать элементы, находящиеся между двумя по возрастанию значений. Эти два есть:

-первый и последний нули, если нулей больше одного;

-нуль и последний элемент, если нуль один;

-первый и последний элемент, если нулей нет.

4.Отсортировать положительные элементы по возрастанию, отрицательные – по убыванию значений. Если сумма S всех элементов – больше нуля, то имеющиеся нулевые элементы включить в разряд положительных; если S<0 – в разряд отрицательных; если S=0, то нулевые элементы остаются на своих местах.

5.Отсортировать часть элементов по возрастанию значений. Выбор элементов

для сортировки осуществляется в зависимости от соотношения среднего геометрического g+ первых двух положительных элементов и среднего геометрического gпервых двух отрицательных элементов:

-если g+ > g, то сортируется первая треть массива;

-если g+ < g, то сортируется последняя треть массива;

-если g+ = g, то сортируется вторая треть массива.

Если число положительных либо отрицательных элементов меньше двух, то осуществляется сортировка всего массива.

6.Отсортировать массив по возрастанию значений элементов. Элементы с максимальным, минимальным и нулевым значениями не сортировать. Если нулевые значения отсутствуют, то осуществляется сортировка всего массива.

7.Элементы со значениями меньше среднего арифметического значений всех элементов сортировать по убыванию; элементы с большим или равным значением – по возрастанию.

8.Отсортировать массив, если число отрицательных элементов не менее двух, а иначе – не сортировать. Если число элементов массива четное, то сортировка осуществляется по возрастанию значений элементов, а если нечетное – по убыванию.

9.Отсортировать массив по возрастанию значений элементов до второго нулевого элемента (если нулей меньше двух – сортировать по возрастанию до конца); после второго нулевого элемента (включая его) – не сортировать.

21

10.Найти максимальное значение элементов массива. Если число элементов, имеющих максимальное значение, больше одного, то отсортировать элементы, находящиеся между ними в порядке возрастания.

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

сминимальным значением – не сортировать. Если элемент с минимальным значением один, то элементы, находящиеся после него, не сортировать.

12.Если имеются нулевые и отрицательные элементы, то отсортировать элементы, находящиеся между последним нулевым и первым отрицательным элементами в порядке возрастания значений элементов. Иначе – не сортировать.

13.Отсортировать массив в порядке:

возрастания, если среднее арифметическое элементов с четными значениями больше среднего арифметического элементов с нечетными значениями;

убывания, если среднее арифметическое элементов с четными значениями меньше среднего арифметического элементов с нечетными значениями;

14. Отсортировать в порядке возрастания элементы, имеющие четные номера и четные значения. Элементы, имеющие нечетные номера и нечетные значения сортировать в порядке убывания. Остальные элементы не сортировать.

15. Отсортировать положительные элементы с четными значениями в порядке возрастания; элементы с нечетными значениями – в порядке убывания. Остальные – не сортировать.

16. Отсортировать элементы с четными значениями в порядке убывания, начиная с начала массива и до первого нулевого элемента (либо до конца, если нулей нет). Остальные элементы не сортировать.

17. Отсортировать элементы с нечетными значениями в порядке

возрастания, если сумма элементов с четными значениями больше суммы элементов с нечетными;

убывания, если сумма элементов с четными значениями меньше суммы элементов с нечетными.

18. Отсортировать элементы с четными значениями в порядке возрастания, находящиеся между:

первым и последним нулем, если нулей больше одного;

нулем и конечным элементом массива, если нуль один.

Если нули отсутствуют – не сортировать. Остальные элементы не сортировать.

19.Отсортировать первые две трети массива в порядке возрастания, если среднее арифметическое всех элементов больше нуля; иначе – лишь первую треть. Остальную часть массива не сортировать, а расположить в обратном порядке.

20.Отсортировать массив в порядке возрастания от первого и до последнего элемента, если нулевых элементов нет. При наличии нулевых элементов – с начала и до первого нулевого элемента по возрастанию; после нулевого элемента – по убыванию. Первый нулевой элемент остается на своем месте.

21.Отсортировать массив в порядке возрастания, если среднее арифметическое значений элементов отрицательно; в порядке убывания – если равно нулю; не сор-

22

тировать – если положительно. Если число нулевых элементов четное, массив также не сортировать.

22.Отсортировать первую половину элементов (с меньшими номерами) в порядке возрастания; вторую – в порядке убывания. Если число элементов нечетное, то средний элемент в сортировке не участвует.

23.Отсортировать массив в порядке возрастания, если число нулевых элементов

вмассиве четное; в порядке убывания – если нечетное.

24.Если число нулевых элементов массива четное, то отсортировать массив в порядке возрастания, если количество положительных элементов больше или равно, чем отрицательных, а по убыванию – если меньше.

Если число нулевых элементов массива нечетное, то отсортировать массив в порядке убывания, если количество положительных элементов больше или равно, чем отрицательных, а по возрастанию – если меньше.

25.Если число отрицательных элементов меньше двух, массив не сортировать. Если больше или равно двум, – то сортировать только элементы, находящиеся между первым и последним отрицательными элементами. Сортировка производится по возрастанию, если число отрицательных элементов нечетное; по убыванию – если четное.

26.Если в массиве имеется нулевой элемент, то разбить элементы на две группы: одна – левее первого нулевого элемента (меньшие номера элементов), другая – правее. Если число элементов в первой группе больше числа элементов во второй, то сортировать массив по возрастанию; если меньше – по убыванию. Если равно, а также нулевые элементы отсутствуют – не сортировать.

27.Отсортировать положительные элементы по убыванию, отрицательные – по возрастанию значений. Затем сгруппировать по порядку так, чтобы положительные чередовались с отрицательными (пока не исчерпается меньшая группа).

28.Элементы, находящиеся между элементом с минимальным значением и элементом с максимальным значением не сортировать. Остальные элементы отсортировать следующим образом:

-если элемент с минимальным значением имеет меньший номер, чем элемент с максимальным значением, то значения сортируемых элементов возрастают к максимальному и минимальному элементам (рис. 8а);

-если больший убывают (рис. 8б);

а)

б)

 

Рис. 8

29. Отсортировать элементы следующим образом. Массив разбивается на несколько интервалов, концы которых есть первый и последний элементы, а также

23

элементы с нулевыми значениями. Соседние интервалы имеют противоположные направления сортировки (рис. 9).

Рис. 9

30.Элементы, имеющие положительные значения, отсортировать в порядке возрастания. Элементы, имеющие отрицательные значения отсортировать в порядке:

-возрастания, если сумма всех элементов массива больше нуля;

-убывания, если сумма всех элементов массива меньше или равна нулю.

31.В первой половине массива отсортировать элементы с нечетными значениями в порядке возрастания. Обработка второй половины зависит от суммы элементов

вэтой половине:

если она отрицательна, то сортировать элементы с четными значениями в порядке убывания;

если она положительна, то сортировать элементы с нечетными значениями в порядке возрастания;

если она равна нулю, то сортировка не осуществляется.

32.Все элементы с четными положительными значениями сортировать по возрастанию. Элементы с нечетными отрицательными значениями из первой половины массива сортировать:

– по убыванию, если их сумма – нечетное число;

– по возрастанию, если их сумма – четное число.

33.Элементы с нечетными номерами и нечетными значениями сортировать по убыванию. Элементы с четными номерами и четными значениями сортировать по возрастанию, если их количество – четное число. Элементы с четными номерами и нечетными значениями сортировать:

– по возрастанию, если среди элементов с четными номерами и четными значениями нет отрицательных чисел;

– по убыванию, если среди элементов с четными номерами и четными значениями имеются отрицательные числа.

34.Элементы, содержащие простые числа сортировать:

по возрастанию, если их сумма – число положительное;

по убыванию, если их сумма – число отрицательное.

Остальные элементы сортировать в направлении противоположном направлению сортировки простых чисел.

35. Элементы со значениями меньшими, чем среднее арифметическое всех элементов массива, сортировать в порядке возрастания. Остальные элементы:

сортировать по возрастанию, если |max| > |min|;

сортировать по убыванию, если |max| < |min|;

не сортировать, если |max| = |min|, где max – элемент с максимальным значением; min – элемент с минимальным значением.

24

36.Элементы с нечетными номерами и имеющие положительные значения сортировать:

– по возрастанию, если их количество больше, чем элементов с нечетными номерами и отрицательными значениями;

– по убыванию – в противном случае.

Группа элементов с четными номерами имеет две подгруппы: а) с положительными значениями, б) с отрицательными значениями. Направление сортировки в подгруппах определяется следующим образом. Подгруппу с бóльшим числом элементов сортировать по убыванию, а подгруппу с меньшим числом элементов – по возрастанию.

37.Из количества положительных элементов (N+) и количества отрицательных элементов (N) найти минимальное (NMIN).

Отсортировать первые NMIN положительных элементов по убыванию и первые NMIN отрицательных элементов – по возрастанию. Остальные элементы сортировать:

– по возрастанию, если они положительные;

– по убыванию, если они отрицательные.

38.Отсортировать:

по возрастанию элементы, находящиеся между вторым нулевым элементом (элемент А) и последним отрицательным элементом (элемент Б);

по убыванию элементы между последним элементом массива и элементом А или Б, если отсутствует один из них;

по возрастанию от начала и до конца массива, если не существует ни элемента А, ни элемента Б.

39. Отсортировать отрицательные элементы в зависимости от выполнения условий:

первую половину отрицательных элементов по возрастанию, а вторую – по

убыванию, если модуль суммы элементов с нечетными значениями (Σ1) больше, чем модуль суммы отрицательных элементов (Σ2);

первую половину отрицательных элементов по убыванию, вторую – по возрас-

танию, если Σ1 < Σ2.

Если Σ1 = Σ2 или отрицательных элементов меньше двух, то отрицательные элементы не сортировать.

40. Вычислить число М – количество элементов с нечетными номерами и нечетными значениями.

Разбить элементы массива на две группы. Группу А составляет первая половина отрицательных элементов в совокупности с первой половиной элементов с положительными значениями. Группу Б составляет вторая половина элементов с отрицательными значениями в совокупности со второй половиной элементов с положительными значениями.

Если М – число четное, то отсортировать группу А по возрастанию, а группу Б – по убыванию. Если М – нечетное, то отсортировать группу А по убыванию, а группу Б – по возрастанию.

25

СОДЕРЖАНИЕ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ

1.Задание.

2.Структурная карта Константайна.

3.Структурные схемы алгоритмов.

4.Набор материалов для тестирования одной из подпрограмм в соответствии со следующим перечнем:

a)граф передачи управления;

b)тестовые наборы и описание маршрутов;

c)схема подключения модулей при тестировании на данном этапе;

d)текст программы для соответствующего этапа тестирования. Тестируемый компонент должен иметь в своем составе оператор условия.

5.Конечный текст программы.

Библиографический список

Основная литература.

1.Фаронов В.В. Турбо Паскаль (в 3-х книгах). Книга 1. Основы Турбо Паскаля.

– М.: Учебно-инженерный центр «МВТУ-ФЕСТО ДИДАКТИК», 1992 – 304 с.

2.Шафеева О.П. Основы программирования. Турбо Паскаль 7.0: Конспект лек-

ций. – Омск, 2000.

3.Иванова Г. С. Технология программирования.: Учебник для вузов. – М.: издво МГТУ им. Н. Э. Баумана, 2002. – 320 с.

Дополнительная литература.

4.С/С++. Программирование на языке высокого уровня / Т. А. Павловская. –

СПб.: Питер, 2002. – 464 с.

26

Приложение 1 Обозначения условные графические в структурных схемах алгоритмов

(ГОСТ 19.701-90)

Символ

Наименование

Назначение

 

 

 

 

 

 

 

 

 

 

 

Данные

Определяет ввод или вывод на внешнее устройство

 

 

 

 

 

 

 

 

 

 

 

или любой носитель данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс

Отражает обработку данных: выполнение определен-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ной операции или группы операций.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Предопреде-

Отображает предопределенный процесс, состоящий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ленный про-

из одной или нескольких операций программы, которые

 

 

 

 

 

 

 

 

 

 

 

цесс

определены в другом месте (подпрограмме, модуле).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Подготовка

Отражает инициализацию и модификацию параметра

 

 

 

 

 

 

 

 

 

 

 

цикла

для управления циклом со счетчиком.

 

 

 

 

 

 

 

 

 

 

 

 

Описывает проверку условия и выполняет переклю-

 

 

 

 

 

 

 

 

 

 

 

Решение

чение по одному из условий. Имеет один вход и два или

 

 

 

 

 

 

 

 

 

 

 

более альтернативных выходов, один из которых акти-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

визируется после вычисления условия внутри символа.

 

 

 

 

 

 

 

 

 

 

 

 

Состоит из двух частей: начала и конца цикла. Обе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

части имеют один и тот же идентификатор. Изменение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Граница цикла

значения идентификатора, условия для выполнения или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

завершения помещаются внутри символов в начале или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в конце цикла.

 

 

 

 

 

 

 

 

 

 

 

 

Используется для обрыва линии и продолжения ее в

 

 

 

 

 

 

 

 

 

 

 

Соединитель

другом месте. Должен содержать уникальное обозначе-

 

 

 

 

 

 

 

 

 

 

 

 

ние.

 

 

 

 

 

 

 

 

 

 

 

Терминатор

Определяет начало и конец структурной схемы алго-

 

 

 

 

 

 

 

 

 

 

 

ритма программы или подпрограммы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Используется для добавления пояснительных записей.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Комментарий

Связывается с символом или группой символов, обве-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

денных пунктиром.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основная

Отображает последовательность выполнения дейст-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

линия

вий в алгоритме.

27

Приложение 3

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

Начало

 

 

А - массив

ВВОД(А, N)

N - число

 

элементов

ОБРАБ(А, N)

 

ВЫВОД(А, N)

 

Конец

 

ВЫБОР(А, B, N,

N1, Pos)

 

N1:=0

 

i:=1, N

 

 

Конец п/п

нет

 

[(A[i]>=0) и (Pos)] или

[(A[i]<0) и ( не Pos)]

да

 

N1:=N1+1

 

B[N1]:=A[i]

 

 

 

 

 

Получает и

 

ОБРАБ(А, N)

 

 

возвращает

 

 

 

 

массив А

АНАЛИЗ(А, N,

 

Возвращает:

 

sum - сумма;

 

sum, Pos)

 

 

 

 

 

Pos - флаг

 

 

 

 

нет

sum 5

 

 

 

 

 

 

 

 

да

 

 

 

 

sum>5

нет

 

 

 

 

 

 

да

 

 

 

 

Inc:=true

 

Inc:=false

 

 

 

 

Возвращает:

ВЫБОР(А, B, N,

 

В - массив;

 

N1, Pos)

 

 

N1 - число

 

 

 

 

сорт. эл-тов

СОРТ(В, N1, Inc)

Возвращает

 

 

 

 

массив В

ВОЗВР(А, B, N,

 

Возвращает

 

N1, Pos)

 

 

массив А

 

Конец п/п

 

 

 

Приложение 3 (продолжение)

29

Приложение 3 (продолжение)

30

Соседние файлы в предмете Информатика