Задано правильну піраміду. Її основою є восьмикутник, зі стороною а=7,4см. Висота h=16,6 см. Обчислити об’єм (V) і кут між основою і гранню піраміди (MYU).
program piramida;
var a,h,MYU,n,R,k,c,So,V :real;
begin
n:=8;
a:=7.4;
h:=16.6;
R:=a/sqrt(2-sqrt(2));
k:=sqrt(sqr(R)-sqr(a/2));
c:=sqrt(sqr(h)+sqr(k));
So:=n/2*a*k;
V:=So/3*h;
MYU:=arctan(sqrt(1-sqr(k/c))/(k/c));
writeln ('Кут MYU=', MYU:7:3, 'Об’єм V=', V:7:3);
readln
end.
Результат:
Кут MYU=1.0771 Об’єм V=1463.039
Завдання 2. Дослідження квадратного рівняння.
Задано квадратне рівняння . Скласти програму для знаходження величин:
при різних значеннях D. Крім того у програмі передбачити друк значень дійсних коренів, якщо вони є , або тексту «Корені відсутні» , якщо їх немає. Позначення: – дискрімінант рівняння, -- корені рівняння.
program doslidzenny;
var a,b,c,D,x,y,x1,x2 :real;
begin
a:=7.7;
b:=0.11;
c:=-7.3;
D:=sqr(b)-4*a*c;
if d<0 then
begin
y:=b-c;
writeln('y=', y:7:3, 'Корені відсутні');
end;
if d=0 then
begin
x1:=-b/(2*a);
y:=sin(x1)+sqr(cos(x1));
writeln('x1=', x1:7:2,'y=', y:7:2);
end;
if d>0 then
begin
x1:=(-b+sqrt(D))/(2*a);
x2:=(-b-sqrt(D))/(2*a);
y:=cos(x1*x2);
writeln('x1=',x1:7:2, 'x2=',x2:7:2, 'y=',y:7:2);
end;
readln
end.
Результат :
x1=0.97 x2=-0.98 y=0.58
Завдання 3. Табулювання функції однієї змінної.
Протабулювати функцію на інтервалі з кроком h=0,8 . Знайти серед обчислених значень функції найбільше і найменше, а також вказати значення аргументів при яких вони досягаються.
Написати програму що обчислює вираз. Для варіантів 1-15 значення N=5+і; для варіантів 16-30 знаення N=i-10 , де і —номер студента в списку.
program vuraz;
var d,y :real; n,i :integer;
begin
d:=1; n:=18;
for i:=1 to n do begin
d:=d*(sqr(i)+2);
end;
y:=3.8*ln(d)+4.77;
writeln('y=', y:8:4);
readln
end.
Результат:
y=289.5466
Завдання 5. Обчислення суми нескінченного ряду.
Скласти програму для обчислення суми ряду з точністю до . Під наближенеми значеннями суми ряду з точністю тут розуміють сума тих доданків , для яких виконується умова .
program neskinch_ryad;
var x,e,s,u :real; n :integer;
begin
x:=0.51; e:=1e-3; n:=1; s:=0; u:=x/2;
while abs(u)>e do begin
s:=s+u;
u:=u*(n+1)*(n+1)*x/((n+2)*sqr(n));
n:=n+1;
end;
writeln(‘Сума ряду S=',s:0:3);
end.
Результат:
Сума ряду S=0.488
Завдання 6. Робота з одновимірними масивами.
Для сукупності чисел (0.1, -25.5, 0, 888.35, -424.48, 0, 15, -7, -195, 2, 0, 0.04, -15.4, 57.6). Обчислити добуток елементів масиву, які лежать у проміжку від 1 до 10.
program masiv;
const y: array[1..14] of real =(0.1,-25.2,0,888.35,-424.48,0,15,-7,-195,2,0,0.04,-15.2,57.6);
var i :integer; d :real;
begin
d:=1;
for i:=1 to 14 do
if (y[i]>1) and (y[i]<10) then d:=d*y[i];
if d=1 then writeln('Елементів масиву в проміжку від 1 до 10 немає) else