2. дано натуральное число. получить все его делители и количество этих делителей. var n,i : integer begin write('введите число'); read(n); writeln('делители'); for i: =1 to a do if n mod i=0 then writeln(i) end. правильно ли? и объясните каждую строку,точнее ее роль.что она делает? и какое нибудь число в пример и сделайте по той же программе ,чтобы я точно

4535константин20051 4535константин20051    1   25.07.2019 06:40    0

Ответы
Bashirov12 Bashirov12  24.09.2020 11:22
1. Уже в первой строке ошибка - отсутствует символ ";" в конце строки.
2. В строке № 8 ошибка, не объявленная переменная "a"

3. Это только ошибки в синтаксисе, после их исправления программа запускается, но работать так как нужно не будет. Ищем ошибки в алгоритме:
исправим стороку "for i := 1 to a do" на "for i := 1 to n do" и получим вывод всех делителей, но в условии задачи требуется вывести и их количество. Вот исправленный код программы:
var
  n, i, a: integer;

begin
  write('введите число');
  read(n);
  writeln('делители');
  for i := 1 to n do
    if n mod i = 0 then begin
      writeln(i); a:=a+1;
    end;
    writeln('Делителей ',a);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика