Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

RGR(FINAL)

.doc
Скачиваний:
54
Добавлен:
15.06.2014
Размер:
71.17 Кб
Скачать

Омский Государственный Технический Университет

Кафедра «Информатика и вычислительная техника»

Расчётно-графическая работа

по дисциплине

«Алгоритмические языки и программирование»

Разработал студент

Кондратенко К.Ю.

группа ИВТ-144.

Руководитель проекта

к.т.н. Шафеева О.П.

г. Омск 2004

Содержание

  1. Описание задач..............................................................................................3

  1. Текст программы............................................................................................-

2.1 Подпрограмма к заданию 3_2................................................................4

2.2 Полная программа с использование подпрограмм……………...…5-9

3. Алгоритм решения (схемы алгоритма)………………………………........-

3.1 Схема алгоритма к подпрограмме 3_2………………………………10

3.2 Программа с использованием подпрограмм.......................................11

4. Графики в Microsoft Excel...………………………………………………..-

4.1 Графики функции к подпрограмме 3_2.............................................12

4.2 Графики функции y:=5*x-exp(x)-2*x*sqrt(x).....................................13

Описание задач.

1. Вычислить значение двух функций F(x)=sqrt(exp(x)-1) и F(x)=x*ln(x)*ln(x) в n точках, равномерно распределённых на интервале (a <= x <= b),

где a=-pi, b=pi.

2. Рассчитать функцию и построить график y:=5*x-exp(x)-2*x*sqrt(x)

3. Начертить графики функций из задачи №1 и сравнить результаты

построения в Excel.

2.Тексты программ

2.1 Подпрограмма к заданию 3_2

Задание:

Вычислить значение двух функций F(x)=sqrt(exp(x)-1) и F(x)=x*ln(x)*ln(x) в n точках, равномерно распределённых на интервале (a <= x <= b),

где a=-pi, b=pi.

Program Lab_3_2;

Const

aa=-pi;

bb=pi;

Var

F1,F2,xt,Dx:real;

Ii,nn:integer;

Begin

Writeln('Введите количество точек и нажмите “Enter” :’);

Readln(nn);

DX:=abs(bb-aa)/(nn-1);

xt:=aa;

writeln(' _____________________________ ');

writeln(' * I * X * F1 * F2 *');

writeln(' *___*________*________*____ ___* ');

For ii:=1 to nn do

Begin

F1:=2-cos(x);

F2:=sqrt((x*x*x*x)+4);

writeln('і', i:3,'і',x:8:3,'і',F1:8:4,'і',F2:8:4,'і');

x:=x+Dx;

End;

writeln(' -------------------------------- ');

End.

2.2 Полная программа с использование подпрограмм

Program RGR; {Кондратенко Кирилл ИВТ - 144}

Uses Graph,Crt;

Const

aa=-pi;

bb=pi;

Procedure Menu;

Var

m:string;

n:byte;

x,xx,xxt,xt,yy,yt,ww,y,yz,dx,F1,F2,Y1,Y2:Real;

a,b,c,i,l,ct,xc,xz,az,bz,ee,ii,nn,ll,zz,xxx,yyy:Integer;

Begin

Clrscr;

TextColor (10);

Closegraph;

Writeln('');

Writeln('');

Writeln('');

Writeln('');

Writeln('****************Расчетно - графическая работа*************');

Writeln('');

Writeln(' 1.Вывод таблицы результатов');

Writeln(' 2.Построить график');

Writeln(' 3.Сведенье о Авторе');

Writeln(' 4.Вывод таблицы результатов и график работы 3_2');

Writeln(' 5. Заставка к расчетно - графической работе')

Writeln(' 6.Выход');

Writeln('');

TextColor (21);

Write ('Введите <1,2,3,4,5> или <6> и нажмите "Enter": ');

Readln(n);

Case n of

1: Begin

TextColor(11);

Closegraph;

Clrscr;

Writeln ('______________________');

Writeln ('| X | Y |');

Writeln ('______________________');

For XC:=1 to 10 do

Begin

ww:=5*xc-exp(xc)-2*xc*sqrt(xc);

Writeln ('|',XC:2,' | ',ww:14:2,' ');

End;

Writeln ('______________________');

Readln;

End;

2: Begin

DetectGraph (a,b);

InitGraph (a,b,'C:\BP\BGI');

SetGraphmode (2);

SetBKcolor(0);

SetColor(4);

SetTextStyle(0,0,1);

line (0,240,640,240);

line (640,240,630,235);

line (640,240,630,245);

line (320,0,320,480);

line (320,0,325,10);

line (320,0,315,10);

OutTextXY (630,225,'x');

OutTextXY (330,0,'y');

m:='654321 123456';

For l:=1 to 13 do

Begin

line (l*50-30,235,l*50-30,245);

OutTextXY (l*50-31,250,m[l]);

If l<=6 then OutTextXY (l*50-38,250,'-');

End;

For l:=1 to 9 do

Begin

line (315,l*50-10,325,L*50-10);

OutTextXY (305,l*50-13,m[l+2]);

If l>=4 then OutTextXY (298,l*50-13,'-');

End;

Readkey;

SetColor(5);

x:=0;

y1:=5*x-exp(x)-2*x*sqrt(x);

MoveTO (Trunc (320+x*50),480-Trunc(240+y1*50));

x:=0.1;

For i:=1 to 100 do

Begin

y1:=5*x-exp(x)-2*x*sqrt(x);

xx:=x-0.1;

yy:=5*xx-exp(xx)-2*xx*sqrt(xx);

xxx:=Trunc((320+x*50)-(320+xx*50));

yyy:=Trunc((240+y1*50)-(240+yy*50));

LineRel(xxx,-yyy);

x:=x+0.1;

End;

Readkey;

CloseGraph;

End;

3: Begin

TextColor (4);

Clrscr;

Writeln('');

Writeln (' Программа разработана Кондратенко Кириллом Юрьевичем ');

Writeln (' стедентом ОмГТУ факультета Автоматизации ');

Writeln (' группы АП - 114 ');

Writeln ('');

Writeln (' г. Омск 2004 год. ');

Readln;

End;

4:Begin

Textcolor (12);

Clrscr;

Writeln('Функция <F1:=2-cos(x)>');

Writeln('Функция <F2:=sqrt(x*x*x*x+4)>');

Writeln('При условии -3,14<=x<=3,14');

Writeln(' Введите количество точек и "Enter": ');

Read(nn);

Dx:=abs(bb-aa)/(nn-1);

Xt:=aa;

Ii:=1;

Writeln(' *-----------------------------------------------------*');

Writeln(' * i * x * F1 * F2 *');

Writeln(' *------*--------------*-------------*----------------*');

Readln;

While xt<=bb+0.01 do

Begin

F1:=2-cos(xt);

F2:=sqrt(xt*xt*xt*xt+4);

Writeln(' *',ii:3,' *',xt:8:2,' *',F1:8:2,' *',F2:8:2,' *');

Xt:=xt+dx;

Ii:=ii+1;

End;

Writeln(' *____*_________*_________*_________*');

Readln;

Detectgraph(ct,ee);

Initgraph(ct,ee,'c:\bp\bgi');

Setgraphmode(2);

Setcolor(3);

Lineto(0,240);

Xxt:=0;

For l:=1 to 640 do

Begin

Xt:=xxt;

Yt:=2-cos(xxt);

Lineto(trunc(xt*30),trunc(yt*30+240));

Xxt:=xxt+dx;

End;

Moveto(0,240);

Setcolor(4);

Xxt:=0;

For l:=1 to 640 do

Begin

Xt:=xxt;

Yt:=sqrt(xt*xt*xt*xt+4);

Lineto(trunc(xt*30),trunc(yt*30+240));

Xxt:=xxt+dx;

End;

Setcolor(15);

Moveto(0,0);

Lineto(0,480);

Readln;

End;

6:Begin

Clrscr;

Writeln ('Спасибо что использовали продукцию ОмГТУ');

Readln;

End;

5: Begin

Detectgraph(at,bt);

Initgraph(at,bt,'C:\Bp\bgi');

Setbkcolor(0);

Setgraphmode(2);

Settextstyle(0,0,10);

Repeat

Yt:=sin(xt)+5;

Putpixel (xt+20,trunc(yt*10)-30,25);

Putpixel (xt+20,trunc(yt*10)+420,25);

Setcolor(random(50));

Outtextxy(100,220,'OmGTU');

Inc(xt,10);

Until keypressed;

Closegraph;

End;

End;

End;

Begin

Menu; End.

4.2 Графики функции y:=5*x-exp(x)-2*x*sqrt(x)

10

Соседние файлы в предмете Программирование