gordeevlogain2
18.06.2022 08:04

Запиши правильно математическое выражение на алгоритмичемком языке

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
nikspirin
08.04.2021 17:23
Const
    handsfree = true;

var
    a: array[1..100] of real;
    i, n: integer;
    sum: real;

begin
    {ввод массива}
    if handsfree then
        n := random(20) + 5
    else begin
        write('n = ');
        readln(n);
    end;
    
    writeln('Данные массива:');
    for i := 1 to n do
    begin
        if handsfree then begin
            a[i] := random(100) - 50;
            write(a[i], ' ');
        end
        else readln(a[i]);
    end;
    writeln();
    
    {подсчет суммы и произведения и агригатов}
    sum := 0;
    for i := 1 to n do
        if a[i] < 0 then {если нужен фильтр}
            sum := sum + a[i];
    writeln('sum = ', sum);
end.
0,0(0 оценок)
Ответ:
tanechkamaksim1
03.12.2020 02:40
1. Короткое современное решение

// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var a:=SeqRandom(n,1000, 100000);
  var b:=a.Select(x->x/1000).ToArray; b.Println;
  Writeln('П=',b.Aggregate(1.0,(p,q)->p*q));
  Writeln('Max=',b.Max)
end.

Пример
n= 10
64.006 47.819 87.225 6.856 32.112 93.963 11.053 50.93 18.959 14.785
П=871460676775803
Max=93.963

2. А так (примерно) учат в большинстве школ

const
  nn=1000; // предел для кол-ва элементов
var
  n,i:integer;
  a:array[1..nn] of real;
  max,p:real;
begin
  Write('n='); Read(n);
  p:=1;
  max:=0; // меньше меньшего
  for i:=1 to n do
    begin
    a[i]:=(Random(99001)+1)/1000;
    Write(a[i],' ');
    p:=p*a[i];
    if a[i]>max then max:=a[i]
    end;
  Writeln;
  Writeln('П=',p);
  Writeln('Max=',max)
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота