![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
|||
|
|||
|
Спасибо большое, очень выручили!
|