вівторок, 24 листопада 2020 р.

Лінійні рівняння з модулем та параметром


 

неділю, 23 лютого 2020 р.

Олімпіада магічних головоломок



































вівторок, 6 березня 2018 р.

Практична робота. Табуляція квадратичної функції

відео-урок: Квадратний тричлен: 
https://www.youtube.com/watch?v=SmDzWE6DcjQ


Приклад. Дано графіки квадратичної  функції
f(x) = ax2+ bx+ c, де a¹0
та лінійної  функції 
g(x) = kx+l
в прямокутній системі координат хОу.
Чи можна за допомогою циркуля та лінійки виконати побудову  різниці графіків  f(x) - g(x)?
Розв’язання. Якщо утворити різницю
R(x) = f(x) - g(x) = ax2+ bx+ ckx - l  = ax2+ (b-k)x + (c-l),
то отримаємо квадратичну функцію R(x), у якої на відмінну від квадратичної функції f(x) змінилися параметри лінійної частини.  
Зазначимо такі властивості параметрів квадратичної функції.
1.    При зміні параметра а ( параметри b та  c не змінюються) в формулі квадратичної функції, графік параболи деформується прямокутній системі координат хОу  відносно власної осі симетрії(вітки параболи звужуються (½а½> 1  ) до осі симетрії, або розтягуються (½а½£ 1  )  від осі симетрії).
2.     При додатному значенні параметра а – обидві вітки квадратичної параболи напрямлені вгору. При від’ємному значенні параметра а – обидві  вітки квадратичної параболи напрямлені вниз.
3.    При зміні двох лінійних параметрів b та  c ( параметр  а    не змінюються) квадратичної функції f(x) = ax2+ bx+ c в прямокутній системі координат хОу  переміщується вісь симетрії параболи(графік не деформується по відношенню до власної осі симетрії),  тобто,  переміщується  вершина ( Хf; Yf ) параболи
f(x) = ax2+ bx+ c
в нову вершину ( Хr; Yr )  параболи
R(x) = ax2+ (b-k)x + c-l.
Знайдемо координати вершини ( Хf; Yf ) параболи f(x) = ax2+ bx+ c:

Хf = - b/(2a);
Yf = a(- b/(2a)  )2+ b(- b/(2a)  )+ c = -b2/4a + c.

Знайдемо координати вершини ( Хr; Yr )  параболи R(x) = ax2+ (b-k)x + (c-l) та дізнаємося як перемістилися ці координати в прямокутній системі координат хОу по відношенню до вершини ( Хf; Yf ):
Хr=( k- b)/(2a) = Хf + k/2a;
Yr = a(( k- b)/(2a))2+ (b –k) (( k- b)/(2a))+ c- l =
=  -(b-k)2/4a + c-l= (- b2+ 2bk - k2)/4a    + c- l =
= Yf +(2bk - k2)/4a   - l .
Звідси отримали таке переміщення двох вершин  парабол:

( Хr; Yr ) ®f + k/2a ; Yf +(2bk - k2)/4a   - l ).

За властивістю переміщення можна рухати не вершину ( Хf; Yf ) параболи f(x) = ax2+ bx+ c, а  рухати осі   координат. Отже, досить циркулем та лінійкою виконати паралельне перенесення координатних осей в точку:
                                      (-k/2a- (2bk - k2)/4a   - l ).
Відповідь: можна.

Запитання. Як виводяться формули коренів квадратного рівняння?
Відповідь: Виконаємо такі тотожні перетворення квадратного рівняння:
Complete the Square to derive the Quadratic Formula

Запитання. Як знаходять суми числових рядів для даних послідовностей?
Відповідь: Використовують відомі формули:
Mathcalculus




  Алгоритм табуляції властивостей  квадратних поліномів на мові Pascal

Завдання 1. Скласти і реалізувати алгоритм  для знаходження   табулювання значень квадратичної функції, що задана рекурсивною формулою 
у=(а1х2)х3= а1х22х3.

program  Quadratfunction;                     {назва    алгоритму  табуляції}
var  a1, a2, a3, x, y, d, x1, x2,y1: real;      i, k: integer;     {оголошення  змінних: дійсні числа та цілі числа}
begin           {початок   виконання алгоритму і введення випадкових коефіцієнтів  квадратичної функції}
 a1:=-(1+random(3)) *(-2+random(1)) *(-random(2)) + 1+random(3) ;   
writeln( ' Якщо cтарший коефіцієнт квадратичної функції a1=', a1); writeln;
a2:=2+random(7) *(-1+random(3)); 
writeln(' Якщо лінійний коефіцієнт квадратичної функції a2=', a2); writeln;
a3:= (4+random(10))*(-1)*(-1+random(3));
writeln(' Якщо вільний коефіцієнт квадратичної функції:  y(0)=a3=', a3); writeln;
writeln(' Якщо cума коефіцієнтів квадратичної функції:  y(1)=a1+a2+a3=', a1+a2+a3); writeln;
x:=-(1+random(20));  writeln(' Якщо початковий аргумент квадратичної функції x=', x); writeln;
d:=1+random(3);  writeln( ' Якщо величина кроку табуляції  квадратичної функції d=', d); writeln;
k:=5+random(8);  writeln( ' Якщо кількість кроків табуляції k=', k); writeln;
for i:=1 to k do begin       {виконання циклу з лічильником по kрокам для обчислення  значень функції}
x:=x+(i-1)*d;    y:=(a1*x+a2)*x+a3;       { виведення результатів табулювання на  екран монітора}
writeln( ' номер кроку табуляції  i=', i,  ' аргумент функції  х=', x, ' значення функції  y=', y); writeln; end; writeln('********'); writeln( ' квадратична функція має вигляд у=', a1,  '*x*x+( ' ,  a2,  ' )x+( ',  a3,  ' )' );  
d:=a2*a2-4*a1*a3;
 if (d>0)  or (d=0)  then   {обчислення  дискримінанта  перевірка  його знаку  для квадратичної функції}
begin   x:=0.5*(-a2-sqrt(d))/a1;  y:=abs((a1*x+a2)*x+a3);   x1:=x;   {обчислення  першого нуля квадратичної функції}
writeln( ' перший наближений  нуль квадратичної функції  х1=', x, 'з абсолютною похибкою ',y); writeln;
x:=0.5*(-a2+sqrt(d))/a1;   y:=abs((a1*x+a2)*x+a3);  x2:=x;{ {обчислення  другого нуля квадратичної функції}
writeln( ' другий наближений нуль квадратичної функції  х2=', x, 'з абсолютною похибкою ',y); writeln; end 
else   writeln( ' немає нулів квадратична функція');
x:=0.5*(-a2)/a1;  y:=(a1*x+a2)*x+a3;   y1:=y;                              {обчислення  координат вершини параболи  }
if (a1>0)  then                         {оголошення  мінімуму  квадратичної функції як координат вершини параболи}
   writeln( 'гілки параболи напрямлені вгору,  мінімум квадратичної функції якщо  Хmin=', x, '  та Уmin= ',y
else                                          {оголошення  максимуму  квадратичної функції як координат вершини параболи}
writeln( 'гілки параболи напрямлені вниз,   максимум квадратичної функції якщо  Хmах=',x, '  та Уmах= ',y); writeln; 
writeln( 'вісь симетрії графіка параболи  це вертикальна пряма лінія: Хвісь=', -0.5*a2/a1); writeln;
if (a1>0)  then  writeln(' функція зростає, якщо  Х>', -0.5*a2/a1); writeln; 
if (a1>0)  then  writeln(' функція спадає, якщо  Х<', -0.5*a2/a1); writeln; 
if (a1>0) and (d>0)  then  writeln(' функція додатна, якщо  Х<', x1, ' та Х>', x2); writeln; 
if (a1>0) and (d>0)   then  writeln(' функція відємна, якщо  ХЄ(', x1, ' ;', x2, ') ' ); writeln; 
if (a1<0) and (d>0)   then  writeln(' функція відємна, якщо  Х<', x1, ' та Х>', x2); writeln; 
if (a1<0) and (d>0)   then  writeln(' функція додатна, якщо  ХЄ(', x1, ' ;', x2, ') ' ); writeln; 
if (a1<0)  then  writeln(' функція зростає, якщо  Х<', -0.5*a2/a1); writeln; 
if (a1<0)  then  writeln(' функція спадає, якщо  Х>', -0.5*a2/a1); writeln;
if (a2=0)  then  writeln( 'Квадратична функція  у=', a1,  '*x*x+( ' ,  a2,  ' )x+( ',  a3,  ' ) парна.') else  
writeln( 'Квадратична функція  у=', a1,  '*x*x+( ' ,  a2,  ' )x+( ',  a3,  ' ) ні парна, ні непарна.'); writeln; 
writeln( 'Обернена функція до першої гілки параболи квадратичної функції:  у1=+((x-(', y1,  '))/ (',  a1, '))^0.5 +(',  -0.5*a2/a1, ')'); writeln; 
writeln( 'Обернена функція до другої гілки параболи квадратичної функції:  у2=-((x-(', y1,  '))/( ',  a1, '))^0.5 +(',  -0.5*a2/a1, ')'); writeln; 
writeln( ' Немає перегинів випуклих ділянок квадратична функція');

   end.   {закінчення алгоритму}




Протестуйте алгоритм  чотири рази та порівняйте результати табуляції і виберіть той варіант, при якому можна знайти найточніше наближення   нулів квадратичної функції, тобто випадок y:=(a1*x+a2)*x+a3=0.       


Алгоритм табуляції властивостей  кубічних поліномів на мові Pascal

Завдання 2. Скласти і реалізувати алгоритм  для знаходження   табулювання значень кубічної функції, що задана рекурсивною формулою у=(1х2)х3)х+a4.
program  Cubesfunction;                     {назва    алгоритму  табуляції}
var  a1, a2, a3, a4,  x, y, d: real;      i, k: integer;     {оголошення  змінних величин: дійсні числа та цілі числа}
begin           { початок   виконання алгоритму і введення випадкових коефіцієнтів  кубічної функції}
 a1:=1+random(3); 
writeln( ' Якщо cтарший коефіцієнт кубічної функції a1=', a1); writeln;
a2:=2+random(7);  
writeln(' Якщо квадратичний коефіцієнт кубічної функції a2=', a2); writeln;
a3:=-(4+random(10));
  writeln(' Якщо лінійний коефіцієнт кубічної функції a3=', a3); writeln;
a4:=-(3+random(10)); 
writeln(' Якщо вільний коефіцієнт кубічної функції a4=', a4); writeln;
x:=-(1+random(20)); 
writeln(' Якщо початковий аргумент кубічної функції x=', x); writeln;
d:=1+random(3);  
writeln( ' Якщо величина кроку табуляції  кубічної функції d=', d); writeln;
k:=15+random(5);
  writeln( ' Якщо кількість кроків табуляції k=', k); writeln;
for i:=1 to k do begin       {виконання циклу з лічильником по kрокам для обчислення  значень функції}
x:=x+(i-1)*d;    y:=((a1*x+a2)*x+a3)+a4;       { виведення результатів табулювання на  екран монітора}
writeln( ' номер кроку табуляції  i=', i,  ' аргумент функції  х=', x, ' значення функції  y=', y);
 writeln;
end; 
writeln('********');
 end.   {закінчення алгоритму}
Протестуйте алгоритм  чотири рази та порівняйте результати табуляції і виберіть той варіант, при якому можна знайти найточніше наближення   нулів кубічної функції, тобто випадок ((a1*x+a2)*x+a3)*x+a4=0.      


Алгоритми інтерполяції квадратними поліномами



Практична робота 20. «Алгоритми інтерполяції квадратними поліномами трьох точкової статистики на мові Pascal»
Завдання 1. Створити алгоритм який за трьома відомими точками в прямокутній  системі координат генерує формулу квадратичної функції використовуючи розв’язання  системи 3-х рівнянь з трьома невідомими методом Крамера. Ця задача називається «інтерполяція квадратичними поліномами» або знаходження «квадратичного тренду».
Розв’язання.  Випадковим чином задаються три точки деякої статистики:  (х1; у1), (х2; у2), (х3; у3). Вважається, що ці три точки належать деякій параболі,  що записується  формулою вигляду: у=ах2+bx+c.  Підставляємо кожну точку у формулу і отримуємо систему трьох рівнянь з трьома невідомими а, b, c
{| aх1*х1 + bх1 + c * 1 = y1 | }
{| aх2*х2 + bх2 + c * 1 = y2 }
{| aх3*х3 + bх3 + c * 1 = y1 }
Розв’язуємо систему відносно  а, b, c  за допомогою метода визначників (метод Крамера).
Program  Interpoljacia;
var a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3, x, y, z, e, ex, ey, ez, x1, x2, x3, y1, y2, y3: real;
begin
x1:=-(1+random(3)) *(-2+random(1)) *(-random(2)) + 1+random(3) ; 
y1:=-(1+random(3)) *(-2+random(1)) *(-random(2)) + 2+random(3) ;   
writeln( ' Якщо перша точка, що належить квадратичній функції х1=', x1, 'y1=', y1); writeln;
x2:=-(1+random(3)) *(-2+random(1)) *(-random(2)) + 1+random(3) ; 
y2:=-(1+random(3)) *(-2+random(1)) *(-random(2)) + 3+random(3) ;   
writeln( ' Якщо друга точка, що належить квадратичній функції х2=', x2, 'y2=', y2); writeln;
x3:=-(1+random(3)) *(-2+random(1)) *(-random(2)) + 1+random(3) ; 
y3:=-(1+random(3)) *(-2+random(1)) *(-random(2)) + 4+random(3) ;   
writeln( ' Якщо третя точка, що належить квадратичній функції х3=', x3, 'y3=', y3); writeln;
a1:= x1*x1;    a2:= x2*x2;  a3:= x3*x3;   b1:= x1;    b2:= x2;  b3:= x3;  c1:=1;    c2:=1;  c3:=1;
d1:=y1;   d2:=y2;  d3:=y3;
 e:= (a1 * b2 * c3 + b1 * c2 * a3 + c1 * a2 * b3-a3 * b2 * c1-b3 * c2 * a1-c3 * a2 * b1);
 ex:=(d1 * b2 * c3 + b1 * c2 * d3 + c1 * d2 * b3-d3 * b2 * c1-b3 * c2 * d1-c3 * d2 * b1);
 ey:=(a1 * d2 * c3 + d1 * c2 * a3 + c1 * a2 * d3-a3 * d2 * c1-d3 * c2 * a1-c3 * a2 * d1);
 ez:=(a1 * b2 * d3 + b1 * d2 * a3 + d1 * a2 * b3-a3 * b2 * d1-b3 * d2 * a1-d3 * a2 * b1);
 if (e=0) and ((ex=0) or (ey=0) or (ez=0)) then
    writeln ( 'безліч рішень')
 else if (e <> 0) and ((ex = 0) or (ey = 0) or (ez = 0)) then
    writeln ( 'немає рішень')
 else begin
    x:=ex/e;     y:=ey/e;     z:=ez/e;
writeln ( 'Головний визначник е =', e);writeln ( 'a =', x); writeln ( 'b =', y); writeln ( 'c =', z);
writeln( ' Шукана квадратична функція  у=', x,  '*x*x+( ' ,  y,  ' )x+( ',  z,  ' ) ');  end; end.