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.
Правильно ли? и объясните каждую строку,точнее ее роль.Что она делает? И приведите какое нибудь число в пример и сделайте по той же программе ,чтобы я точно поняла)))

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.









Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку