![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Помогите написать простеньки прогрыммы
Из математики известно, что ch2x – sh2 x = 1, где , . Разработайте программy, которая вычисляет левую часть этого равенства. Указание. Программа должна реализовывать следующую по¬сле¬до¬ва-тель¬ность вычислений: y1=sh x, y2 =ch x, y = y22 – y12, где x, y, y1, y2 – переменные типа real. Полученные значения y1, y2 и y вывести на экран, указав ширину поля вывода не менее 20 и количество дробных цифр не менее 16. и вторая Разработайте программу, которая проверяет равенство sin2 x + cos2 x = 1. Убедитесь, что погрешность достаточно мала. Поясните полученный результат. |
#2
|
|||
|
|||
![]() ну и в чем проблема?
1. Как-то так: Код:
uses Math; procedure TForm1.Button1Click(Sender : TObject); var x, y, y1, y2 : Extended; begin x := StrToFloat(Exit1.Text); y1 := sh(x); y2 := ch(x); y := sqr(y2) - sqr(y1); Edit2.Text := Format('%20.16f',[y1]); Edit3.Text := Format('%20.16f',[y2]); Edit4.Text := Format('%20.16f',[y]); end; 2: Ну тут как-то так: Код:
procedure TForm1.Button2Click(Sender : TObject); var I : Integer; A : Extended; E : Extended; Ec : Extended; begin E := 0; For I := 0 To 359 Do begin A := (PI * I)/180; //grad to rad Ec := 1 - (sqr(sin(A) + sqr(cos(A))); If Abs(Ec) > E Then E := Abs(Ec); end; ShowMessage('Emax = ' + FloatTostr(E)); end; |
#3
|
|||
|
|||
![]() Спасибо большое, очень выручили!
|