2 уровень сложности 1. Написать программу, которая вводит массив из N целых чисел и выводит на экран сам массив и среднее арифметическое элементов массива. 2. Написать программу, которая вводит массив из N целых чисел и выводит на экран сумму отрица- тельных элементов. Протестировать программу для следующих массивов: a) 35-2 3-2 0-6 -8 1 6) -1 -2-3-40-123 3. Написать программу, которая вводит массив из N целых чисел и выводит на экран сумму положи- тельных элементов. Протестировать программу для следующих массивов: а) 35-23 -20 -6 -8 1 6-1 -2-3-40-1 2 3 4. Написать программу, которая вводит массив из N целых чисел и выводит на экран произведение нечетных элементов. !Делать по схеме!
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.
ОбъяснениеВ языке Паскаль описатель типа integer требует выделить под каждую переменную или элемент массива количество памяти, необходимое для размещения чисел из диапазона , т.е. отвести не менее двух байт, что и выполнялось в ранних системах, таких как Turbo Pascal, созданных во времена дорогой оперативной памяти. В современных разработках может выделяться и большее количество байт, например, в PascalABC.Net под переменную типа integer отводится 4 байта.
Описатель array [1..20] of integer требует отвести память под 20 элементов типа integer, следовательно, если говорить о минимально необходимом количестве байт, то ответом будет в) 20, 40.
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.
ОбъяснениеВ языке Паскаль описатель типа integer требует выделить под каждую переменную или элемент массива количество памяти, необходимое для размещения чисел из диапазона , т.е. отвести не менее двух байт, что и выполнялось в ранних системах, таких как Turbo Pascal, созданных во времена дорогой оперативной памяти. В современных разработках может выделяться и большее количество байт, например, в PascalABC.Net под переменную типа integer отводится 4 байта.
Описатель array [1..20] of integer требует отвести память под 20 элементов типа integer, следовательно, если говорить о минимально необходимом количестве байт, то ответом будет в) 20, 40.
А для PascalABC.Net ответ должен быть 20, 80
Подробнее - на -