Страница 1 из 1
Помогите решить!
Добавлено: 14 окт 2009, 01:31
леха_18749
Люди помогите плиз решить лабу. А то я в паскале 0 , а столько баллов мне не охото получить.
Вот если кто захочет:
(x+1)ln(2.1x+4x) - составить программу для вычисления и печати таьлици значений y=F(x) на отрезке (0;1) с шагом 0.1.
Re: Помогите решить!
Добавлено: 14 окт 2009, 12:24
atavin-ta
Код: Выделить всё
program q;
var min,max,step;
function y(x:real):real;
begin
y:=(x+1)*ln(2.1*x+4*x);
end;
procedure Tab(min,max,step:real);
var x:real;
begin
x:=min;
SrtringGrid1.Rows=1;
repeat
writeln('x='+x,'y=',y(x);
unil x>max;
end;
begin
readln(min,max,step);
Tab(min,max,step);
end.
Re: Помогите решить!
Добавлено: 14 окт 2009, 23:20
леха_18749
Спасиб непойму как тут отблагодорить! Но чет она не работает!

Re: Помогите решить!
Добавлено: 15 окт 2009, 00:46
dr.Jekill
[syntax="pascal"]
uses crt;
const a=0;
b=1;
h=0.1;
c=0.000000000000001;
var x,y:real;
function Func(x0:real):real;
var c:real;
begin
func:=(x0+1)*ln(2.1*x0+4*x0+c);
end;
procedure Line;
begin
writeln(' ------- ----------');
end;
begin
clrscr;
Line;
writeln(' | x | f(x) |');
Line;
x:=a;
repeat
writeln(' |',x:6:2,' | ',Func(x):6:2,' |');
x:=x+h;
until x>b+h;
Line;
readkey;
end.
[/syntax]
Re: Помогите решить!
Добавлено: 15 окт 2009, 12:29
atavin-ta
" писал(а):Спасиб непойму как тут отблагодорить! Но чет она не работает!
Там два умножения были пропущены и в идентификаторе step была опечатка. Попробуй так. И что у тебя за паскаль? Может делфа? Тогда не пойдёт, там ввод/вывод другой. И прямо с нуля такая функция не пойдет. У тебя отрезок через круглые скобки, поэтому в постановке всё в порядке. Но в таком случае, min на step увеличивается, а max на столько же уменьшается.