вот 3 варианта решения задачи:
1. с временной целочисленной переменной вместо булеан.
var
a, f : integer;
begin
write('введите число: ');
readln(a);
while a div 10 > 0 do begin
if (a mod 10) >= ((a mod 100) div 10) then f := 1;
a := a div 10;
end;
if f = 0 then writeln('ДА') else writeln('НЕТ');
end.
2. с строчной переменной которой присваивается текст ответа.
var
a : integer;
f : string := 'ДА';
begin
write('введите число: ');
readln(a);
while a div 10 > 0 do begin
if (a mod 10) >= ((a mod 100) div 10) then f := 'НЕТ';
a := a div 10;
end;
writeln(f);
end.
3. без дополнительных переменных но с оператором break.
var
a : integer;
begin
write('введите число: ');
readln(a);
while a div 10 > 0 do begin
if (a mod 10) >= ((a mod 100) div 10) then begin
writeln('НЕТ');
break;
end;
a := a div 10;
if a < 10 then writeln('ДА');
end;
end.
program noname;
uses crt;
var
a,b:array[1..1000] of integer;
i,j,k:integer;
begin
clrscr;
for i:=1 to 10 do
begin
write('a[',i,']=');
readln(a[i]);
b[i]:=0;
if a[i]<0 then a[i]:=0;
end;
j:=1;
for i:=1 to 10 do
if a[i]<>0 then begin b[j]:=a[i]; j:=j+1; end;
for i:=1 to 10 do
write(b[i],' ');
end.