Пример и задания для обработки строк
Пример. Ввести строку st1. Сформировать строку st2 перестановкой символов исходной строки в обратном порядке и заменой всех строчных латинских букв прописными. Program lr_10; Var i, j: byte; st1, st2: string; {эквивалентно string[255]} Begin writeln(‘введи строку’); readln (st1); writeln(‘исходная строка:’ , st1); j := LENGTH(st1); {максимальный индекс элемента в строке} for i:=1 to ord( st1[0] ) do begin st2[i] := UPCASE(st1[j]); j := j-1 end; st2[0] = st1[0]; {запись символа с кодом, равным длине строки} write(‘искомая строка: ’ , st2 ); writeln {перевод строки} END. Задания для самостоятельного выполнения 1. Дана строка, содержащая не более двадцати латинских букв. Все вхождения «max» в ней заменить на «min» и «макс» на «мин». Подсчитать число таких замен. 2. Дана строка, содержащая сорок латинских букв. Подсчитать все вхождения «abc» в строку и их удалить. Вывести на экран два варианта полученных строк, заполняя образовавшуюся «дыру» последующими буквами с добавлением в конце пробелов и оставляя на месте удаленных символов пробелы. 3. Определить сколько различных символов входит в заданный текст, содержащий не более 100 литер и оканчивающийся точкой. 4. Определить номера позиций гласных букв в заданном тексте. 5. Напечатать заданный текст из 60 символов, удалив из него повторные вхождения каждой литеры. 6. Дана строка, состоящая из слов, разделенных пробелами, в конце строки – точка. Определить, сколько в строке слов, содержащих четное число символов. 7. Дан набор слов на английском языке, разделенных пробелами, в конце точка. Выделить в последовательности нечетные слова прописными буквами. 8. Дан непустой текст из строчных букв, за которыми следует точка. Определить, упорядочены ли эти буквы по алфавиту. Напечатать результат проверки и исходный текст прописными буквами. 9. Дана последовательность от двух до восьми слов, в каждом из которых от одной до десяти строчных букв; между соседними словами – не менее одного пробела, за последним словом – точка. Напечатать слово с максимальной длиной. 10. Дано несколько слов, в каждом из которых от одной до семи строчных букв, между соседними словами – не менее одного пробела, за последним словом – точка. Напечатать эти слова в алфавитном порядке. 11. Дана последовательность, содержащая от одного до восьми слов, в каждом из которых от одной до пяти строчных букв; между соседними словами – запятая, за последним словом – точка. Напечатать эту же последовательность, удалив из нее повторные вхождения слов. 12. В заданном тексте (слова разделены пробелами) поменять местами первое и последнее слово. 13. Даны числа K и текст из слов, разделенных пробелами, в конце – точка. Определить количество слов в тексте, состоящих из K букв. 14. Дана последовательность, содержащая от двух до десяти слов, в каждом из которых от одной до восьми строчных букв; между соседними словами – не менее одного пробела, за последним словом – точка. Напечатать те слова, в которых буквы слова упорядочены по алфавиту. 15. Дана последовательность, содержащая от двух до десяти слов, в каждом из которых от одной до пяти строчных букв; между соседними словами – запятая, за последним словом – точка. Напечатать эту же последовательность слов, но в обратном порядке. 16. В заданный текст входят только цифры и буквы. Определить, является ли текст десятичной, шестнадцатеричной или двоичной записью целого либо вещественного числа (указать при выводе какого). 17. В заданном тексте найти и, если есть, напечатать все слова-палиндромы (слова, которые одинаково читаются слева направо и справа налево). 18. Дан текст из слов, разделенных пробелами, в конце – точка. Найти слово наименьшей длины (содержащее наименьшее количество букв). 19. Разработать программу шифровки – дешифровки текста путем замены каждой буквы текста другой буквой, с кодом на N больше (меньше) исходной. 20. Дана непустая последовательность слов, в каждом из которых от одной до шести букв; между соседними словами – запятая, за последним – точка. Напечатать те слова, у которых одинаковые «соседи». (Написать процедуру, которая вводит очередное слово и присваивает его литерной строке, а запятую или точку присваивает некоторой глобальной переменной).
ФАЙЛЫ Файл - именованная область внешней памяти ПК. Файлом может называться логическое устройство, потенциальный источник или приемник информации. Файл характеризуется именем и содержит компоненты одного типа (может быть любой тип, кроме файлов). Длина вновь создаваемого файла не указывается при его объявлении. В Pascal ABC различают типизированные и текстовые файлы. Определяются файловые типы в блоке TYPE следующим способом: Type <имя> = FILE OF <тип>; {типизированный} <имя> = TEXT; {текстовый} где <имя> - имя файлового типа (правильный идентификатор); FILE, OF - зарезервированные слова (файл, из), TEXT - имя стандартного типа для текстовых файлов; <тип> - любой тип, кроме файлового. Например: TYPE FIL = file of char; {файл символов} text30 = file of string[30]; {файл строк } Вид файла определяет способ хранения информации в файле. Переменные файловых типов объявляются в разделе VAR: VAR f: FIL; ff: text30; а также f1: TEXT; {переменная для текстового файла } f2: file of real; {переменная файла вещественных чисел} т. е. сразу можно описывать файловые переменные без объявления типа, например: VAR <имя_переменной>: TEXT; <имя_переменной>: FILE OF <тип>; Некоторые файлы могут только вводить информацию (клавиатура), другие - только принимать ее (устройства печати), третьи позволяют и считывать, и записывать (файл на диске). Именно с помощью файловой системы осуществляется весь ввод и вывод информации в программе. Все файлы становятся доступными программе только после связывания ранее объявленной файловой переменной с именем существующего или вновь создаваемого файла, а также в указании направления обмена информацией: чтение из файла или запись в него.
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|