Задан фрагмент алгоритма если a*b < 0 то c = a-b иначе c = a+b если с ≠ 0 то с = с*а иначе с = c*b в результате выполнения данного алгоритма с начальными значениями a=4; b=-1 какое значение примет переменная c?
1. Для цикла For есть решение выложенное выше от Srzontmp.
2. Почти ничего не меня получим код для цикла while: var i, n, k: integer; begin i := 2; readln(n); while i <= n div 2 do begin if (n mod i) = 0 then k := i; i:=i+1; end; writeln('наибольший делитель ', n, ' = ', k); end.
3. Аналогично для цикла Repeat: var i, n, k: integer; begin i := 2; readln(n); repeat if (n mod i) = 0 then k := i; i:=i+1; until i> n div 2; writeln('наибольший делитель ', n, ' = ', k); end.
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var A:array of array of Integer; B:array of Integer; i,j,N,M,t:Integer; begin { TODO -oUser -cConsole Main : Insert code here } t:=0; while not (N in [1..100]) do begin write('N = '); readln(N); end; while not (M in [1..100]) do begin write('M = '); readln(M); end; SetLength(A,N,M); Writeln('Matrix is - '); for i:=0 to N-1 do begin for j:=0 to M-1 do begin A[i,j]:=Random(30)-10; write(A[i,j],' '); if A[i,j]>=0 then begin SetLength(B,t+1); B[t]:=A[i,j]; Inc(t); end; end; Writeln; end; Write('Massive B = '); for i:=0 to t-1 do write(B[i],' '); A:=nil; B:=nil; readln; end.
a*b < 0 ⇒ 4*(-1) < 0 ⇒ -4 < 0 ⇒ Истина ⇒ c = a-b = 4-(-1) = 5
с ≠ 0 ⇒ 5 ≠ 0 ⇒ Истина ⇒ c = c*a = 5*4 = 20
ответ: 20