FilmProgramowanie w C++. Funkcje obliczeniowe
Film ukazuje wykorzystanie instrukcji warunkowej oraz instrukcji iteracji w obliczeniach na przykładzie prostych problemów szachowych.
Film ukazuje wykorzystanie instrukcji warunkowej oraz instrukcji iteracji w obliczeniach na przykładzie prostych problemów szachowych.
a) Zmienna x
ma wartość 3, a zmienna y
– wartość 5. Zastosuj zmienną pomocniczą pom
i zamień te wartości.
b) Poniższy program sprawdza, czy liczba 6 jest podzielna przez 3.
Jak sprawdzić, czy liczba 14 jest podzielna przez 7?
c) Przeanalizuj poniższy kod, a następnie zmień go tak, aby po uruchomieniu skryptu został poprawnie wypisany jeden z dwóch napisów: zero lub liczba różna od zera.
d) Poniższy program wypisuje liczby całkowite od 0 do 9 włącznie. Litera i
jest nazwą zmiennej sterującej pętlą for
. Pierwszy parametr nadaje początkową wartość zmiennym, drugi parametr to warunek kończący pętlę, trzeci to zwiększenie (zmniejszenie) licznika pętli. Zmodyfikuj poniższy kod tak, aby wypisywały się wszystkie liczby parzyste od 2 do 20.
Zdefiniuj funkcję ile(int k)
, której parametrem jest liczba korali na boku kwadratu k
, a wynikiem – łączna liczba korali we wzorze. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile(5)
jest 25
.ile(6)
jest 36
.Zdefiniuj funkcję ile_kolor(int k, char kolor)
, której parametrami są liczba korali na boku kwadratu k
i kolor korali – c
(czerwony) lub n
(niebieski), a wynikiem jest liczba korali podanego koloru we wzorze. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_kolor(6, 'c')
jest 18
.ile_kolor(7, 'c')
jest 24
.ile_kolor(6, 'n')
jest 18
.ile_kolor(7, 'n')
jest 25
.Zdefiniuj funkcję piramida(int k)
, której parametrem jest liczba korali w podstawie k
, a wynikiem – łączna liczba korali. Sprawdź działanie funkcji dla podanych poniżej parametrów.
piramida(5)
jest 15
.piramida(6)
jest 21
.Przeanalizuj poniższą pętlę.
Przeanalizuj poniższą pętlę.
Jaki będzie efekt działania powyższej pętli?
A)
1
2
3
4
5
B) 1 2 3 4 5
C)
5
4
3
2
1
D) 5 4 3 2 1
Zdefiniuj funkcję lata(int ile)
, której parametrem jest liczba lat danego człowieka, a wynikiem: 0
– jeśli dana osoba jest niepełnoletnia (ma mniej niż 18 lat), 2
– jeśli dana osoba jest w wieku 50+, 1
– w pozostałych przypadkach. Sprawdź działanie funkcji dla podanych poniżej parametrów.
lata(14)
jest 0
.lata(46)
jest 1
.lata(65)
jest 2
.BMI to wskaźnik masy ciała, który obliczamy przez podzielenie masy ciała podanej w kilogramach przez kwadrat wysokości podanej w metrach. Zdefiniuj funkcję bmi(int kg, float m)
, której parametrami są waga podana w kilogramach oraz wzrost podany w metrach, a wynikiem jest jeden z trzech komunikatów w zależności od wartości BMI:
Sprawdź działanie funkcji dla podanych poniżej parametrów.
bmi(50, 1.63)
jest waga prawidłowa
.bmi(44, 1.63)
jest niedowaga
.bmi(90, 1.63)
jest nadwaga
.Zdefiniuj funkcję naj(int liczba1, int liczba2, int liczba3)
, której parametrami są trzy liczby całkowite, a wynikiem jest największa z nich. Sprawdź działanie funkcji dla podanych poniżej parametrów.
naj(1, 2, 3)
jest 3
.naj(99, 33, 12)
jest 99
.Zdefiniuj funkcję waga(int pocz, int n)
, której parametrami są masa żuczka po urodzeniu podana w gramach oraz liczba miesięcy jego życia, a wynikiem jest masa żuczka po upływie n
miesięcy. Załóż, że pierwszym miesiącu żuczek tyje o 2 g, w drugim o 4 g i w każdym następnym miesiącu o 2 g więcej niż w poprzednim. Sprawdź działanie funkcji dla podanych poniżej parametrów.
waga(2, 2)
jest 8
.waga(5, 3)
jest 17
.Zdefiniuj funkcję skarbonka(int ile, int n)
, której parametrami są początkowa kwota w złotówkach znajdująca się w skarbonce oraz liczba miesięcy, a wynikiem jest suma pieniędzy w skarbonce po upływie n
miesięcy. Załóż, że w pierwszym miesiącu wrzucamy do skarbonki 1 zł, a w każdym następnym dwa razy więcej niż w poprzednim, czyli kolejno 1 zł, 2 zł, 4 zł, 8 zł, 16 zł… Sprawdź działanie funkcji dla podanych poniżej parametrów.
skarbonka(12, 2)
jest 15
.skarbonka(0, 5)
jest 31
.Zdefiniuj funkcję jaki(int n)
, której parametrem jest liczba naturalna n ≥ 3
, a wynikiem – n
-ty wyraz ciągu. Załóż, że pierwszy wyraz tego ciągu to 1, drugi to 2, a każdy następny równa się sumie dwóch poprzednich wyrazów pomniejszonej o 1, czyli kolejno: 1, 2, 2, 3, 4, 6, 9, 14, … Sprawdź działanie funkcji dla podanych poniżej parametrów.
jaki(5)
jest 4
.jaki(9)
jest 22
.Ciąg Collatza zdefiniowany jest następująco: pierwsza liczba ciągu jest dowolną liczbą naturalną c
, każda kolejna wartość ciągu obliczana jest na podstawie poprzedniej według następującej reguły: jeśli dana liczba jest parzysta, to dzielimy ją przez 2, w przeciwnym wypadku mnożymy ją przez 3 i dodajemy 1. Zdefiniuj funkcję collatz(int c, int n)
, której parametrami są liczba całkowita dodatnia c
, od której zaczynamy obliczenia, i liczba powtórzeń n
, natomiast wynikiem jest n
-ty wyraz ciągu Collatza. Sprawdź działanie funkcji dla podanych poniżej parametrów.
collatz(11, 5)
jest 13
.collatz(1, 10)
jest 4
.Zdefiniuj funkcję suma(int liczba)
, której parametrem jest liczba całkowita dodatnia, a wynikiem – suma nieparzystych cyfr tej liczby. Sprawdź działanie funkcji dla podanych poniżej parametrów.
suma(1122445)
jest 7
.suma(986713)
jest 20
.Szachownica złożona jest z równych pól, naprzemiennie białych i czarnych. Zdefiniuj funkcję ile_pol(int n)
, której parametrem jest rozmiar szachownicy n
, a wynikiem – liczba pól na szachownicy. Parametr n
może przyjmować wartości od 2
do 32
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_pol(8)
jest 64
.ile_pol(13)
jest 169
.Szachownica złożona jest z kwadratowych pól, naprzemiennie białych i czarnych. Lewy dolny róg (1, 1) zajmuje pole czarne. Zdefiniuj funkcję ile_kolorowych(int n, char kolor)
, której parametrami są rozmiar szachownicy n
i kolor pola – b
(białe) lub c
(czarne) – a wynikiem jest liczba pól w danym kolorze. Parametr n
może przyjmować wartości od 2
do 32
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_kolorowych(8, 'b')
jest 32
.ile_kolorowych(7, 'b')
jest 24
.ile_kolorowych(8, 'c')
jest 32
.ile_kolorowych(7, 'c')
jest 25
.Wieża porusza się w tym samym rzędzie lub w tej samej kolumnie, o dowolną liczbę pól. Zdefiniuj funkcję ile_wieza(int n, int x, int y)
, której parametrami są rozmiar szachownicy n
oraz położenie figury (x, y)
, a wynikiem jest liczba pól atakowanych przez wieżę na pustej szachownicy. Parametr n
może przyjmować wartości od 2
do 32
. Parametry x
i y
mogą przyjmować wartości od 1
do n
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_wieza(8, 2, 2)
jest 14
.ile_wieza(13, 3, 4)
jest 24
.Goniec przesuwa się po przekątnych o dowolną liczbę pól i w dowolnym kierunku. Zdefiniuj funkcję ile_goniec(int n, int x, int y)
, której parametrami są rozmiar szachownicy n
oraz położenie figury (x, y)
, a wynikiem jest liczba pól atakowanych przez gońca na pustej szachownicy. Parametr n
może przyjmować wartości od 2
do 32
. Parametry x
i y
mogą przyjmować wartości od 1
do n
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_goniec(8, 2, 2)
jest liczba 9
.ile_goniec(13, 3, 4)
jest liczba 16
.Hetman może poruszać się jak wieża i goniec. Zdefiniuj funkcję ile_hetman(int n, int x, int y)
, której parametrami są rozmiar szachownicy n
oraz położenie figury (x, y)
, a wynikiem jest liczba pól atakowanych przez hetmana na pustej szachownicy. Parametr n
może przyjmować wartości od 2
do 32
. Parametry x
i y
mogą przyjmować wartości od 1
do n
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_hetman(8, 2, 2)
jest 23
.ile_hetman(13, 3, 4)
jest 40
.Król może się przesuwać pionowo, poziomo i po przekątnej, ale tylko o jedno pole. Zdefiniuj funkcję ile_krol(int n, int x, int y)
, której parametrami są rozmiar szachownicy n
oraz położenie figury (x, y)
, a wynikiem jest liczba pól atakowanych przez króla na pustej szachownicy. Parametr n
może przyjmować wartości od 2
do 30
. Parametry x
i y
mogą przyjmować wartości od 1
do n
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_krol(8, 1, 1)
jest 3
.ile_krol(10, 4, 4)
jest 8
.Skoczek porusza się o dwa pola w pionie i jedno w poziomie lub jedno w poziomie i dwa w pionie. Zdefiniuj funkcję ile_skoczek(int n, int x, int y)
, której parametrami są rozmiar szachownicy n
oraz położenie figury (x, y)
, a wynikiem jest liczba pól atakowanych przez skoczka na pustej szachownicy. Parametr n
może przyjmować wartości od 2
do 30
. Parametry x
i y
mogą przyjmować wartości od 1
do n
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile_skoczek(8, 1, 1)
jest 2
.ile_skoczek(10, 4, 4)
jest 8
.Dostępna jest szachownica o rozmiarze n = 8
. Zdefiniuj funkcje czy_wieza(int xp, int yp, int xk, int yk)
, czy_goniec(int xp, int yp, int xk, int yk)
oraz czy_hetman(int xp, int yp, int xk, int yk)
, których parametrami są położenie początkowe i końcowe figury, a wynikiem jest 1 (prawda), jeśli w jednym ruchu można przejść z położenia początkowego do końcowego daną figurą, lub 0 (fałsz), jeśli nie da się tego zrobić. Parametry mogą przyjmować wartości od 1
do 8
. Sprawdź działanie funkcji dla podanych poniżej parametrów.
czy_wieza(1, 1, 1, 4)
jest 1
.czy_wieza(2, 2, 7, 8)
jest 0
.czy_goniec(1, 1, 4, 4)
jest 1
.czy_goniec(2, 2, 7, 8)
jest 0
.czy_hetman(1, 1, 1, 4)
jest 1
.czy_hetman(2, 2, 7, 8)
jest 0
.licznik
po wykonaniu poniższych poleceń? licznik = 3; licznik = licznik + 3;
int test(int x) { if (x % 2 == 0) return x / 2; else return x - 1; }
for (int i = 3; i < 11; i = i + 1) cout << i << endl;