Laboratorium 6

Transkrypt

Laboratorium 6
Zadania z programowania w języku Python
do wykładu 5
dr Andrzej Zbrzezny
1
Instrukcja warunkowa
1. Napisz program, który wczyta z klawiatury liczbę zmiennoprzecinkową i używając prostej instrukcji warunkowej wypisze na ekran wartość bezwzględną tej liczby.
W tym programie nie należy używać funkcji wbudowanej abs.
2. Napisz funkcję sgn(x), która zwraca znak (inaczej: signum) swojego argumentu.
(Znak liczby dodatniej jest równy 1, znak liczby ujemnej jest równy -1, a znak liczby
0 jest równy 0.) W funkcji main wczytaj liczbę zmiennoprzecinkową, a następnie
wypisz na ekran jej znak.
3. Napisz program, który wczyta dwie liczby zmiennoprzecinkowe, a następnie wypisze
wynik z dzielenia pierwszej przez drugą, o ile druga liczba jest różna od zera. Jeżeli
dzielenie nie będzie możliwe, to należy wypisać na ekran odpowiedni komunikat.
4. Napisz program znajdujący pierwiastek równania liniowego ax+b = 0. W przypadku
gdy a = 0, program powinien wypisać odpowiedni komunikat.
5. Napisz program, który wczyta trzy liczby zmiennoprzecinkowe, a następnie wypisze najmniejszą i największą liczbę. W tym programie nie należy używać funkcji
wbudowanych min oraz max.
6. Napisz program rozwiązujący problem z poprzedniego zadania z wykorzystaniem
funkcji max3(x, y, z). W tym programie także nie należy używać funkcji wbudowanych min oraz max.
7. Napisz program obliczający pole i obwód trójkąta o bokach wczytanych z klawiatury.
W przypadku podania wartości, które nie mogą być bokami trójkąta ma zostać
wyświetlony komunikat: „To nie są boki trójkąta! Kończę program.”.
8. Napisz program rozwiązujący problem z poprzedniego zadania z wykorzystaniem
trzech funkcji:
• poprawne_boki(a, b, c), która zwraca wartość True gdy jej argumenty
mogą być bokami trójkąta; w przeciwnym przypadku funkcja ma zwrócić wartość False;
• pole_trojkata(a, b, c);
• obwod_trojkata(a, b, c).
2
Połączenie instrukcji iteracyjnej for i instrukcji warunkowej
1. Do każdego z poniższych punktów napisać odpowiedni program. W każdym z tych
programów wczytać liczbę naturalną n, a następnie wczytując kolejno n liczb naturalnych obliczyć ile wśród wczytanych liczb jest takich, które:
(a) są liczbami nieparzystymi
(b) są podzielne przez 3 i niepodzielne przez 5
(c) są kwadratami liczby parzystej
(d) spełniają warunek ak <
ak−1 +ak+1
,
2
dla 1 < k < n
(e) spełniają warunek 2k < ak < k!, dla 1 ≤ k ≤ n
(f) mają nieparzysty numer (numerujemy od 1 do n) i są liczbami parzystymi
(g) są nieparzyste i nieujemne
(h) spełniają warunek |ak | < k 2
2. Wczytać liczbę naturalną n, a następnie wczytując kolejno n liczb rzeczywistych
obliczyć podwojoną sumę tych spośród nich, które są dodatnie.
3. Wczytać liczbę naturalną n, a następnie wczytując kolejno n liczb rzeczywistych
obliczyć ile jest wśród nich liczb dodatnich, liczb ujemnych oraz ile jest zer.
4. Wczytać liczbę naturalną n, a następnie wczytując kolejno n liczb rzeczywistych
znaleźć najmniejszą oraz największą z wczytanych liczb.
5. Wczytać liczbę naturalną n, a następnie wczytując kolejno n liczb rzeczywistych
znaleźć ilość sąsiadujących par (a, b) takich, że a > 0 i b > 0. (Przykład: dla liczby
n = 6 i kolejnych liczb 3, 5, 2, −4, 9, 7 poprawna odpowiedź to 3 (pary (3, 5), (5, 2)
oraz (9, 7))).