Не работает Clrscr - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Открываю паскаль, начинаю проверять программы чтобы без проблем сдать преподу, но бесит одна тема, что остаются результаты предыдущих программ и получается полное месево. вставляю clrscr,но паскаль на него ругается. вопрос таков: куда нужно вставить clrscr,чтобы все было путем?

Решение задачи: «Не работает Clrscr»

textual
Листинг программы
{Для з*д***ых epsil:(0..1) и x вычисляется
        S(n;x)=Sum(i:0..n) u(i;x),
где     u(i;x)=((-)^i*x^(2i)/(2i)!
и       n=Min[k>=0:Abs(u(k;x))<=epsil] }
uses crt;
type Float=Single;
var x,  {*ргуме*т}
    epsil,      {п*р*метр точ*ости}
    s:Float;
    l,n:Integer;
    fout:Text;
procedure cost(x,eps:Float;var s:Float;var n:Integer);
{Вычисле*ие ч*стич*ой суммы ряд* s;
выход*ые п*р*метры:     x-*ргуме*т фу*кции,
                        eps-п*р*метр точ*ости;
выход*ые п*р*метры:     s-з**че*ие ч*стич*ой суммы,
                        n-*омер послед*его сл*г*емого,
                        *еяв*о з*д*в*емый к*к
                        n=Min[k>=0:Abs(u(k;x))<=epsil] }
{Д*лее при з*писи утвержде*ий использов**ы обоз**че*ия:
        s(i)=Sum(j:0..i) u(j),
        u(j)=(-)^j*x^(2j)/(2j)!.
Вычисле*ия производятся по рекурре*т*ым соот*оше*иям:
        u(i)=u(i-1)*(-x*x)/(d(i);
        d(i)=2i(2i);d(i)=d(i-1)+dd(i);
        dd(i)=8i;dd(i)=dd(i-1)+8;       }
var u,  {сл*г*емое}
   w:Float;
   i,d,dd:Integer;
begin {sint}
        i:=0;
        dd:=0; d:=0;
        u:=x; s:=x;
        w:=-x*x;
        {s=s(i)& u=u(i)& i=0}
        while abs(u)>eps do
                begin {s=s(i)& u=u(i)& d=d(i)& dd=dd(i)& i<n }
                i:=i+1;
                dd:=dd+8;
                d:=d+dd;
                u:=u*w/d;
                s:=s+u;
                  {s=s(i)& u=u(i)& d=d(i)& dd=dd(i)& i<=n) }
                end {while};
                {s=s(n)& u=u(n) }
                i:=n
        end {sint};
 
procedure Input(var eps:Float);
{З*прос и вычисле*ие п*р*метр* точ*ости eps
        в*еш*ий эффект:         ввод с кл*ви*туры целого p>0,
                                т*кого, что Eps=10^(-p);
        выход*ой п*р*метр       eps-п*р*метр точ*ости. }
var p:Byte;
begin {Input}
Writeln('Epsilon=10^(-p);Введите p(p>0):');Readln(p);
eps:=exp(-p*ln(10.0));
end {Input};
 
begin {Main}
clrscr;
Assign(fout,'sinSngl.dat');
Rewrite(fout); Write(fout,'Single... ');
 
Input(epsil); {ввод п*р*метр* точ*ости}
Writeln(fout,'Epsilon=',epsil:10);
 
x:=Pi/6;
for l:=1 to 6 do
begin
        Write(fout,'x=',x:10:7);
        cost(x,epsil,x,n);
        Writeln(fout,'S(x)=',s:16,':: Cos x=',Cos(x):16,'n=',n:4);
        x:=x+2.*Pi;
        end {for};
        Close(fout);
        readln
end.

Объяснение кода листинга программы

Этот код написан на Turbo Pascal и предназначен для вычисления суммы ряда sin(x) с использованием метода разбиения на треугольники. В первой строке объявляются переменные x, epsil и s, которые будут использоваться в функции cost. Далее следует функция cost, которая принимает на вход x, epsil и n (последний аргумент также используется внутри функции). Внутри функции происходит вычисление суммы ряда sin(x) с использованием метода разбиения на треугольники. Затем идет функция Input, которая принимает на вход p и вычисляет значение epsil. В основной части кода сначала сбрасывается экран с помощью clrscr. Затем открывается файл fout для записи. В цикле for вычисляется значение x, вызывается функция cost, выводится значение s и n, затем значение x увеличивается на 2*Pi. После окончания цикла for закрывается файл fout. В конце кода вызывается readln для чтения нажатия клавиши.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

6   голосов , оценка 3 из 5
Похожие ответы