Предмет: Информатика,
автор: annka4
напишите программу, которая в последовательность целых чисел определяет произведение первого числа и всех положительный чисел
Ответы
Автор ответа:
1
Program pr;
uses crt;
Var a,k,k1:integer;
Begin
Writeln('Введите a');
readln(a);
k1:=1;
k:=0;
While (a<>0) and (k1<1000) do
Begin
if (a<0) and (a mod 2=0) and (abs(a)<=30000) then k:=k+1;
k1:=k1+1;
readln(a);
end;
Writeln('k=',k);
readln;
end.
uses crt;
Var a,k,k1:integer;
Begin
Writeln('Введите a');
readln(a);
k1:=1;
k:=0;
While (a<>0) and (k1<1000) do
Begin
if (a<0) and (a mod 2=0) and (abs(a)<=30000) then k:=k+1;
k1:=k1+1;
readln(a);
end;
Writeln('k=',k);
readln;
end.
Автор ответа:
1
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
var a:=SeqRandom(ReadInteger('n='),-20,20)
.Select(i->real(i)).ToArray;
a.Println;
var b:=a[0]*a.Skip(1).Where(x->x>0).Aggregate(1.0,(p,x)->p*x);
Writeln(b);
end.
Тестовое решение:
n= 15
14 17 5 -1 9 -18 2 3 -20 5 -10 0 4 -1 -8
1285200
Пояснения по каждому оператору
1. Запрашивается количество элементов в последовательности n, генерируется последовательность из n целых чисел в диапазоне от -20 до 20, затем элементы последовательности преобразуются в вещественное представление и образуют динамический массив а.
2. Элементы массива а выводятся на экран.
3. Первый элемент массива умножается на произведение остальных положительных элементов и результат присваивается переменной b.
4. Значение переменной b выводится на экран.
В целях небольшого упрощения предполагается, что n>1 и что среди элементов массива, за исключением первого, имеется хотя бы один положительный элемент. Это связано с тем, что в задании отсутствует описание действий в случае, если вышеописанное предположение окажется неверным.
Переход к вещественному представлению чисел связан с обходом переполнения разрядной сетки при целочисленном умножении для больших значений n.
begin
var a:=SeqRandom(ReadInteger('n='),-20,20)
.Select(i->real(i)).ToArray;
a.Println;
var b:=a[0]*a.Skip(1).Where(x->x>0).Aggregate(1.0,(p,x)->p*x);
Writeln(b);
end.
Тестовое решение:
n= 15
14 17 5 -1 9 -18 2 3 -20 5 -10 0 4 -1 -8
1285200
Пояснения по каждому оператору
1. Запрашивается количество элементов в последовательности n, генерируется последовательность из n целых чисел в диапазоне от -20 до 20, затем элементы последовательности преобразуются в вещественное представление и образуют динамический массив а.
2. Элементы массива а выводятся на экран.
3. Первый элемент массива умножается на произведение остальных положительных элементов и результат присваивается переменной b.
4. Значение переменной b выводится на экран.
В целях небольшого упрощения предполагается, что n>1 и что среди элементов массива, за исключением первого, имеется хотя бы один положительный элемент. Это связано с тем, что в задании отсутствует описание действий в случае, если вышеописанное предположение окажется неверным.
Переход к вещественному представлению чисел связан с обходом переполнения разрядной сетки при целочисленном умножении для больших значений n.
Похожие вопросы
Предмет: Физика,
автор: aqilaxuno4
Предмет: Геометрия,
автор: zenaslaga2
Предмет: Физика,
автор: Tinochka18
Предмет: Литература,
автор: aminatmurtazaalieva3
Предмет: Окружающий мир,
автор: konovalenkoksenia89