Занятия 5-8 (8 часов). Алгоритмы поиска и сортировки (по книге Никлаус Вирт «Алгоритмы и структуры данных»).
Занятия 1-4 (8 часов). Работа с файлами.
1. Дан текстовый файл, в котором записана последовательность целых чисел. Записать в новый файл только четные из них.
2. Сгенерировать набор целых чисел, записать их в бинарный файл. Не считывая, данные в массив, найти из этого файла максимальный элемент.
3. Для файла, сгенерированного в задании 2, найти количество чисел, которые являются простыми.
4. Для файла, сгенерированного в задании 2, проверить, образуют ли числа в нем возрастающую последовательность.
5. Для файла, сгенерированного в задании 2, проверить, образуют ли они симметричную последовательность.
6. Дан текстовый файл, в котором записана последовательность целых чисел. Создать новый текстовый файл, в котором числа идут в обратном порядке.
7. Дан бинарный файл (например, сгенерированный в задании 2), в котором записана последовательность целых чисел. Создать новый файл, в котором числа идут в обратном порядке.
8. Дан текстовый файл, в котором записана последовательность слов. Создать новый текстовый файл, в котором слова идут в обратном порядке.
9. Записать бинарный файл с массивом целых чисел. Создать новый текстовый файл, в котором числа будут отсортированы в порядке возрастания.
10. Дан текстовый файл, содержащий информацию о городах мира (название города, название страны, численность населения, площадь). Выполнить следующие задания:
· Найти самый населенный город в Германии;
· Найти город, который имеет наибольшую плотность населения;
· Распечатать названия всех стран, которые имеют города с населением более 1000000 человек
· Найти количество городов, которые расположены во Франции.
11. В текстовом файле содержится текст на английском языке, заканчивающийся точкой (другие символы "." в тексте отсутствуют). Требуется написать программу, которая будет определять и выводить на экран английскую букву, встречающуюся в этом тексте чаще всего, и количество таких букв. Строчные и прописные буквы при этом считаются неразличимыми. Если искомых букв несколько, то программа должна выводить на экран первую из них по алфавиту.
12. В текстовом файле содержатся фамилии и имена студентов. Известно, что общее количество студентов не превосходит 100. В первой строке вводится количество зарегистрированных студентов (N). Далее следуют N строк, имеющих следующий формат: <Фамилия> <Имя>. Требуется написать программу, которая формирует и печатает уникальный логин для каждого студента по следующему правилу: если фамилия встречается первый раз, то логин – это данная фамилия, если фамилия встречается второй раз, то логин – это фамилия, в конец которой приписывается число 2 и т.д.
13. Текстовый файл содержит произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой. Требуется написать программу, которая будет печатать последовательность строчных английских букв ('a' 'b'... 'z') из входной последовательности и частоты их повторения. Печать должна происходить в алфавитном порядке.
Занятия 5-8 (8 часов). Алгоритмы поиска и сортировки (по книге Никлаус Вирт «Алгоритмы и структуры данных»).
1. Дан текстовый файл, в котором записана отсортированная последовательность целых чисел. Написать программу поиска в нем местоположения заданного пользователем числа, используя последовательный, бинарный и интерполяционный поиск. Подсчитать количество сравнений, которые выполняют эти алгоритмы. Сравнить их эффективность по количеству сравнений.
2. Дан текстовый файл, в котором записана отсортированная последовательность целых чисел. Написать программу поиска в нем местоположения заданной пользователем последовательности, используя алгоритм последовательного поиска, алгоритм Кнута-Морриса-Прата и алгоритм Боуера-Мура). Подсчитать количество сравнений, которые выполняют эти алгоритмы. Сравнить их эффективность по количеству сравнений.
3. Дан текстовый файл, в котором записана последовательность целых чисел. Написать программу сортировки массива с помощью алгоритмов внутренней сортировки (сортировка вставками, метод пузырька, сортировка выбором, сортировка Шелла, пирамидальная сортировка и быстрая сортировка). Подсчитать количество сравнений, которые выполняют эти алгоритмы. Сравнить их эффективность по количеству сравнений.
4. Дан текстовый файл, в котором записана последовательность целых чисел. Написать программу сортировки массива с помощью алгоритмов внешней сортировки (простое слияние, естественное слияние, многофазная сортировка).