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. Правильно ли? и...

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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы