Текст программы. {Вычислить значение функции y=sin(x) с точностью eps разложением ее в ряд Маклорена}
program lr3_2_1; { Вычислить значение функции y=sin(x) с точностью eps разложением ее в ряд Маклорена } { $APPTYPE CONSOLE } Uses SysUtils; Var n: integer; eps, x, y, an: real; Begin write('Vvedite x и eps '); readln(x, eps); y: = x; an: = x; n: =0; while abs(an) > =eps do Begin inc(n); an: =- an *sqr(x)/(2* n *(2* n +1)); y: = y + an; end; writeln('x= ', x: 8: 4, ' eps= ', eps: 8: 4, ' y= ', y: 8: 4, ' n= ', n); readln; End.
В данной лабораторной работе нет отдельных заданий второго уровня. Таковыми можно считать те же задания, выполненные с использованием компонентов Delphi и обработкой различных событий. Например, для рассмотренного примера, можно организовать вывод промежуточных результатов в таблицу (компонент StringGrid страницы Additional). Обработать события Form.Activate для вывода заголовков шапки таблицы, события KeyPress при вводе исходных данных, создать защищенный блок для обработки ошибки конвертирования. Примечание: защищенный блок try-except работает только при запуске exe файла или из среды Delphi при отключении флажка Integrated debugging (меню Tools\Debugger Options…). Форма приложения приведена на рис. 3.3. Рис. 3.3 Форма примера 3_2 Текст Unit-a
unit Unit1; {Вычислите значение функции y = sin(x) с точностью eps с помощью разложения функции в ряд Маклорена} Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, Grids; Type TForm1 = class(TForm) lbl1: TLabel; lbl2: TLabel; edt1: TEdit; lbl3: TLabel; edt2: TEdit; sd: TStringGrid; lbl4: TLabel; btn1: TButton; btn2: TBitBtn; procedure FormActivate(Sender: TObject); procedure btn1Click(Sender: TObject); procedure edt2KeyPress(Sender: TObject; var Key: Char); procedure edt1KeyPress(Sender: TObject; var Key: Char);
|