Program number; var x: integer; { введенное число } n: byte : = 0; { количество цифр в числе } i, j: byte; { счетчики } xi: array[1..5] of integer; {массив цифр, из которых состоит число} begin { ввод исходного числа } readln(x); writeln; x : = abs(x); // рассматриваем модуль числа { разбиение числа на цифры } while (x > 0) do begin n : = n + 1; // увеличиваем количество цифр xi[n] : = x mod 10; // вычисляем цифру (остаток от деления на 10) if xi[n] = 8 then // если встретилась 8, begin writeln('да'); // то число "бесконечное" readln; exit; // выход из программы end; x : = x div 10; // изменяем число (целое от деления на 10) end; { поиск цифр, встречающихся больше одного раза} for i : = 1 to n - 1 do for j : = i + 1 to n do if xi[i] = xi[j] then // если числа begin writeln('да'); // то число "бесконечное" readln; exit; // выход из программы end; { число не явлется "бесконечным" } writeln('нет'); end.
nngudkova1970
03.05.2020
1. создается массив из целых, массив статический на 30 элементов. 2. в цикле со счетчиком (for) заполняется массив с клавиатуры, вводятся 30 значений. 3. еще раз в цикле просматриваются все элементы массива и сравниваются с 20. если больше 20, то увеличивается значение переменной x на 1 и к значению перменной y прибавляют значение этого элемента массива. 4. после окончания цикла вычисляется выводится отношение s: =x/y. небольшое дополнение, если элементов массива больших 20 не будет, то возникнет переполнение из-за деления на 0
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Определите значения переменных после выполнения алгоритмов алгоритм a : = 951 b : = a div 100 + a mod 100 a : = a div 10 a : = a mod 10 a : = a + b