Задачник Абрамяна.

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
Ariman
незнакомец
Сообщения: 9
Зарегистрирован: 04.05.2014 09:07:40

Задачник Абрамяна.

Сообщение Ariman »

Подскажите в чем разница между этим

Код: Выделить всё

uses PT4Web;
var x,y,a : real;
begin
  Task('Begin33');
  Read(x,y,a);
  Write(a/x,a/x*y);
end.

и этим?

Код: Выделить всё

uses PT4Web;
var x,y,a : real;
begin
  Task('Begin33');
  Read(x,a,y);
  Write(a/x,a/x*y);
end.
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Сообщение скалогрыз »

это проверка зрения?
разница в порядке параметров Read() в первом случае: x,y,a
во втором случае: x,a,y

так что если вводить для обеих программок одни и те же параметры, например: 10 5 3
результат будет разным, потому что в первом случае
x=10
y=5
a=3
во втором
x=10
a=5
y=3
Аватара пользователя
hinst
энтузиаст
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Сообщение hinst »

я подозреваю что дело в том, что для непосвещённого в программирование человека
Read(x,y,a) и Read(x,a,y) - одно и то же
По принципу "что делаем? читаем переменные x, y, a. А если мы их читаем, то не всё ли равно, в каком порядке? мы же читаем одни и те же переменные"

Добавлено спустя 53 секунды:
Если разница между a/x и x/a очевидна, то с Read(...) - нет
Ariman
незнакомец
Сообщения: 9
Зарегистрирован: 04.05.2014 09:07:40

Сообщение Ariman »

hinst писал(а):По принципу "что делаем? читаем переменные x, y, a. А если мы их читаем, то не всё ли равно, в каком порядке? мы же читаем одни и те же переменные"


Спасибо за понимание. Именно так я и думал... :(
Ariman
незнакомец
Сообщения: 9
Зарегистрирован: 04.05.2014 09:07:40

Сообщение Ariman »

Помогите, пожалуйста с решением такой задачи:
Дано вещественное число X и целое число N (> 0). Найти значение выражения X − X3/(3!) + X5/(5!) − … + (−1)N·X2·N+1/((2·N+1)!). Полученное число является приближенным значением функции sin в точке X.

Вот что я сам пытался наваять:

Код: Выделить всё

var X,F,R: real; {F- факториал, R- результат}
    N,i,k: integer;
begin
  Task('For23');
Read(X,N);
F:=1;
for k:=i to (2*N+1) do F:=F*i;
R:=X+power(-1,N)*power(X,2*N+1)/F;
k:=-1; F:=1;
for i:=3 to N do
if (i mod 2 <>0) then begin
F:=F*i; R:=R+k*power(X,N)/F;
k:=-k;
end;
Write(R);
end.
Аватара пользователя
bormant
постоялец
Сообщения: 408
Зарегистрирован: 21.03.2012 11:26:01

Сообщение bormant »

Код: Выделить всё

r:=x; y:=x; f:=1; k:=1;
for i:=1 to n do begin
  y:=y*sqr(x); f:=f*2*i*(2*i+1); k:=-k;
  r:=r+k*y/f;
end;
Ответить