В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
F1kser
F1kser
09.01.2021 16:24 •  Информатика

С Паскалем у меня проблемы.Тяжко дается. Как не пытался. Материал сложный.Это из учебника А.Осипова "Введение в современное программирование"

Показать ответ
Ответ:
ratmir10
ratmir10
24.04.2023 11:21
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 оценок)
Ответ:
Викa1000000
Викa1000000
02.12.2021 08:28
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-бота