Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Занятие 3. Стандартные функции для работы со строками (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. Примечание. Если начальная или конечная позиции копируемого текста находятся вне пределов исходной строки символов, то сообщение об ошибке не выдается. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки. Функция Pos C помощью функции 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. Задано существительное 1-го склонения, оканчивающееся на “а”. Проверьте правильность ввода. Напечатайте это слово во всех падежах. Применяйте подпрограммы. 2. Проверьте правописание “ча” и “ща” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы. 3. Напишите алгоритм, подсчитывающий, сколько раз в данном слове х встречается данное слово у. Если слово у длиннее, чем х, то результат должен быть равен нулю. Применяйте подпрограммы. 4. Выясните, сколько раз встречается каждая буква алфавита в предложенном тексте. Применяйте подпрограммы. 5. Запишите строку а в обратном порядке в строку б. Посчитайте, сколько одинаковых букв находятся на одинаковых местах в этих строках. Применяйте подпрограммы. 6. Заданы фамилия, имя и отчество учащегося, разделенные пробелом. Напечатайте его фамилию и инициалы. Применяйте подпрограммы. 7. Проверьте правописание “жи” и “ши” в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы. 8. Запросите произвольное предложение и имя. Найдите ошибки употребления имени и исправьте их. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы. 9. Посчитайте количество цифр в веденной строке символов. Применяйте подпрограммы. 10. Посчитайте количество букв в введенной строке символов. Применяйте подпрограммы. 11. Запросите несколько символов и строку для выяснения, сколько заданных символов встречается в строке. Применяйте подпрограммы. Занятие 4. Стандартные процедуры для работы со строками (delete, insert,str,val). Процедура Insert Процедура Insert вставляет в исходную строку, начиная с указанной позиции, какую-либо другую строку. Оператор Insert (Word1,Word2,5) указывает, строку Word1 необходимо вставить в строку Word2, начиная с 5-ой позиции. Процедура Delete Процедура Delete удаляет в исходной строке фрагмент определенной длины, начиная с указанной позиции. Так, оператор Delete(Word1,2,3) удаляет из указанной строки фрагмент, длиной в три символа, начиная со второго. Процедура Str Общий вид Str(Chislo,Stroka) Процедура Str преобразовывает числовое значение переменной Chislo в строковую переменную Stroka. После первого параметра может указываться формат, аналогичный формату вывода. Program DemoProcedureStr; Var Word: string; Chislo: integer; Begin Chislo:= 1560; Str(Chislo:8, Word); writeln(Word); {выводится строка ' 1500'} End. Процедура Val Общий вид Val(Stroka,Chislo,Code) Процедура Val преобразует значение строки Stroka в величину целочисленного или вещественного типа и помещает результат в Chislo. Значение строковой переменной Stroka не должно содержать пробелов в начале и в конце. Code целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Code равно нулю, если же ошибка обнаружена, Code будет содержать номер позиции первого ошибочного символа, а значение Chislo будет не определено. Program DemoProcedureVal; Var Word: string; Chislo, Code: integer; Begin writeln('Введите строку цифр '); readln(Word); Val(Word, Chislo, Code); {преобразование строки в число} if Code <> 0 then writeln('Ошибка! В позиции ',Code,' не цифра!',); End. Задачи для самостоятельного решения 1. Составьте алгоритм приписывания к каждому слову в начало заданной буквы в данной строке. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи. 2. Составьте алгоритм замены в какой-нибудь литерной величине всех букв "а" на буквы "б" и наоборот (при такой замене, например, из слова "баба" должно получиться слово "абаб"). Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи. 3. Составьте алгоритм, утраивающий каждую букву в заданном тексте (при этом, например, из слова "кот" должно получиться слово "кккоооттт"). Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи. 4. Составьте алгоритм, выясняющий, является ли данное слово "перевертышем" (так называются слова, читающиеся одинаково слева направо и справа налево, например: ПОТОП, КАЗАК). Используйте подпрограммы для решения каждой частной задачи. 5. Составьте алгоритм, вычеркивающий из данного текста любую букву. Выведите полученную строку на экран. Если такого символа нет, то выведите соответствующее сообщение. Используйте подпрограммы для решения каждой частной задачи. 6. Составьте алгоритм, который каждую встреченную в слове букву "б" заменял бы сочетанием букв "ку". Если такого символа нет, то выведите соответствующее сообщение. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи. 7. Как только в строке встретится символ "*", удалить все символы в строке после "*". Выведите полученную строку на экран. Если такого символа нет, то выведите соответствующее сообщение. Используйте подпрограммы для решения каждой частной задачи. 8. Вставить в строку слово по условию: а) в конец строки б) в начало строки в) после первого слова. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи. 9. В строке удалить все буквы "б","с","д",".". Если такого символа нет, то выведите соответствующее сообщение. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи. 10. Все слова, в которых буква “а” встречается более 2х раз, удалить из текста. Выведите полученную строку на экран. Если такого символа нет, то выведите соответствующее сообщение. Используйте подпрограммы для решения каждой частной задачи. 11. Из строки удалить среднюю букву, если длина строки нечетная, иначе - удалить две средние буквы. Выведите полученную строку на экран. Используйте подпрограммы для решения каждой частной задачи.
|
||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 233; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.154.132 (0.011 с.) |