victoriapetrs
?>

Решение в паскале написать программу, которая уменшнает на 10 введенное с клавиатуры двузначное число, на 100 - если трехзначное. условие окончания программы - введение нулевого числа. уведомление о некорректности данных вывести красным цветом, а про окончание работы - зеленым.

Информатика

Ответы

o-pavlova-8635
Uses Crt;

var
  n:integer;
 
begin
  repeat
    textcolor(15);
    Write('n='); Read(n);
    if n=0 then begin
      textcolor(LightGreen);
      Writeln('Работа завершена');
      textcolor(15);
      end
    else  
      if (n>9) and (n<100) then begin
        n:=n-10;
        Writeln('Результат: ',n)
        end
      else
        if (n>99) and (n<1000) then begin
          n:=n-100;
          Writeln('Результат: ',n)
          end
        else begin
          textcolor(LightRed);
          Writeln('Недопустимое значение');
          end;
  until n=0;
  ReadKey { для PascalABC.NET можно удалить эту строку }
end.

Решение в паскале написать программу, которая уменшнает на 10 введенное с клавиатуры двузначное числ
sigidinv

Программа:

program dividers;

var x, i, p: integer;

   y: array of integer;

function dividersOf(n: integer; includeNegative: boolean := false):array of integer;

var a: array of integer;

   i, k: integer;

begin

 k:= 1;

 if(n<0) then n:= n*(-1);

 for i:= 1 to n

   do if(n mod i = 0)

        then begin

               SetLength(a, k);

               a[a.Length-1]:= i;

               k:= k+1;

             end;

 if(includeNegative)

   then a:= a.Select(x -> x*(-1)).Sorted.ToArray+a;

 dividersOf:= a;

end;

begin

 readln(x);

 y:= dividersOf(x, true);

 p:= y.Length-2;

 i:= 0;

 writeln('Делители числа ', x, ':');

 repeat

   write(y[i], ', ');

   i:= i+1;

 until i=p;

 write(y[p+1], '.');

end.

avdushinalizza1

Программа:

program dividers;

var x, i, p: integer;

   y: array of integer;

function dividersOf(n: integer; includeNegative: boolean := false):array of integer;

var a: array of integer;

   i, k: integer;

begin

 k:= 1;

 if(n<0) then n:= n*(-1);

 for i:= 1 to n

   do if(n mod i = 0)

        then begin

               SetLength(a, k);

               a[a.Length-1]:= i;

               k:= k+1;

             end;

 if(includeNegative)

   then a:= a.Select(x -> x*(-1)).Sorted.ToArray+a;

 dividersOf:= a;

end;

begin

 readln(x);

 y:= dividersOf(x, true);

 p:= y.Length-2;

 i:= 0;

 writeln('Делители числа ', x, ':');

 repeat

   write(y[i], ', ');

   i:= i+1;

 until i=p;

 write(y[p+1], '.');

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решение в паскале написать программу, которая уменшнает на 10 введенное с клавиатуры двузначное число, на 100 - если трехзначное. условие окончания программы - введение нулевого числа. уведомление о некорректности данных вывести красным цветом, а про окончание работы - зеленым.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

klimenko05
oshemkov579
kate281078
Елена Васильева839
Puschdom
алексей-Ветошкин
yuip2008
xeniagolovitinskaya4546
tretyakovamarina201155
mzia-mzia-60682
akbmaslafarkop3175
Yelizaveta555
olesyadeinega41
perova-s200
aksmobile