Предмет: Информатика, автор: ReshatelotBoga

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

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

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

Ответы

Автор ответа: ingr
3

вот 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: каво?
ingr: и удалить в начале проги writeln(f); оно там лишнее, я после теста убрать забыл
ReshatelotBoga: ок, спасибо,понял)
ingr: f : boolean := true; замени на f : integer := 1;
ingr: и везде true на 1 false на 0
ReshatelotBoga: ок
ingr: "if f then" заменить на "if f=1 then"
ReshatelotBoga: ок
ingr: мне включили возможность правки. Внес исправления и добавил 3й вариант решения
ReshatelotBoga: во, теперь спасибо!
Похожие вопросы
Предмет: Математика, автор: dariyatyanmail