процедура val позволяет преобразовать изображение числа в число. В общем виде обращение к процедуре выглядит так: val (Строка, число, код).
где строка – строковая константа или переменная, содержащая изображение числа; число - переменная, которой должно быть присвоено значение, изображенное строкой строка; код – возвращаемый процедурой код ошибки. Если строка может быть преобразована в число, то код ошибки равен нулю.
Процедура val полезна при организации ввода с клавиатуры. Например, если в программе описана переменная month типа integer и ее значение вводится с клавиатуры, то в результате возможной ошибки оператора, задавшего месяц строкой символов, например 'июнь', а не цифрой, программа завершается ошибкой времени выполнения. Однако если числовые данные вводить как строку, а затем преобразовывать в число с помощью процедуры val, то можно избежать подобного неприятного завершения программы. Ниже приведен пример такой программы.
var
month: integer;
st: string[10];
code: integer;
begin
repeat
write (‘Месяц->’);
readln (st);
val (st, month, code);
if code<>0 then
writeln (‘Ошибка! Месяц следует задать цифрой.’);
until code=0;
end.
Задачи:
1. Дан текст. Напечатать все имеющиеся в нем цифры.
2. Дан текст. Определить количество цифр в нем.
3. Дан текст, в котором имеются цифры.
а) Найти их сумму.
б) Найти максимальную цифру.
4. Дан текст, в начале которого имеются пробелы и в котором имеются цифры. Найти порядковый номер максимальной цифры, считая, что первый номер имеет первый непробел. Если максимальных цифр несколько, то должен быть найден номер первой из них.