IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Прораммирование алгоритмов цикличной структуры, ошибка 207
Mambakremen
сообщение 13.11.2010 11:24
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Задание
Найти сумму Y=F1(x)/F2(x), где a<=x<=b, x менятется с шагом h=c. Задано F1(x)=exp((1/5)*ln(6*x-x*x)), F2(x)=sin(exp(2*x)*ln(x))-cos(x), a=3.5, b=6.5, c=0.2.(Сам писал функции может ошибся smile.gif ) Сделать два варианта программы с использованием циклов for & repeat.

Цикл for - ошибка 207

program summa;
uses crt;
const
a=3.5;
b=6.5;
c=0.2; {wag h}
var x,y,F1,F2:real;i,n:integer;
begin
writeln('Summa funrcuu y=F1(x)/F2(x)');
x:=a;
n:=round((b-a)/c)+1;
for i:=1 to n do
begin
F1:=exp((1/5)*ln(6*x-x*x));
F2:=sin(exp(2*x)*ln(x))-cos(x);
y:=y+(F1/F2);
x:=x+c;
end;
writeln(y:1:2);
readkey;
end.



Цикл repeat - ошибка 207

program summa;
uses crt;
const
a=3.5;
b=6.5;
c=0.2; {wag h}
var x,y,F1,F2:real;i,n:integer;
begin
clrscr;
writeln('Summa funrcuu y=F1(x)/F2(x)');
x:=a;
repeat
F1:=exp((1/5)*ln(6*x-x*x));
F2:=sin(exp(2*x)*ln(x))-cos(x);
y:=y+(F1/F2);
x:=x+c;
until x>b;
writeln(y:1:2);
readkey;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 13.11.2010 12:31
Сообщение #2


Гость






У нас не FAQ по FPC. Огромное количество программ оттуда в FPC вообще не компилируются.

Это было первое. Второе: Mambakremen, каким боком тебе вообще нужна функция minusOnePower? Она возводит минус единицу в степень, тебе надо возвести отрицательное число в степень. Разницу видишь?

Ну, хорошо, совсем на пальцах: у тебя есть число X, тебе его надо возвести в степень 1/A (извлечь корень). Твои действия? Не надо никаких программ, ты просто скажи, на словах, что будешь делать, если тебе надо извлечь корень четной степени из числа? Проверишь на отрицательность, так? Если число под корнем отрицательное - ошибка. Если положительное - то все прекрасно, возводишь в степень через Exp(a*Ln(x)).

А теперь - что будешь делать, если надо извлечь корень НЕчетной степени? Проверил число на отрицательность, оно отрицательное, дальше что? Ошибки-то нет, вся разница - в том, что тебе надо в случае корня нечетной степени запомнить знак числа, потом вычислить корень из его модуля, и результату присвоить знак исходного выражения: было число (-27), степень (1/3) -> число отрицательное, корень нечетной степени, запоминаем знак. Вычисляем (Abs(-27))1/3 = 3, и добавляем тот знак, который запомнили. Ответ = (-3). Что не так?

Теперь - что тебе делать. Надо написать функцию:
function GetNthRoot(X: real; Power: integer): real;
begin
{ А здесь - сделать все то, что было написано выше }
end;

, и при вычислениях вызывать эту функцию. За тебя этого делать я не буду. Нужно - пиши. Не нужно - лови RTE 207 дальше.
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Mambakremen   Прораммирование алгоритмов цикличной структуры   13.11.2010 11:24
volvo   Добавь строчку: for i:=1 to n do begin writeln(6...   13.11.2010 11:29
Mambakremen   Добавь строчку: for i:=1 to n do begin writeln(...   13.11.2010 11:33
volvo   Я не сказал "добавь и эта ошибка уйдет"....   13.11.2010 11:43
Mambakremen   Ребята, извините, не знаю как по другому... :ypria...   13.11.2010 12:09
TarasBer   > Из FAQ не пойму этих строк... F1 нажми, там ...   13.11.2010 12:16
volvo   У нас не FAQ по FPC. Огромное количество программ ...   13.11.2010 12:31
Mambakremen   Спасибо :) Буду пробовать.   13.11.2010 12:36
volvo   Кстати, таки не приведется: Что гарантирует: рез...   13.11.2010 14:52
Mambakremen   Решил не мучатся с функцией, простой усл. оператор...   14.11.2010 23:10
volvo   Неправда. Число в нулевой степени - не ноль, а еди...   14.11.2010 23:19
TarasBer   Возводим не в нулевую степень, а в 1/5. 0^(1/5)=0 ...   15.11.2010 11:01
volvo   Вещественное с нулем нельзя сравнивать НИКОГДА. Ра...   15.11.2010 11:17
TarasBer   Что случится в этом примере из-за сравнения с нулё...   15.11.2010 11:50


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 20:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"