
Вопрос задан 21.03.2019 в 02:40.
Предмет Информатика.
Спрашивает Грекова Дарья.
Составить процедуру-функцию и основную программу для вычисления значения выражения и вывода их на
экран: при x=0,1; 0; 1,5. Написать программу нужно в Pascal ABC (важно именно ABC).

Ответы на вопрос

Отвечает Барневич Сергей.
PascalABC.Net с максимумом "фишек":
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
var
x:double;
begin
foreach x in [0.1,0,1.5] do
Writeln('x=',x:3:1,' y=',f(x):0:5)
end.
Результат выполнения программы:
x=1.5 y=-10.11288
x=0.1 y=6.14508
x=0.0 y=5.00000
Обратите внимание, что порядок следования х не такой,
как указан в программе: элементы множества
считаются неупорядоченными и компилятор вправе
располагать их произвольно.
Более традиционное решение
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
const
a:array[1..3] of double=(0.1,0,1.5);
var
i:integer;
begin
for i:=1 to 3 do
Writeln('x=',a[i]:3:1,' y=',f(a[i]):0:5)
end.
Результат выполнения программы:
x=0.1 y=6.14508
x=0.0 y=5.00000
x=1.5 y=-10.11288
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
var
x:double;
begin
foreach x in [0.1,0,1.5] do
Writeln('x=',x:3:1,' y=',f(x):0:5)
end.
Результат выполнения программы:
x=1.5 y=-10.11288
x=0.1 y=6.14508
x=0.0 y=5.00000
Обратите внимание, что порядок следования х не такой,
как указан в программе: элементы множества
считаются неупорядоченными и компилятор вправе
располагать их произвольно.
Более традиционное решение
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
const
a:array[1..3] of double=(0.1,0,1.5);
var
i:integer;
begin
for i:=1 to 3 do
Writeln('x=',a[i]:3:1,' y=',f(a[i]):0:5)
end.
Результат выполнения программы:
x=0.1 y=6.14508
x=0.0 y=5.00000
x=1.5 y=-10.11288


Топ вопросов за вчера в категории Информатика

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili