Задачи из геометрии и алгебры
Геометрические задачи.
Задача 1. С клавиатуры вводятся два внешних угла треугольника. Составить программу вычисляющую все внутренние углы этого треугольника.
Приведу решение этой задачи. Собственно решение линейное, главное решить задачу геометрически.
Program n1;
Uses Crt;
Var a,b,c,a1,b1:real;
Begin
clRscr;
Write('Введи первый внешний угол=');Readln(a1);
Write('Введи второй внешний угол=');Readln(b1);
a:=180-a1;
b:=180-b1;
c:=180 -(a+b);
Writeln('a=',a:5:2);
Writeln('b=',b:5:2);
Writeln('c=',c:5:2);
end.
Задача для самостоятельного решения. С клавиатуры вводится внешний угол равнобедренного треугольника. Составить программу вычисляющую все углы треугольника. Рассмотреть два случая.
Алгебраическая задача.
Задача 2. Составить таблицу значений для построения графика линейной функции.
Для решения этой задачи можно ввести понятие функции в программировании. Далее можно будет менять саму функцию в программе и использовать ее для расчетов.
Program n2;
Uses Crt;
var x1,x2,y1,y2: real;
function f(x:real):real;
begin
f:=1/2*x-3;
end;
Begin
clrscr;
write('x1= ');readln(x1);
write('x2= ');readln(x2);
y1:=f(x1);
y2:=f(x2);
writeln(' 1 2');
writeln('x=',x1:8:2,x2:8:2);
writeln('y=',y1:8:2,y2:8:2);
End.
Задача для самостоятельного решения. Исходит из упражнения №1045 или 1046 стр. 193 учебника алгебры 7 класса. Составить программу определяющую принадлежит ли точка с координатами x,y графику уравнения. С клавиатуры задаются координаты точки. Уравнение описывается в программе.
Для решения этой задачи рациональнее использовать полное ветвление.
Задача совмещающая линейную программу и построение методом базовой точки и масштаб.
Задача 3. Дан равнобедренный треугольник с периметром Р. Сумма боковых сторон S. Найти основание этого треугольника и построить его увеличив длину каждой стороны в 10 раз.
Решение:
Program n3;
Uses Crt,GraphABC;
var p,h,s,a,b:real;
h1,a1,x,y:integer;
Begin
clrscr;
Write('Введи P= ');Readln(P);
Write('Введи сумму боковых сторон ');Readln(S);
a:=p-s; // вычислим основание треугольника
Writeln('Основание = ',a:10:5);
b:=s/2; // вычислим длину одной боковой стороны
h:=sqrt(b*b-sqr(a/2)); // вычислим высоту треугольника *
h1:=trunc(h)*10; // преобразуем дробные числа в целые для выполнения построений
a1:=trunc(a)*10; // увеличив каждую в 10 раз
x:=50; // зададим координаты левого нижнего угла треугольника
y:=350;
Line (x,y,x+a1,y); // строим треугольник
line(x,y,x+(a1 div 2), y- h1);
line(x+(a1 div 2), y- h1, x+a1,y);
textout(x-10,y,'A'); // подписываем вершины
textout(x+a1+5,y,'B');
textout(x+(a1 div 2), y- h1-15,'C');
end.
* Формула полученная из теоремы Пифагора. (Квадрат гипотенузы прямоугольного треугольника, равен сумме квадратов катетов)
Задачи для самостоятельного решения:
1. Дан равнобедренный треугольник с периметром P и основанием А. Найти боковые стороны и построить этот треугольник увеличив длину каждой стороны в 10 раз.
2. Дан периметр прямоугольника P. Длина прямоугольника в 2 раза больше ширины. Найдите стороны прямоугольника и постройте этот прямоугольник увеличив стороны в 10 раз.
3. Дана площадь прямоугольника S. Длина прямоугольника A см, найдите ширину и периметр прямоугольника и постройте этот прямоугольник увеличив стороны в 10 раз
Решение системы линейных уравнений методом подстановки.
Собственно мы будем составлять сначала программу которая точно имеет одно решение.
Системы двух линейных уравнений с двумя неизвестными имеют вид:
где a, b, c, d, e, f – заданные числа; x, y – неизвестные. Числа a, b, d, e – коэффициенты при неизвестных; c, f –свободные члены. Решение этой системы уравнений может быть найдено двумя основными методами.
Метод подстановки.
1) Из одного уравнения выражаем одно из неизвестных, например x, через коэффициенты и другое неизвестное y:
x = ( c – by ) / a . (2)
2) Подставляем во второе уравнение вместо x :
d ( c – by ) / a + ey = f .
3) Решая последнее уравнение, находим y :
y = ( af – cd ) / ( ae – bd ).
Вот и все. Решение получается линейным.
Program n4;
Uses crt;
var a,b,c,d,e,f,x,y:real;
begin
ClrSCr;
Write('a=');Readln(a);
Write('b=');Readln(b);
Write('c=');Readln(c);
Write('d=');Readln(d);
Write('e=');Readln(e);
Write('f=');Readln(f);
y:=( a*f - c*d ) / ( a*e - b*d );
x:= (c-b*y)/a;
writeln('x=',x:10:5);
writeln('y=',y:10:5);
end.
|