program qwsdfew;
var x,y:integer;
beginfor x:=1to12dobegin
y:=(6*ln(arctan(x)+1.5*sqrt(x)));
writeln('x:5:2,'',y:5:2');
x:=x+0.05;
end;
end.
Тело задачи должно быть правильным, но выдаёт ошибку о несоответствии типов, как исправить? И чёто непойму где тут должны быть массивы?
mind abuse
15.05.2008 23:44
И x и y должны быть вещественными, там же нецелые величины. Так всё в порядке, ошибки лишь на уровне случайных лагов.
Код
program qwsdfew; var i:integer; x,y:real; begin x:=1; for i:=1 to 12 do begin y:=(6*ln(arctan(x)+1.5*sqrt(x))); writeln(x:5:2,' ',y:5:2); x:=x+0.05; end; readln; end.
А вот где массивы, хм.... ну может быть так:
Код
program qwsdfew; uses crt; var a, b: array[1..100] of real; i:integer; x,y:real; begin clrscr; for i:=2 to 12 do begin a[1]:=1; a[i]:=a[i-1]+0.05; b[i]:=(6*ln(arctan(a[i])+1.5*sqrt(a[i]))); writeln(a[i],' ',b[i]); end; readln; end.
Только доделайте так, чтоб оно и x1=1 выводило.
kvadrat
16.05.2008 14:45
Вот несколько вопросов по решению
program qwsdfew;
uses crt;
var
a, b: array[1..100] of real;
i:integer;
x,y:real;
{эти переменные тут ненужны думаю}begin
clrscr;
for i:=2to12do{почему c 2х а не с 1?}begin
a[1]:=1; {что значит эта строчка?}
a[i]:=a[i-1]+0.05; {зачем тут минус один?}
b[i]:=(6*ln(arctan(a[i])+1.5*sqrt(a[i])));
writeln(a[i],' ',b[i]);
end;
readln;
end.
mind abuse
16.05.2008 15:45
Цитата(kvadrat @ 16.05.2008 15:45)
Вот несколько вопросов по решению
program qwsdfew;
uses crt;
var
a, b: array[1..100] of real;
i:integer;
x,y:real;
{эти переменные тут ненужны думаю}begin
clrscr;
for i:=2to12do{почему c 2х а не с 1?}begin
a[1]:=1; {что значит эта строчка?}
a[i]:=a[i-1]+0.05; {зачем тут минус один?}
b[i]:=(6*ln(arctan(a[i])+1.5*sqrt(a[i])));
writeln(a[i],' ',b[i]);
end;
readln;
end.
Да, x,y не нужны, раз используем массивы. "a[i]:=a[i-1]+0.05" означает, что на каждой итерации значение нашего икса увеличивается на 0.05 по сравнению с предыдущим: x[2] = x[1] + 0.05 = 1+0.05=1.05; x[3]=x[2]+0.05 = 1.05+0.05=1.10, и т.д. "a[1]:=1;" - ну наш массив должен ведь с чего-то начинаться, первый элемент по условию x1=1. Почему i:=2 - не знаю, мозг не хотел думать, как заставить программу выводить первый элемент. Вот, посмотрите чуть исправленное, на этот раз выводит всё.
Код
program qwsdfew; uses wincrt; var x, y: array[0..100] of real; i:integer;
begin clrscr; for i:=1 to 12 do begin x[0]:=0.95; x[i]:=x[i-1]+0.05; y[i]:=(6*ln(arctan(x[i])+1.5*sqrt(x[i]))); writeln(x[i],' ',y[i]); end; readln; end.
kvadrat
17.05.2008 13:52
Благодарю, всё отлично работает! тока непонял зачем wincrt я заменил просто на crt
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.