Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
AiRplane
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 31
1

Формулы

07.07.2010, 21:59. Просмотров 3726. Ответов 26
Метки нет (Все метки)

подскажите пожалуйста как написать формулы в паскале

y=a/b sin(ac+0.1) z=ln a+c^-bc (^ - значек степени)

Pascal
1
Y=(a/b)*sin(a*c+0.1)
- с "Y" так вроде, а вот с Z проблемка
Подскажите пожалуйста, заранее спасибо!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2010, 21:59
Ответы с готовыми решениями:

Вывод формулы
Всем доброго времени суток. Возник вопрос с выводом рекуррентной формулы. ...

Рекурентные формулы
Помогите ребята,нужно составить для двух случаев. Две программы, Ссылки...

Вставить формулы
program chisla; uses crt; var k,k1,k2,i,j: integer; begin clrscr; ...

итерационные формулы
Составить программу вычисления: ...

Записать формулы
Помогите записать формулы на языке pascal

26
AiRplane
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 31
14.07.2010, 23:07  [ТС] 21
Я вот нашел аналогичную прогу..
Вычислить:
t= x-k, при ln(x)<ek
(1+k1/3)/x*tg(x) , при ln(x)>ek
для k=1.4; 2; 2.5; 5 и xe[2;10] с шагом x=1.2 . Построить графики t(x) при различных значениях k .
Текст программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 Program Zadanie3;                                                            
  Uses crt,graph;                                                             
  const Xmin=100; Xmax=500; Ymin=50; Ymax=450;                                
        stepX=100; stepY=100; NX=4; NY=4;                                     
  var driver,mode: integer;                                                   
      i,XC,YC: integer;Ch:char;                                               
      x,y,t,k:real;                                                           
   procedure Axes; {Risovanie osei}                                           
    begin                                                                     
     Line(xmin+stepx,ymin,xmin+stepx,ymax);     {Y}                           
     Line(xmin,ymin+3*stepy,xmax,ymin+3*stepy); {X}                           
    end;                                                                     
    procedure mark_X; {Razmetka X}                                            
    var MX:integer;                                                           
     begin                                                                    
     for i:=0 to nx do                                                        
      begin                                                                   
       MX:=xmin+i*stepx;                                                      
       line(mx,ymin+3*stepy-3,mx,ymin+3*stepy+3);                             
      end;                                                                    
    end;                                                                      
    procedure mark_Y; {Razmetka Y}                                            
    var MY: integer;                                                          
     begin                                                                    
     for i:=0 to ny do                                                        
      begin                                                                   
       MY:=ymin+i*stepy;                                                      
       line(xmin+stepx-3,my,xmin+stepy+3,my);                                 
      end;                                                                    
    end;                                                                      
    procedure Num; {Cifri u bykvi na ocyah}                                   
     begin                                                                    
      OutTextXY(xmax+10, ymin+3*stepy, ‘X’);                                  
      OutTextXY(xmin, ymin+3*stepy+10,-1);                                 
      OutTextXY(xmin+stepx-15, ymin+3*stepy+10,0);                         
      OutTextXY(xmin+2*stepx, ymin+3*stepy+10,1);                          
      OutTextXY(xmin+3*stepx, ymin+3*stepy+10,2);                         
      OutTextXY(xmin+4*stepx, ymin+3*stepy+10,3);                          
      OutTextXY(xmin+stepx-4, ymin-12, ‘Y’);                                  
      OutTextXY(xmin+stepx-20, ymin+4*stepy,-1);                           
      OutTextXY(xmin+stepx-20, ymin+2*stepy,1);                            
      OutTextXY(xmin+stepx-20, ymin+stepy,2);                              
      OutTextXY(xmin+stepx-20, ymin,3);                                    
     end;                                                                     
     procedure pict;                                                         
     {Vichislenie t u postroenie graf}                                        
     begin                                                                    
                                                                              
      x:=2; XC:=xmin;                                                         
       repeat                                                                 
        if ( ln(x)<exp(k) ) then                                              
         t:=exp(-k*ln(x)) else                                                
         t:=(1+exp((1/3)*ln(k)))/x*(sin(x)/cos(x));                           
         YC:=ABS(Round(100*t));                                               
        if t<0 then PutPixel(XC, ymin+3*stepy+ YC, lightgreen)                
         else PutPixel(XC, ymin+3*stepy-YC, lightgreen);                      
         x:=x+0.01; XC:=XC+ 1;                                                
       Until x>10;                                                            
     end;                                                                     
     procedure Wait;                                                          
      begin                                                                   
       Writeln(‘Nagmite lubyu klavishy’);                      
       while not keyPressed do;                                               
       ch:=readkey; If ch=#0 then ch:=readkey;                                
      end;                                                                    
       begin                                                                  
        clrscr; x:=2; writeln(‘vvedite k:);                                   
        read(k);writeln(‘pri k=,k:3:1,’ rezultat:);                        
         writeln; writeln(‘  X’,’           Y’);                                  
         repeat                                                               
          if ( ln(x)<exp(k) ) then                                            
          t:=exp(-k*ln(x)) else                                               
          t:=(1+exp((1/3)*ln(k)))/x*(sin(x)/cos(x));                          
          writeln(x:4:1, t:11:6);x:=x+1.2;                                    
         until x>10; Wait;                                                    
        Driver:=Detect; InitGraph(Driver, Mode, ‘ ‘);                         
        Axes; Mark_X; Mark_Y; Num; Pict;                                                                                                            
      Wait;CloseGraph;                                                        
      END.
Добавлено через 1 минуту
Если подставить мое, то получается
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Uses crt,graph;
  const Xmin=100; Xmax=500; Ymin=50; Ymax=450;
        stepX=100; stepY=100; NX=4; NY=4;
  var driver,mode: integer;
      z,XC,YC: integer;Ch:char;
      a,y,t,i:real;
   procedure Axes; {Risovanie osei}
    begin
     Line(xmin+stepx,ymin,xmin+stepx,ymax);     {Y}
     Line(xmin,ymin+3*stepy,xmax,ymin+3*stepy); {X}
    end;
    procedure mark_X; {Razmetka X}
    var MX:integer;
     begin
     for z:=0 to nx do
      begin
       MX:=xmin+z*stepx;
       line(mx,ymin+3*stepy-3,mx,ymin+3*stepy+3);
      end;
    end;
    procedure mark_Y; {Razmetka Y}
    var MY: integer;
     begin
     for z:=0 to ny do
      begin
       MY:=ymin+z*stepy;
       line(xmin+stepx-3,my,xmin+stepy+3,my);
      end;
    end;
    procedure Num; {Cifri u bykvi na ocyah}
     begin
      OutTextXY(xmax+10, ymin+3*stepy, 'X');
      OutTextXY(xmin, ymin+3*stepy+10, '-1');
      OutTextXY(xmin+stepx-15, ymin+3*stepy+10, '0');
      OutTextXY(xmin+2*stepx, ymin+3*stepy+10, '1');
      OutTextXY(xmin+3*stepx, ymin+3*stepy+10, '2');
      OutTextXY(xmin+4*stepx, ymin+3*stepy+10, '3');
      OutTextXY(xmin+stepx-4, ymin-12, 'Y');
      OutTextXY(xmin+stepx-20, ymin+4*stepy, '-1');
      OutTextXY(xmin+stepx-20, ymin+2*stepy, '1');
      OutTextXY(xmin+stepx-20, ymin+stepy, '2');
      OutTextXY(xmin+stepx-20, ymin, '3');
     end;
     procedure pict;
     {Vichislenie t u postroenie graf}
     begin
 
      a:=0; XC:=xmin;
       repeat
        if ( cos(i)=<(sin(a)/cos(a) ) then
         t:=(exp(ln(a)*i)/2*sqrt(a+1) else
         t:=1;
         YC:=ABS(Round(100*t));
        if t<0 then PutPixel(XC, ymin+3*stepy+ YC, lightgreen)
         else PutPixel(XC, ymin+3*stepy-YC, lightgreen);
         a:=a+0.01; XC:=XC+ 1;
       Until a>10;
     end;
     procedure Wait;
      begin
       Writeln('Nagmite lubyu klavishy');
       while not keyPressed do;
       ch:=readkey; If ch=#0 then ch:=readkey;
      end;
       begin
        clrscr; a:=0; writeln('vvedite i: ');
        read(k);writeln('pri i= ',k:3:1,' rezultat:');
         writeln; writeln('  X','           Y');
         repeat
          if ( cos(i)>(sin(a)/cos(a) ) then
          t:=(exp(ln(a)*i)/2*sqrt(a+1) else
          t:=1;
          writeln(x:4:1, t:11:6);x:=x+1.2;
         until a>10; Wait;
        Driver:=Detect; InitGraph(Driver, Mode, ' ');
        Axes; Mark_X; Mark_Y; Num; Pict;
      Wait;CloseGraph;
      END.
Добавлено через 57 секунд
Но вот фишка в том, что моя программа работает только про i=10 а другие числа 1 .. 9 не работает.
0
Puporev
Модератор
54705 / 42115 / 29081
Регистрация: 18.05.2008
Сообщений: 99,402
15.07.2010, 07:48 22
Цитата Сообщение от AiRplane Посмотреть сообщение
только про i=10
а откуда i=10? У вас же i=1.5; 2.0; 2.5; и все.
И вообще, я вам написал, что строить график по тем точкам, что получаются бессмысленно, значения повторяются, они неудачные, друг на друга налезают. Вы запустите мою программу или посчитайте на калькуляторе эти 15 значений и постройте эти графики в Экселе или на бумаге и посмотрите что получится. А переписывать чужие программы не понимая что у вас за функция, нет ни какого смысла. Думать нужно, мозг включать.
0
AiRplane
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 31
15.07.2010, 11:37  [ТС] 23
Да i=10 я поставил случайно... А график строить в паскале не нужно, нужны только "значения" которые как я написал должны быть слева.
П.С. Графики я в маткаде сделал. А чтобы сдать работы нужен код работающей программы.
0
Puporev
Модератор
54705 / 42115 / 29081
Регистрация: 18.05.2008
Сообщений: 99,402
15.07.2010, 21:01 24
AiRplane, Так я тебе и написал код работающей программы, которая выполняет все вычисления. Если график не нужно строить то это все.
0
AiRplane
0 / 0 / 0
Регистрация: 02.05.2010
Сообщений: 31
15.07.2010, 21:09  [ТС] 25
Puporev, как-то я упустил то сообщение. Большое спасибо за помощь!
0
spinogryz_ua
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 2
09.01.2012, 23:17 26
я вот такое написать не могу =((
Формулы

помогите плиз кому не сложно...
0
PaDyra
32 / 32 / 25
Регистрация: 06.01.2012
Сообщений: 142
10.01.2012, 13:45 27
Цитата Сообщение от spinogryz_ua Посмотреть сообщение
я вот такое написать не могу =((
http://storage8.static.itmages.ru/i/...e4fffbfa9b.png
помогите плиз кому не сложно...
Создайте тему, больше вероятность того, что вам помогут, чем писать в какой-то другой теме.
0
10.01.2012, 13:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2012, 13:45

написание формулы
Как записать в паскале ∛(x*cos⁡(x)) кроме как exp(ln(x*cos(x))/3)

Итерационные формулы
SoS!!!

Не получается написать формулы
Доброго времени суток! Очень затрудняюсь реализовать следующие формулы на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru