Zadání:
Sestavte program, který vypočte z hodnoty
x hodnoty
y1-y6 podle vzorců:
Řešení:
Pomocí standardních funkcí programovacího jazyku vypočítat z hodnoty x hodnoty y1 - y6.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var x,y:real;
begin
writeln('Zadejte hodnotu x: ');
readln(x);
if (x-2=0) or (2*x+1=0) or (x+3=0) or (x-7=0) or (2*x-3=0)
then
writeln('Vypocet nelze provest')
else
begin
y:=(2*x+3)/(x-2);
writeln('y1=',y:0:3);
y:=(x-2)/(2*x+1);
writeln('y2=',y:0:3);
y:=(sqr(x)-9)/(x+3);
writeln('y3=',y:0:3);
y:=x/(x-7);
writeln('y4=',y:0:3);
y:=(4*sqr(x)-3*x)/5;
writeln('y5=',y:0:3);
y:=(sqr(x)-5)/(x+3)-sqr(x-5)/(sqr(2*x-3)*(2*x-3));
writeln('y6=',y:0:3);
end;
readln;
end.
program ke stažení
Pro studenty:
Při převodu do programovacího jazyku je třeba dát si pozor ve zlomcích na správné použití závorek.
Druhé mocniny lze napsat také jako x*x, ovšem varianta sqr(x) je rychlejší.
Třetí mocninu lze rozepsat jako x*x*x, opět varianta sqr(x)*x je rychlejší.
Pro učitele:
Hodnoty x, pro které lze vypočítat všech šest hodnot y jsou např. {0},{1},{4}.
V šestém vzorci lze použít i jinou mocninu ve jmenovateli, je vhodné ukázat, jaký je rozdíl mezi sqr(sqr(sqr(x))) a
sqr(x)*sqr(x)*sqr(x).
Na závěr lze ukázat, že výrazy sqr(sqr(x)) a sqr(x)*sqr(x) se rovnají.
Doporučuji upozornit studenty, že lépe se mocniny a odmocniny řeší pomocí logaritmů či cyklů.