Laboratorium 6

Transkrypt

Laboratorium 6
Zadania z programowania w języku Python
dr Andrzej Zbrzezny
Instrukcja iteracyjna while
Zadania obowiązkowe oznaczone są na czerwono.
1
Proste iteracje
1. Wczytać liczbę naturalną do zmiennej n. Do każdego z poniższych punktów napisać
program, który obliczy wartość podanego w tym punkcie wyrażenia:
(a) 2n
(b) n!
(c) (1 +
(d)
1
)
12
1
1 + sin 1
· (1 +
+
1
)
22
· . . . · (1 +
1
sin 1 + sin 2
+ ... +
1
)
n2
1
sin 1 + ... + sin n
2. Wczytać liczbę naturalną do zmiennej n oraz liczbę rzeczywistą do zmiennej a. Do
każdego z poniższych punktów napisać program, który obliczy wartość podanego w
tym punkcie wyrażenia:
(a) an
(b) a · (a + 1) · . . . · (a + n − 1)
(c)
1
a
+
1
a·(a+1)
(d)
1
a
+
1
a2
+
+ ... +
1
a4
1
a·(a+1)·...·(a+n)
+ ... +
1
a2n
(e) a · (a − n) · (a − 2n) · . . . · (a − n2 )
3. Wczytać liczbę rzeczywistą do zmiennej x. Do każdego z poniższych punktów napisać program, który obliczy wartość podanego w tym punkcie wyrażenia:
5
7
9
11
x3
+ x5! − x7! + x9! − x11!
3!
(x − 2)·(x − 4)(x − 8)·...·(x − 64)
(x − 1)·(x − 3)·(x − 7)·...·(x − 63)
(a) x −
(b)
+
x13
13!
(c) sin x + sin2 x + . . . + sinn x
(d) sin x + sin x2 + . . . + sin xn
(e) sin x + sin sin x + . . . + sin sin . . . sin x
4. Wczytać liczbę rzeczywistą do zmiennej a. Do każdego z poniższych punktów napisać program odpowiedni program:
(a) spośród liczb postaci 1, 1 + 21 , 1 + 12 + 31 , . . . znaleźć najmniejszą liczbę większą
od a
(b) znaleźć najmniejszą liczbę n, taką że 1 + 12 + 31 + . . . +
1
n
>a
5. Wczytać liczbę naturalną do zmiennej n. Do każdego z poniższych punktów napisać
odpowiedni program:
(a) Obliczyć ilość cyfr w liczbie n. (Przykład: dla liczby n = 1989 poprawną
odpowiedzią jest liczba 4)
(b) Obliczyć sumę cyfr liczby n. (Przykład: dla liczby n = 1989 poprawną odpowiedzią jest liczba 27)
(c) Znaleźć najbardziej znaczącą cyfrę liczby n. (Przykład: dla liczby n = 1989
poprawną odpowiedzią jest liczba 1)
6. Wczytać dwie liczby naturalne do zmiennychj m i n. Obliczyć sumę m najmniej
znaczących cyfr liczby n. (Przykład: dla liczb m = 2 i n = 1989 poprawną odpowiedzią jest liczba 17, a dla liczb m = 5 i n = 1989 komunikat Niepoprawne
dane)
7. Wczytać liczbę naturalną do zmiennej n. Sprawdzić czy liczba n jest liczbą pierwszą.
8. Wczytać dwie liczby naturalne do zmiennych m i n. Wypisać wszystkie liczby pierwsze p, takie że m ≤ p ≤ n.
9. Wczytać dwie liczby naturalne do zmiennychj m i n. Obliczyć ile jest liczb pierwszych p, takich że m ≤ p ≤ n.
2
Iteracyjne wczytywanie danych
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 rzeczywistych obliczyć wartość odpowiednich wyrażeń:
(a) a1 + a2 + . . . + an
(b) a1 · a2 · . . . · an
(c) |a1 | + |a2 | + . . . + |an |
(d) |a1 | · |a2 | · . . . · |an |
(e) a21 + a22 + . . . + a2n
(f) a1 + a2 + . . . + an oraz a1 · a2 · . . . · an
(g) a1 − a2 + a3 − . . . + (−1)n+1 · an
(h) − a1!1 +
a2
2!
− ... +
(−1)n ·an
n!
2. Wczytać liczbę naturalną n, a następnie wczytując kolejno ciąg n liczb rzeczywistych
a1 , a2 , . . . , an wypisać ciąg a2 , a3 , . . . , an , a1 .
3
Połączenie instrukcji iteracyjnej i 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
k
(e) spełniają warunek 2 < 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 sposró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))).