Есть ответ 👍

Требовалось написать программу, которая для введённого натурального числа n выводит общее количество его различных делителей, включая 1 и n. к сожалению, ученик написал программу с ошибками: pascal var n, j, k : integer; begin read(n); j : = 2; k : = 0; while j * j < n do begin if n mod j = 0 then k : = k + 2; j : = j + 1 end; if j * j = n then k : = k + 3; write(k) end. последовательно выполните следующее. 1. напишите, что выведет эта программа при вводе числа 10. 2. укажите два наименьших значения входной переменной n, при вводе которого программа выведет правильный ответ. укажите это ответ в каждом случае. 3. найдите в программе все ошибки (их может быть одна или несколько). для каждой ошибки выпишите строку, в которой она допущена, и эту же строку в исправленном виде.

223
417
Посмотреть ответы 2

Ответы на вопрос:

Fleepee
4,7(31 оценок)

1)     при вводе n = 10 будет выведено 2, хотя на самом деле должно быть 4 (1, 2, 5, 10). 2)   при n = 4 или n  =  9 будет выведен правильный ответ при   n = 4,   k = 3, при n = 9,   к = 3 3)   ошибка в строке   k : = 0;   должно быть k: =2;   - для делителей 1 и nошибка в строке  k : = k + 3;   должно быть   k: =k+1,   если число n - полный квадрат, то добавляется    делитель кор.квадр(n).

pascalabc.net

begin

  // последовательность целых чисел вводится с клавиатуры

  // пока не будет введен 0 (который не войдет в нее).

  // затем последовательность преобразуется в массив (toarray)

  // нужного размера, который сохраняется с именем a

  var a : = readseqintegerwhile(p -> p < > 0).toarray;

  // заведем счетчики для количества положительных kp и

  // отрицательных kn элементов и обнулим их

  var (kp, kn) : = (0, 0);

  // просматриваем в цикле массив. на каждом шаге p будет обозначать

  // очередной элемент массива

  foreach var p in a do

    if p > 0 then       // если элемент положительный

      kp += 1               // добавим 1 в счетчик положительных

    else if p < 0 then   // если элемент отрицательный

      kn += 1;               // добавим 1 в счетчик отрицательных

  // осталось вывести результаты

  writeln('положительных чисел ', kp, ', отрицательных ', kn)

end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS