Задание для индивидуальной работы Вариант 1. Определить является ли последовательность символов находящаяся в текстовом файле, идентификатором. Вариант 2. Подсчитать количество сдвоенных символов ‘cc’, ‘нн’, ‘лл ’в тексте, расположенном в текстовом файле. Вариант 3. Разбить произвольный текст, находящийся в файле на строки определенной длины. При переносе слова предусмотреть вывод дефиса. Вариант 4. Подсчитать число слов в предложении, записанном в текстовом файле. Вариант 5. Найти в текстовом файле самое длинное и самое короткое слово. Вариант 6. Из строки, расположенной в текстовом файле, исключить все символы, входящие в нее более одного раза. Вариант 7. Проверить, правильно ли расставлены в тексте, расположенном в текстовом файле, круглые скобки. Вариант 8. В последовательности символов, заданной в текстовом файле, подсчитать общее количество символов ‘+’, ‘–‘, ‘*’. Вариант 9. Слова текста, расположенного в текстовом файле, вывести на экран в виде строки и в виде столбика. Вариант 10. В текстовом файле, в предложении, содержащем не менее двух слов, поменять местами первое и последнее слово. Вариант 11. В текстовом файле две строки текста. Необходимо сформировать третью строку, состоящую из символов, входящих одновременно в обе исходные строки, и дописать ее в текстовый файл. Вариант 12. Откорректировать текст, расположенный в текстовом файле, заменив в нем все вхождения одной буквы на другую. Вариант 13. Переписать текстовый файл таким образом, чтобы все слова исходного текста были перевернуты. Вариант 14. В произвольный текстовый файл добавить в конец первое и третье слово из исходного текста. Вариант 15. В произвольный текстовый файл добавить в конец свою фамилию. Вариант 16. В исходном текстовом файле X заменить все вхождения подстроки Р на подстроку Q. Вариант 17. Для заданного символа определить, сколько раз он встречается во введенном тексте файла. Вариант 18. Из текста, расположенного в файле, исключить группы символов, расположенных между круглыми скобками. Вариант 19. Из текста, расположенного в файле, исключить однобуквенные слова. Результат записать в другой файл. Вариант 20. Из текста, расположенного в файле, удалить лишние пробелы, разделяющие слова. Вариант 21. Выяснить, верно ли, что среди символов строки произвольной длины, расположенной в файле, имеются вес символы, входящие в слово ДЕНЬ. Вариант 22. Для каждого из слов предложения, расположенного в одном текстовом файле, указать, сколько раз оно встречается в предложении, расположенном в другом текстовом файле. Вариант 23. В произвольном текстовом файле исключить первое и последнее слово. Вариант 24. Определить, можно ли из символов заданной в файле строки составить вашу фамилию. Вариант 25. Из произвольной последовательности символов, расположенной в текстовом файле, исключить специальные символы. Пример выполнения задания Рассмотрим пример программы, которая в интерактивном диалоговом режиме обеспечивает выполнение действий по созданию, расширению и выводу текстового файла. Алгоритм программы приведен на рис. 7.1. нет  | Рис. 7.1. Схема работы алгоритма основной программы обработки текстовых файлов. Для того чтобы иметь возможность многократно выполнять различные действия по обработке файлов, в программе организован бесконечный цикл, выход из которого обеспечивается специальной процедурой прерывания программы. В выводимом в начале каждого шага цикла небольшом меню предлагается выбрать режим работы с файлом и в зависимости от значения введенной переменной k осуществляется создание, вывод или расширения файла. Текст программы будет иметь следующий вид: {Цель: создание, расширение и вывод текстовых файлов } {Подпрограммы: obrt- чтения и вывода файла} { rasht – расширение файла } { sozdt – создание файла } program textfiles; uses crt; type dlina=string[60]; var ft: text; {файловая переменная } s: dlina; {промежуточная переменная } rej: char; {селектор режима } filename: string[14];{имя файла } {процедура чтения и вывода файла} procedure obrt (var stro:text); begin write ('имя выводимого файла'); readln(filename); assign(stro, filename); {$I-} reset (stro); if IOResult<>0 then begin writeln('файл ',filename,'не существует'); exit; end; {$I+} while not seekeof(stro) do begin readln(stro, s); writeln(S); end; end; {процедура расширения файла} procedure rasht (var stro:text); begin repeat write ('имя расширяемого файла'); readln(filename); assign(stro, filename); {$I-} Append(stro); {$I+} until IOResult=0; while true do begin writeln('введите строку'); if s='zzz' then begin close(stro); exit; end; writeln(stro, s); end; end; {процедура создания файла} procedure sozdt (var stro:text); begin write ('имя создаваемого файла'); readln(filename); assign(stro, filename); rewrite(stro); while true do begin writeln('введите строку (zzz-окончание ввода)'); readln(s); if s='zzz' then begin close(stro); exit; end; writeln(stro, s); end; end; begin while true do begin clrscr; writeln('укажите режим'); writeln('1: создание текстового файла'); writeln('2: вывод текстового файла'); writeln('3: расширение текстового файла'); writeln('4: выход из программы'); readln(rej); case rej of '1': sozdt(ft); '2': obrt(ft); '3': rasht(ft); '4': halt; else writeln('повторите ввод номера'); end; writeln('для продолжения нажмите Enter'); readln; end; end. БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Т. Кормен, Ч. Лейзерсон, Р. Ривест Алгоритмы: построение и анализ. М.: МЦНМО, 1999. – 960 с. 2. Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман Структуры данных и алгоритмы. М.: Вильямс, 2000 г. – 386 с. 3. Д. Кнут. Искусство программирования для ЭВМ. Т.3. Сортировка и поиск. М.: Мир, 1978 г., переиздание - М.: Вильямс, 2000 г. – 800 с. 4. Д. Кнут. Искусство программирования для ЭВМ. Т.1. Основные алгоритмы. М.: Мир, 1976 г., переиздание - М.: Вильямс, 2000 г. – 682 с.пер 5. Никлаус Вирт Алгоритмы и структуры данных. СПб.: Невский диалект, 2007.–352 с. 6. Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Построение и анализ вычислительных алгоритмов. М., Мир, 1979. – 536 с. |