89635878895
15.07.2022 00:27

очень надо до завтра ! задания на скрине , заранее


очень надо до завтра ! задания на скрине , заранее

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ilchumakovsky1
28.12.2020 22:15
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку:
procedure G(n: integer);forward;
Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы.
После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:

 Вызов процедуры F и выполнение
* n = 12
* n = 12
Вызов процедуры G и выполнение
* n = 11
* n = 11
Вызов процедуры F и выполнение
* n = 9
* n = 9
Вызов процедуры G и выполнение
* n = 8
* n = 8
Вызов процедуры Fи выполнение
* n = 6
* n = 6
Вызов процедуры G и выполнение
* n = 5
* n = 5
Вызов процедуры F и выполнение
* n = 3
* n = 3
Вызов процедуры G и выполнение
* n = 2
* n = 2
Вызов процедуры F и выполнение
* n = 0

Ниже записаны две рекурсивные функции (процедуры): f и g.сколько символов «звёздочка» будет напечата
0,0(0 оценок)
Ответ:
bobamina2004
24.05.2020 20:43
const
    handsfree = false;

var
    a: array[1..100] of real;
    i, n: integer;
    sum_pos, sum_neg: real;
    k_pos, k_neg: integer;

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_pos := 0;
    k_pos := 0;
    sum_neg := 0;
    k_neg := 0;
    for i := 1 to n do
    begin
        if a[i] > 0 then
        begin
            sum_pos := sum_pos + a[i];
            k_pos := k_pos + 1;
        end;
        
        if a[i] < 0 then
        begin
            sum_neg := sum_neg + a[i];
            k_neg := k_neg + 1;
        end;
    end;
    writeln('average (positives) = ', sum_pos / k_pos);
    writeln('average (negatives) = ', sum_neg / k_neg);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота