Лабораторная работа №1
Тема : «Сортировка и поиск в массивах»
Цель:
· Закрепить навыки работы в среде VB
· Изучение алгоритмов сортировки и поиска.
1 задание
Создайте приложение , реализующее следующие задачи. № задачи определяется по варианту. Осуществлять ввод и вывод в файл, доступ к файлу с использованием объекта OLE.
Уровень 1 (6 баллов)
Требования к приложению:
1. Размер вектора задается пользователем (использование динамического массива)
2. Защита от некорректного ввода пользователя.
3. Ввод информации из файла.
4. Вывод результатов на другую форму и в файл.
5. Доступ к файлу (для корректировки) из приложения.
Уровень 2 (7 баллов)
Требования к приложению:
1. Размер вектора задается пользователем (использование динамического массива)
2. Использование процедур и функций в модуле
3. Защита от некорректного ввода пользователя.
4. Ввод информации из файла.
5. Вывод результатов на другую форму и в файл.
6. Доступ к файлу (для корректировки) из приложения.
Уровень 3 (9 баллов)
Выполнение задач в 8 баллов
Требования к приложению:
7. Размер вектора задается пользователем (использование динамического массива)
8. Использование процедур и функций в модуле
9. Защита от некорректного ввода пользователя.
10. Ввод информации из файла.
11. Вывод результатов на другую форму и в файл.
12. Доступ к файлу (для корректировки) из приложения.
1. (6)Пусть таблица выигрышей лотереи представлена в виде двух массивов а1, .,., ап и с1, ..., сп (n —некоторая константа) так, что натуральные a1 ..., аn—это -выигравшие номера (ai <…< аn),a ci, ..., cn—действительные положительные числа, означают выигрыши в рублях, выпавшие, соответственно, на номера а1 ...ап. Требуется найти выигрыши, выпавшие на ряд номеров (если номера нет в таблице, то выигрыш считается равным нулю) и суммарный выигрыш всех этих билетов.
2. (6)Изменить задачу№1 ,предполагая, что номера в таблице заданы в порядке убывания: a1 >а2 >…> ап.
3. (6)Даны натуральные а1,…а5о, т,b1,…, bm (а1 > а2 >…>a50). Подсчитать количество тех bi , 1<= i<=m, для которых нет равных среди a1, ..., а50.
4. (6)Даны целые a1, ..., ап, b(n —некоторая константа, а1 < а2 <… < ап). Если среди чисел а1, ..., ап есть равное b, то оставить a1,…, аn без изменений. В противном случае добавить b к a1, .. anбез нарушения упорядоченности по возрастанию.
5. (6)Даны целые x1 ..., хn. Получить в порядке возрастания все различные числа, входящие в х1, …, хn. В процессе сортировки следует отбрасывать элементы, уже встречавшиеся раньше. Если в результате поиска места xi в упорядоченной совокупности xi, ..., хk, (k < i) обнаружится, что среди xi, ..., хk есть элемент, равный хi, то следует перейти к рассмотрению xi+1 без изменения x1, ..., хk
6. (6)Написать программу, реализующую алгоритм «пузырька», когда при первом проходе по массиву самый «легкий» элемент поднимается вверх (к началу массива).
7. (6)Даны действительные попарно различные а1, ..., аn. Получить попарно различные целые j i , …, j n „ такие, что 1<=j k<=n (k=l, .... n) и aj1 < аj2< ... < аj n.
8. (6)Даны целые а1, ..., аn. Найти наибольшее значение, содержащееся в последовательности чисел а1, ..., аn после выбрасывания из нее:
а) одного из членов со значением max (а1, ..., аn);
б) всех членов со значением max (а1, ..., аn).
9. (8б) Даны натуральные n, а1, ..., аn. (n>=4). Числа а1, ..., аn —это измеренные в сотых долях секунды результаты n спортсменов в беге на 100 м. Составить команду из четырех лучших бегунов для участия в эстафете 4х100, т. е. указать одну из четверок натуральных чисел i, j, k, l такую, что 1 <=i<j<k<l<=n и ai+aj+ak+al имеет наименьшее значение.
10. (8б) Напишите программу, реализующую алгоритм сортировки по убыванию «включением по линейному поиску».
11. Напишите программу, реализующую алгоритм сортировки по убыванию «методом пузырька» (обмена).
(10б.) Соседи. Из элементов массива А(2п) получить массивы В(п) и С(п) следующим образом. Выбрать в массиве А два наиболее близких по значению элемента; меньший из них поместить в массив В, а больший — в массив С. Продолжить выбор из оставшихся элементов до полного заполнения массивов В и С.
(8б.) Колокол. В массиве А(п) наименьший элемент поместить на первое место, наименьший из оставшихся — на последнее место, следующий по величине — на второе место, следующий — на предпоследнее и так далее — до середины массива.
(7б.) Удалить из массива А(п) нулевые элементы передвинув на их место следующие элементы без нарушения порядка их следования. В результате должен получиться массив меньшего размера, не содержащий нулей.
(8б.) Отсев. Удалить в заданном массиве Х(п) «лишние» (кроме первого) элементы так, чтобы оставшиеся образовали возрастающую последовательность (за один просмотр массива).
(9 б.) В массиве М(l) много совпадающих элементов. Найти количество различных элементов в нем (не упорядочивая массива).
(9 б.) Задан массив, состоящий из п неотрицательных чисел. Найти в нем индекс элемента для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него.
(9 б.) В целочисленном массиве К(п) много повторяющихся элементов. Найти (в процентах) частоту появления каждого из т наиболее часто встречающихся элементов (от n).
2 задание
Создайте приложение в VB с использованием программного модуля, с использованием процедур-подпрограмм или процедур-функций для обработки матриц (суммирование и умножение матриц, умножение на число или вектор, транспонирование, нахождение обратной, нахождение определителя и т.п.). Размерность матриц задается пользователем во время работы приложения. (Используйте динамические массивы.)
Уровень 1 (6 баллов)
Требования к приложению:
1. Выполнение операций над матрицами: умножение квадратных матриц, умножение на вектор, нахождение определителя 2-го порядка
2. Защита от некорректного ввода пользователя.
3. Ввод информации из файла.
4. Вывод результатов на другую форму и в файл.
5. Доступ к файлу (для корректировки) из приложения.
Уровень 2 (7 баллов)
Требования к приложению:
1. Выполнение операций над матрицами: умножение матриц (не квадратных), умножение на вектор, нахождение определителя 3-го порядка, транспонирование матриц
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.