Примеры задач
Строки символов
Напишите функцию nonalpha, которая получает параметр str типа string и возвращает позицию его первой литеры, не являющейся буквой прописной или строчной. Методика решения
Пример: Прогр5аммирование. Ответ: 6Используемые переменные:
str(в функции)– строка;
i(в функции) – текущий номер литеры;
j(в функции) – параметр цикла;
f(в функции) – логическая переменная;
st – строка.
А так же используется константа a – сторока, состоящая из всех символов, не являющихся буквами.
Функция nonalpha
Входным параметром функции является строка str . В цикле перебираем литеры строки. Сравниваем каждый из них со всеми символами строки константы a . Если символ, содержится в строке a , то он не является буквой. В этом случае логической переменной присваиваем true , а функции возвращаем позицию текущей литеры строки str . Этот цикл повторяем пока не закончилась строка и пока логическая переменная имеет значение false . После цикла, если не найдено ни одной литеры, не являющейся буквой (логическая переменная равна false ), то функции возвращаем 0. В основной программе считываем с экрана строку St , вызываем функцию nonalpha(st) и выводим на экран получившееся значение.
Program ex4_1; Uses Crt; const a:string [40]='1234567890/\< >`?.,";:][=+-()*&^%$#@!~'; var st:string [10]; function nonalpha(str:string):integer; var f:boolean; i,j:integer; begin i:=1; f:=false; while (i<=length(str)) and (f=false) do begin for j:=1 to length(a) do if str[i]=a[j] then >begin f:=true; nonalpha:=i; end; i:=i+1; end; if f=false then nonalpha:=0; end; begin clrscr; writeln ('Введите строку'); readln (st); writeln ('Результат:'); writeln(nonalpha(st)); readkey; end.