Inf Lab03

background image

Informatyka - Podstawy Programowania w Języku C++

prow. Sławomir Czarnecki

Zadania na laboratorium nr. 3


1. Zdefiniuj i zainicjalizuj „losowo” 6 zmiennych typu

double

: A

1

, B

1

, C

1

, A

2

, B

2

, C

2

z

przedziału [a , b], gdzie

(

)

,

a

b a b

<

∈ ℝ

. Zmienne te interpretujemy jako współczynniki

definiujące równania dwóch prostych na płaszczyźnie 0XY:

1

1

1

2

2

2

0

0

A x

B y C

A x

B y C

+

+

=

+

+

=

(*)


W celu zainicjalizowania zmiennych A

1

, B

1

, C

1

oraz A

2

, B

2

, C

2

, wywołaj funkcję random(…)

z biblioteki bib.h (sposób dołączenia pliku bib.h oraz wyjaśnienie działania funkcji
random(…) będą omówione na laboratorium).
Wyświetl na ekranie pełną informację o położeniu obu tych prostych względem siebie w
zależności od spełnienia poniższych warunków:

• proste się przecinają dokładnie w jednym punkcie jeśli:

1

1

2

2

0

A

B

A

B

,

• proste się pokrywają (przecinają się w nieskończonej liczbie punktów) jeśli:

1

1

1

1

2

2

2

2

0

A

B

A

C

A

B

A

C

=

=

,

• proste są równoległe (nie mają punktów wspólnych) jeśli:

1

1

2

2

0

A

B

A

B

=

.


2.
Zdefiniuj i wczytaj z klawiatury dwie różne liczby naturalne m > 0, n > 0 tak aby m < n.

Oblicz sumę

(

)

(

)

1

...

1

n

i m

i

m

m

n

n

=

= +

+ + +

− +

oraz iloczyn

(

) (

)

1 ...

1

n

i m

i

m m

n

n

=

=

+

.

Sprawdź wynik np. dla m = 1, n = 10 :

(

)

10

1

1

55

2

n

i

n n

i

=

=

+

=

=

,

10

1

! 3628800

n

i

i

n

=

=

=

=

.


3. Zdefiniuj i wczytaj z klawiatury pierwszy wyraz

1

a ∈ ℝ , iloraz

1

q ≠ oraz całkowitą liczbę

1

n

wyrazów ciągu geometrycznego

( )

1,2,...

i i

a

=

. Kolejne wyrazy

i

a tego ciągu dla i = 2,3,…

obliczamy według rekurencyjnego lub iteracyjnego wzoru:

1

i

i

a

a

q

=

(rekurencja) lub

1

1

i

i

a

a q

=

(iteracja). Wyświetl wszystkie wyrazy tego ciągu od 1 do

n na ekranie oraz oblicz

(w pętli) sumę:

1

n

i

i

a

=

. Sprawdź wynik korzystając ze wzoru:

1

1

1

1

n

n

i

i

q

a

a

q

=

=

(prawdziwego

dla

1

q ≠ ).





background image

4. Znajdź NWD(m , n) – Największy Wspólnik Dzielnik dwóch liczb naturalnych m > 0, n > 0

implementując dwa poniższe algorytmy iteracyjne (algorytmy Euklidesa):


Algorytm iteracyjny I:

Krok 1. Dopóty dopóki m n

≠ wykonaj następujące podstawienie

jeśli

m > n, to m = mn

w przeciwnym przypadku:

n = nm

Krok 2. NWD = m


Algorytm iteracyjny II
:

Krok 1. Dopóty dopóki n > 0 wykonaj jednocześnie następujące podstawienie

(

)

,

, reszta z dzielenia

m

m n

n

n

= 

Krok 2. NWD = m


Przed implementacją zapoznaj się z dowodem twierdzenia matematycznego uzasadniającego
poprawność pierwszego z powyżej zaproponowanych algorytmów.


Wyszukiwarka

Podobne podstrony:
infa, Inf Lab03
Inf Lab03
Inf Lab03 DODATEK NWD
Inf Lab03
infa Inf Lab03
Inf Lab03 DODATEK NWD
Inf Lab03
INF dec5
BEZPIECZE STWO SYSTEM W INF
Sys Inf 03 Manning w 06
Sys Inf 03 Manning w 19
A dane,inf,wiedza,uj dyn stat proc inf w zarz 2008 9
Sys Inf 03 Manning w 02
INF 6 PRZESTEPSTWA
H Bankowość ele platnosci ele proc inf w zzarz 2008 9
Inf przestrz wekt uklady rown
10Swykl nadwr inf transpl
DIAGNOZOWANIE NIESPRAWNOSCI INF Nieznany
eksploracja lab03, Lista sprawozdaniowych bazy danych

więcej podobnych podstron