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) они преобразуются в строки sа и 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|