Нужно исключить ситуацию, когда cos(x)=0 - Free Pascal
Формулировка задачи:
Здравствуйте! Нужно исключить ситуацию, когда cos(x)=0, вроде как написал все правильно, но не выходит.Прогон:
program pr_10_1; uses crt; var a,x,k,d,b:real; function calc(a,x: real): real; begin calc:=(sin(x+PI/6)/cos(x+PI/6))/(sqrt(a+sin(x+0.123))); end; begin clrscr; write('Input a?->'); readln(a); write('Input x?->'); readln(x); k:=cos(x+PI/6); d:=a+sin(x+0.123); if (k=0) or (d<=0) then writeln('Error') else writeln('Result = ',calc(a,x):1:4); writeln('cos(',x:1:4,'+pi/6)= ',k:1:4); readln; end.
Input a?->0
Input x?->1.04719755
Result = 870888617.3185
cos(1.0472+pi/6)= 0.0000
Решение задачи: «Нужно исключить ситуацию, когда cos(x)=0»
textual
Листинг программы
program pr_10_1; uses crt; var a,x,k,d,b:real; function calc(a,x: real): real; begin calc:=sin(x+PI/6)/cos(x+PI/6)/sqrt(a+sin(x+0.123)); end; begin clrscr; write('Input a?->'); readln(a); write('Input x?->'); readln(x); if(cos(x+PI/6)=0)or(a+sin(x+0.123)=0) then write('Значение функции не определено') {но ввести такие a,x не реально} else write('Result = ',calc(a,x):0:4); readln; end.
Объяснение кода листинга программы
- Объявление переменных a, x, k, d, b: real;
- Определение функции calc(a,x: real): real;
- Ввод значений переменных a и x с помощью readln(a); и readln(x);
- Проверка на не определенность значения функции с помощью if(cos(x+PI/6)=0)or(a+sin(x+0.123)=0);
- Вывод сообщения в случае не определенности значения функции write('Значение функции не определено');
- Вывод значения функции с помощью write('Result = ',calc(a,x):0:4);
- Чтение строки с помощью readln;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д