2. Дано натуральное число. Получить все его делители и количество этих делителей. Var n,i...

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

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


Информатика (29 баллов) | 46 просмотров
Дан 1 ответ
0 голосов

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.









(13.9k баллов)
0

Огромнейшее спасииибо вам,выручили:)

0

Пожалуйста, успехов!