Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Then writeln('Похоже на адрес')

else writeln('Ошибка');

End.

Конечно, это лишь простейший алгоритм нахождения ошибок во введенном адресе. Его можно усовершенствовать, потребовав, например, чтобы строка заканчивалась символами ‘.by’ или не содержала двух точек подряд и т.д.

Копирование подстроки. Функция copy(S, a, n) из строки S копирует n символов, начиная с позиции a, т.е. возвращает часть строки S (подстроку) длиной n символов.

Например, цепочка операторов S:= ’касiў Ясь канюшыну’; S1:= copy(S, 7, 3); запишет в строковую переменную S1 слово «Ясь».

Пример 2. Составить программу, которая выделяет заданную часть введенной с клавиатуры строки.

Строку вводим в переменную s типа string. Ввод позиции начала a и длины n выделяемой подстроки в переменные a и n типа integer будем выполнять в одной процедуре read(a,n) через пробел.

Программа может выглядеть так:

Program Primer7_2;

var s:string; a,n: integer;

Begin

writeln('Введите строку: '); readln (s); { ввод строки }

writeln('Введите позицию начала и длину подстроки: '); readln (a,n);

writeln(copy(s,a,n)); { вывод части строки }

End.

Удаление и вставка символов. Процедура delete(S,a,n) из строки S удаляет n символов, начиная с позиции a. Пусть строковая переменная S содержит строку «У меня зазвонил телефон». Процедура delete(S,7,9) удалит слово «зазвонил» и в переменной S останется фраза «У меня телефон». В данном случае удалили 9 символов, начиная с 7-го. Седьмым символом является пробел и его тоже надо было удалить. Пробел - равноправный символ, такой же, как и любой другой.

Процедура insert(S1,S,a) вставляет подстроку S1 в строку S начиная с позиции a. Например, если в строке S содержится слово «инатор», а в S1 - «куб», то при выполнении процедуры insert(S1,S,3) в переменной S окажется слово «инкубатор».

Пример 3. С клавиатуры вводят слово. Составить программу, которая производит замену указанного слога на новый.

Вводим слово s и два слога – заменяемый s1 и заменяющий z. Определяем позицию p:=pos(s1,s) и длину len:=length(s1) заменяемого слога. Удаляем этот слог delete(s,p,len) и вставляем новый insert(z,s,p).

Программа может выглядеть так:

Program Primer7_3;

var s, s1, z: string; p, len: integer;

Begin

write('Введите слово '); readln (s); { ввод слова }

write('Заменить слог: '); readln (s1); { ввод заменяемого слога s1}

write('на слог: '); readln (z); { ввод заменяющего слога z}

p:=pos(s1,s); len:=length(s1); { позиция и длина слога s1 }

delete(s,p,len); { удаление части слова s }

insert(z,s,p); { вставка слога z в слово s }

writeln(s); { вывод }

End.

Преобразование регистра. Для преобразования строчных букв в прописные в Pascal предназначена функция UpCase(а), где а – латинская буква.

Пример 4. Составить программу, которая выполняет преобразование регистра введенной с клавиатуры строки.

Будем вводить строку, содержащую строчные и заглавные буквы, в переменную s типа string. При использовании функции UpCase преобразование и вывод выполняются посимвольно в цикле с параметром i, который изменяется от 1 до length(s) (последний символ строки). При этом можно задать регистр отдельных символов, например, выводить нечетные символы заглавными.

Программа может выглядеть так:

Program Primer7_4;

Var s: string; i: integer;

Begin

write('Введите строку: '); readln (s); { ввод строки }

for i:=1 to length(s) do { посимвольное преобразование и вывод }

if (i mod 2 = 1) then write(UpCase(s[i])) { нечетные в верхнем регистре }

else write((s[i]));

Writeln

End.

Преобразование типов данных. Целые или вещественные числа преобразуются в строки процедурой Str(V, S). Онапереводит числовую переменную V в переменную S типа String.

Процедура Val(S, V, code) преобразует строковое представление числа S в его числовое значение V. Если преобразование возможно, то в переменной code возвращается 0, если невозможно, то в code возвращается ненулевое значение.

Пример 5. Составить программу, которая преобразует введенные с клавиатуры числа в строки и выполняет действия над ними.

С клавиатуры вводятся два числа (например, 12 15) и помещаются в целочисленные переменные a и b. Выводится их сумма, например, 12+15 = 27. Затем процедурами Str(a,sa) и Str(b,sb) они преобразуются в строки и sb. Выводится результат слияния этих строк: ‘12’+’15’ = ‘1215’.

Программа может выглядеть так:

Program Primer7_5;

var a, b: integer; sa, sb: string;

Begin

write('Введите два числа: '); readln(a,b); { ввод чисел }

writeln('Сумма чисел: ', a,' + ',b, ' = ', a+b); { вывод суммы чисел }

Str(a,sa); Str(b,sb); { преобразование в строки }

writeln('Слияние строк: ', sa, ' + ', sb, ' = ', sa+sb); { вывод строки }

End.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...