bsuir.info
БГУИР: Дистанционное и заочное обучение
(неофициальный форум)
Вход (быстрый)
Регистрация
[ Новые сообщения · Правила форума · Поиск · RSS ]

Неофициальный форум БГУИР » Специальности » Программное обеспечение информационных технологий (ПОИТ) » ОАиП (Основы алгоритмизации и программирования)
ОАиП
AccipiterДата: Воскресенье, 24.01.2010, 16:56 | Сообщение # 121
Группа: Удаленные





ерунда получается в лабе:
f1 := sqrt(3)*x*x/2*arctan(x*sqrt(3)/(x+2)) + 1/2*(x*x+2)*ln(1-x*x*x)-
3/4*x*x*ln(1-x);

f2:= сумма всех значений от 0 до бесконечности (x^3k=3)/((k+1)(3k+1))

значения f2 в 10 раз меньше f1

Code

PROGRAM Ex1;
Uses Crt;  
Const
eps1 = 0.01;       { Точность 10-2}
eps2 = 0.001;      { Точность 10-3 }
eps3 = 0.0001;     { Точность 10-4 }
a = -0.6;           { Начальное значение Х}
b = 0.05;           { Шаг} N = 20;             { Количество значений функции }
Var
k1, k2, k3, i: Integer; {Вспомогательные переменные}
f1, f2_1, f2_2, f2_3, step, slag, x: Real;

BEGIN
ClrScr;
{Рисуется шапка таблицы}
  writeln('__________________________________________________________');
  writeln('|       |             | e=0.01   |  e=0.001  |  e=0.0001  |');
  writeln('|   x   |    f1(x)    |------|---|-----------|------------|');
  writeln('|       |             | f2(x)| N | f2(x) | N |  f2(x) | N |');
  writeln('|_______|_____________|______|___|_______|___|________|___|');
  x := a;  {Начальное значение Х}
  for i:=1 to N do
  begin
     f1:=sqrt(3)*((x*x)/2)*arctan((x*sqrt(3))/(x+2))+1/4((x*x+2)*ln(1-x*x*x))-1/4(3*x*x*ln(1-x)); {функция f1}
{ Вычисляется значения функции f2}
    step:=x*x;  {Начальное значение степени Х}
    f2_1:=0;  {Начальное значение функции f2_1}
    k1:=0;
    repeat     {Итерационный цикл для точности 10-2}
      inc(k1);
      step:=step*x;                     {Наращивается степень}
      slag:=step/((k1+1)*(3*k1+1));    {Считается очередное слагаемое}
      f2_1:=f2_1+slag;                {Считается значение f2_1}
    until abs(slag)<=eps1;  {Выход из цикла, когда слагаемое становится меньше точности 10-2}
    f2_2:=f2_1;
    k2:=k1;
    repeat               {Итерационный цикл для точности 10-3}
      inc(k2);
      step:=step*x;                 {Наращивается степень}
      slag:=step/((k2+1)*(3*k2+1));    {Считается очередное слагаемое}
      f2_2:=f2_2+slag;
    until abs(slag)<=eps2;  {Выход из цикла, когда слагаемое становится меньше точности 10-3}
    f2_3:=f2_2;
    k3:=k2;
    repeat                         {итерационный цикл для точности 10-4}
      inc(k3);
      step:=step*x;                    {Наращивается степень}
      slag:=step/((k3+1)*(3*k3+1));   {Считается очередное слагаемое}
      f2_3:=f2_3+slag;
    until abs(slag)<=eps3; {Выход из цикла, когда слагаемое становится меньше точности 10-4}
{ Вывод результатов}
    writeln('| ', x:5:2,' | ',f1:12:9,'| ',f2_1:5:2,'| ',
    k1:2,'| ',f2_2:6:3,'| ',k2:2,'| ',f2_3:7:4,'| ', k3:2,'|');
    x:=x+b;
  end;
{ завершение таблицы }
  write('|-------+-------------+------+---+-------+---+--------+---|');
  ReadKey
END.

Добавлено (23.01.2010, 02:30)
---------------------------------------------
cry как туго думается когда здоровье отвлекает. Час размышления и всё исправил

Добавлено (24.01.2010, 15:56)
---------------------------------------------
есть функция типа e^x=1+x+(x^2)/2!+(x^3)/3!+... расчет идет пока слагаемое x^n/n! не станет меньше точности
значение х берется из массива х(10) элементы вводятся в ручную как и точность расчета.
не получается правильно описать функцию в программе, считается только слагаемое удовлетворяющее точности. cry

Сообщение отредактировал Accipiter - Суббота, 23.01.2010, 02:20
 
WasjaДата: Воскресенье, 24.01.2010, 19:34 | Сообщение # 122
Admin
Группа: Администраторы
Сообщений: 1446
Статус: Оффлайн
Quote (Accipiter)
есть функция типа e^x=1+x+(x^2)/2!+(x^3)/3!+... расчет идет пока слагаемое x^n/n! не станет меньше точности
значение х берется из массива х(10) элементы вводятся в ручную как и точность расчета.
не получается правильно описать функцию в программе, считается только слагаемое удовлетворяющее точности.

Если я еще не забыл паскаля, то как-то так:
Code
eps := 0.0001;
for i:=1 to 10 do
begin
   x_temp := x[i];{ обрабатываемый X }
   fact := 1; { факториал на первой итерации }  
   power := 1; { степень X на первой итерации }  
   count := 0; { номер итерации }  
   sum := 0; { сумма }
   item := 1; { значение слагаемого на первой итерации }
   while (item >= eps)
   begin
     sum := sum + item;
     count := count + 1;
     power := power * x_temp; { степень X на конкретной итерации }
     fact := fact * count; { факториал на конкретной итерации }  
     item := power / fact; { значение слагаемого на конкретной итерации }
   end;
end;


Все вышесказанное является моим личным мнением.
 
AccipiterДата: Понедельник, 25.01.2010, 18:07 | Сообщение # 123
Группа: Удаленные





wink спасибо огромное!
 
MystДата: Вторник, 26.01.2010, 01:01 | Сообщение # 124
Группа: Удаленные





Может кто знает где литературу минимальную взять в нете по СИ
 
InsaneДата: Суббота, 30.01.2010, 09:40 | Сообщение # 125
Группа: Удаленные





Спасибо большое!
 
CTARIKДата: Вторник, 02.02.2010, 16:42 | Сообщение # 126
Группа: Удаленные





Если кому надо самоучили для чайников по С++ пиши в личку.
 
murrexДата: Вторник, 23.03.2010, 20:03 | Сообщение # 127
Группа: Удаленные





Если кому надо хорошие учебники по всей программухе бесплатно!!!То прошу в личку!!!
 
SeriousДата: Пятница, 02.04.2010, 15:32 | Сообщение # 128
Группа: Удаленные





народ кто-нибудь может помочь с лабами по второй части?
 
OniksДата: Пятница, 16.04.2010, 21:01 | Сообщение # 129
Группа: Удаленные





Serious, какова рода у тебя затруднения?

Сообщение отредактировал Oniks - Пятница, 16.04.2010, 21:09
 
VigorДата: Понедельник, 17.05.2010, 22:50 | Сообщение # 130
Группа: Удаленные





Народ кто нить мне расскажет как раскурить написание блок-схем методом Насси-Шнайдермана, у меня наверно мозг не в ту сторону работает. Да и есть ли вспомогательные проги для рисования, остальные типы (дамке и по госту) рисуются хорошо в Visio а вот с этой блок схемкой затык, не могу из-за этого сдать контрольную :(((
 
qqqqДата: Четверг, 24.06.2010, 13:35 | Сообщение # 131
Группа: Удаленные





Подскажите, пожалуйста, как задать чередование гласных и согласных на Паскале???
 
WasjaДата: Четверг, 24.06.2010, 13:59 | Сообщение # 132
Admin
Группа: Администраторы
Сообщений: 1446
Статус: Оффлайн
qqqq, вбить массив/набор гласных и массив/набор согласных и чередовать их. happy

Все вышесказанное является моим личным мнением.
 
qqqqДата: Четверг, 24.06.2010, 14:10 | Сообщение # 133
Группа: Удаленные





ясно, я просто вбил только гласные в массив и плясал вокруг да около
СПАСИБО!!!
 
DestДата: Среда, 30.06.2010, 15:40 | Сообщение # 134
Группа: Удаленные





О преподавателе: чаще всего принимает Глухова Лилия Александровна. Очень своеобразная женщина. Чаще всего Требует знаний. Но если перед нейй пару раз засветиться (подойти с вопросом - показать что Вам не пофиг на ее предмет), то на экзамене это может спасти.
 
goshaДата: Вторник, 21.09.2010, 21:53 | Сообщение # 135
Группа: Удаленные





Quote (Dest)
О преподавателе: чаще всего принимает Глухова Лилия Александровна. Очень своеобразная женщина. Чаще всего Требует знаний. Но если перед нейй пару раз засветиться (подойти с вопросом - показать что Вам не пофиг на ее предмет), то на экзамене это может спасти.

Дельный совет, надо брать в разработку. А если допустим досрочно на первом курсе сдавать, как она к этому отнесется?
 
Неофициальный форум БГУИР » Специальности » Программное обеспечение информационных технологий (ПОИТ) » ОАиП (Основы алгоритмизации и программирования)
Поиск: