Лабораторная работа: Структуры и алгоритмы обработки данных

Procedure Proverka (var w: WE); {проверкапревышения

значениятипа Integer}

Var

a, i: TE;

c: char;

b: chisla;

Begin

w:= '';

ReadLn(w); //ввод числа с клавиатуры – тип String

While (w = '') or (w='-')do {проверяем, если пользователь не ввел данные или ввел только знак минуса выводим на экран сообщения о не корректные вводе}

Begin

WriteLn(Rus('Вы не ввели данные или они не корректны, попробуйте еще раз')); WriteLn(' ');

Proverka(w); //выполняем рекурсивный вход в процедуру

End;

fori:= 1 tolength(w) do {запускаем цикл проверки числа на корректность ввода, число введено, как строка. По этому мы можем поэлементно проверить каждую цифру}

begin

b:= ['0','1','2','3','4','5','6','7','8','9']; //множество состоящее из цифр

c:=w[i]; {берем каждую цифру из числа проходя от первой до последней}

if (cinb) or (c='-') and (i=1) then {сравниваем есть ли цифра из введенного числа во множестве заданных цифр и проверяем какое число было введено, отрицательное или положительное и не стоит ли знак минус в середине числа}

else

a:= 1; {если число не корректно делаем пометку для дальнейшей проверки}

end;

ifa = 1 then {если число не прошло проверку выводим

сообщение о не корректном вводе числа}

begin

WriteLn(rus('Вы ввели не корректные данные !'));

WriteLn(' ');

Proverka(w); {выполняем рекурсивный вход в

процедуру}

К-во Просмотров: 564
Бесплатно скачать Лабораторная работа: Структуры и алгоритмы обработки данных