Приложение языков программирования Паскаль и Python к решению задач по аналитической геометрии.


Среднее общеобразовательное учреждение МОУ СОШ № 15 имени В. Д. Сабанеева
Проект:
Приложение языков программирования Паскаль и Python к решению задач по аналитической геометрии.
Автор проекта: Учащийся 10 класса
Ермоленко Сергей
Руководитель проекта: учитель высшей категории
Глушков Н.В.
Подольск
2016 г

{Задача №1 Решение системы уравнений с 3 переменными методом Крамора}{Программный код на Паскале}
program sysur;
{Описание переменных: d,dx,dy,dz – определители системы;
a1,b1,c1; a2,b2,c2,d2; a3,b3,c3,d3-коэффициенты в уравнении
; x,y,z-переменные}
var d,dx,dy,dz:real; d1:integer ; a1,b1,c1 :integer;
a2,b2,c2,d2:integer; a3,b3,c3,d3:integer; x,y,z:real;
begin cls; write('wwod a1,b1,c1,d1');readln(a1,b1,c1,d1); write('wwod a2,b2,c2,d2'); readln(a2,b2,c2,d2); write('wwod a3,b3,c3,d3'); readln(a3,b3,c3,d3); writeln;
{Вычисление определителей системы}
d:=a1*b2*c3+a2*b3*c1+a3*b1*c2-a1*b3*c2-a2*b1*c3-a3*b2*c1;
dx:= d1*b2*c3+d2*b3*c1+d3*b1*c2-d1*b3*c2-d2*b1*c3-d3*b2*c1;
dy:= a1*d2*c3+a2*d3*c1+a3*d1*c2-a1*d3*c2-a2*d1*c3-a3*d2*c1;
dz:=a1*b2*d3+a2*b3*d1+a3*b1*d2-a1*b3*d2-a2*b1*d3-a3*b2*d1;
{Решение системы уравнений по условию}
if d<>0 then begin x:=dx/d; y:=dy/d; z:=dz/d; writeln(x,' ',y, ' ', z) end
else if (d=0) and ((dx<>0) or (dy<>0)) then writeln('нет корней')
else if (d=0) and ((dx=0) and (dy=0)) then writeln(' бесч множ корней');
end.
# Решение системы уравнений с 3 переменными методом Крамора. # Программный код на Питоне
# Ввести коэффициенты при неизвестных и свободные члены
a1=float(input(" a1 "))
b1=float(input("b1 "))
c1=float(input("с1 "))
d1=float(input("d1 "))
a2=float(input("a2 "))
b2=float(input("b2 "))
c2=float(input("c2 "))
d2=float(input("d2 "))
a3=float(input("a3 "))
b3=float(input("b3 "))
c3=float(input("c3 "))
d3=float(input("d3 "))
# Вычисление определителей системы
d=a1*b2*c3+a2*b3*c1+a3*b1*c2-a1*b3*c2-a2*b1*c3-a3*b2*c1
dx= d1*b2*c3+d2*b3*c1+d3*b1*c2-d1*b3*c2-d2*b1*c3-d3*b2*c1
dy= a1*d2*c3+a2*d3*c1+a3*d1*c2-a1*d3*c2-a2*d1*c3-a3*d2*c1
dz=a1*b2*d3+a2*b3*d1+a3*b1*d2-a1*b3*d2-a2*b1*d3-a3*b2*d1
# Решение системы уравнений по условиюif d!=0: x=dx/d; y=dy/d; z=dz/d; print("x=", x,"y=" , y,"z=", z)if (d==0) and ((dx!=0) or (dy!=0)): print("нет корней")if (d==0) and ((dx==0) and (dy==0)): print(" бесч множ корней")Результат работы программы

#Задача . Определить принадлежность точки М плоскости , проходящей через 3 данные точки М1,М2,М3
# Программный код на питоне
# Ввести координаты точек М1,М2,М3
x1=float(input("x1 "))
y1=float(input("y1 "))
z1=float(input("z1 "))
x2=float(input("x2 "))
y2=float(input("y2 "))
z2=float(input("z2 "))
x3=float(input("x3 "))
y3=float(input("y3 "))
z3=float(input("z3 "))
# Ввести координаты точки М
x=float(input(" x "))
y=float(input(" y "))
z=float(input(" z "))
# Вычисление определителя из 3 векторов
d=(x-x1)*(y2-y1)*(z3-z1)+(z-z1)*(x2-x1)*(y3-y1)+(x3-x1)*(y-y1)*(z2-z1)-(x3-x1)*(y2-y1)*(z-z1)-(x-x1)*(y3-y1)*(z2-z1)-(x2-x1)*(y-y1)*(z3-z1)
if d==0:
print("точка М лежит на плоскости")
if (d!=0):
print("точка М нележит на плоскости ")