Помогите решить уравнение. Паскаль
Вложений: 1
Вложение 150489
помогите пожалуйста |
извините за некорректное название темы)больше не повторится
|
Да название-то Бог с ним, хуже то, что никакого уравнения я тут вообще не вижу. Вижу некую функцию. И что с ней делать?
|
Program lab1;
Var F,x,e,arccos,arcsin: real; Begin Writeln('x'); Readln(x); F:=sqrt(exp(ln(x)*4)-2*x)+arccos(2.5*exp(ln(e)*(-0.5)*sqr(x))); Writeln('F',F:3:3); end. первый раз в паскале(( да,функция,извиняюсь |
пишет,что ошибка
|
Цитата:
1. От того, что Вы ввели переменную Arccos (и зачем-то Arcsin), программа не научится их считать. Арккосинус - это функция, отсутствующая среди стандартных функций Паскаля. А значит, её нужно ввести именно как функцию и грамотно описать. 2. По поводу распространённого в студенческих программах (извините) идиотизма по имени ln(e) я в своё время написал небольшое эссе. Очень рекомендую ознакомиться дабы впредь больше не позориться: http://www.tehnari.ru/f41/t50078/ 3. Почему-то из подкоренного выражения Вы волевым усилием выбросили слагаемое +3. Внимательнее! 4. Грамотное решение задачи требует предварительной проработки. Дело в том, что выражение, стоящее под знаком Arccos, не может принимать значения, превышающие 1, иначе возникнет ошибка. Решая соответствующее неравенство, находим допустимый диапазон аргумента: x² ≥ -2*Ln(0.4) или x ≥ 1.354 Исходя из этого, ввод аргумента желательно зациклить. Цикл прервётся, когда будет введено допустимое значение х. 5. Формат вывода 3:3 никуда не годится. Ведь первое число в данной записи означает ПОЛНОЕ количество значащих цифр, включая разделитель (точку), а второе - количество знаков после точки (т.е. в дробной части). Поэтому первое должно быть по крайней мере на 2 единицы больше второго. Но можно (а в данном случае - целесообразно) первым числом поставить ноль, тогда это означает, что мы фиксируем лишь число значащих цифр в дробной части, а уж в целой - сколько есть, столько и будет выведено. 6. Ну и парочка мелочей. Четвертая степень - это квадрат квадрата, и лучше так ее и вводить. В конце программы желательно поставить Readln; без аргументов - тогда выполнение прервется и можно будет рассмотреть результат. Итого: Код:
Var F,x: real; |
Буду разбираться,спасибо огромное.
Можете посоветовать литературу для изучения языка программирования PASCAL? Такая беда лекция не было , а лабораторные задали |
Цитата:
Цитата:
Цитата:
|
http://www.tehnari.ru/f22/t52621/
Очень рекомендую вам ознакомиться с книгой "Песни о Паскале", она ориентирована как раз на начинающих. |
а вот можете объяснить что значат эти строчки
if Round(z*10000000)=10000000 then ArcCos:=0 else if Round(z*10000000)=-10000000 then ArcCos:=Pi else |
Часовой пояс GMT +4, время: 21:30. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.