Programowanie zaawansowane FM i IN 2017/2018

Podobne dokumenty
Programowanie - wykład 4

LISTA 5. C++ PETLE for, while, do while

Liczby całkowite i rzeczywiste

Podstawy Programowania Podstawowa składnia języka C++

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale

1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:

4. Funkcje. Przykłady

5. Rekurencja. Przykłady

1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2.

do instrukcja while (wyrażenie);

Zadania do samodzielnego rozwiązania

Jarosław Wróblewski Matematyka Elementarna, zima 2012/13

MATEMATYKA WYDZIAŁ MATEMATYKI - TEST 1

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

3. Instrukcje warunkowe

1. Wypisywanie danych

Przykładowe zadania z teorii liczb

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

WHILE (wyrażenie) instrukcja;

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

WHILE (wyrażenie) instrukcja;

Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. Czwartek 28 marca zaczynamy od omówienia zadań z kolokwium nr 1.

Moneta 1 Moneta 2 Kostka O, R O,R 1,2,3,4,5, Moneta 1 Moneta 2 Kostka O O ( )

4. Napisz program wyznaczający wartość funkcji. f (x) = x cos x + e 4x 7. w zadanym punkcie.

Napisz program, który dla podanej na standardowym wejściu temperatury w stopniach Fahrenheita wypisze temperaturę w stopniach Celsjusza.

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

1 + x 1 x 1 + x + 1 x. dla x 0.. Korzystając z otrzymanego wykresu wyznaczyć funkcję g(m) wyrażającą liczbę pierwiastków równania.

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Wstęp do programowania

I. Podstawy języka C powtórka

Kryteria ocen z matematyki w klasie IV

WYMAGANIA EDUKACYJNE DLA KLASY III GIMNAZJUM W ZSPiG W CZARNYM DUNAJCU NA ROK SZKOLNY 2016/2017 ROCZNE

6. Liczby wymierne i niewymierne. Niewymierność pierwiastków i logarytmów (c.d.).

Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny.

Jarosław Wróblewski Matematyka Elementarna, zima 2013/14. Czwartek 21 listopada zaczynamy od omówienia zadań z kolokwium nr 2.

Matematyka z kluczem. Szkoła podstawowa nr 18 w Sosnowcu. Przedmiotowe zasady oceniania klasa 7

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY IV

Matematyka z kluczem

Algorytmy i struktury danych. Wykład 4

C++ wprowadzanie zmiennych

Wymagania na poszczególne oceny w klasie I gimnazjum do programu nauczania MATEMATYKA NA CZASIE

Katarzyna Bereźnicka Zastosowanie arkusza kalkulacyjnego w zadaniach matematycznych. Opiekun stypendystki: mgr Jerzy Mil

Algorytm. a programowanie -

Matematyka na czasie Przedmiotowe zasady oceniania wraz z określeniem wymagań edukacyjnych dla klasy 1

WYMAGANIA EGZAMINACYJNE DLA KLASY III GIMNAZJUM

WYMAGANIA NA POSZCZEGÓLNE OCENY MATEMATYKA KL.VII

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA IV

WYKŁAD 3 (13 MARZEC 2014) LICZBY CAŁKOWITE I RZECZYWISTE. Bartosz Łakomy i Dariusz Dobiesz

Wstęp do Informatyki

Zadania przygotowawcze do konkursu o tytuł NAJLEPSZEGO MATEMATYKA KLAS PIERWSZYCH I DRUGICH POWIATU BOCHEŃSKIEGO rok szk. 2017/2018.

PROGRAMOWANIE W C++ ZADANIA

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

Proste programy w C++ zadania

Konstrukcje warunkowe Pętle

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

MATEMATYKA klasa IV wymagania edukacyjne na poszczególne oceny

REALIZACJA TREŚCI PODSTAWY PROGRAMOWEJ PRZEZ PROGRAM MATEMATYKA Z PLUSEM

Programowanie obiektowe - zadania

DZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH.

Liczby. Wymagania programowe kl. VII. Dział

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

dobry (wymagania rozszerzające) dodaje i odejmuje w pamięci liczby naturalne z przekraczaniem progu dziesiątkowego


Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.

Wymagania edukacyjne z matematyki w klasie VII szkoły podstawowej

KURS MATURA ROZSZERZONA część 1

WIOLETTA NAWROCKA nauczyciel matematyki w Zespole Szkół w Choczewie IDĘ DO GIMNAZJUM ZADANIA TESTOWE Z MATEMATYKI DLA UCZNIÓW KL. VI.

ZADANIA OTWARTE KRÓTKIEJ ODPOWIEDZI

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

KURS MATURA ROZSZERZONA część 1

Jarosław Wróblewski Matematyka Elementarna, lato 2014/15

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

NOWA FORMUŁA EGZAMIN MATURALNY Z MATEMATYKI POZIOM ROZSZERZONY MMA 2019 UZUPEŁNIA ZDAJĄCY. miejsce na naklejkę

Próbny egzamin maturalny z matematyki Poziom rozszerzony

Zestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!

Część 4 życie programu

Matematyka w klasie 4

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA VII

1 Powtórzenie wiadomości

ROZKŁAD MATERIAŁU DLA 3 KLASY GIMNAZJUM

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Programowanie strukturalne i obiektowe. Funkcje

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Wymagania na poszczególne oceny szkolne z matematyki. dla uczniów klasy Ia i Ib. Gimnazjum im. Jana Pawła II w Mętowie. w roku szkolnym 2015/2016

NOWA FORMUŁA EGZAMIN MATURALNY Z MATEMATYKI POZIOM ROZSZERZONY MMA 2019 UZUPEŁNIA ZDAJĄCY. miejsce na naklejkę

Zaprojektować i zaimplementować algorytm realizujący następujące zadanie.

UZUPEŁNIA ZDAJĄCY miejsce na naklejkę

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Olimpiada O Diamentowy Indeks AGH 2017/18. Informatyka Etap III

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA IV DOBRY DZIAŁ 1. LICZBY NATURALNE

Wymagania edukacyjne z matematyki dla klasy VII

Wymagania edukacyjne z matematyki dla uczniów klasy VII szkoły podstawowej

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

UZUPEŁNIA ZDAJĄCY miejsce na naklejkę

Transkrypt:

Programowanie zaawansowane FM i IN 2017/2018 Zadania domowe seria 1. Termin: 8 maja 2018 r. Autorem wszystkich zadań jest dr Przemysław Olbratowski. Rozwiązaniem każdego z zadań powinien być plik lub więcej plików zawierających kod w języku C++, mających standardowe rozszerzenia, np..cpp,.h. Nazwa pliku powinna mieć postać nazwisko-zadanie.roz, np. kowalski-calc.cpp. W przypadku istnienia kilku plików o tych samych rozszerzeniach należy jeszcze dodać do nazwy ich numery: nazwisko-zadanie-numer.roz, np. kowalski-calc-1.cpp, kowalski-calc-2.cpp. Zadanie 1. calc Kalkulator pięciodziałaniowy (0,5 pkt.) Napisz program calc implementujący kalkulator, który wykonuje cztery podstawowe działania arytmetyczne oraz wyciąga pierwiastek kwadratowy. Po uruchomieniu program wczytuje ze standardowego wejścia liczbę 1, 2, 3, 4, lub 5, definiującą działanie, które ma zostać wykonane: odpowiednio dodawanie, odejmowanie, mnożenie, dzielenie i pierwiastkowanie. Następnie program wczytuje argumenty wybranego działania w odpowiedniej ilości i wypisuje na standardowe wyjście jego wynik. Jeżeli którąkolwiek daną podano niepoprawnie, program wypisuje komunikat o błędzie. Użyj instrukcji switch. 2 7.5 5.2 2.3 Zadanie 2. barometric Wzór barometryczny (0,5 pkt.) Wzór barometryczny h = RT ( ) p gµ log, p 0 gdzie R = 8, 3144598, g = 9, 80665, µ 0, 0289644, zaś p 0 = 1013, 25, wiąże wyrażoną w metrach wysokość h nad poziomem morza z ciśnieniem atmosferycznym p, wyrażonym w hektopaskalach, oraz temperaturą powietrza T, wyrażoną w kelwinach. Napisz funkcję barometric, która przyjmuje p i T oraz zwraca h. Korzystając z tej funkcji, napisz program barometric, który wczytuje ze standardowego wejścia p i T oraz wypisuje na standardowe wyjście obliczoną wartość h. 955 290 502.596 1

Zadanie 3. leap Lata przestępne (1 pkt.) Według kalendarza gregoriańskiego przestępne są lata podzielne przez 4 z wyjątkiem lat podzielnych przez 100, ale niepodzielnych przez 400. Napisz program leap, który wczytuje ze standardowego wejścia rok i wypisuje na standardowe wyjście Rok (r) jest przestępny., jeśli jest on przestępny, lub Rok (r) nie jest przestępny. w przeciwnym przypadku (w obu przypadkach w miejsce (r) należy wstawić rok). 2000 Rok 2000 jest przestępny. Zadanie 4. rnd Zaokrąglanie liczb (0,5 pkt.) Zdefiniowana w pliku nagłówkowym cmath funkcja round zaokrągla podaną liczbę rzeczywistą do najbliższej liczby całkowitej; na przykład round(3.14159) daje w wyniku 3. Korzystając z tej funkcji napisz funkcję rnd, która przyjmuje liczbę rzeczywistą oraz liczbę cyfr po przecinku i zwraca podaną liczbę rzeczywistą zaokrągloną do podanej liczby cyfr po przecinku. Wykorzystując napisaną funkcję napisz program rnd, który wczytuje ze standardowego wejścia liczbę rzeczywistą oraz liczbę cyfr po przecinku i wypisuje na standardowe wyjście podaną liczbę rzeczywistą zaokrągloną do podanej liczby cyfr po przecinku. 3.14159 3 3.142 Zadanie 5. fraction Część całkowita i ułamkowa (0,5 pkt.) Napisz funkcję fraction, która przyjmuje jako argumenty zmienną rzeczywistą oraz referencje dwóch zmiennych rzeczywistych i wpisuje do tych zmiennych odpowiednio część całkowitą (cechę) oraz ułamkową (mantysę) wartości otrzymanej jako pierwszy argument. Korzystając z tej funkcji napisz program fraction, który wczytuje ze standardowego wejścia liczbę rzeczywistą i wypisuje na standardowe wyjście jej część całkowitą oraz ułamkową. 3.141592 3 0.141592 Zadanie 6. dms Stopnie, minuty i sekundy (1 pkt.) W geografii kąty wyraża się zwykle podając całkowitą liczbę stopni, minut i sekund. Napisz funkcję dms, która przyjmuje jako argumenty zmienną zawierającą niecałkowitą liczbę stopni oraz referencje trzech zmiennych całkowitych i wpisuje do tych zmiennych całkowite liczby stopni, minut oraz sekund. Korzystając z tej funkcji napisz program dms, który wczytuje ze standardowego wejścia niecałkowitą liczbę stopni i wypisuje na standardowe wyjście odpowiednio całkowite liczby stopni, minut i sekund. 123.37 2

123 22 12 Zadanie 7. quadratic Równanie kwadratowe (0,5 pkt.) Napisz funkcję quadratic rozwiązującą równanie kwadratowe ax 2 + bx + c = 0. Funkcja przyjmuje trzy zmienne rzeczywiste, reprezentujące wartości parametrów a, b, c, oraz referencje dwóch zmiennych rzeczywistych i zwraca wyróżnik równania. Jeżeli równanie posiada rozwiązania, funkcja wpisuje je do otrzymanych referencji (jeśli istnieje tylko jedno rozwiązanie, jest wpisywane do pierwszej z referencji). Korzystając z tej funkcji napisz program quadratic, który wczytuje ze standardowego wejścia parametry a, b i c oraz wypisuje na standardowe wyjście wyróżnik równania. Ponadto, jeśli równanie posiada rozwiązania, program wypisuje je na standardowe wyjście. 2-7 -15 169-1.5 5 Zadanie 8. swap Zamiana wartości zmiennych (0,5 pkt.) Napisz funkcję swap, która przyjmuje jako argumenty referencje dwóch zmiennych rzeczywistych i zamienia ich wartości. Funkcja powinna być przystosowana do użycia w następującym programie: #include <iostream> using namespace std; int main() { double a = 2.71828, b = 3.14159; swap(a, b); cout << a << " " << b << endl; return 0; } Wykonanie 3.14159 2.71828 Zadanie 9. less Mniejsza z dwóch liczb (0,5 pkt.) Napisz funkcję less, która przyjmuje jako argumenty referencje dwóch zmiennych rzeczywistych i zwraca referencję tej z nich, która ma mniejszą wartość. Funkcja powinna być przystosowana do użycia w następującym programie: #include <iostream> using namespace std; int main() { double a = 3.1, b = 7.2; less(a, b) = 10.3; 3

} cout << a << " " << b << endl; return 0; Wykonanie 10.3 7.2 Zadanie 10. triangle Trójkąt z gwiazdek (0,5 pkt.) Napisz program triangle, który wczytuje ze standardowego wejścia liczbę naturalną n i drukuje na standardowe wyjście trójkąt z gwiazdek mający n wierszy i n kolumn. 5 * ** *** **** ***** Zadanie 11. squares Kwadraty liczb naturalnych (0,5 pkt.) Napisz program squares, który wczytuje ze standardowego wejścia liczbę naturalną n, po czym wypisuje na standardowe wyjście podzielne przez 2 lub przez 3 kwadraty liczb naturalnych mniejszych od n. 10 4 9 16 36 64 81 Zadanie 12. meanmax Średnia arytmetyczna liczb i największa z liczb (1 pkt.) Napisz program meanmax, który czyta ze standardowego wejścia liczby rzeczywiste aż do napotkania znaku końca pliku i wypisuje na standardowe wyjście ich średnią arytmetyczną oraz największą z nich. Jeżeli nie wprowadzono żadnej liczby, program nic nie wypisuje. 2.5 0.3 1.7 0.25 3.75 [EOF] 1.7 3.75 Zadanie 13. sum Suma szeregu skończonego (1 pkt.) Napisz program sum, który wczytuje ze standardowego wejścia liczbę naturalną n i wypisuje na standardowe wyjście sumę n ( 1) k+1 4 2k 1. k=1 4

1000 3.14059 Zadanie 14. fibonacci Ciąg Fibonacciego (1 pkt.) Ciąg Fibonacciego zaczyna się od wyrazów 0 i 1, a każdy następny wyraz jest sumą dwóch poprzednich. Napisz program fibonacci, który wczytuje ze standardowego wejścia liczbę naturalną n i drukuje na standardowe wyjście n pierwszych wyrazów ciągu Fibonacciego. 10 0 1 1 2 3 5 8 13 21 34 Zadanie 15. guess Zabawa w zgadywanie liczby (1 pkt.) Napisz program guess odgadujący pomyślaną przez użytkownika liczbę. Przed uruchomieniem programu użytkownik wybiera losowo liczbę całkowitą z przedziału od 0 włącznie do 100 wyłącznie. Po uruchomieniu program wypisuje na standardowe wyjście pewną liczbę z tego przedziału i wczytuje ze standardowego wejścia odpowiedź użytkownika równą -1, 0, lub 1. Odpowiedzi te oznaczają odpowiednio, że pomyślana przez użytkownika liczba jest mniejsza, równa lub większa od liczby wyświetlonej przez program. Program kontynuuje zgadywanie aż do odgadnięcia właściwej liczby. Zadanie 16. deserter Brakująca liczba (1 pkt.) Spośród liczb naturalnych od 1 do n włącznie usuwamy losowo jedną, a resztę zapisujemy w przypadkowej kolejności. Napisz program deserter, który czyta zapisane liczby ze standardowego wejścia aż do napotkania znaku końca pliku i wypisuje na standardowe wyjście tę brakującą. 2 5 1 4 [EOF] 3 Zadanie 17. pass Mijanie się zer i jedynek (1 pkt.) Zapisujemy w jednej linii losowo zera i jedynki, oddzielając je spacjami. W pewnej chwili wszystkie zera przesuwają się na początek linii, a wszystkie jedynki na koniec. Napisz program pass, który czyta ze standardowego wejścia zapisane liczby aż do napotkania znaku końca pliku i wypisuje na standardowe wyjście, ile razy zera miną się z jedynkami. 0 1 1 0 1 0 1 [EOF] 5 5

Zadanie 18. polygonal Długość łamanej (1 pkt.) Napisz program polygonal, który czyta ze standardowego wejścia współrzędne punktów na płaszczyźnie aż do napotkania znaku końca pliku i wypisuje na standardowe wyjście długość łamanej otwartej łączącej te punkty, od pierwszego do ostatniego. Jeżeli nie podano ani jednej pary liczb, program nic nie wypisuje. -0.3 7.5 9.5-3.7 5.0 0.4 [EOF] 20.969 Zadanie 19. section Losowy rozkład liczby (1 pkt.) Napisz program section, który wczytuje ze standardowego wejścia dodatnią liczbę rzeczywistą x oraz liczbę naturalną n, po czym wypisuje na standardowe wyjście n losowych liczb dodatnich, których suma wynosi x. 10 3 5.4095 3.45354 1.13696 Zadanie 20. pimc Obliczanie liczby π metodą Monte Carlo (1 pkt.) Przybliżoną wartość liczby π można wyznaczyć następująco. Rozważmy kwadrat o wierzchołkach w punktach (0, 0), (0, 1), (1, 0), (1, 1) oraz zawartą w nim ćwiartkę koła o środku w punkcie (0, 0) i promieniu 1. Pola kwadratu i ćwiartki koła wynoszą odpowiednio A s = 1 i A c = π/4. Wybierzmy losowo dużo punktów tak, aby równomiernie wypełniały cały kwadrat. Stosunek liczby N c punktów wewnątrz ćwiartki koła do liczby N s wszystkich punktów w kwadracie jest w przybliżeniu równy stosunkowi pól tych figur, N c /N s A c /A s. Dostajemy stąd π 4N c N s Napisz program pimc, który czyta ze standardowego wejścia liczbę punktów do wylosowania i wypisuje na standardowe wyjście otrzymane przybliżenie liczby π. 10000 3.144 Zadanie 21. statistics Średnia i odchylenie standardowe (0,5 pkt.) Średnia arytmetyczna x z próby n liczb rzeczywistych x 1,..., x n oraz jej odchylenie standardowe σ dane są wzorami x = 1 n x k, σ = 1 n (x k x) 2 n n (n 1) k=1 k=1 6

Napisz program statistics, który czyta ze standardowego wejścia liczby rzeczywiste aż do napotkania znaku końca pliku i wypisuje na standardowe wyjście ich średnią arytmetyczną oraz jej odchylenie standardowe. 1 2 3 4 5 6 7 8 9 10 [EOF] 5.5 0.957427 Zadanie 22. prime Czy liczba jest pierwsza? (1 pkt.) Napisz funkcję prime, która przyjmuje jako argument liczbę naturalną i zwraca prawdę (true), jeśli jest ona pierwsza, lub fałsz (false) w przeciwnym razie. Korzystając z tej funkcji napisz program prime, który wczytuje ze standardowego wejścia liczbę naturalną i wypisuje na standardowe wyjście Podana liczba jest pierwsza., jeśli jest ona pierwsza, lub Podana liczba nie jest pierwsza. w przeciwnym razie. 97 Podana liczba jest pierwsza. Zadanie 23. bifactorial Podwójna silnia (1 pkt.) Podwójna silnia liczby naturalnej n, oznaczana jako n!!, to iloczyn wszystkich liczb naturalnych mniejszych lub równych n o takiej samej parzystości jak n, przy czym 0!! = 1. Napisz funkcję bifactorial, która przyjmuje jako argument liczbę naturalną i zwraca jej podwójną silnię. Korzystając z tej funkcji napisz program bifactorial, który wczytuje ze standardowego wejścia liczbę naturalną i wypisuje na standardowe wyjście jej podwójną silnię. 6 48 Zadanie 24. digits Cyfry dziesiętne (1 pkt.) Napisz funkcję digits, która przyjmuje liczbę naturalną i zwraca liczbę cyfr w jej zapisie dziesiętnym, oraz funkcję digit, która przyjmuje liczbę naturalną oraz numer cyfry w jej zapisie dziesiętnym i zwraca tę cyfrę. Cyfry numerujemy od zera dla cyfry jedności. Korzystając z tych funkcji napisz program digits, który wczytuje ze standardowego wejścia liczbę naturalną i wypisuje na standardowe wyjście jej cyfry oddzielone spacjami. 517 5 1 7 7

Zadanie 25. sqroot Pierwiastek kwadratowy (1 pkt.) Pierwiastek kwadratowy z liczby rzeczywistej x można obliczyć następująco. Jeżeli x < 1, pierwiastek leży między 0 a 1, zaś w przeciwnym razie między 1 a x. Bierzemy środek r odpowiedniego z tych przedziałów. Jeżeli x < r 2, to poszukiwany pierwiastek leży w lewej połowie przedziału, zaś w przeciwnym razie leży w prawej połowie. Do dalszych rozważań bierzemy więc odpowiednią połowę, dzielimy ją na pół i tak dalej. Dzięki temu w każdym kroku dwukrotnie zawężamy przedział, w którym leży pierwiastek. Ze względu na skończoną dokładność obliczeń środek któregoś kolejnego przedziału okaże się numerycznie równy jednemu z jego krańców. Napisz funkcję root, która przyjmuje jako argument liczbę rzeczywistą i zwraca jej pierwiastek obliczony opisaną metodą. Korzystając z tej funkcji napisz program root, który wczytuje ze standardowego wejścia liczbę rzeczywistą i wypisuje na standardowe wyjście oddzielone spacją dwie wartości jej pierwiastka: pierwszą obliczoną za pomocą funkcji root, zaś drugą odpowiednią funkcją biblioteczną. 7 2.64575 2.64575 Zadanie 26. random Liczby losowe (1 pkt.) Napisz funkcję random, która przyjmuje jako argumenty liczby rzeczywiste a oraz b i zwraca losową liczbę rzeczywistą z przedziału [a, b]. Korzystając z tej funkcji napisz program random, który wczytuje ze standardowego wejścia liczby a oraz b, a także liczbę losowań n i wypisuje na standardowe wyjście n losowych liczb rzeczywistych z przedziału od a do b. -5 5 7 4.81355-0.225038 2.74384 3.69302-2.53199-0.0405286 4.44732 Zadanie 27. coin Rzut oszukaną monetą (1 pkt.) Napisz funkcję coin symulującą rzut oszukaną monetą. Funkcja przyjmuje jako argument prawdopodobieństwo wyrzucenia orła i zwraca prawdę (true), jeśli wypadł orzeł, oraz fałsz (false), jeśli reszka. Korzystając z tej funkcji napisz program coin, który wczytuje ze standardowego wejścia prawdopodobieństwo wyrzucenia orła oraz liczbę rzutów i wypisuje na standardowe wyjście wyniki tych rzutów. 0.2 5 orzeł reszka orzeł reszka reszka Zadanie 28. rng Generator liczb pseudolosowych (1 pkt.) Napisz funkcję rng zwracającą pseudolosowe liczby całkowite, obliczane za pomocą prostego liniowego generatora kongruentnego: funkcja oblicza kolejną liczbę x n+1 na podstawie poprzedniej liczby x n ze wzoru x n+1 = (33x n + 1) mod 1024. 8

Funkcja nie przyjmuje żadnych argumentów i nie korzysta ze zmiennych globalnych. Korzystając z tej funkcji napisz program rng, który wczytuje ze standardowego wejścia liczbę naturalną n i wypisuje na standardowe wyjście n kolejnych liczb pseudolosowych, poczynając od jedynki. 10 1 34 99 196 325 486 679 904 137 426 Zadanie 29. euclid Algorytm Euklidesa (1 pkt.) Największy wspólny dzielnik dwóch liczb naturalnych można znaleźć następującą metodą, przypisywaną Euklidesowi. Pierwszą liczbę zastępujemy resztą z dzielenia przez drugą i zamieniamy liczby miejscami. Czynność tę powtarzamy aż jedna z liczb stanie się równa zeru. Wtedy druga jest poszukiwanym największym wspólnym dzielnikiem wyjściowych liczb. Najmniejszą wspólną wielokrotność dwóch liczb naturalnych można obliczyć dzieląc ich iloczyn przez największy wspólny dzielnik. Napisz funkcję euclid obliczającą jednocześnie największy wspólny dzielnik i najmniejszą wspólną wielokrotność dwóch liczb naturalnych. Funkcja przyjmuje jako argumenty referencje dwóch zmiennych całkowitych, które przed wywołaniem funkcji zawierają wyjściowe liczby, i wpisuje do tych zmiennych odpowiednio największy wspólny dzielnik i największą wspólną wielokrotność tych liczb. Korzystając z tej funkcji napisz program euclid, który wczytuje ze standardowego wejścia dwie liczby naturalne i wypisuje na standardowe wyjście ich największy wspólny dzielnik oraz najmniejszą wspólną wielokrotność. 60 1240 20 3720 Zadanie 30. quiz Test z tabliczki mnożenia (1 pkt.) Napisz program quiz, który wypisuje na standardowe wyjście pięć losowych pytań z tabliczki mnożenia liczb od 1 do 10 i wczytuje odpowiedzi ze standardowego wejścia. Każde pytanie zadaje aż do uzyskania poprawnej odpowiedzi. 5 1 3 5 1 5 10 5 50 3 5 9

15 5 6 30 8 7 56 Zadanie 31. factor Rozkład liczby na czynniki pierwsze (1 pkt.) Liczbę naturalną można rozłożyć na czynniki pierwsze w następujący sposób. Sprawdzamy, czy liczba jest podzielna przez 2. Jeżeli tak, dopisujemy 2 do rozkładu, a samą liczbę dzielimy przez 2. Czynność tę powtarzamy tak długo, aż liczba przestanie być podzielna przez 2. Następnie postępujemy w ten sam sposób, badając podzielność przez 3, 4 i tak dalej, aż rozważana liczba stanie się równa 1. Napisz program factor, który wczytuje ze standardowego wejścia liczbę naturalną i wypisuje na standardowe wyjście jej rozkład na czynniki pierwsze. 517 11 47 Zadanie 32. tri Liczby trzycyfrowe (1 pkt.) Napisz program tri wypisujący na standardowe wyjście w kolejności rosnącej wszystkie liczby trzycyfrowe, których cyfra setek to 1, 2, 5, 6, 7, lub 9, cyfra dziesiątek jest potęgą dwójki, cyfra jedności jest parzysta, a suma cyfr dzieli się przez 7. Program wypisuje te liczby przy użyciu odpowiednich pętli. Wykonanie 124 142 214 248 284 518 520 588 610 626 644 680 716 786 914 948 984 Zadanie 33. pitagoras Trójki pitagorejskie (1 pkt.) Trójką pitagorejską nazywamy każdą trójkę liczb naturalnych (a, b, c) taką, że a 2 +b 2 = c 2. Trójkę nazywamy pierwotną, jeżeli liczby a, b, c są względnie pierwsze. Napisz program pitagoras, który wczytuje ze standardowego wejścia liczbę naturalną C i wypisuje na standardowe wyjście wszystkie pierwotne trójki pitagorejskie, dla których c < C. 30 3 4 5 5 12 13 8 15 17 7 24 25 20 21 29 10