profile
Опубликовано 6 лет назад по предмету Информатика от ReshatelotBoga

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

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

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

  1. Ответ
    Ответ дан ingr

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

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