Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ горит практика по паскалю

Автор: Diablo 15.05.2007 18:44

М
Пользуемся тегами !


Помогите с заданием.
завтра сдавать, а времени в обрез.
--//--
Пользуясь тем, что ln(1+x)=x-x2/2+x3/3-…+(-1)n-1 xn/n+…
При х [-1;1] вычислить значение ln(1+x) для указанного значения х0 [-1;1] с точностью е=0,001. Точность вычисления считается выполненной, если последний по модулю член в сумме меньшее.
--//--
нужно изменить, чтобы выводилось только первое вхождение символов.

Program Pr_6;
Uses crt;
Var s,max,z:string;
K,i,j,d,m,b:integer;c:boolean;
Begin
Clrscr;
Write('Vvedite stroku S: ');
Readln(s);
S:=s+' ';
Max:='';z:='';
for i:=1 to length(s) do
If (copy(s,i,1)<>' ')and(copy(s,i+1,1)=' ') then
Begin z:=z+copy(s,i,1);
If length (z)>length(max) then
Max:=z ;
Z:='';
End
Else z:=z+copy(s,i,1);
Writeln('MAX: ',max);
writeln;
For i:=1 to length(s) do
If (copy(s,i,1)<>' ')and(copy(s,i+1,1)=' ') then
Begin z:=z+copy(s,i,1);

d:=i; c:=false;
For j:=i-length(z)+1 to i-1 do
Begin

For m:=j+1 to i do
If s[j]=s[m] then c:=true; end;
If c=false then writeln(copy(s,i-length(z)+1,length(z)));
z:='';
{b:=b+1;
writeln('c=',c);
End;
If b=length(z) then writeln(z);}
End
Else z:=z+copy(s,i,1);
{ Writeln('z: ',z); }
Repeat
Until keypressed;
End.

Автор: мисс_граффити 15.05.2007 19:35

М
3. Название темы должно быть информативным. В описании темы указываем язык!!!


Исправляй.
и почему в других языках??? Переношу в задачи.

Автор: Tonny_Bennet 15.05.2007 20:54

Прога работает. e - это точность с которой необходимо посчитать ряд.... в конце сумма ряда визуально сравнивается с стандартными поцедурами паскаля по вычислению логарифма. Прикол программы в одном если увеличить х хотя бы до 2-х то происходит переполнение переменной и прога выдаёт весёлые результаты..... её можно переделать!!!! настроение будет переделаю

Program pr_4;
Var
e,t,s :extended;
x,i,zn:longint;
Begin
write('e= ');
Readln(e);
t:=1;
x:=1;
zn:=1;
s:=0;
i:=1;
While abs(t)>e do
begin
t:=x/zn;
x:=x*x;
zn:=zn+1;
i:=i+1;
if i mod 2 =0 then t:=-1*t;
s:=s-t;
end;
Writeln('s= ',s:26:20);
Writeln('ln(1+x)',ln(1+x):22:20);
Readln
End.

Автор: Diablo 16.05.2007 0:46

ошибка в 7 строке.
error 116.must be in 8087 mode to compile this.
помогите плиз

Автор: мисс_граффити 16.05.2007 1:15

первой строкой напиши {$N+}

Автор: Diablo 16.05.2007 2:00

да. действительно забавные.
буду благодарен если исправишь
пжлста

Автор: klem4 16.05.2007 2:03

 ! 
Последнее китайское предупреждение: Либо ты переименовываешь тему, либо она летит в мусорку


Автор: Diablo 18.05.2007 0:36

закрыть тему