Две программы на Паскале (файлы в формате pas или txt): одна программа через цикл While другая через цикл Repeat. Обе программы должны выдавать на экран все делители целого числа, введённого пользователем, а также их количество (делителей). Например, пользователь задал число 6. Обе программы должны вывести: "1 2 3 6; всего делителей - 4".

Ответы

Ответ дал: DarkTatarin
1

Я не могу загрузить файлы, но вот коды. Создай файлы и вставь

repeat_.pas:

program repeat_;

var n, k, counter: Integer;

begin

ReadLn(n);

k := 1;

counter := 0;

repeat

if (n mod k = 0) then

begin

counter += 1;

if n <> k then

Write(k, ' ')

else

Write(k, '; ');

end;

k += 1;

until n < k;

WriteLn('всего делителей - ', counter);

end.

while_.pas:

program while_;

var n, k, counter: Integer;

begin

ReadLn(n);

k := 1;

counter := 0;

while (k <= n) do

begin

if (n mod k = 0) then

begin

counter += 1;

if n <> k then

Write(k, ' ')

else

Write(k, '; ');

end;

k += 1;

end;

WriteLn('всего делителей - ', counter);

end.


gg0976: Ого, спасибо огромное, сейчас буду разбираться. )
DarkTatarin: Ну всё же советую Python в качестве языка программирования. Легок он)
Ответ дал: ssroman72
0

Ответ:

Объяснение:

Программа для while

program whil;

var x,i,n:integer;

y:real;

 begin

   i:=1;

   n:=0;

   Writeln ('Введите число для которого необходимо определить делители: ');

   Read (x);

   WHILE  (i<=x) DO

       begin

             if (x mod i=0) then

             begin

               y:=x/i;

               n:=n+1;

           Writeln (n,' делитель числа',x,' : ',y );

             end;

               i:=i+1

             end;

             Writeln ('Число делителей числа', x, ' : ',n)

 end.

Программа для repeat

program repeats;

var x,i,n:integer;

y:real;

 begin

   i:=0;

   n:=0;

   Writeln ('Введите число для которого необходимо определить делители: ');

   Read (x);

     repeat

          i:=i+1;

       begin

             if (x mod i=0) then

             begin

               y:=x/i;

               n:=n+1;

            Writeln (n,' делитель числа',x,' : ',y );

             end;

                         end;

                 until i>=x;

                               Writeln ('Число делителей числа', x, ' : ',n)

           end.


ssroman72: Проверял обе програмы на редакторе pascalABC обе работают
Вас заинтересует