Напишите программу для паскаль! Дано натуральное число. Установить, является ли...

0 голосов
55 просмотров

Напишите программу для паскаль! Дано натуральное число. Установить, является ли последовательность его цифр при просмторе их справа налево упорядоченной по возрастанию.Например,для числа 5321 ответ положиетльный, для 7820 и 9663-отрицательныйБез булина! ПЛИЗдаю 20 баллов СРОЧНО


Информатика (98 баллов) | 55 просмотров
Дан 1 ответ
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.

(1.2k баллов)
0

каво?

0

и удалить в начале проги writeln(f); оно там лишнее, я после теста убрать забыл

0

ок, спасибо,понял)

0

f : boolean := true; замени на f : integer := 1;

0

и везде true на 1 false на 0

0

ок

0

"if f then" заменить на "if f=1 then"

0

ок

0

мне включили возможность правки. Внес исправления и добавил 3й вариант решения

0

во, теперь спасибо!