background image

Algorytmika i Programowanie.  

Podstawy języka C++ ze wstępem do programowania dla 

inŜynierów 

Tematyka ćwiczeń laboratoryjnych AiP_Lab06 

dla 2 semestru studiów dziennych  

na Wydziale InŜynierii Lądowej PW 

 

Prowadzący Sławomir Czarnecki 

 
instrukcje pętli cz. 3 – proste zadania programistyczne + powtórzenie 
materiału.  
 
Zad.1. Zdefiniuj N – elementowy wektor A[N] liczb rzeczywistych dla N = 3 i 
zainicjalizuj  wszystkie  jego  składowe  zerami.  UŜywając  instrukcji  pętli, 
wyświetl na ekranie wszystkie jego składowe w następujący sposób: 
A[0]=0 
A[1]=0 
A[2]=0 
 
Zad.2.  Dla  ustalonej  liczby  naturalnej  n  (np.  dla  n  =  10)  i  ustalonej  liczby 
rzeczywistej x, oblicz wartość wielomianu stopnia n : 
 

( )

2

0

1

2

...

n

n

n

W

x

a

a x

a x

a x

=

+

+

+

+

 

 

 

 

 

 

 

(*) 

 
gdzie 

(

)

0,1,...,

i

a i

n

=

  oznaczają  dowolnie  przyjęte  wartości  współczynników 

rzeczywistych tego wielomianu. Wartość (*) oblicz na dwa sposoby: 
 

a)

 bezpośrednio, na podstawie wzoru (*) 

b)

 korzystając ze schematu Hornera (opartym o rozkład wielomianu na  

czynniki):  
 

( )

(

)

(

)

(

)

1

2

1

0

...

n

n

n

n

W

x

a x

a

x

a

x

a x

a

=

+

+

+

+

+

 

 

UWAGA !

 

Zalecana powszechnie (w niemal wszystkich podręcznikach) metoda 

b)

  liczenia  wartości  wielomianu 

nie  zawsze  okazuje  się  być  pod  kaŜdym 

względem  lepszą  i  optymalniejszą

  od  najbardziej  oczywistej  i  najprostszej 

metody 

a)

 liczenia wartości wielomianu.

 

 
 
 

background image

Zad.3 -

 

cz.1. 

Oblicz (nieskończone) sumy następujących szeregów funkcyjnych: 

 

a)

 

2

3

0

1

...

...

!

0! 1!

2!

3!

!

i

i

x

i

x

x

x

x

x

e

i

i

=

=

+

+

+

+

+

+

=

 , 

b)

 

( )

(

)

( )

2 1

3

5

7

0

1

... sin

2

1 !

3!

5!

7!

i

i

i

x

x

x

x

x

x

i

+

=

= −

+

+

=

+

 , 

c)

 

( )

( )

( )

2

2

4

6

0

1

1

... cos

2 !

2!

4!

6!

i

i

i

x

x

x

x

x

i

=

= −

+

+

=

 . 

 
w dowolnym, ale ustalonym punkcie x i porównaj je z wartościami obliczonymi 
bezpośrednio  na  podstawie  dostępnych  w  <cmath>  funkcji  bibliotecznych 
exp(...), sin(...) i cos(...).  
Dla  ułatwienia  obliczeń,  warunek  stopu  uzaleŜnij  tylko  od  przyjętej  a  priori  
wartości  n  >  0    -  liczby  sumowanych  wyrazów  (i  =  0,  1,  2,...,  n)  (w  innym 
wariancie  warunek  stopu  uzaleŜnij  od  ustalonej  dokładności  eps  >  0,  podobnie 
jak w 

Zad.2.

 z AiP_Lab05).  

 

Wskazówka.

 ZauwaŜ, Ŝe mamy następujące zaleŜności rekurencyjne na kolejne 

wyrazy szeregów funkcyjnych: 
 

(

)

1

0

1 ,

1

n

n

a

a

a

x

n

n

=

=

  

 

 

 

w przypadku szeregu 

a)

 

(

)

(

)

2

1

0

,

1 ,

2, 4,6,...

1

n

n

a

a

x a

x

n

k

k k

=

= −

=

+

   w przypadku szeregu 

b)

 

(

)

(

)

2

1

0

1 ,

1 ,

1,3,5,...

1

n

n

a

a

a

x

n

k

k k

=

= −

=

+

  

w przypadku szeregu 

c) 

 

Zad.3 -

 

cz.2. 

Oblicz sumy szeregów 

a)

 i 

b)

 z 

cz.1.

 w oparciu o schemat Hornera 

obliczania  sumy  szeregu  potęgowego.  ZauwaŜ,  Ŝe  dla  przyjętej  wartości  n 
sumowanych  wyrazów,  współczynniki 

0

1

2

, ,

,...

a a a

  rozkładu  wielomianu,  będą 

miały  następujące  wartości: 

0

1

2

1

1

1

1

,

,

,...,

0!

1!

2!

!

n

a

a

a

a

n

=

=

=

=

    w  przypadku 

a) 

oraz 

(

)

0

1

2

3

2

2

2

1

1

1

1

0,

,

0,

,...,

0,

1!

3!

2

1 !

n

n

a

a

a

a

a

a

n

=

=

=

=

=

=

  (n 

  2)  w 

przypadku 

b).

 

Współczynniki te moŜna obliczyć i zainicjalizować nimi tablice, odpowiednio 
EXP[n+1]  oraz  SIN[2n],  a  następnie  obliczyć  odpowiadające  im  wartości 
wielomianu w punkcie x.