• Предмет: Информатика
  • Автор: alenalebedeva3108200
  • Вопрос задан 1 год назад

Скажите пожалуйста, где тут ошибка?


Program s;
const l=20;
var i,j,x,n,m,k:integer;
s:real;
b:array [1..20] of real;
a:array [1..10,1..100] of integer;
begin
write('Введите n<=10 = '); readln(n);
write('Введите m<=100 = '); readln(m);
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=-50+random(100);
end;
end;
for x:=1 to l do
begin
s := 0;
for i:=1 to n do
for j:=1 to m do
s := s +(sqr(sin(a[i,j])));
b[k]:=(ln(s)+s)/x[k]+1;
writeln('b[k] = ',b[k]:0:3);
end;
end.

Ответы

Ответ дал: BobbyFresnel
1

Здесь две синтаксических ошибки.

1) Имя программы s совпадает с именем переменной s, объявленной тремя строками ниже.

2) х объявлена как простая переменная, но в четвертой строке снизу к ней обращаются, как к массиву: x[k]

Прочие ошибки (логические) в программе можно найти лишь зная задачу, которая решается.


alenalebedeva3108200: Теперь вопрос что тут не так?
Program may;
const l=20;
var i,j,x,n,m,k:integer;
s:real;
b:array [1..20] of real;
a:array [1..10,1..20] of integer;
begin
write('Введите n<=10 = '); readln(n);
write('Введите m<=100 = '); readln(m);
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=-50+random(100);
end;
end;
for x:=1 to l do
begin
s := 0;
for i:=1 to n do
for j:=1 to m do
s := s +(sqr(sin(a[i,j])));
b[k]:=(ln(s)+s)/x+1;
writeln('b[k] = ',b[k]:8:2);
end;
end.
BobbyFresnel: Это уже совсем другой вопрос, не имеющий к исходному отношения. Который требует исходной постановки задачи. Я не собираюсь разбираться в вашей реализации какого-то алгоритма и отлаживать программу. Повторю: - это совем не тот вопрос, который был задан первоначально.
BobbyFresnel: Ваша программа компилируется, при выполнении слетает. Логическая ошибка.
alenalebedeva3108200: я просто не понимаю где эта ошибка
BobbyFresnel: Вам третий раз написать, что надо иметь исходное задание, по которому этот код писатся, чтобы искать ошибки? Написал третий раз.
Вас заинтересует