Algorytmika i Programowanie.
Podstawy języka C++ ze wstępem do programowania dla
inżynierów
Tematyka ćwiczeń laboratoryjnych AiP_Lab04
dla 2 semestru studiów dziennych
na Wydziale Inżynierii Lądowej PW
Prowadzący Sławomir Czarnecki
instrukcje pętli cz. 1: while, while-do, for – proste zadania programistyczne.
Zad.1. Znajdź NWD(m , n) – Największy Wspólnik Dzielnik dwóch liczb
naturalnych m i n, w oparciu o dwa warianty algorytmu iteracyjnego
Algorytm iteracyjny wariant I:
• Krok 1. Zainicjalizuj
( ) (
)
,
,
a b
m n
=
•
Krok 2
. Dopóty dopóki b > 0 wykonaj jednocześnie następujące
podstawienie
( )
,
, reszta z dzielenia
a
a b
b
b
=
•
Krok 3
. NWD(m , n) = a
Algorytm iteracyjny wariant II
:
•
Krok 1
. Dopóty dopóki m
n
≠ wykonaj następujące podstawienie
jeśli m > n, to:
m
= m – n
w przeciwnym przypadku:
n
= n – m
•
Krok 2
. NWD(m , n) = m
Zad.2.
Wprowadź dwie różne liczby naturalne m, n tak aby m < n. Oblicz sumę
oraz iloczyn wszystkich liczb naturalnych m <= i <= n:
n
i m
suma
i
=
=
∑
,
(
) (
)
1 ...
1
n
i m
iloczyn
i
m m
n
n
=
=
=
+
−
∏
.
Sprawdź wynik np. dla m = 1, n = 10 :
(
)
(
)
1
1
10 10 1
1 2 ...
55
2
2
n
i
n n
suma
i
n
=
+
+
=
= + + + =
=
=
∑
1
1 2 3 ...
! 10! 3628800
n
i
iloczyn
i
n
n
=
=
= ⋅ ⋅ ⋅ ⋅ =
=
=
∏
Zad.3. Postęp arytmetyczny.
Niech będzie dany ciąg arytmetyczny liczb
całkowitych
( )
i
a
, taki, że
1
i
i
i
a
a
r
const
+
∀
−
= =
. Wczytaj:
• pierwszy wyraz
a
1
• różnicę tego ciągu
r
• całkowitą liczbę wyrazów tego ciągu
n
Wyświetl na ekranie wszystkie wyrazy tego ciągu od 1 do n oraz oblicz sumę:
1
n
i
i
sum
a
=
=
∑
,
gdzie przy liczeniu można wykorzystać fakt, że
(
)
1
1
i
a
a
i
r
=
+ −
.
Sprawdź wynik korzystając ze wzoru:
(
)
(
)
1
1
1
1
1
2
1
2
2
n
i
n
i
sum
a
n a
a
n
a
n
r
=
=
=
+
=
+
−
∑
Zad.4.
Ciąg geometryczny.
Niech będzie dany ciąg geometryczny liczb
rzeczywistych
( )
i
h
, taki, że
1
i
i
h
i
q
const
h
+
∀
= =
. Wczytaj:
• pierwszy wyraz
h
1
• iloraz tego ciągu
q
• całkowitą liczbę wyrazów tego ciągu
n
Wyświetl wszystkie wyrazy tego ciągu od 1 do n na ekranie oraz oblicz sumę:
1
n
i
i
sum
h
=
=
∑
,
gdzie przy liczeniu można wykorzystać fakt, że
1
1
i
i
h
h q
−
=
.
Sprawdź wynik korzystając ze wzoru:
1
1
1
1
n
n
i
i
q
sum
h
h
q
=
−
=
=
−
∑
, gdy
1
q ≠ .