Laboratorium 7
Transkrypt
Laboratorium 7
Zadania z programowania w języku Python do wykładu 6 dr Andrzej Zbrzezny Instrukcja iteracyjna while Uwaga: Poprawne rozwiązanie każdego zadania powinno zawierać definicję funkcji obliczającej odpowiednią wartość oraz wywołanie tej funkcji w funkcji main (tak jak w przykładowym rozwiązaniu zadania 1.5a). 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 + 12 , 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 zmiennych 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 zmiennych 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! Przykładowe rozwiązanie zadania 5a #!/usr/bin/env python3 def main(): n = int(input("Podaj liczb˛ e naturalna˛ dodatnia: ˛ ")) if n > 0: print("Ilość cyfr liczby", n, ":", ile_cyfr(n)) else: print("Skup si˛ e! Powiedziałem \"Dodatnia\"!") ˛ def ile_cyfr(n): ile = 0 while n > 0: ile += 1 n //= 10 return ile if __name__ == "__main__": main()