Zadania str. 242
Zadania str. 242
* 1. Napisz program, który po wczytaniu wymiarów patchworkowej kołdry (w centymetrach) wyznaczy liczbę kawałków materiału potrzebnych do jej wykonania. Kołdra ma się składać z jak największych kwadratów tej samej wielkości.
* 2. Napisz program, który z ułamka niewłaściwego wyodrębni część całkowitą i część ułamkową.
* 3. Napisz program, który - korzystając z algorytmu Euklidesa - będzie sprawdzać, czy dane dwie liczby naturalne są liczbami względnie pierwszymi.
* 4. Napisz program, który będzie wczytywać licznik i mianownik ułamka o wartości mniejszej niż 1/2 i sprawdzać, ile razy ten ułamek mieści się w liczbie 1.
* 5. Napisz program, który wczyta dwa ułamki i wyświetli większy z nich wraz z komunikatem "jest większą liczbą". Jeśli użytkownik wprowadzi te same ułamki, program wyświetli komunikat "Ułamki są równe".
** 6. Napisz program, który wczytuje dwie dodatnie i względnie pierwsze liczby a i b, a następnie wyznacza dla nich najmniejszą możliwą liczbę x, dla której ułamek a+x/b+x jest nieskracalny.
** 7. Napisz program, który wczyta trzy liczby całkowite dodatnie i wyznaczy ich największy wspólny dzielnik.
Wskazówka: Największy wspólny dzielnik trzech liczb to największy wspólny dzielnik jednej z liczb i liczby która jest największym dzielnikiem pozostałych.
** 8. Zmodyfikuj program Suma ułamków (podręcznik str.239) tak, aby można było w nim dodawać trzy ułamki.
** 9. Uzupełnij program Suma ułamków o wyodrębnienie części całkowitej i części ułamkowej dla sumy, która jest ułamkiem niewłaściwym.
** 10. Napisz program zawierający funkcję o nagłówku NWW(a, b), która będzie wyznaczać najmniejszą wspólną wielokrotność liczb a i b.
** 11. Zapisz specyfikację problemu dzielenia dwóch ułamków. Następnie napisz listę kroków algorytmu i program zawierający funkcję iloraz, wykonującą dzielenie.
*** 12. Napisz w języku Python prostą grę dwuosobową, w której pierwszy z graczy podaje dwie liczby naturalne mniejsze od 200, a drugi gracz próbuje odgadnąć ich NWD. Kolejne próby powinny być numerowane. Po odgadnięciu gracze zamieniają się rolami. Wygrywa ten, który poda poprawny wynik w mniejszej liczbie prób.
***13. Zapisz specyfikację problemu odejmowania dwóch ułamków. Następnie napisz listę kroków algorytmu i program zawierający funkcję różnica, odejmująca dwa ułamki. Umieść w nim również podprogram, który przetestuje działanie tej funkcji.
*** 14. Udowodnij prawdziwość wzoru na mnożenie ułamków, w którym skracamy ułamki "na krzyż".
*** 15. Napisz program, który spośród pięciu różnych dodatnich liczb całkowitych podanych przez użytkownika wybierze takie dwie, które będą stanowiły licznik i mianownik ułamka o możliwie najmniejszej wartości. Rozwiązanie przygotuj dwoma sposobami:
a. z wykorzystaniem listy pięcioelementowej
b. bez korzystania z listy
*** 16. Napisz program, który wczyta trzy dodatnie liczby jednocyfrowe a, b i c takie, że a =/= b. Efektem powinna być informacja o położeniu cyfry c w rozwinięciu dziesiętnym ułamka a/b. Jeśli taka cyfra się nie pojawia, program powinien wypisać liczbę -1.
*** 17. Napisz program, który zrealizuje algorytm Herona według listy kroków podanej na s. 176.