Turbo Pascal для начинающих

         

в строке есть неверный символ


{ проверяет, является ли введенная строка
шестнаддатеричным числом } var
st: string[20]; { строка }
i: integer; { номер проверяемого символа }
error: boolean; { в строке есть неверный символ } begin
writeln('Введите шестнадцатеричное число и нажмите <Enter>');
write('->');
readln(st);
{ преобразуем введенную строку к верхнему регистру for i:=l to Length(st)
do st[i]:=UpCase(st[i]);
error:=FALSE;
while (i <= Length(st)) and fnot error)
do if ((st[i] >= '0') and (st[i] <= '9')) or
((st[i] >= 'A') and (st[i] <= 'F')) then i:=i+l else error:=TRUE;
write('Строка '); if error
then write('не ');


writeln('является шестнадцатеричным числом. '); readln; end. { проверяет, является ли введенная строка дробным числом без знака }
var
st: string[20]; { строка }
i: integer; { номер проверяемого символа }
err: boolean; { TRUE - строка не дробное число }
begin
writeln('Введите дробное число и нажмите <Enter>');
write('->');
readln(st);
i:=l;
err:=TRUE; { пусть строка - не дробное число }
if (st[i] >='l') and (st[i] <='9') then { первый символ
цифра )
begin
{ за цифрой возможно следут еще цифры } while (st[i] >='l') and (st[i] <='9') and (KLength(st) )
do i:=i+l;
{ за цифрами следует точка, но она не последний символ } if ((st[i] = '.') and (i < Length(st))) then { точка } begin
{ за точкой должна быть хотя бы одна цифра } if ((st[i] >='l') and (st[i] <='9')) then begin
while ((st[i] >='l') and (st[i] <='9') and (KLength(st) ) ) do i:=i+l;
if i= Length(st) { последний символ — цифра} then err:=FALSE; { предположение
об ошибке ложно } •nd; end; end;
write('Строка '); if err
then write('не ');
writeln('является дробным числом.'); readln; end.

Содержание раздела