Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.23 Mб
Скачать
  1. Построить кривые по заданному параметрическому представлению или заданному в полярных координатах:

program prac3;

uses graph;

const c=3;

var grd,grm:integer;

x2,h,x,y:real;

n,k:longint;

Begin

Grd:=Detect;

Grm:=2;

Initgraph(grd,grm,'');

n:=0;

setcolor(4);

X:=-4.24; X2:=4.24; h:=0.01;

line(683,0,683,768);

line(0,384,1366,384);

while x<=x2 do

begin

y:=sqrt(sqrt(sqr(sqr(c))+4*sqr(x)*sqr(c))-sqr(x)-sqr(c));

putpixel(trunc(20*x+683),trunc(384-20*y),15);

putpixel(trunc(20*x+683),trunc(384+20*y),15);

x:=x+h;

end;

readln;

CloseGraph;

e nd.

Занятие №20: Вычисление определённого интеграла методом прямоугольников.

  1. Задано три функції: f1(x), f2(x), f3(x). Скласти програму для знаходження визначеного інтеграла від кожної функції з точністю 10-4 у заданих межах. Для рішення задачі використовувати чисельний метод обчислення визначеного інтеграла – метод прямокутників

  1. b

program prac1;

uses crt;

type fun= function (x:real):real;

var x,int1:real;

function f1(x:real):real;

far;

begin

f1:=x*exp(1/3*ln(1+x));

end;

function f2(x:real):real;

far;

begin

f2:=exp(x*ln(2))/(1-exp(x*ln(4)));

end;

function f3(x:real):real;

far;

begin

if x<>1 then

f3:=arctan(sqrt(x)/sqrt(1-x))/sqrt(x*(1-x));

end;

function plosh(a,b:real;n:integer;f:fun):real;

var h,s:real;

i:integer;

begin

h:=(b-a)/n;

s:=0;

x:=a;

for i:=1 to n do

begin s:=s+f(x)*h;

x:=x+h;

end;

plosh:=s;

end;

function int(a,b,eps:real; f:fun):real;

var s1,s2:real;

n:integer;

begin

n:=4;

s2:=plosh(a,b,n,f);

repeat

n:=2*n;

s1:=s2;

s2:=plosh(a,b,n,f);

until abs(s1-s2)<eps;

int:=s2;

end;

begin

clrscr;

int1:=int(1.0,8.0,0.001,f1);

writeln('f1=',int1:8:2);

int1:=int(-0.2,-1.3,0.001,f2);

writeln('f2=',int1:8:2);

int1:=int(0.2,0.3,0.001,f3);

writeln('f3=',int1:8:2);

readkey;

end.

Занятие №21: Программирование операций с типами множеств

  1. В техникуме имеются секции по следующим видам спорта: лыжи, коньки, хоккей, футбол, регби и самбо. Известны виды спорта, которыми занимаются учащиеся каждой группы. Количество групп N указано в варианте.Требуется построить и распечатать два множества:11 вар.) первое множество должно включать в себя виды спорта, которыми занимаются хотя в одной группе; второе – виды спорта, которыми занимаются во всех группах (N=6);

program prac1;

type

sp=(lizhi,konki,hockey,football,rugby,sambo);

mnoj=set of sp;

const

n=3;

ar:array[1..6] of sp=(lizhi,konki,hockey,football,rugby,sambo);

var

a,b,temp:mnoj;

i,np:integer;

begin

writeln('1 - lizhi,2 - konki,3 - hockey,4 - football,5 - rugby,6 - sambo');

writeln('vvedite sekcii 1-oi gruppi');

repeat

read(np);

a:=a+[ar[np]];

b:=b+[ar[np]];

until eoln;

for i:=2 to n do

begin

temp:=[];

writeln('vvedite sekcii ',i,'-oi gruppi');

repeat

read(np);

temp:=temp+[ar[np]];

until eoln;

a:=a+temp;

b:=b*temp;

end;

for i:=1 to 2 do

begin

case i of

1: writeln('sekcii, v kotorih zanimautsa uchashiesa odnoi gruppi');

2: writeln('sekcii, v kotorih zanimautsa uchashiesa vseh grupp');

end;

for np:=1 to 6 do

if ar[np] in a then

case ar[np] of

lizhi: write(' lizhi ');

konki: write(' konki ');

hockey: write(' hockey ');

football: write(' football ');

rugby: write(' rugby ');

sambo: write(' sambo ');

end;

a:=b;

writeln;

end;

readkey;

end.