М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
sabama
sabama
06.06.2022 12:06 •  Информатика

Решить задачу на языке с применением операторов цикла: написать программу определения максимального числа последовательности положительных чисел


Решить задачу на языке с применением операторов цикла: написать программу определения максимального

👇
Открыть все ответы
Ответ:
smosnin
smosnin
06.06.2022
Итак зацикливание в программировании - это ситуация, когда цикл написан таким образом ,что условия выхода из него не выполняется. Рассмотрим зацикливание в операторах цикла for,while и repeat . Справедливости ради все варианты будут рассмотрены в Turbo Pascal и PascalABC. Также будет добавлен оператор write для вывода результатов.
Зацикливание в for
Вообще идея зацикливания проста : необходимо всего-то в каждом шаге цикла уменьшать оператор шага на 1 (i:=i-1;) . Однако именно такая реализация возможна не везде. Рассмотрим простой пример.
for i:=1 to 5 do begin
i:=i-1;
write(i);
end.
Казалось бы все просто,да не тут то было.В то время как в Turbo Pascal все проходит на ура,в PascalABC такое не возможно и для зацикливания необходимо использовать оператор goto.
label m;
var i:integer;
begin
m:
for i:=1 to 5 do begin
write(i);
if i=2 then goto m;
end;
end.
Зацикливание в while
Напомню,что в операторе while шаг цикла необходимо добавлять самостоятельно. Поэтому произвести зацикливание проще всего : нужно только убрать шаг цикла
var i:integer;
begin
i:=0;
while i<>1 do
write(i);
end.
Оба компилятора адекватно реагируют на пропуск шага.
Зацикливание в repeat
Для создание бесконечного цикла в этом случае, как и предыдущем, достаточно не указывать шаг цикла
var i:integer;
begin
i:=0;
repeat
write(i);
until i=1;
end.
тут вам приведены различные варианты для создание бесконечного цикла. Однако запомните,что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.
4,8(76 оценок)
Ответ:
ivonin07
ivonin07
06.06.2022
Class Program
{
    static int gcd(int a, int b)
    {
        return b == 0 ? a : gcd(b, a % b);
    }

    static void Main()
    {
        Console.Write("N = ");
        int n = int.Parse(Console.ReadLine());
        int s = 0, p = 1, c = 0;
        while (n > 0)
        {
            s += n % 10;
            p *= n % 10;
            n /= 10;
            c++;
        }

        Console.WriteLine("Произведение: {0}", p);
        Console.WriteLine("Сумма: {0}", p);
        Console.WriteLine("Среднее: {0}", (double)s/c);

        // Вторая задача
        Console.Write("P = ");
        int P = int.Parse(Console.ReadLine());
        Console.Write("Q = ");
        int Q = int.Parse(Console.ReadLine());
        for (int i = 2; i <= 1 + 2*(int)Math.Sqrt(P); i++)
        {
            if (Q % i == 0 && gcd(P, i) == 1)
                Console.Write(i + " ");
        }
        Console.ReadLine();
    }
}
4,4(50 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ