Программа - Чтение файла последовательного доступа
Текстовые файлы
Методика решения задач с файлами
Предполагается, что файл содержит большое количество информации и не помещается в оперативной памяти для обработки. Т.е. для работы мы имеем только единственную текущую запись файла. Понятно, что тестирующий файл содержит не более 5 – 10 записей.
Отчет содержит:
1. Условие задачи
2. Математическая модель, содержащая технологию обработки файла
3. Псевдокод программы
4. Тест псевдокода
5. Текст программы
6. Результаты тестирования программы
1. Дан файл f, компоненты которого являются действительными числами. Найти сумму компонент файла f.
Программа - Чтение файла последовательного доступа
Проектирование Текстовый файл mFile1.txt создается средствами Windows и помещается в ту же папку, что и программа. Файл заполняется числами вручную по одному числу в строку:
4,3
5,4
6,6
Внимание – разделителем целой и дробной частей числа может служить и точка. Это зависит от настройки системы.
2. Дан файл f, компоненты которого являются действительными числами. Найти произведение компонент файла f.
3. Дан файл f, компоненты которого являются действительными числами. Найти сумму квадратов компонент файла f.
4. Дан файл f, компоненты которого являются действительными числами. Найти модуль суммы и квадрат произведения компонент файла f.
5. Дан файл f, компоненты которого являются действительными числами. Найти наибольшее из значений компонент файла f.
6. Дан файл f, компоненты которого являются действительными числами. Найти наименьшее из значений компонент с четными номерами.
7. Дан файл f, компоненты которого являются действительными числами. Найти наибольшее из значений модулей компонент с нечетными номерами.
8. Дан файл f, компоненты которого являются действительными числами. Найти сумму наименьшего и наибольшего из значений компонент.
9. Дан файл f, компоненты которого являются действительными числами. Найти разность первой и последней из компонент.
10. Дан файл f, компоненты которого являются целыми числами. Найти количество четных чисел среди компонент.
11. Дан файл f, компоненты которого являются целыми числами. Найти количество удвоенных нечетных чисел среди компонент.
12. Дан файл f, компоненты которого являются целыми числами. Найти количество квадратов нечетных чисел среди компонент.
13. Последовательность x1, x2, … образована по закону
, i = 1, 2, …
14. Дано действительное ε. Записать в файл h члены данной последовательности, остановившись после первого члена, оказавшегося по модулю меньше ε.
16. Даны символьные файлы f1 и f2. Переписать с сохранением порядка следования компоненты файла f1 в файл f2, а компоненты f2 – в файл f1. Можно использовать один вспомогательный файл h.
17. Даны файлы f1, f2, …, f5, компоненты которых являются действительными числами. Организовать обмен компонентами между файлами в порядке f1 → f3, f2 → f4, f3 → f5, f4 → f2, f5 → f1.
18. Дан символьный файл f, в котором не менее двух компонент. Определить, являются ли первые два символа цифрами. Если да, то установить, является ли число, образованное этими цифрами, четным.
19. Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f, делящиеся на 3 и не делящиеся на 7.
20. Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f, являющиеся точными квадратами.
21. Даны символьные файлы f и g. Записать в файл h компоненты файла f, затем компоненты файла g с сохранением порядка.
22. Дан файл f с целыми компонентами. Получить файл g, образованный из файла f исключением повторных вхождений одного и того же числа.
23. В условиях предыдущей задачи добиться того, чтобы в файле g сначала шли положительные, затем отрицательные числа.
24. В условиях задачи 21 добиться того, чтобы в файле g компоненты шли в следующем порядке: две положительных, затем две отрицательные, затем снова две положительные и т.д. Предполагается, что число компонент в файле f делится на 4.
25. Дан символьный файл f. Добавить в его конец символы ‘e’, ‘n’, ‘d’.
26. Дан символьный файл f. Подсчитать число вхождений в файл сочетания ‘ab’.
27. Дан символьный файл f. Определить, входит ли в файл сочетание ‘abcdefgh’.
28. Дан символьный файл f. Подсчитать число вхождений в файл каждой из букв a, b, c, d, e, f и вывести результат в виде таблицы.
29. Даны символьные файлы f и g. Определить, совпадают ли компоненты файла f с компонентами файла g. Если нет, то получить номер первой несовпадающей компоненты. Если один из файлов совпадает с первым n компонентами второго файла, ответ должен быть n + 1.
30. Даны символьные файлы f и g. Записать в файл h все совпадающие начальные компоненты.
31. Дан символьный файл f. Записать в файл g с сохранением порядка все компоненты f, которым предшествует символ ‘a’.
32. Дан символьный файл f. Записать в файл g с сохранением порядка все компоненты f, за которыми следует ‘a’.
33. Дан символьный файл f. Группы символов, разделенные пробелом и содержащие внутри себя пробелов, будем называть словами. Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в файл g.
34. Дан символьный файл f. Найти самое длинное слово (см. задачу 32) среди слов, вторая буква которых есть ‘e’. Если слов с наибольшей длиной несколько, то найти последнее. Если таких слов нет, то получить об этом сообщение.
35. Дан символьный файл f. Определить, сколько слов в файле, состоящих из одной, двух и т.д. букв. Определить, сколько слов в файле.
36. Дан символьный файл f, содержащий список людей по образцу фамилия пробел имя пробел отчество, пробел. Записать эти сведения в файл g по образцу имя пробел отчество пробел фамилия, пробел.
37. В условиях предыдущей задачи записать эти сведения в файл g по образцу фамилия пробел и.о., пробел.
38. Дан символьный файл. Получить все его строки, содержащие более 60 символов.
39. Дан символьный файл f. В файле g организовать обратный порядок перевернутых строк.
40. Дан символьный файл f. Переписать компоненты файла f в файл g, вставляя в начало каждой строки по одному пробелу. Порядок компонент должен быть сохранен.
41. Дан символьный файл f. Исключить пробелы, стоящие в концах его строк, результат записать в файл g.
Строки
Задачи решаются методами класса string. Математическая модель содержит перечень и описание примененных методов указанного класса.
42. Сведения о студенте состоят из его имени, фамилии и названии группы (двузначное число). Дан файл, содержащий сведения о студентах. Выяснить, имеются ли однофамильцы.
43. В условиях задачи 42 выяснить, имеются ли однофамильцы на одном курсе.
44. В условиях задачи 42 выяснить, имеются ли однофамильцы в одной группе.
45. Дан файл f, содержащий различные даты. Каждая дата – это число, месяц и год. Найти год с наименьшим номером.
46. Дан файл f, содержащий различные даты. Каждая дата – это число, месяц и год. Найти весенние даты.
47. Дан файл f, содержащий различные даты. Каждая дата – это число, месяц и год. Найти самую позднюю дату.
48. Дан файл f, содержащий номера телефонов сотрудников учреждения: указывается фамилия сотрудника, его инициалы и номер телефона. Найти номер сотрудника по его фамилии и инициалам.
49. Дан файл f, содержащий сведения о кубиках: размер каждого кубика (длина ребра), его цвет (красный, желтый, зеленый, синий) и материал, из которого он сделан (деревянный, металлический, картонный). Найти количество кубиков каждого из перечисленных цветов и их суммарный объем.
50. В условиях предыдущей задачи найти количество кубиков с ребром 3 и количество металлических кубиков с ребром больше 5.
51. Дан файл f, содержащий сведения о веществах: название вещества, его удельный вес, проводимость (проводник, полупроводник, изолятор). Найти удельные веса и названия всех полупроводников.
52. В условиях предыдущей задачи выбрать данные и проводниках и упорядочить их по убыванию всех удельных весов.
53. Проверить, имеется ли в заданном тексте баланс открывающих и закрывающих круглых скобок, то есть верно ли, что можно установить взаимно однозначное соответствие открывающих и закрывающих скобок со следующим свойством: открывающая скобка всегда предшествует соответствующей закрывающей
54. Для каждого символа заданного текста указать, сколько раз он встречается в тексте. Сообщение об одном символе должно печататься не более одного раза
55.Заменить окончание ING каждого слова, встречающегося в заданном предложении, на ED