Программа вылетает т.к. много значений перебирает, если не хочется подобного просто смените ограничение.
var i,a,b,c,d:integer;
begin
for i:=1000 to 9999 do begin
a:=i mod 10;
b:=(i div 10) mod 10;
c:=(i div 100) mod 10;
d:=(i div 1000) mod 10;
if (a=b) and (b=c) and (c=d) then writeln ('odinakovie cifri - ',i);
if (a<>b) and (a<>c) and (a<>d) and (b<>c) and (b<>d) and (c<>d) then writeln('ne odinakovie cifri - ',i);
end;
Визуальная!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Алг
нач
цел i,s
s:=0
нц для i от 20 до 50
s=s+i
кц
вывод s
кон