Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
супер пупер.doc
Скачиваний:
14
Добавлен:
15.09.2019
Размер:
604.67 Кб
Скачать

Задачи повышенной сложности

  1. Найти площадь пересечения двух многоугольников. Предусмотреть ввод координат и количество вершин с клавиатуры и вывод многоугольников на экран.

  2. Функция Бесселя порядка N имеет вид

Создать текстовый файл, содержащий таблицу функции Бесселя 5-го порядка при x = 3.3, 3.6, 3.9, ...12 с точностью 8 знаков после десятичной точки.

  1. Составить программу шифровки и дешифровки файла методом простой символьной подстановки. Для этого сгенерировать таблицу из N смещений кодов символов и записать ее в файл. Использовать эту таблицу при генерации и расшифровке символов файла пачками по N штук.

  2. Составить программу перемещения по экрану вводимой предварительно с клавиатуры текстовой строки. Перемещение осуществляется по восьми направлениям, направление должно меняться через случайное число циклов. Причем при смене направления движения должен генерироваться короткий звуковой импульс, а в начале нового цикла должен случайно меняться цвет надписи. Можно модернизировать программу организовав по какому-либо принципу процесс "сборки" исходной текстовой строки из "рассыпавшихся" отдельных ее символов.

  3. Царство царя Гороха представляет собой выпуклый N-угольник, внутри которого расположены K селений. Царь решил завещать двум своим сыновьям по полцарства, одинаковые по площади и с равным количеством селений. Для этого он требует разделить царство одной прямолинейной границей. Напишите программу, строящую границу согласно царской воле. Если граница проходит через селение, то оно может быть либо отнесено к одному из полуцарств, либо разделено на два селения, которые будут отнесены к разным полуцарствам (при нечетном K граница, естественно, должна разделить какое-то из селений).

ЧАСТЬ2

Лабораторная работа №1

Сортировка методом простого выбора

Цель работы: Исследовать сортировку массива методом простого выбора и оценить эффективность этого алгоритма.

Общие сведения

Сортировка методом простого выбора сводится к следующим шагам: 1. Установить номер наибольшего элемента массива. 2. Поменять местами наибольший и последний элементы массива. 3. Оставив в покое последний элемент, выполнить пункты 1 и 2 над остатком массива (массивом без последнего элемента). Пункт 3 повторять, пока остаток массива не сократится до одного элемента.

Пример

Опишем процедуру сортировки на языке проектирования программ (псевдокоде).

For i := n downto 2 do

Begin

найти максимальный элемент из а[1], ..., a[i];

запомнить его индекс в переменной k;

если i<>k поменять местами a[i] и a[k];

End;

Вот как изменяется значение массива из пяти элементов (30,20,10,50,40)

30 20 10 50 40

30 20 10 40 50

30 20 10 40 50

10 20 30 40 50

10 20 30 40 50

Подчеркнута область поиска наибольшего элемента.

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

1. Что понимается под сортировкой массива?

2. Чем отличается сортировка по убыванию от сортировки по невозрастанию?

3. Сформулировать идею сортировки массива методом простого выбора.

4. Почему время выполнения одного шага прямо пропорционально размеру неупорядоченной части массива?