program Ex1; const nn=100; { ограничение на длину массива } var i,n,s,k:integer; a:array[1..nn] of integer; begin Randomize; Write('n='); Read(n); k:=0; for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' '); if a[i]>0 then begin k:=k+1; s:=s+a[i] end end; Writeln; Writeln('Среднее положительных ',s/k) end.
program Ex2; const nn=100; { ограничение на длину массива } var i,n,min:integer; a:array[1..nn] of integer; begin Randomize; Write('n='); Read(n); min:=100; { больше максимально возможного } for i:=1 to n do begin a[i]:=Random(101)-50; Write(a[i],' '); if a[i]<min then min:=a[i] end; Writeln; Writeln('Минимум ',min) end.
Выводы о том, чему и как учат в школе, делайте самостоятельно...
Заменим символы операций на более привычные (логическое сложение на сложение, логическое умножение - на умножение), но будем помнить, что все же это не арифметика, хотя и тут умножение "старше" сложения и выполняется первым. x=19+17*13+22*14 1) 17₁₀*13₁₀ 17₁₀ = 10001₂; 13₁₀=01101₂ Правила умножения поразрядно: 1*1=1, иначе 0 10001 *01101
00001 = 1₂ 2) 19₁₀+1₂ 19₁₀=10011₂ Правила сложения поразрядно: 0+0=0, иначе 1 10011 +00001