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

исправить.сил больше нет begin var f: real-> real: =x-> 0.1*(sin(x)/cos(.1*x+0,0025*x*x); ; var (a,b): =readreal2('введите границы интервала: '); var (fa,fb): =(f(a),f(b)); var eps: =readreal('введите требуемую точность: '); var n: =1; writeln(' n',12*' ','x',14*' ','y'); while true do begin var x: =(a+b)/2; var y: =f(x); if (abs(y) writeln(n: 3,x: 15: 6,y: 15: 6); if sign(fa)=sign(y) then a: =x else b: =x; n+=1 end end.

Показать ответ
Ответ:
ArinaCat123
ArinaCat123
28.05.2020 19:00

Ошибки (в программе на картинке):

1) (sin(x)/cos(x))(0.1*x+0,0025*x*x) - между скобками отсутствует знак операции

2) (0.1*x+0,0025*x*x) - вместо 0,0025 нужно писать 0.0025

3)  (0.1 * (sin(x) / cos(x)) * (0.1 * x + (0.0025 * x * x)); - в конце лямбда-выражения перед ; не хватает )

Исправленная программа:

begin

 

 var f: real-> real := x -> (0.1 * (sin(x) / cos(x)) * (0.1 * x + (0.0025 * x * x)));  

 var (a, b) := ReadReal2('Введите границы интервала:');

 var (fa, fb) := (f(a), f(b));

 var eps := ReadReal('Введите требуемую точность:');

 var n := 1;

 Writeln(' n', 12 * ' ', 'x', 14 * ' ', 'y');  

 while True do

 begin

   var x := (a + b) / 2;

   var y := f(x);

   if (Abs(y) < eps) and (Abs(b - a) < eps) then break;

   Writeln(n:3, x:15:6, y:15:6);

   if Sign(fa) = Sign(y) then a := x else b := x;

   n += 1

 end

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота