М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Sultikutan
Sultikutan
26.03.2021 20:53 •  Информатика

Написать программу, которая вычисляет значение функции F=k*x+b на отрезке [1..8]. Коэффициенты Киь пользователь задает с клавиатуры. (в результате выполнения программы у вас должны быть на экране 8 значений функции). с циклом for
(for to do)

👇
Открыть все ответы
Ответ:
SashaKitten0606
SashaKitten0606
26.03.2021

var amount, sum, multi, i: integer;

begin

   amount:= 0;

   sum:= 0;

   multi:= 1;

   for i:=1 to 51 do begin

       if i mod 12 = 0 then begin

           writeln(i);

           amount:= amount + 1;

           sum:= sum + i;

           multi:= multi * i;

       end;

   end;

   writeln(amount, ' ', sum, ' ', multi);

end.

amount = 0

sum = 0

multi = 1

for i in range(1, 51):

   if i % 12 == 0:

       print(i)

       amount += 1

       sum += i

       multi *= i

print(amount, ' ', sum, ' ', multi)

4,4(21 оценок)
Ответ:
zadojnov09
zadojnov09
26.03.2021

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

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.

4,6(14 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ