Нужно исключить ситуацию, когда 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;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д