Точки разрыва - Turbo Pascal
Формулировка задачи:
Программа не выполняется из-за точек разрыва функции,как их исключить?
Листинг программы
- Program lab2;
- uses crt;
- var x,y,h:real;
- begin clrscr;
- x:=0;
- h:=pi/20;
- while x<4*pi do
- begin
- y:=(exp(4*ln(cos(sqrt(x)))))-(exp(3*ln(cos(1/3*ln(x))))))-sqr(cos(exp(1/4*ln(x))));
- x:=x+h;
- end;
- readln;
- end.
Решение задачи: «Точки разрыва»
textual
Листинг программы
- uses crt;
- var x,y,h:real;
- k:integer;
- begin
- clrscr;
- x:=0;
- h:=pi/20;
- k:=0;
- while x<4*pi do
- begin
- if(x<=0)or(cos(sqrt(x))<=0)or(cos(1/3*ln(x))<=0)
- then writeln('x=',x:4:2,' y не определено')
- else
- begin
- y:=exp(4*ln(cos(sqrt(x))))-exp(3*ln(cos(1/3*ln(x))))-sqr(cos(exp(1/4*ln(x))));
- writeln('x=',x:4:2,' y=',y:8:4);
- end;
- k:=k+1;
- if k mod 20=0 then
- begin
- write('Нажмите Enter для продолжения');
- readln;
- end;
- x:=x+h;
- end;
- readln;
- end.
Объяснение кода листинга программы
Этот код написан на языке Turbo Pascal и выполняет следующие действия:
- Инициализирует переменные x, y и h значениями 0, пи/20 и 0 соответственно.
- Очищает экран.
- В цикле while, пока значение x меньше 4*пи, выполняет следующие действия:
- Проверяет условие: если x меньше или равно 0, или cos(sqrt(x)) меньше или равно 0, или cos(1/3*ln(x)) меньше или равно 0, то выводит сообщение 'x=', значение x в формате 4p2, и строку ' y не определено'.
- Если условие не выполняется, то вычисляет значение y по формуле exp(4ln(cos(sqrt(x)))), exp(3ln(cos(1/3ln(x)))), sqr(cos(exp(1/4ln(x)))), и выводит значения x и y в формате 4p2 и 8p4 соответственно.
- Увеличивает значение k на 1.
- Если значение k делится на 20 без остатка, то выводит сообщение 'Нажмите Enter для продолжения' и считывает ввод пользователя.
- После завершения цикла, выводит сообщение 'Нажмите Enter для выхода'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д