clock for website часы на сайт
Программирование в Pascal

 

ИНФОРМАТИКА  

 

Программирование в Pascal

 

Деление отрезка

Координаты точки (Х,Y), делящей отрезок (X1,Y1),(X2,Y2) в отношении М (0<=М<1), вычисляются по формулам:
X=X1+(X2+X1)*M;

Y=Y1+(Y2+Y1)*M;
Используется при решении олимпиадных задач.

 

Автосохранение программ

В разделе "OPTIONS/ENVIRONMENT/PREFERENCES" среды программирования Turbo Pascal полезно в разделе "Auto save" установить параметр [x] Editor Files (автосохранение редактируемых файлов). Это гарантирует автоматическое сохранение текста программы при каждом её запуске.
К оглавлению
Длины отрезков
Длины отрезков:
AB:=Sqrt(Sqr(X2-X1)+Sqr(Y2-Y1));
ВС:=Sqrt(Sqr(X3-X2)+Sqr(Y3-Y2));
Кратчайшее расстояние от точки О до сторон треугольника:
 

Используется при решении олимпиадных задач.

 

Формула Герона

Определение площади треугольника:
S=sqrt(p*(p-a)*(p-b)*(p-c));
где p - полупериметр треугольника со сторонами a, b, c.
Используется при решении олимпиадных задач.
К оглавлению
Площадь треугольника
Иногда, при решении задач на языке Паскаль, нужно определить площадь треугольника по заданным координатам его вершин. Для этого можно воспользоваться формулой:
S=abs(((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))/2);
Стороны треугольника:
a:=sqrt(sqr(x0-x1)+sqr(y0-y1));
b:=sqrt(sqr(x1-x2)+sqr(y1-y2));
c:=sqrt(sqr(x2-x0)+sqr(y2-y0));
Где:
Х0,Y0 - координаты первой точки треугольника;
Х1,Y1 - координаты второй точки треугольника;
Х1,Y2 - координаты третьей точки треугольника;
Используется при решении олимпиадных задач.

 

Уравнение прямой

Для задания произвольной прямой на плоскости следует использовать уравнение:
A*x+B*y+C=0;
Например: для прямой, проходящей через точки (х1,y1) и (х2,y2), A, B и C будут вычисляться так:
A:=Y1-Y2;
B:=X2-X1;
C:=(X1*Y2)-(X2*Y1);
Тогда, если есть две прямые (A1*x+B1*y+C=0) и (A2*x+B2*x+C=0), то условие параллельности:
A1*B2=A2*B1;
Условие перпендикулярности:
A1*A2=-B1*B2;
Используется при решении олимпиадных задач.
К оглавлению
Положение точек относительно прямой
Пусть уравнение прямой имеет вид:

sx+ty+u=0;
Две точки координатной плоскости лежат по разные стороны от заданной прямой в том случае, если подстановка их координат в левую часть уравнения прямой даёт числа, противоположного знака. Если числа одного знака, то точки лежат в одной полуплоскости, а если число равно нулю, то эта точка лежит на прямой.
Функция, проверяющая положение точек относительно прямой в программе Turbo Pascal:

Function Points(x1,y1,x2,y2,s,t,u:real):integer;
begin
if (s=0) and (t=0) then Points:=-1
else
if (s*x1+t*y1+u)*(s*x2+t*y2+u)<0 then Points:=1
else Points:=0;
end;

Возвращаемое значение:
-1, если s=0 и t=0 одновременно (неправильно задана прямая);
1, если точки лежат в разных полуплоскостях;
0, если точки лежат в одной полуплоскости;
Используется при решении олимпиадных задач.
К оглавлению
Положение точки относительно треугольника
Функция, проверяющая принадлежность точки треугольнику, в языке Паскаль может иметь вид:
Function TRY(x,y:real;x1,y1:tarray{массив [1..3]}):integer;
Function PR(i,j:integer):boolean;
begin
PR:=((x-x1[i])*(y1[j]-y1[i]))>((x1[j]-x1[i])*(y-y1[i]));
end;
begin
if ((pr(1,2))=(pr(2,3))) and ((pr(1,2))=(pr(3,1)))
then TRY:=1 else TRY:=0
end;
Где:
Х,У - координаты проверяемой точки;
Х1 - массив, содержащий х-вые координаты точек треугольника;
У1 - массив, содержащий у-вые координаты точек треугольника;
Функция возвращает:
1, если точка лежит внутри треугольника;
0, если точка лежит снаружи;
Используется при решении олимпиадных задач.
К оглавлению
Шаблон графической программы
Для работы с графикой в Паскале мы используем приведенный ниже шаблон:
program treug;
uses Graph,crt;
var GrDrv:integer; {Графический драйвер}
GrMode:integer; {Графический режим}
GrErr:integer; {Графическая ошибка}
begin
GrDrv:=Detect;
InitGraph(GrDrv,GrMode,'');
GrErr:=GraphResult;
if GrErr=GrOk then
begin
{Здесь пишется текст программы}
end
else
begin
writeln('Ошибка графики',GraphErrorMsg(GrErr));
readln;
end;
end.

 

Расположение цифр по окружности

Чтобы расположить нужное количество цифр по окружности в программе на языке Паскаль, можно воспользоваться такой конструкцией:
for n:=1 to k do
begin
a:=trunc(13-6*cos(n/(k/2)*pi)*2);
b:=trunc(38+18*sin(n/(k/2)*pi)*1.7);
gotoxy(b,a); write(n);
end;
Где k - количество цифр;
К оглавлению
Многоугольник, вписанный в окружность
Координаты точек многоугольника, вписанного в окружность:
Xi=rcos(2пi/n);
Yi=rsin(2пi/n);
Где (i=1,2,3,...,n), (п - число "пи"), (r - радиус окружности);
Используется при решении олимпиадных задач
К оглавлению
Обмен значений двух переменных без использования третьей
Чтобы обменять значения двух переменных без использования третьей переменной или ещё чего либо, воспользуйтесь следующим алгоритмом:
A:=A+B; B:=A-B; A:=A-B;
Pretty single Russian women and Ukrainian girls homepage counter счетчик сайта
счетчик посетителей сайта
СДЕЛАЛ МАХМУТОВ РАМИЛЬ.