Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

Метод пузырьковой сортировки

Пусть задан массив a из n элементов. Сравниваются пары значений a[i] и a[i+1] в интервале от 1 до n-1: если a[i] > a[i+1], то значения меняются местами. Алгоритм останавливается, когда больше нечего переставлять; в этом случае массив отсортирован. В каждом цикле проверки самый «легкий» элемент оказывается наверху списка. Поэтому на i-том цикле сортировку массива начинают с i-того элемента.

Сортировка методом отбора

При первом проходе ищется минимальное значение массива a, которое затем меняется местами с первым элементом a[1]. Затем поиск продолжается на оставшихся n-1 элементах, ищется второй минимум, который переставляется с элементом a[2] и т.д.

Сортировка методом вставки

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

 

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

Разработать программу на Турбо Паскале, которая обеспечивает решение поставленной задачи в соответствии с предложенным вариантом. Первая цифра - номер задания, вторая - номер варианта.

задание 1 – один цикл, для обработки массива

задание 2 – два цикл, предобработка и формирование нового

 

Задачи

1. Разработать программу, для решения поставленной задачи

1.1. Из массива A(N) перепишите элементы в массив B, так чтобы B содержал возрастающую последовательность чисел.

1.2. Переписать в массив Y элементы массива X(N) кратные m.

1.3. Переписать в массив B элементы массива A(N) кратные A(m).

1.4. В массив B переписать положительные элементы массива A(N).

1.5. В массив B переписать четные элементы массива A(N).

1.6. Из массива A(N) перепишите элементы в массив B, так чтобы B содержал убывающую последовательность чисел.

1.7. В массив R переписать номера элементов массива P(N), для которых выполняется условие: соседство двух положительных чисел.

1.8. В массив R переписать номера элементов массива P(N), для которых выполняется условие: соседство четных или нечетных чисел.

1.9. В массив B переписать элементы массива A(N), которые больше заданного F.

1.10. Сформировать массив Y из массива X(N), так чтобы Y не содержал повторяющиеся элементы.

1.11. Сформировать массив Y из массива X(N), так чтобы Y содержал элементы, которые больше двух раз присутствуют в массиве X(N).

1.12. Сформировать массив Y из массива X(N), так чтобы Y не содержал нулевых элементов.

1.13. Сформировать массив Y из массива X(N), так чтобы Y содержал только полиндромы массива X(N).

 

2. Разработать программу, для решения поставленной задачи

2.1. Переписать из массива Y(N) в массив X элементы, значения которых больше среднего арифметического элементов массива Y(N).

2.2. Переписать из массива Y(N) в массив X элементы, значения которых больше среднего гармонического элементов массива Y(N).

2.3. В массив R переписать элементы массива D(N), значения которых удовлетворяет условию , где - среднее арифметическое элементов массива D(N).

2.4. Переписать из массива Y(N) в массив X элементы, которые меньше среднего геометрического элементов массива Y(N).

2.5. Переписать в массив Y элементы массива X(N) кратные минимальному элементу массива X(N).

2.6. Переписать в массив Y элементы массива X(N), которые на m меньше максимального значения массива X(N).

2.7. Из массивов A(N) и B(N) сформировать массив C, состоящий из тех элементов, которые присутствуют в обих массивах.

2.8. Из массивов X(N) и Y(N) сформировать массив Z, состоящий из тех элементов, которые присутствуют только в одном из массивов.

2.9. Сформировать массив точек, лежащих в заданной четверти декартовых координат. Координаты точек заданы массивами X(N) и Y(N).

2.10. Сформировать массив точек, лежащих внутри прямоугольника. Координаты точек заданы массивами X(N) и Y(N). Координаты прямоугольника ввести с клавиатуры.

2.11. Сформировать массив точек, лежащих внутри окружности радиусом r. Координаты точек заданы массивами X(N) и Y(N).

 


 

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

  1. Сформулируйте основные правила, использующиеся при оформлении исходного текста программы.
  2. Сформулируйте правила использующиеся при создании нового идентификатора.
  3. Опишите способы использования в выражениях встроенных функций Турбо Паскаля.
  4. Для чего используются структурные скобки begin … end?
  5. Приведите пример использования полной и сокращённой формы записи условного оператора.
  6. В каких случаях лучше использовать оператор цикла с параметром, а в каких оператор цикла с предусловием?
  7. Какое условие проверяется в операторе цикла с постусловием Турбо Паскаля?
  8. Можно ли в Турбо Паскале описать массив, каждый элемент которого является массивом, записью?
  9. Для чего используется оператор выбора case?
  10. Как распределяется приоритет выполнения операций Турбо Паскаля?
  11. В каких случаях используются массивы?
  12. Какой оператор цикла лучше использовать при работе с массивами? Почему?

 

 

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

1. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – 2000 г.

2. Долинский М.С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач: Учебное пособие. – СПб.: Питер, 2005.

3. Зуев Е.А. Turbo Pascal. Практическое программирование – М.: «Издательство ПРИОР», 1999.