СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Рекуррентные соотношения. Задачи на Pascal

Категория: Информатика

Нажмите, чтобы узнать подробности

Мыслить последовательно, судить доказательно, опровергать неправильные выводы должен уметь всякий: физик и поэт, тракторист и химик.

Э. Кольман

Просмотр содержимого документа
«Рекуррентные соотношения. Задачи на Pascal»

Рекуррентные соотношения

Задачи в Pascal

Мыслить последовательно, судить доказательно, опровергать неправильные выводы должен уметь всякий: физик и поэт, тракторист и химик.


Э. Кольман


  1. 1/2+3/4+5/6+…+(2n-1)/(2n); для n = 10 имеем S = 8.5355.

Указание: (, ).

const n=10;

var i:byte; s:real;

begin

s:=0;

for i:=1 to n do

s:=s+(2*i-1)/2/i;

writeln('summa=',s:10:4);

readln

end.


  1. 1+1/2-1/3+…+(-1)n/n; для n = 10 имеем S = -0.6456.

Указание: , (переключатель) (,, ).

const n=10;

var i,k:integer; s:real;

begin

s:=0; k:=1;

for i:=1 to n do

begin

k:=-k;

s:=s+k/i

end;

writeln('summa=',s:10:4);

readln

end.


  1. 1+x+x2+…+xn; для n = 10, x = 2 имеем S = 2047.

Указание: , (, , ).

const n=10; x=2;

var a,s:real; i:byte;

begin

a:=1; s:=a;

for i:=1 to n do

begin

a:=a*x; s:=s+a

end;

writeln('summa=',s:10:4);

readln

end.


  1. x 2+(x+1)2+(x+2)2+…+(x+n)2; для n = 10, x = 2 имеем S = 649.

Указание: (, ).

const n=10; x=2;

var a,s:real; i:byte;

begin

s:=x*x;

for i:=1 to n do

begin

s:=s+sqr(x+i)

end;

writeln('summa=',s:10:4);

readln

end.


  1. 2+a/b2+a2/b3+…+an/bn+1; для n = 10, a = 2 , b = 3 имеем S = 2.6551.

Указание: , , ).

const n=10; a=2; b=3;

var s,p,mn:real; i:byte;

begin

p:=1/b; s:=2; mn:=a/b;

for i:=1 to n do

begin

p:=mn*p; s:=s+p

end;

writeln('summa=',s:10:4);

readln

end.


  1. 1/(1·2)+1/(2·3)+…+1/(n·(n+1)); для n = 10 имеем S = 0.9091.

Указание: (, ).

const n=10;

var s:real; i:byte;

begin

s:=0;

for i:=1 to n do

s:=s+1/i/(i+1);

writeln('summa=',s:10:4);

readln

end.


  1. (1+1/12)+(1+1/22)+…+(1+1/n2); для n = 10 имеем S = 1.5498.

Указание: (, ).

const n=10;

var s:real; i:byte;

begin

s:=0;

for i:=1 to n do

s:=s+1/i/i;

writeln('summa=',s:10:4);

readln

end.


  1. 1+2/(1+2)+3/(1+2+3)+…+100/(1+2+…+100); для n = 100 имеем S =8.3946.

Указание: , (, , ).

const n=100;

var a,s:real; i:byte;

begin

a:=0; s:=a;

for i:=1 to n do

begin

a:=a+i; s:=s+i/a;

end;

writeln('summa=',s:10:4);

readln

end.


  1. 1/3+1/5-1/7+…+(-1)n/(2n+1); для n = 10 имеем S = -0.1919.

Указание:, (переключатель)(, , ).

const n=10;

var s,k:real; i:byte;

begin

s:=0; k:=1;

for i:=1 to n do

begin

k:=-k; s:=s+k/(2*i+1)

end;

writeln('summa=',s:10:4);

readln

end.


  1. ; для n = 10, x = 2.5 имеем S = 0.9156.

Указание: , (, , ).

const n=10; x=2.5;

var a,s,mn:real; i:integer;

begin

mn:=(x-1)/x;a:=1; s:=0;

for i:=1 to n do

begin

a:=a*mn; s:=s+a/i

end;

writeln('summa=',s:10:4);

readln

end.


  1. 2!+4!+…+(2n)!; для n = 5 имеем S = 3669866.

Указание: , (, , ).

const n=5;

var s,a:longint; i,d:integer;

begin

a:=1; s:=0; d:=0;

for i:=1 to n do

begin

d:=d+2; a:=a*(d-1)*d; s:=s+a

end;

writeln('summa=',s);

readln

end.


  1. ; для n = 5 имеем S = 0.1268.

Указание: , (, , , ).

const n=5;

var a,s:real; i:integer;

begin

a:=6; s:=0;

for i:=1 to n do

begin

a:=a*(i+3); s:=s+i/a

end;

s:=2*s; writeln('summa=',s:10:4);

readln

end.


  1. ; для n = 5, x = 2 имеем

S = 0.9333.

Указание: , (, , ).

const n=5; x=2;

var a,s:real; i:integer;

begin

a:=-1; s:=0;

for i:=1 to n do

begin

a:=-x*a/i; s:=s+a

end;

writeln('summa=',s:10:4);

readln

end.


  1. ; для n = 5, x = 2 имеем S = -0.4162.

Указание: , (, , ).

var a,s,mn,d:real; i:integer;

begin

a:=1; s:=a; x:=2; mn:=-x*x; d:=0;

for i:=1 to 5 do

begin

d:=d+2; a:=mn*a/(d-1)/d; s:=s+a

end;

writeln('summa=',s:10:4);

readln

end.


  1. ; для n =5, a = 2 имеем

S = 65.5.

Указание: , , (, , , ).

const n=5; a=2;

var a1,a2,s:real; i:integer;

begin

a1:=1; a2:=1/a; s:=0;

for i:=1 to n do

begin

a1:=a1*a; a2:=a2*i/a; s:=s+a1+a2;

end;

writeln('summa=',s:10:4);

readln

end.


  1. ; для n = 5

имеем S = 152.6319.

Указание: , , (переключатель) (, , , ).

const n=5;

var s,a,k:real; i:integer;

begin

a:=1; k:=1;s:=0;

for i:=1 to n do

begin

a:=a*i; k:=-k; s:=s+a+k/a/(i+1)

end;

writeln('summa=',s:10:4);

readln

end.


  1. ; для n = 5 имеем S = 0.7625.

Указание: , (, , ).

const n=5;

var a,s:real; i:integer;

begin

a:=1; s:=0;

for i:=1 to n do

begin

a:=a*i; s:=s+ln(a)/i/i

end;

writeln('summa=',s:10:4);

readln

end.


  1. или; для n = 5

имеем S = 155.5929.

Указание: , (, , ).

const n=5;

var a,s:real; i:integer;

begin

a:=1; s:=1.5;

for i:=1 to n do

begin

a:=a*i; s:=s+a+1/(i+2)

end;

writeln('summa=',s:10:4);

readln

end.


7