Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП_ИТI.doc
Скачиваний:
58
Добавлен:
11.03.2015
Размер:
581.12 Кб
Скачать

Контрольные вопросы

  1. Какие алгоритмы называются циклическими? Какие виды структур повторения Вам известны, приведите пример описания каждой из них с помощью блок – схемы.

  2. Какие операторы цикла вам известны? Какие из них называют итерационными, в чем их отличие от цикла с параметром?

  3. Запишите синтаксические диаграммы каждого из операторов цикла.

  4. Сколько операторов можно записать в теле цикла каждого вида?

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

  6. Опишите механизм работы цикла с параметром, перечислите требования к типу и принимаемым значениям параметра цикла.

  7. Какие циклы называются вложенными, внешними? Могут ли они быть циклами разных видов?

Лабораторная работа №5 Одномерные массивы

Цель работы: приобрести практический опыт работы при использовании однотипных данных или массивов.

Задание к лабораторной работе

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

Разработать алгоритмы и составить программы для решения задач соответствующего варианта.

Набрать программы и отладить их работу в среде Турбо Паскаль.

Подобрать тестовые данные. Протестировать.

Оформить отчет о выполнении (см. Приложение )

Пример программы с использованием сортировки обменом

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

Program sortwhile {input,output};

Const n=10;

Var i: integer;

u: real;

a: boolean;

x: array [1..n] of real;

Begin {*read array X*}

For i:=1 to n do

Read {X[i]};

A:=false;

While not a do

Begin

a:=true;

For i:=1 to n-1 do

If X[i]<X[i+1]

Then

Begin

u:=X[i];

X[i]:=X[i+1];

X[i]:=u;

a:=false;

End;

End {*while*};

{*Write array X*}

For i:=1 to n do

Write {X[i]};

Writeln

End.

В данной программе используется сортировка перестановками. Основной цикл прекращает выполняться, когда значение логической переменной А становится равным TRUE.

Варианты заданий:

  1. Дан целочисленный массив x размера n(n=10).Упорядочить по убыванию элементы массива, заключённые между минимальным и максимальным. Указание: проверить массив на наличие элементов между ними.

  2. Дана целочисленная последовательность . Получить упорядоченную по возрастанию последовательность из чисел, которые входят в данную последовательность по одному разу.

  3. Дан вещественный массив x размера n(n=10). Удалить из него элементы, кратные двум (если такие имеются) и расположить элементы массива по возрастанию.

  4. Переписать положительные элементы массива x, до последнего вхождения максимального элемента, в массив y, упорядоченными по неубыванию и подсчитать их количество. Указание: проверить массив x на наличие в нём положительных элементов.

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

  6. Дан массив x вещественных чисел. Получить упорядоченый по невозрастанию массив, состоящий из чисел данного массива, находящихся между предпоследним и последним отрицательным членом. Указание:проверить массив на наличие элементов между ними.

  7. Даны две последовательности. Получить упорядоченную по невозрастанию последовательность, состоящую из тех членов первой последовательности, которых нет во второй.

  8. Дан целочисленный массив x размера n. Упорядочить по невозрастанию те элементы массива, которые не находятся между минимальным и максимальным(если такие имеются).

  9. Если число а встречается в массиве вещественных чисел x размера n(n=10), то упорядочить по неубыванию часть массива до последнего вхождения а, в противном случае упорядочить по невозрастанию часть массива между первым и пятым элементами.

  10. Дан массив x размера n(n=10) целых чисел, содержащий как положительные, так и отрицательные элементы. Упорядочить массив следующим образом: сначала идут отрицательные числа, упорядоченные по невозрастанию, потом положительные, упорядоченные по неубыванию.

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

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

  13. Дан массив целых чисел. Получить упорядоченный по невозрастанию массив, состоящий из членов данного массива, заключенных между первым и последним положительным элементом данного массива. Указание: проверить массив на наличие элементов между ними.

  14. Дан массив целых чисел размера n(n=10).Получить упорядоченный по возрастанию массив, содержащий все различные числа данного массива.

  15. Дан массив x целых чисел. Получить упорядоченную по возрастанию последовательность из чисел, которые встречаются в данном массиве более двух раз(если такие имеются).

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

  17. Переписать отрицательные элементы массива x, заключённые между минимальным и максимальным элементами, в массив y, упорядоченными по убыванию и подсчитать их количество. Указание: проверить массив x на наличие в нём отрицательных элементов.

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

  19. Дан массив x целых чисел. Вывести в порядке возрастания все числа, стоящие на четных местах и встречающиеся более двух раз.

  20. Дан действительный массив x размера n(n=10).Расположить элементы массива по убыванию. Использовать сортировку обменом.

  21. Дан целочисленный массив x, упорядоченный по неубыванию и некоторое целое число а, для которого нужно найти такое место среди элементов массива, чтобы после вставки числа а на это место упорядоченность не нарушилась.

  22. Дан вещественный массив x размера n(n=10). Переставить элементы массива таким образом, чтобы вначале в массиве шла группа элементов больших первого элемента в исходном массиве, потом - группа элементов меньших или равных ему.

  23. Дан целочисленный массив x размера n(n=10), упорядоченный по неубыванию. Найти среднее арифметическое элементов массива и вставить его в массив так, чтобы не нарушилась упорядоченность.

  24. Дан массив x целых чисел. Исключить из него все числа, встречающиеся более двух раз(если такие имеются). Затем числа, стоящие на четных местах, упорядочить по невозрастанию.

  25. Дан массив x, состоящий из латинских букв. Вывести его так, чтобы его элементы следовали в алфавитном порядке в массиве a, а в массив b все повторящиеся элементы.

  26. Дан массив натуральных чисел x размера n(n=10) и некоторое натуральное число k. Удалить из массива элемент с номером k и вставить элемент, равный р, так, чтобы не нарушилась упорядоченность.

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

  28. Даны два действительных массива x и y. Объединить их так, чтобы в массиве-результате элементы были упорядочены по возрастанию.

  29. Дан целочисленный массив x. Определить, сколько в нем пар соседних одинаковых элементов. Вывести пары соседних одинаковых элементов в массив y, упорядоченными по неубыванию.

  30. Дан массив символов. Исключить из него элементы, являющиеся символами латинских букв, стоящие на чётных местах. Затем элементы стоящие на нечётных местах упорядочить по невозрастанию.