Нужна помощь в переводе 3-х программ с языка Pascal в VBA Program num2; Uses crt; Var a...

0 голосов
117 просмотров

Нужна помощь в переводе 3-х программ с языка Pascal в VBA
Program num2;
Uses crt;
Var
a :array [1..100] of integer;
i,k,n, s : integer;
Begin
clrscr;
s:=0;
write('K=');readln(k);
write('N=');readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n do
if (a[i] MOD k)=0 then s:=s+a[i];
writeln('S=',s);
End.


Program num1;
Uses crt;
Var
i, E : integer;
Begin
clrscr;
i:=0;
write('E=');readln(E);
while i begin
i:=i+sqrt(2);
end;
writeln('I=',i);
End.


Program num3;
Uses crt;
Var
A, T :array [1..100, 1..100] of integer;
i, j, x : integer;
Begin
clrscr;

for i:=1 to 100 do
for j:=1 to 100 do
A[i,j]:=random(10);

for i:=1 to 100 do
for j:=i+1 to 100 do
T[i,j]:=A[i,j];

for i:=1 to 100 do
for j:=1 to 100 do
begin
x:=0,5*((A[i,j]^2)+(A[i,j]^T[i,j]));
writeln('X[',i,',',j,']=',x);
end;
End.


Информатика (27 баллов) | 117 просмотров
0

первая задача норм, во второй вроде маленькая ошибка, в третьей вообще логика не понятна. Вторая и третяя в паскале не компилируются

Дан 1 ответ
0 голосов
Правильный ответ

Sub num2()
    s = 0
    Dim A
    k = CInt(InputBox("K ="))
    n = CInt(InputBox("N ="))

    ReDim A(n - 1)
    For i = 0 To n - 1
        A(i) = CInt(InputBox("A(" & i & ") ="))
        If A(i) Mod k = 0 Then s = s + A(i)
    Next
    MsgBox s
End Sub

Sub num1()
    i = 0
    e = CDbl(InputBox("E ="))
    Do While i <= e<br>        i = i + Sqr(2)
    Loop
    MsgBox "i = " & i
End Sub

(53.1k баллов)
0

For i = 0 To n
For j = 0 To n
C(i, j) = 0
For r = 0 To n
C(i, j) = C(i, j) + A(i, r) * A(r, j)
Next
Cells(k + i, j + 1).Value = C(i, j)
Next
Next

k = k + n + 1
Cells(k, 1).Value = "Result"
k = k + 1

For i = 0 To n
For j = 0 To n
x = 0.5 * (C(i, j) + T(i, j))
Cells(k + i, j + 1).Value = x
Next
Next

Cells(k, 1).Select
End Sub

0

поганит активный лист, так что осторожно

0

я заметил, жуть какая-то)

0

почему жуть?

0

да я просто программу запускаю, ничего не происходит, еще раз запускаю, а потом в эксель захожу и такой оО:d

0

слушай можешь помочь с еще одной задачкой?) P.s Также надо в VBA перевести)

0

В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов. (a, b : array [1..1000] of integer;
n, m, i : integer;
begin
read (n);
for i := 1 to n do read (a[i]);
m := 0;
for i := 1 to n do
if a[i] = 0 then
begin
m := m + 1;
b[m] := i;
end;
for i := 1 to m do write (b[i], ' ');
end.)

0

хочешь еще - создавай новую задачу и напиши мне в личку ссылку

0

я сюда ссылку напишу, т.к пока в лс не могу сообщения отправлять:(

0