Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник задач Бабалова.doc
Скачиваний:
95
Добавлен:
04.06.2015
Размер:
1.16 Mб
Скачать
    1. Работа с файлами разных типов.

В этом разделе предлагаются для решения задачи, использующие простые типы данных: числа, строки, а также структурированные данные типа массивов и записей. Для хранения каждого типа данных предлагается использовать указанный тип файла.

      1. Багаж каждого пассажира характеризуется количеством вещей и их общим весом. В файл занести сведения о всех пассажирах некоторого рейса. Определить, есть ли пассажиры, багажи которых совпадают по весу и пассажиры, вес багажа которых отличается не более, чем на 0.5 кг. Создать упорядоченные последовательности всех категорий пассажиров. Признак упорядоченности выбирайте сами.

      2. Создать файл, содержащий сведения об учащихся в формате: фамилия, имя, отчество, номер. Прочитать все сведения из файла, упорядочив по фамилиям. Переписать все сведения в новый файл, изменив формат записи: номер, фамилия, имя, отчество.

      3. Разработать файловую систему для обработки сведений о количестве произведенных деталей. Компонентами файла должны быть: название детали, количество произведенных деталей, стоимость одной детали. Создать файл сведений о деталях. По запросу пользователя из файла надо прочитать сведения о требуемой детали и стоимость каждого комплекта деталей.

      4. Сформировать файл из произвольного количества случайных чисел. Случайные числа получать по следующему алгоритму:

  • Ввести некоторое целое число N и два числа I и J.

  • Выполнить действие I = MOD(I*J/32).

  • Повторить п.1 N раз.

Сохранить в файле числа, прочитать по запросу их из файла и определить наличие периодичности в последовательности случайных чисел.

      1. Числовая матрица задается в файле в следующем формате: I и J, номера столбца и строки ненулевого элемента матрицы, и само значение элемента А(I,J). Количество нулевых элементов неизвестно. Вывести матрицу на экран в обычной форме в виде последовательностей строк и столбцов. Обеспечить преобразование матрицы перестановкой P и Q строк матрицы. Переписать преобразованную матрицу в файл. Размерность матрицы M * N.

      2. Создать файл F, содержащий M слов. Переписать всю последовательность слов в обратном порядке и записать ее в файл Q. Обеспечить вывод двух вариантов последовательностей слов.

      3. Создать файл из целых чисел. Количество чисел должно быть кратно 10. Переписать компоненты исходного файла в другой файл следующим образом: в каждой десятке чисел сначала должны стоять отрицательные числа, а затем положительные. Обеспечить вывод на экран исходной и преобразованной последовательностей чисел.

      4. В файл записать произвольный текст, оканчивающийся точкой. Слова в тексте разделены произвольным количеством пробелов. Преобразовать текст, исключив все лишние пробелы (более одного). Подсчитать количество слов в файле. Обеспечить вывод исходного текста и преобразованного теста и количества слов.

      5. В файл записать некоторый текст, заканчивающийся знаком “;”. Все слова текста упорядочить по количеству букв в словах в порядке возрастания длины слов. Вывести полученную последовательность слов. Для сравнения результатов обработки текста обязательно присутствие исходного текста на экране.

      6. Дана последовательность действительных чисел. Последовательность сохранить в файле. Последовательность упорядочить по убыванию значений. Удалить из упорядоченной последовательности все отрицательные числа. Вывести на экран исходную и все варианты преобразованных последовательностей.

      7. В файл записать последовательность действительных чисел. Прочитать из файла последовательность. Упорядочить ее по возрастанию и обеспечить вставку некоторого P количества чисел, не нарушая упорядоченности последовательности. Сохранить полученную последовательность в другом файле. Вывести на экран все варианты последовательностей.

      8. Создать файл из целых чисел. Количество компонент должно быть кратно 10. Прочитать последовательность из файла и поделить ее на подпоследовательности по 10 элементов. В каждой подпоследовательности вначале поставить все элементы, кратные 10, а затем все остальные. Преобразованную последовательность сохранить в новом файле. Вывести исходную последовательность и результат ее преобразования.

      9. Создать два файла из произвольного количества чисел. Из каждого файла удалить числа большие 100 и сформировать один файл из оставшихся чисел. Все сравнения и преобразования выполнить в памяти. Результаты преобразования и исходные последовательности вывести на экран.

      10. В N файлах создать сведения о студентах N групп. Формат сведений: N группы, порядковый номер, фамилия, имя, отчество. Выбрать всех однофамильцев из всех групп и сформировать из них последовательность. Обеспечить вывод сведений каждой группы и результата поисков.

      11. В двух файлах записать последовательности чисел A и B. Создать новый файл, в котором содержатся только те числа, которые не содержатся одновременно в этих последовательностях. Вывести на экран исходные последовательности и результат преобразования.

      12. Создать файл, содержащий сведения о расписании рейсов самолетов в формате: город вылета, город назначения, время вылета из аэропорта вылета и время полета. Выбрать из файла и напечатать все рейсы любого города назначения. Обеспечить вывод также всего файла расписания.

      13. Прямая на плоскости задается уравнением ax+ by + c=0, где a и b не равны нулю. Все коэффициенты - целые числа. В файле задается произвольное количество наборов коэффициентов прямых. Определить количество наборов коэффициентов, записанных в файле. Выбрать из файла коэффициенты тех прямых, которые параллельны первой или последней из заданных в файле прямых. Результаты обработки файла и исходные данные представить на экране.

      14. Создать файл, содержащий сведения о товарах в формате : наименование товара, страна - производитель товара, количество в наличии, цена единицы товара. Создать последовательность товаров одного наименования из всех стран. определить их количество и среднюю стоимость. Вывести на экран результат обработки файла и обеспечить просмотр всего содержимого файла.

      15. Создать два файла, в каждом из которых содержится некоторый текст. Определить сколько раз каждое слово из первого файла содержится во втором файле. Вывести результаты обработки и исходное содержимое файлов на экран.

      16. В файле задать последовательность точек с координатами X иY. Количество наборов - любое. Вводится произвольная точка . Найти из заданного набора точек самую ближайшую точку к введенной. Обеспечить вывод на экран координат исходных точек и результат выбора.

      17. Создать текстовый файл, в котором содержится некоторое количество строк. Переформатировать текст таким образом, чтобы каждая строка содержала не более 30 литер и заканчивалась точкой. Обеспечить вывод исходного текста и результата преобразования. Слова в файле должны сохранить первоначальный порядок следования и в них не должно быть знаков переноса.

      18. Создать текстовый файл произвольной длины. Текст разбит на строки. Каждая строка заканчивается знаком “;”. В каждой строке между словами произвольное количество пробелов. Вывести на экран только те строки, в которых содержится не менее 30 символов, отличных от пробелов. Обеспечить также вывод на экран исходного варианта файла.

      19. Создать текстовый файл, в котором текст записан с разделителем между строками в виде точки с запятой. Обработать текст таким образом, чтобы каждая строка начиналась с первой позиции строки и первая буква каждой строки была заменена с прописной на строчную. Результаты преобразования текста и его исходный вид вывести на экран.

      20. Создать числовой файл из произвольного количества элементов. Из числового файла переписать исходную последовательность в новый файл, выбрав из нее только нечетные числа и расположив их в порядке неубывания. Обеспечить вывод исходной и результирующей последовательностей.

      21. Создать файл, в котором компоненты файла - слова, произвольной длины и неупорядоченные по алфавиту. Выполнить упорядочивание слов по длине и по алфавиту. Обеспечить вывод всех вариантов преобразований последовательности слов и для сравнения обязательно выводить на экран исходную последовательность.

      22. Задается файл сведений об учащихся по следующему формату: фамилия, имя, отчество, номер группы. Переписать все эти сведения в новый файл, обеспечив преобразование формата сведений следующим образом: группа, фамилия, имя, отчество. Вывод преобразованных сведений должен быть упорядочен по номерам групп. Исходную последовательность также выводить на экран.

      23. Создать файл, содержащий сведения о книгах в библиотеке. Формат сведений: фамилия автора, название книги, год издания. Обеспечить выбор сведений из файла о запрашиваемом авторе. Последовательность только авторов должна присутствовать на экране. Сведения должны выводиться упорядоченными по годам издания. Предусмотреть вывод исходных неупорядоченных сведений.

      24. В файл заносятся неупорядоченные сведения о владельцах автомобилей одного гаража. Формат сведений: фамилия владельца, марка автомобиля, регистрационный номер автомобиля и номер места в гараже. Перечень имеющихся в гараже марок автомобилей должен выводиться на экран при запуске программы. Обеспечить формирование последовательности сведений о владельцах запрашиваемой марки автомобиля.

      25. Создать текстовый файл из строк произвольной длины. Каждая строка заканчивается любым знаком-разделителем. Переформатировать файл таким образом, чтобы каждая строка содержала не более 40 литер, заканчивалась обязательно точкой и среди 40 литер не было бы ни одной точки. Записать новую версию текста в новый файл, вывести новую и старую версии записи текста.

      26. Создать файл из сведений об абонентах телефонного узла. Формат сведений: фамилия, имя, отчество, адрес, номер счета. Обеспечить вывод из файла только последовательностей абонентов на запрашиваемую букву. После выбора конкретной фамилии должны выводиться все сведения об абоненте. Необходимо обеспечить редактирование , удаление, дополнение сведений . Все изменения должны заноситься в файл.