Страница 1 из 1
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 14:22
Marik
Добрый вечер! Взялась за очередную контрольную. Проверьте, пожалуйста задачу.
Дана матрица
Вычислить величину
где S1-сумма квадратов элементов матрицы
S2-сумма отрицательных элементов.
Решение:
Program ZAD_1_6;
Var
A: array [1..3,1..4] of real;
i,j: integer;
S1, S2, Y; real;
Begin
writeln ('Введите матрицу A');
for i:=1 to 3 do
for j:=1 to 4 do read (a [i,j]);
S1:=0;
S2:=0;
for i:=1 to 3 do
for j:=1 to 4 do
begin
if a[i,j] < 0 then S2:=S2+a[i,j];S1:=S1+sqr(a[i,j]);end;Y:=lnS1+sinabs(S2) ;write ('Y=', Y:6:2);end.
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 14:26
12d3
Compilation error: lnS1 - unknown identifier.
Compilation error: sinabs - unknown identifier.
A так вроде все правильно.
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 14:45
Marik
по поводу первой ошибки может надо записать ln(S1)-? A за вторую ошибку, я если честно не поняла, co напутала при описании S1,S2, Y там двоеточие должно быть
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 15:05
Dragon27
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 15:16
Marik
Спасибо)
Вот еще одну задачу решила. Посмотрите, пожалуйста на наличие ошибок.
Дана матрица
Найти сумму положительных элементов каждого столбца матрицы.
Program ZAD_2_6;
Var
A: array [1..6,1..4];
S, i, j: integer;
begin
for j:=1 to 4 do
for i:=1 to 6 do read (a[i,j]);
for j:=1 to 4 do
begin
S:=0;
for i:=1 to 6 do
if a[i,j]>0 then S:=S+a[i,j];
write ('S=', S);
end;
end.
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 15:25
grigoriy
Сделал 2 исправления.
Program ZAD_2_6;
Var
A: array [1..6,1..4] of integer; ------не указан тип элементов
S, i, j: integer;
begin
for j:=1 to 4 do
for i:=1 to 6 do read (a[i,j]);
for j:=1 to 4 do
begin
S:=0;
for i:=1 to 6 do
if a[i,j]>0 then S:=S+a[i,j];
writeln ('S=', S); ----вывод лучше c переводом строки, иначе всё сливается.
end;
end.
Компилятор ошибок не выдает. И логика верная.
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 15:27
Marik
Спасибо большое)
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 15:34
grigoriy
Вывод можно сделать ещё так
writeln ('S',j,'=', S);
Тогда будет печатать
S1=321
S2=854
и т.д
Программирование в турбо Паскале
Добавлено: 07 фев 2011, 23:24
SiO2
Да уж. Помнится после паскаля долго предпочитал ставить скобочки даже на контрольной по математике.)))