- •Одобрена
- •Составлена в соответствии с
- •Пояснительная записка
- •1 Функции и процедуры использование функций
- •Использование процедур
- •2 Ветвление, циклы программирование задач разветвленной структуры
- •Программирование задач циклической структуры
- •Сложные циклы
- •3 Массивы одномерные массивы
- •Многомерные массивы
- •Работа со строками
- •5 Вычисление площади криволиненой трапеции
- •6 Таблицы значений функций и линейная интерполяция
- •7 Упорядочивание (сортировка) массива
- •8 Организация поиска в упорядоченном массиве
- •9 Приближенное решение уравнений
- •11 Работа с базами данных
- •Работа с типизированными и текстовыми файлами
- •Список группы 7-тп на стипендию
- •Список автовладельцев ваз – 2106
- •Ведомость з/платы по атп за сентябрь месяц
- •Ведомость зар.Платы по цеху №
8 Организация поиска в упорядоченном массиве
Общие задания:
Даны действительные а1, а2,…аn (a1>a2>a3>…>an), действительное – b. Осуществить в данной последовательности поиск элемента равного b, и вывести его номер.
Даны a1>a2>a3>…>an, b – некоторое число. Вставить число b в упорядоченную совокупность а1, а2,…аn.
Индивидуальные задания:
Даны натуральные А1,…,А50, m, В1,…,Вm (A1>A2>…>A50). Подсчитать количество тех Bi, 1<=i<=m, для которых нет равных среди А1,…,А50.
Составить программу определения задуманного человеком числа от 1 до 1000 с помощью 10 вопросов. Каждый вопрос имеет вид «Верно ли, что задуманное число больше R?». При этом указывается конкретное R. Ответы человека это Д и Н. Применить идею деления пополам.
Использовать предложенную в задаче 2 игру. Указать количество вопросов которые при экономном ведении игры будет достаточным для угадывания числа от 1 до 2000, 3000.
Доказать, что если n=2m, то число сравнений с элементами А1,…,Аn в процессе применения алгоритма деления пополам равно m (без учета дополнительные сравнения Ар=b).
Доказать, что если 2m-1<n<=2m, m>=1, то число сравнений b с элементами А1,…,Аn в процессе применения алгоритма деления пополам равно m (без учета дополнительного сравнения Ар<b). Указание: установить, что при m>1 первое сравнение приводит к поиску среди n элементов, где 2m-2<n<=2m-1
Воспользовавшись утверждением, сформулированным в предыдущей задаче, вычислить количество сравнений, которое потребуется произвести при n=60, 70, 80, 90 (без учета дополнительного сравнения).Построить график зависимости.
Пусть имеется интерполяционная таблица функции, причем шаг таблицы непостоянен. Использовать идею алгоритма поиска места элемента для поиска m такого, что данное х принадлежит отрезку [Xm, Xm+1].
Даны целые А1,…, An, b. Если среди чисел А1,…,Аn есть равное b, то оставить А1, …Аn без изменений, в противном случае вставить b в этот массив без нарушения упорядоченности.
Изменить алгоритм поиска места элемента, предполагая, что числа А1,…,Аn упорядочены по убыванию.
В случае, если среди А1,…,Аn допускаются равные (А1<=A2<=…<=An), то алгоритм поиска места элемента позволяет узнать самое первое из мест, на которое может быть вставлено число b в массив А1,…, Аn без нарушения упорядоченности по убыванию. Изменить алгоритм, чтобы указывалось последнее из этих мест.
Даны a1<a2<a3<…<an, b – некоторое число. Вставить число b в упорядоченную совокупность а1, а2,…аn
Даны a1>a2>a3>…>an, b – некоторое число. Вставить число b в упорядоченную совокупность а1, а2,…аn В случае если среди элементов есть элементы равные b вставку осуществить на самое последнее из мест.
Даны a1 <a2<a3<…<an, b – некоторое число. Вставить число b в упорядоченную совокупность а1, а2,…аn В случае если среди элементов есть элементы равные b вставку осуществить на самое последнее из мест.
Использовать предложенную в задаче 2 игру. Указать количество вопросов которые при экономном ведении игры будет достаточным для угадывания числа от 1 до 4000, 5000.
Воспользовавшись утверждением, сформулированным в задаче №5, вычислить количество сравнений, которое потребуется произвести при n=100, 110, 120, 130 (без учета дополнительного сравнения).Построить график зависимости.
