С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 34
1

Вычислить длину линии вертикального разреза фигуры, площадей фигуры по значениям аргумента

11.10.2012, 07:17. Показов 1324. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите с программой , доработайте , не могу блин , весь мозг сломал


Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez, значения площадей фигуры слева и справа от линии разреза s_left, s_right, по значениям аргумента x, введенным с консоли:
(картинка в прикрепленном файле)
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
Program lab2;
Uses CRT;
Var x, a, b, y, z, s_left, s_right, alfa, sin_alfa, segment,s_lefts, s_rights,alfas,sin_alfas,segments,s_lefta,s_righta :Real;
Begin
   ClrScr;
 
 
Write('vvedite x [-1..1] :');Readln(x);
 
If (x<=0.0) Then
  Begin
      y:=Sqrt(1.0 - abs(x) * abs(x));
      If (x<=-1.0)
         Then y:=0.0;
      a:=Sqrt(abs(0.25 - (abs(x)-0.5) * (abs(x)-0.5)));
      If (x=-0.5)
     Then a:=0.5;
      b:=y+a;   
  End
  Else
  Begin                     
      y:=Sqrt(1.0 - x * x);
      If (x>=1.0)
        Then y:=0.0;
      a:=Sqrt(abs(0.25 - (x-0.5) * (x-0.5)));
      If (x=0.5)
     Then a:=0.5;
      b:=y-a;
  End;
     
If (x=0.0) Then
   Begin
       b:=1;
       s_lefta:=pi/4+pi/8;
       s_righta:=pi/4-pi/8;
   End;
If (x<0.0) Then
   Begin
       sin_alfa:=y;
       If (sin_alfa<>1.0)
          Then alfa:=Arctan(sin_alfa/Sqrt(1.0 - sin_alfa*sin_alfa))
          Else alfa:=Pi/2.0;
 
         segment:=0.5*(alfa - sin_alfa);
         s_right:=segment - 0.5*abs(x)*y;
         s_left:=Pi/2.0 - s_right;
 
 
 
       if (x<=0.5) then
       begin
       z:=0.5-abs(x);
       sin_alfas:=a;
       If (sin_alfas<>0.5)
          Then alfas:=Arctan(sin_alfas/Sqrt(0.25 - sin_alfas*sin_alfas))
          Else alfas:=Pi/2.0;
         segments:=0.5*0.25*(alfas - sin_alfas);
         s_rights:=segments + 0.5*abs(z)*a;
         s_lefts:=Pi*0.25/2.0 - s_rights;
         if z=0
           Then
           begin
           s_rights:=pi/16;
           s_lefts:=pi/16;
           end;
        end;
 
        if (x>-0.5) then
       begin
       z:=abs(x)-0.5;
       sin_alfas:=a;
       If (sin_alfas<>0.5)
          Then alfas:=Arctan(sin_alfas/Sqrt(0.25 - sin_alfas*sin_alfas))
          Else alfas:=Pi/2.0;
         segments:=0.5*0.25*(alfas - sin_alfas);
         s_rights:=(segments + 0.5*abs(z)*a)/2;
         s_lefts:=Pi/8 - s_rights;
         if z=0
           Then
           begin
           s_rights:=pi/16;
           s_lefts:=pi/16;
           end;
        end;
 
         s_righta:=s_rights+s_right;
         s_lefta:=s_lefts+s_left;
 end;
If (x>0.0) Then             
   Begin
       z:=x-1.0;
       x:=1.0-x;
       sin_alfa:=y;
       If (sin_alfa<>0.0)
          Then alfa:=Arctan(sin_alfa/Sqrt(1.0 - sin_alfa*sin_alfa))
          Else alfa:=Pi/2.0;
         segment:=0.5*(alfa - sin_alfa);
         s_right:=segment + 0.5*x*y;
         s_left:=Pi/2.0 - s_right;
   
       
       if (x<=0.5) then
       begin
       sin_alfas:=a;
       If (sin_alfas<>0.5)
          Then alfas:=Arctan(sin_alfas/Sqrt(0.25 - sin_alfas*sin_alfas))
          Else alfas:=Pi/2.0;
         segments:=0.5*0.25*(alfas - sin_alfas);
         s_lefts:=segments + 0.5*x*a;
         s_rights:=Pi*0.25/2.0 - s_lefts;
         if z=0
           Then
           begin
           s_rights:=pi/16;
           s_lefts:=pi/16;
           end;
        end;
 
        if (x>0.5) then
       begin
 
       sin_alfas:=a;
       If (sin_alfas<>0.5)
          Then alfas:=Arctan(sin_alfas/Sqrt(0.25 - sin_alfas*sin_alfas))
          Else alfas:=Pi/2.0;
         segments:=0.5*0.25*(alfas - sin_alfas);
         s_rights:=segments + 0.5*abs(z)*a;
         s_lefts:=Pi*0.25/2.0 - s_rights;       
        end;
 
         s_righta:=s_rights+s_right;
         s_lefta:=s_lefts+s_left;
    End;
 
WriteLn('y_razrez=',b:6:4);
WriteLn('s_left=',s_lefta:6:4);
WriteLn('s_right=',s_righta:6:4);
 
readkey
End.
Миниатюры
Вычислить длину линии вертикального разреза фигуры, площадей фигуры по значениям аргумента  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2012, 07:17
Ответы с готовыми решениями:

Вычислить длину линии вертикального разреза фигуры
Задание : Составить алгоритм и написать код программы, вычисляющей длину линии вертикального...

Вычислить длину линии вертикального разреза фигуры, площади фигуры слева и справа от линии разреза
Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры ...

Вычислить длину линии вертикального разреза фигуры
Задание: Составить алгоритм и написать код программы, вычисляющей длину линии верти-кального...

Написать код программы, вычисляющей длину линии вертикального разреза фигуры...
Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры...

0
11.10.2012, 07:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2012, 07:17
Помогаю со студенческими работами здесь

Написать код программы, вычисляющей длину линии вертикального разреза фигуры y_razrez
Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры ...

Составить алгоритм, вычисляющей длину линии вертикального разреза фигуры (найти ошибку)
При x=1 и от x 1 до 2 считает правильно, а при значениях от 0 до 1 некорректные значения. ...

Составить алгоритм и написать код программы, вычисляющей длину линии вертикального разреза фигуры
помогите с программой Вот условие: Составить алгоритм и написать код программы, вычисляющей длину...

Длина линии вертикального разреза фигуры
Здравствуйте, помогите пожалуйста разобраться: Необходимо составить алгоритм и написать код...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru