Программирование в турбо Паскале

Аватар пользователя
Marik
Сообщений: 451
Зарегистрирован: 01 фев 2009, 21:00

Программирование в турбо Паскале

Сообщение Marik » 07 фев 2011, 14:22

Добрый вечер! Взялась за очередную контрольную. Проверьте, пожалуйста задачу.
Дана матрица
$$A={ {a ij} }_{3*4}$$
Вычислить величину

$$Y=lnS1+sin|S2|$$
где 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.
Последний раз редактировалось Marik 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

12d3
Сообщений: 3347
Зарегистрирован: 02 янв 2009, 21:00

Программирование в турбо Паскале

Сообщение 12d3 » 07 фев 2011, 14:26

Compilation error: lnS1 - unknown identifier.
Compilation error: sinabs - unknown identifier.
A так вроде все правильно.
Последний раз редактировалось 12d3 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Marik
Сообщений: 451
Зарегистрирован: 01 фев 2009, 21:00

Программирование в турбо Паскале

Сообщение Marik » 07 фев 2011, 14:45

по поводу первой ошибки может надо записать ln(S1)-? A за вторую ошибку, я если честно не поняла, co напутала при описании S1,S2, Y там двоеточие должно быть
Последний раз редактировалось Marik 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

Dragon27
Сообщений: 4395
Зарегистрирован: 10 фев 2010, 21:00

Программирование в турбо Паскале

Сообщение Dragon27 » 07 фев 2011, 15:05

Marik писал(а):Source of the post A за вторую ошибку, я если честно не поняла

sin(abs(S2)); наверняка
Последний раз редактировалось Dragon27 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Marik
Сообщений: 451
Зарегистрирован: 01 фев 2009, 21:00

Программирование в турбо Паскале

Сообщение Marik » 07 фев 2011, 15:16

Спасибо)

Вот еще одну задачу решила. Посмотрите, пожалуйста на наличие ошибок.
Дана матрица
$$A={aij}_{6*4}$$ Найти сумму положительных элементов каждого столбца матрицы.

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.
Последний раз редактировалось Marik 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
grigoriy
Сообщений: 11916
Зарегистрирован: 18 ноя 2009, 21:00

Программирование в турбо Паскале

Сообщение grigoriy » 07 фев 2011, 15:25

Сделал 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.

Компилятор ошибок не выдает. И логика верная.
Последний раз редактировалось grigoriy 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Marik
Сообщений: 451
Зарегистрирован: 01 фев 2009, 21:00

Программирование в турбо Паскале

Сообщение Marik » 07 фев 2011, 15:27

Спасибо большое)
Последний раз редактировалось Marik 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
grigoriy
Сообщений: 11916
Зарегистрирован: 18 ноя 2009, 21:00

Программирование в турбо Паскале

Сообщение grigoriy » 07 фев 2011, 15:34

Вывод можно сделать ещё так
writeln ('S',j,'=', S);
Тогда будет печатать
S1=321
S2=854
и т.д
Последний раз редактировалось grigoriy 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test

SiO2
Сообщений: 1853
Зарегистрирован: 17 окт 2009, 21:00

Программирование в турбо Паскале

Сообщение SiO2 » 07 фев 2011, 23:24

Да уж. Помнится после паскаля долго предпочитал ставить скобочки даже на контрольной по математике.)))
Последний раз редактировалось SiO2 29 ноя 2019, 09:50, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 5 гостей