Помощь - Поиск - Пользователи - Календарь
Полная версия: Найти значения функции
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Amir
Дана функция A-((X-C)^2/(B+1)) надо высчитать и напечатать значения этой функции для последовательных значений X=C, C+(B+1), C+2(B+1),C+3(b+1) и т.д., до тех пор, пока сумма Y+A+5 не станет отрицательной. Числа А, В, С вводятся с клавиатуры.
Вот что сам написал
program z3;
var x,w:real;
a,b,c,d,i,z:integer;
begin
writeln('введите 3 последнии цифры зачётки через пробел и нажмите enter ');
readln(a,b,c);
i:=0;
d:=b+1;
x:=c;
while w+a+5>0 do
begin
x:=c+i*b+i*1;
i:=i+1;
w:=a-x*x/d-c*x/d-c*x/d-c*c/d;
writeln(w);
writeln('Последнии цифры зачётки',a,b,c);
end;
end.

Но правильные ответы не получаются, подскажите что делаю не так?
compiler
>> x:=c;
Это не обязательно..
>> x:=c+i*b+i*1;
ну это можна проще x:=c+i*(b+1);
>> w:=a-x*x/d-c*x/d-c*x/d-c*c/d;
Это откуда? upd а я понял.. это почленное деление.. но по-моему w := a - (x*x+c*c-2*x*c) / (b+1); , смотрится лучше... кстате, если делишь почленно, будь окуратен со знаками, запиши выражение сначало на листок и сверь с тем что ты ввел в программу..
Amir
Цитата(compiler @ 4.06.2008 15:19) *

>> x:=c;
Это не обязательно..
>> x:=c+i*b+i*1;
ну это можна проще x:=c+i*(b+1);
>> w:=a-x*x/d-c*x/d-c*x/d-c*c/d;
Это откуда? upd а я понял.. это почленное деление.. но по-моему w := a - (x*x+c*c-2*x*c) / (b+1); , смотрится лучше... кстате, если делишь почленно, будь окуратен со знаками, запиши выражение сначало на листок и сверь с тем что ты ввел в программу..

w:=a-x*x/d-c*x/d-c*x/d-c*c/d
Это я без скобок пытался сделать.
compiler
Цитата(Amir @ 4.06.2008 16:03) *
Это я без скобок пытался сделать.
тогда проверяй знаки...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.