Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 14:25   #1
LiptonICE
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 34
По умолчанию Даны действительные числа а0 ,..., а6 . Получить для х=1,3,4 значения p(x+1)-p(x), где p(y) = a6 y6 + a5

const n=6;
type mas=array[0..6] of real;
function P(x:byte;m:mas):real;
var i,j:byte; <<----------Объясните пожалуйста эту строчку,почему без неё программа выдаёт не правильній результат?
s,y:real;
begin
s:=m[0];
for i:=n downto 1 do <<-------Тут
begin
y:=1;
for j:=1 to i do <<------- И тут
y:=y*x;
s:=s+m[i]*y;
end;
P:=s;
end;
var a:mas;
x,i,j:byte;
begin
for i:=n downto 0 do
begin
write('a[',i,']=');
readln(a[i]);
end;
for i:=n downto 0 do
write(a[i]:0:1,' ');
writeln('Значение выражения Р(х+1)-Р(х) при х=1,3,4:');
for x:=1 to 4 do
if x<>2 then
begin
write('x=',x,' значение=',P(x+1,a)-P(x,a):0:1);
writeln;
end;
readln
end.
LiptonICE вне форума Ответить с цитированием
Старый 08.06.2010, 14:35   #2
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

Цитата:
Получить для х=1,3,4 значения p(x+1)-p(x), где p(y) = a6 y6 + a5
что такое у6?


Цитата:
var i,j:byte;
это объявление переменных. Ты поясняешь паскалю, что будешь использовать переменные i и j типа byte, иначе программа вообще не должна завестись - она же не понимает, что такое i, j и откуда они взялись.
Цитата:
for i:=n downto 1 do
begin
действия
end;
цикл. для каждого i от n до 1 включительно (т.е. n раз) выполнить определенную последовательность действий внутри begin - end;
to значит, что i с каждым разом увеличивается на 1, down to - значит уменьшается
Snejnaya вне форума Ответить с цитированием
Старый 08.06.2010, 14:44   #3
LiptonICE
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 34
По умолчанию

Пасиб..... за очень подробный ответ))))))Но меня интересует какую роль оно играет? всё то что Вы описали... ясно.
почему нель сделать так как я делал:
uses crt;
Const n=6;
Type Arr=array[0..6] of integer;
Var i:integer;

Function f(x:byte;b:Arr):real;
Var p:real;
begin
p:=1;
for i:=n downto 1 do
p:=p*(b[i]*x+b[i-1]);
f:=p;
end;
в данном фрагменте что-то наверн напутал.. с функцией или так :
uses crt;
Const n=6;
Type Arr=array[0..6] of integer;
Var i:integer;

Function f(x:byte;b:Arr):real;
Var p:real;
begin
p:=b[i]*x+b[i-1];
for i:=n-2 downto 0 do
p:=p*(x+b[i-1]);
f:=p;
end;
во всех выше изложеных вариантах при проверки на листике не один из них не подходит, паскаль и решение на листике разные)))))А вот этот вариаант :
const n=6;
type mas=array[0..6] of real;
function P(x:byte;m:mas):real;
var i,j:byte; <<----------Объясните пожалуйста эту строчку,почему без неё программа выдаёт не правильній результат?
s,y:real;
begin
s:=m[0];
for i:=n downto 1 do <<-------Тут
begin
y:=1;
for j:=1 to i do <<------- И тут
y:=y*x;
s:=s+m[i]*y;
end;
P:=s;
end; подходит.... ток я его не пойму к чему тут j.
LiptonICE вне форума Ответить с цитированием
Старый 08.06.2010, 15:04   #4
LiptonICE
Пользователь
 
Регистрация: 05.05.2010
Сообщений: 34
По умолчанию

var i,j:byte; можно описать решение без них?
LiptonICE вне форума Ответить с цитированием
Старый 08.06.2010, 15:17   #5
Snejnaya
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 219
По умолчанию

Цитата:
Но меня интересует какую роль оно играет? всё то что Вы описали... ясно.
почему нель сделать так как я делал:
Чтобы ответить на этот вопрос, нужно понять задание.

Цитата:
Даны действительные числа а0 ,..., а6 . Получить для х=1,3,4 значения p(x+1)-p(x), где p(y) = a6 y6 + a5
Сразу возникает вопрос, почему в функции p(y) переменная у не фигурирует, зато появляется непонятная переменная у6? Зачем нужны действительные числа а0-а4, если в программе по твоему условию используются только а5 и а6?
Найти ошибку в твоем алгоритме невозможно, т.к. непоянтно, что требовалось получить.

Цитата:
var i,j:byte; можно описать решение без них?
см. выше. Но вообще - не понимаю. чем тебе не угодила эта строчка. Если вместо нее напистаь
var i,j:integer; тебе станет легче?
Snejnaya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны действительные числа а1, а2, ..., аn. Figushkin Помощь студентам 4 08.06.2010 14:35
Даны действительные числа а1, а2, ..., аn. Figushkin Помощь студентам 0 30.05.2010 11:17
Даны действительные числа а0 ,..., а6 . Получить для х=1,3,4 значения p(x+1)-p(x), где LiptonICE Помощь студентам 6 29.05.2010 23:27
Даны действительные числа x, y, z Вычислить: Mystalla Помощь студентам 2 02.03.2010 00:17
Даны действительные числа а1,...,а24. Получить последовательность в1,...,в10, где Наталья111 Фриланс 7 23.12.2008 11:40