Написать фрагмент программы на vba для нахождения произведения чисел с шагом 2 на интервале от -10 до 10 используя for-next, do-loop while с предпосылкой и do-loop until с послесловием
Const n=20; var a:array[1..n]of integer; i,b,k,c,f,g,h:integer; begin for i:=1 to n do a[i]:=Random(70)-20; for i:=1 to n do write(a[i],' '); writeln; for i:=1 to n do begin if (a[i] mod 5 = 0) and (a[i] mod 10<>0) or (a[i]=50) then begin b:=i; for b:=i to (n-1) do a[i]:=a[i+1]; end; end; for i:=1 to n do write(a[i],' '); write('введите к '); read(k); for i:=1 to n do begin if a[i] mod i = 0 then begin c:=i; for i:=n downto c+1 do begin a[i]:=a[i-1]; a[c+1]:=k; end;end;end; for i:=1 to n do write(a[i],' '); writeln; f:=0; g:=0; for i:=n downto 1 do begin if (a[i]>0) then f:=i; end; if a[f]=0 then write('нет положительных '); for i:=n downto 1 do begin if (a[i]<0) then g:=i; end; if (a[g]=0) then write('нет отрицательных '); if (a[f]<>0) and (a[g]<>0) then begin h:=a[f]; a[f]:=a[g]; a[g]:=h; end; for i:=1 to n do write(a[i],' '); writeln; end.
procedure nod( var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real; ); var a:array[1..6] of real; i : integer; begin dv1:=100; tr1:=100; pt1:=100; for i:= low(a) to high (a) do begin readln(a[i]); repeat if( (a[i] mod 2) =0) then begin a[i]:=a[i]/2; dv:=dv+1; end else if( ( a[i] mod 3)=0) then begin a[i]:=a[i]/3; tr:=tr+1; end else if ( ( a[i] mod 5)=0) then begin a[i]:=a[i]/5; pt:=pt+1; end;
untill(a=1); if dvif trif ptdv:=0; tr:=0; pt:=0; end; if dv1>0 then dv2:=dv1*2 else dv2:=1; if tr1>0 then tr2:=tr1*3 else tr2:=1; if pt1>0 then pt2:=pt1*5 else pt2:=1; nod:=dv2*tr2*pt2; writeln(nod); end; begin nod( dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 ); end.
Dim Summ as Integer
Summ=1
For i=-10 to 10 Step 2
Summ=Summ*i
Next
i=-10
Summ=1
Do
summ = summ * i
i = i + 2
Loop While i <> 12
i=-10
Summ=1
Do
summ = summ * i
i = i + 2
Loop Until i = 12