Задание:
Вычислить значение у=log2(x/lgx), где х= -1, 1, 3 ..., 9, 9.1, 11. Если среднеарифметическое значение функции меньше количества положительных значений функции, то рассчитать z(x)= chx, где -1<x<1.
Выбор алгоритма решения задачи
Для решения этой задачи, необходимо выяснить область определения. И разложить эту функцию на натуральный логарифм. Потом сделать цикл, который будет иметь арифметическую прогрессию, которая увеличивается на d. Середнеарифметическое значение функции будет меньше только в том случае, если хотя бы одно значение этой функции было отрицательным.
Описание схемы алгоритма решения задачи
В этой задаче необходимо ввести начало и конец арифметической прогрессии и задать цикл до конца арифметической прогрессии. Если в этом цикле х будет меньше или равняться 1, тогда решения нет. А если х будет больше 1 тогда будет вычисляться функция. Когда последовательность придет к до 11, программа выйдет из цикла. Блок схема данной программы имеет вид:
Текст программы
Program lab3;
var
x,x1,y,d:real;
begin
writeln('vvedite nachalo posledovatelnosty');
readln(x);
writeln('vvedite konec posledovatelnosty');
readln(x1);
writeln('vvedite d');
readln(d);
while x<x1 do
begin
if x<=1.0000000001 then
writeln('net resheniya, kogda x = ',x:5:5);
else
begin
y:=ln((X*ln(10)/ln(x))/ln(2));
writeln('y = ',y:8:4);
end;
x:=x+d;
end;
readln;
end.
Результаты работы программы:
Программа сделает расчет всех чисел арифметической прогрессии и выведет их на экран монитора. При компиляции получено: