О проекте
|
Тема: Стандартные функции для работы со строками (concat,copy,length, pos,upcase).Функция LengthВстроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации): Program DemoFunctionLength; Var Word : string; Begin write ('Введите слово :'); readln(Word); writeln('Это слово состоит из ',Length (Word),' букв'); End. |
Примечание. При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы. Функция UpcaseФункция Upcase позволяет преобразовывать символ любой литеры из строчного в прописной. Эта функция рассчитана на обработку отдельного символа. Поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл. Program DemoFunctionUpcase; Var Word : string; i : Byte; Begin Word := 'фирма Microsoft'; for i := 1 to Length (Word) do Word[i] := UpCase (Word[i]); writeln(Word); {выводится текст 'фирма MICROSOFT'} End. |
В результате работы программы на терминал выдается строка, содержащая большие английские буквы и маленькие русские. Примечание. Русские литеры не могут обрабатываться этой функцией. Для того, чтобы преобразовать в заглавные строчные буквы русского алфавита, применяют оператор выбора Case: . . . case Word[i] of 'a' : Word[i] := 'A'; 'б' : Word[i] := 'Б'; 'в' : Word[i] := 'В'; . . . end; . . . |
Функция CopyФункция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию нужно указать следующие параметры: - имя строки, из которой должен извлекаться копируемый фрагмент,
- позицию в строке, начиная с которой будет копироваться фрагмент,
- число копируемых символов.
Program DemoFunctionCopy; Var Word : string; Word1 : string[20]; Begin Word := 'фирма Microsoft'; writeln(Word); {выводится текст 'фирма MICROSOFT'} Word1 := Copy (Word,1,5); writeln(Word1); {выводится текст 'фирма'} End. |
Примечание. Если начальная или конечная позиции копируемого текста находятся вне пределов исходной строки символов, то сообщение об ошибке не выдается. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки. Функция PosC помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается. Если фрагмент не найден, то функция возвращает нуль. Program DemoFunctionPos; Var Word : string; SearchWord : string[20]; Position : Byte; Begin Word := 'фирма Microsoft'; writeln(Word); {выводится текст 'фирма MICROSOFT'} writeln ('Введите искомый текст '); readln (SearchWord); Position := Pos(SearchWord, Word); if Position <> 0 then begin write ('Фрагмент <',SearchWord,'> содержится в строке <',Word); writeln ('>, начиная с позиции ',Position ); end else writeln('Фрагмент <',SearchWord,'> не содержится в строке <',Word); End. |
Примечание. Функция Pos требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск. Причем большие и маленькие буквы считаются различными символами. Функция ConcatФункция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (или сцепление) строк Str1,Str2,...,StrN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепленных строк не должна превышать 255. Program DemoFunctionConcat; Var Word : string; Word1, Word2 : string[20]; Begin Word1 := 'фирмы '; Word2 := 'Microsoft'; Word := Concat('Компьютеры ',Word1,Word2); writeln(Word); {выводится текст 'Компьютеры фирмы Microsoft'} End. |
Задачи для самостоятельного решения- Задано существительное 1-го склонения, оканчивающееся на “а”. Проверьте правильность ввода. Напечатайте это слово во всех падежах. Применяйте подпрограммы.
- Проверьте правописание “ча” и “ща” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.
- Напишите алгоритм, подсчитывающий, сколько раз в данном слове х встречается данное слово у. Если слово у длиннее, чем х, то результат должен быть равен нулю. Применяйте подпрограммы.
- Выясните, сколько раз встречается каждая буква алфавита в предложенном тексте. Применяйте подпрограммы.
- Запишите строку а в обратном порядке в строку б. Посчитайте, сколько одинаковых букв находятся на одинаковых местах в этих строках. Применяйте подпрограммы.
- Заданы фамилия, имя и отчество учащегося, разделенные пробелом. Напечатайте его фамилию и инициалы. Применяйте подпрограммы.
- Проверьте правописание “жи” и “ши” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.
- Запросите произвольное предложение и имя. Найдите ошибки употребления имени и исправьте их. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы.
- Посчитайте количество цифр в веденной строке символов. Применяйте подпрограммы.
- Посчитайте количество букв в введенной строке символов. Применяйте подпрограммы.
- Запросите несколько символов и строку для выяснения, сколько заданных символов встречается в строке. Применяйте подпрограммы.
|