Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 03.10.2010, 00:33   #1 (permalink)
Анел
Новичок
 
Регистрация: 03.10.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Посмотрите пожалуйста, как делать?

1. составить программу на языке паскаль для вычисления корней уравнения методом половинного деления
Точность вычислений 10 (в -3 степени)

3х-0,9*Cosx-1=0


2. составить программу на языке паскаль для вычисления определенного интеграла методом трапеций
Точность вычислений 10 (в -3 степени)

интеграл (от 0 до П/2) (Cosx+2) dx
Анел вне форума   Ответить с цитированием

Старый 03.10.2010, 00:33
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

С уверенностью могу сказать, что в этих темах есть множество полезной информации

посмотрите на смарт 187+199 позиции
Диодный мост. Посмотрите
Не знаю что и делать

Старый 03.10.2010, 09:53   #2 (permalink)
KiD2
Member
 
Аватар для KiD2
 
Регистрация: 07.06.2010
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
1. составить программу на языке паскаль для вычисления корней уравнения методом половинного деления
Точность вычислений 10 (в -3 степени)

3х-0,9*Cosx-1=0
Вроде бы так... вычисляет функцию на интервале от a до b
Код:
program mdp;

function f(x: real): real;

begin

f:=3*x-0.9*cos(x)-1;

end;

var

a, b, e, c, x: real;

begin

a:=0;

b:=1;

e:=0.001;

c:=(a+b)/2;

while abs(b-a)>e do

begin

if f(a)*f(c)<0 then

b:=c

else

a:=c;

c:=(a+b)/2;

end;

x:=(a+b)/2;

writeln ('x=',x:3:3,' f(x)=',f(x):4:4);

readln;

end.
KiD2 вне форума   Ответить с цитированием
Старый 03.10.2010, 10:08   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Анел Посмотреть сообщение
2. составить программу на языке паскаль для вычисления определенного интеграла методом трапеций
Точность вычислений 10 (в -3 степени)

интеграл (от 0 до П/2) (Cosx+2) dx
Например, так:
Код:
CONST
 Xmin=0.0;
 Xmax=Pi/2;
 Eps=0.0001;
VAR
 h,Sbef,Saft,Rel:Real;

FUNCTION f(Xf:Real):Real;
 begin
  f:=Cos(Xf)+2;
 end;

FUNCTION SUM(Hs:Real):Real;
 Var
  Ns,i:Integer;
  SM:Real;
 begin
  Ns:=ROUND((Xmax-Xmin)/Hs);
  SM:=0;
  For i:=0 to Ns-1 do
   SM:=SM+Hs/2*(f(Xmin+Hs*i)+f(Xmin+Hs*(i+1)));
  SUM:=SM;
 end;

BEGIN
 h:=Xmax-Xmin;
 Sbef:=SUM(h);
 Repeat
  h:=h/2;
  Saft:=SUM(h);
  Rel:=ABS((Saft-Sbef)*2/(Saft+Sbef));
  Sbef:=Saft;
 Until Rel<Eps;
 WriteLn('        Result: ',Sbef:6:4);
 WriteLn('Accurate value: ',(1.0+Pi):6:4);
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 03.10.2010, 10:22   #4 (permalink)
KiD2
Member
 
Аватар для KiD2
 
Регистрация: 07.06.2010
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
2. составить программу на языке паскаль для вычисления определенного интеграла методом трапеций
Точность вычислений 10 (в -3 степени)

интеграл (от 0 до П/2) (Cosx+2) dx
Чуток не успел ну да ладно хоть ответ проверил
Код:
program Integral;
uses
Crt, Dos;
var
dx,x1,x2,e,i:real;
function Fx(x:real):real;
begin
Fx:=cos(x)+2;
end;

procedure CountViaTrap;
var
xx1,xx2,xx3:real;
c:longint;
begin
writeln('Iterations:',round(abs(x2-x1)/e));
i:=0;
for c:=1 to round(abs(x2-x1)/e) do begin
write('Iteration ',c,chr(13));
xx1:=Fx(x1+c*e);
xx2:=Fx(x1+c*e+e);
if xx2>xx1 then xx3:=xx1 else xx3:=xx2;
i:=i+abs(xx2-xx1)*e+abs(xx3)*e;
end;
writeln('integral = ',i);
end;

begin
writeln('x1= 0 '); x1:=0;
writeln('x2=pi/2 '); x2:=pi/2;
writeln('e=0.001 '); e:=0.001;
CountViaTrap;
ReadLn;
end.
KiD2 вне форума   Ответить с цитированием
Старый 03.10.2010, 19:26   #5 (permalink)
Анел
Новичок
 
Регистрация: 03.10.2010
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Огромное спасибо за быстрое решение!!!
Анел вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 09:38.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.