tarkhanovilya
?>

Составить алгоритм и программу. -23 ; 15 ; 32 ; 0 ; -56 ; 87 ; 7 - массивы. посчитать кол-во элементов массива , которые больше нуля

Информатика

Ответы

ZharikovZalina
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=Arr(-23,15,32,0,-56,87,7); a.Println;
  Writeln('Кол-во элементов, больших нуля: ',a.Where(t->t>0).Count)
end.

Результат
-23 15 32 0 -56 87 7
Кол-во элементов, больших нуля: 4
мария Кузив1393
Вот нужная программа. Суда прямо и вводи: -23 15 32 0 -56 87 7, только не вставь лишних пробелов
Матвеев

оператор присваивания :=

оператор ввода read(x1,x2,...,xn) или readln(x1,x2,...,xn)

оператор вывода write(x1,x2,...,xn) или writeln(x1,x2,...,xn)

условный оператор if условие then оператор 1 else оператор 2

оператор варианта case управляющая переменная of

                                     набор значений1: оператор1;

                                     набор значений2: оператор2;

                                     ...

                                     набор значенийn: операторN

                               else

                                    альтернативный оператор

                              end;

оператор цикла с предусловиями while ... do

оператор цикла с постусловием repeat ... until

оператор цикла for ... do

оператор break осуществляет немедленный выход из циклов repeat, while, for.

оператор continue начинает новую итерацию цикла, даже если предыдущая не была завершина.

оператор exit осуществляет выход из подпрограммы.

оператор halt прекращает выполнение программы и возвращает код завершения в операционную систему.

avdushinalizza1

Объяснение:

procedure F(n: integer);

begin

 if n>0 then begin

   Write (n);

   F(n-2);

   F(n div 4);

   end

end;

begin

 F(9);

end.

На выходе будет 97531112

Если нужна трассировка, её можно сделать примерно так:

procedure F(n: integer);

begin

 Writeln('Вход');

 if n>0 then begin

   Writeln ('В выходную строку: ',n);

   Writeln('Вызов F(n-2)');

   F(n-2);

   Writeln('Вызов F(n div 4)');

   F(n div 4);

   end;

   Writeln('Выход')

end;

begin

 F(9);

end.

Результат трассировки:

Вход

В выходную строку: 9

Вызов F(n-2)

Вход

В выходную строку: 7

Вызов F(n-2)

Вход

В выходную строку: 5

Вызов F(n-2)

Вход

В выходную строку: 3

Вызов F(n-2)

Вход

В выходную строку: 1

Вызов F(n-2)

Вход

Выход

Вызов F(n div 4)

Вход

Выход

Выход

Вызов F(n div 4)

Вход

Выход

Выход

Вызов F(n div 4)

Вход

В выходную строку: 1

Вызов F(n-2)

Вход

Выход

Вызов F(n div 4)

Вход

Выход

Выход

Выход

Вызов F(n div 4)

Вход

В выходную строку: 1

Вызов F(n-2)

Вход

Выход

Вызов F(n div 4)

Вход

Выход

Выход

Выход

Вызов F(n div 4)

Вход

В выходную строку: 2

Вызов F(n-2)

Вход

Выход

Вызов F(n div 4)

Вход

Выход

Выход

Выход

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составить алгоритм и программу. -23 ; 15 ; 32 ; 0 ; -56 ; 87 ; 7 - массивы. посчитать кол-во элементов массива , которые больше нуля
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

smint056950
Olesyamilenina8
teya07
dima8585
Штакина1568
com4047797
saniopt
gullieta
ooost-2022
aananasAnastiya1270
anastasiya613
Lidburg
Наталья
laplena1982750
Иванов1813