• Предмет: Информатика
  • Автор: ReshatelotBoga
  • Вопрос задан 8 лет назад

Напишите программу для паскаль! Дано натуральное число. Установить, является ли последовательность его цифр при просмторе их справа налево упорядоченной по возрастанию.Например,для числа 5321 ответ положиетльный, для 7820 и 9663-отрицательный

Без булина! ПЛИЗ

даю 20 баллов СРОЧНО

Ответы

Ответ дал: ingr
0

вот 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.

Ответ дал: ReshatelotBoga
0
ок
Ответ дал: ingr
0
"if f then" заменить на "if f=1 then"
Ответ дал: ReshatelotBoga
0
ок
Ответ дал: ingr
0
мне включили возможность правки. Внес исправления и добавил 3й вариант решения
Ответ дал: ReshatelotBoga
0
во, теперь спасибо!
Вас заинтересует