Функция Copy
Функция copy позволяет выделить фрагмент строки.
Обращение к функции copy выглядит следующим образом:
copy(cтрока,p,n);
где cтрока - переменная строкового типа, содержащая строку, фрагмент
которой надо получить;
р - номер первого символа в строке cтрока, с которого начинается выделяемая подстрока;
п - длина выделяемой подстроки.
Например, в результате выполнения инструкций
st:='Менеджер Иванов';
fam:=copy(st,10,6);
значением переменной fam будет строка 'Иванов'.
Пример 6.6. Программа выделения подстроки.
Program Prog6_6;
uses WinCrt;
Var
st:string[10];
st1:string;
p,n:integer;
Begin
readln (p); {Номер первого символа}
readln(n); {Длина выделяемой подстроки}
st1:=copy(st,p,n);
writeln('Выделяема подстрока =',St1);
End.
Процедура Val
Позволяет преобразовать изображение числа в число. Обращение к процедуре выглядит так:
val(st,Число,Код);
где st - строковая константа или переменная, содержащая изображение числа;
Число - переменная, которой должно быть присвоено значение, изображенное строкой st;
код - возвращаемый процедурой код ошибки. Если строка может быть преобразована в число, то код ошибки равен нулю.
Пример 6.7. Программа преобразования изображения число в число.
Program Prog6_7;
uses WinCrt;
Var
st:string[5];
code:integer;
n:real;
Begin
readln (st); {Ввод изображения числа}
val(st,n,code); { преобразование строки в число }
writeln('Число =',n:10:4);
End.
Пример 6.8.Программа контроляправильности вводимых
данных при помощи процедуры val.
ProgramProg6_8;
usesWinCrt;
Var
month:integer;
buf:string[10];{ буфер для ввода строки}
code:integer; ( код ошибки преобразования строки в число }
Begin
Repeat
write ('Месяц=') ;
readin(buf); { ввод номера месяца }
val (buf.month,code);{ преобразование строки в число }
if code<>0 { введенная строк не цифра }then
writein('Ошибка! Месяц следует задать цифрой.');
until code=0;
end.
Пример работы программы:
Месяц=май
Ошибка! Месяц следует задать цифрой.
Месяц=5
Дата добавления: 2015-01-13; просмотров: 792;