Obliczanie daty Wielkanocy
Transkrypt
Obliczanie daty Wielkanocy
Laboratorium z Podstaw Programowania Zajęcia 1 ZADANIE 1 Program obliczający pole odcinka kołowego o zadanym promieniu R oraz kącie rozwarcia . Promieo R oraz kąt (w stopniach) należy wczytad z klawiatury. R UWAGA: Argumenty w funkcjach trygonometrycznych muszą byd podane w radianach, dlatego też wczytany kąt w stopniach należy przeliczyd na radiany wg wzoru: Liczba π ma w języku C++ nazwę M_PI. Aby skorzystad z tej stałej w programie, należy umieścid dyrektywę #define _USE_MATH_DEFINES Dyrektywa ta musi poprzedzad dyrektywę #include <math.h> którą również należy umieścid w programie. Przykładowy wynik: ZADANIE 2 Układ równao liniowych Napisz program na rozwiązanie układu dwóch równań liniowych: ax + by = e cx + dy = f stosując wzory Kramera. Współczynniki równań należy wczytać z klawiatury. Układ równao liniowych Układ równań liniowych z dwiema niewiadomymi Układ równań gdzie a1, a2, b1, b2 c1, c2 są dowolnymi liczbami przy czym a1 i a2 oraz b1 i b2 nie mogą być jednocześnie zerami nazywamy układem dwóch równań liniowych z dwiema niewiadomymi. Układ równao liniowych Metoda wyznaczników polega na wyznaczeniu tzw. wyznaczników i na podstawie ich wartości przeprowadzeniu analizy rozwiązań układu równań. Wyznacznik utworzony ze współczynników przy niewiadomych nazywamy wyznacznikiem głównym i oznaczamy przez W. W podobny sposób wyliczamy wyznaczniki pomocnicze Wx i Wy, w których kolumnę współczynników przy niewiadomych zastępujemy odpowiednio przez kolumnę wyrazów wolnych: Układ równao liniowych Analiza otrzymanych rozwiązań: Jeżeli W ≠ 0, to układ równań jest oznaczony i ma dokładnie jedno rozwiązanie: Jeżeli W = 0 oraz Wx ≠ 0 lub Wy ≠ 0, to układ równań jest sprzeczny. Jeżeli W = 0 i Wx = 0 i Wy = 0, to układ równań jest nieoznaczony. Układ równao liniowych Przykładowe rozwiązanie: Zadanie 3 Program, który wczytuje podany rok R i wyświetla, zgodnie z prawdą, napis „Rok R jest przestępny” lub „Rok R jest normalny”. Algorytm Rok przestępny spełnia jeden z następujących warunków: • jest podzielny przez 4, ale nie jest podzielny przez 100 • jest podzielny przez 400 Przykład: Czy rok 2008 jest rokiem przestępnym? Sprawdźmy pierwszy warunek, jest podzielny przez 4 (2008 mod 4 = 0), i nie jest podzielny przez 100 (2008 mod 100 = 8). Pierwszy warunek jest spełniony, zatem rok 2008 jest rokiem przestępnym. Czy rok 2000 jest rokiem przestępnym? Sprawdźmy pierwszy warunek, jest podzielny przez 4 (2000 mod 4 = 0), ale jest również podzielny przez 100 (2000 mod 100 = 0). A więc pierwszy warunek nie jest spełniony. Sprawdźmy zatem drugi warunek, jest podzielny przez 400 (2000 mod 400 = 0), zatem rok 2000 jest rokiem przestępnym. Zadanie 4 Algorytm obliczania daty Wielkanocy Obliczenie daty (algorytm numeryczny): • • • • • • • • • • • • • • • • jeżeli podany rok mieści się granicach od 1 do 1582: x = 15, y = 6; jeżeli podany rok mieści się granicach od 1583 do 1699: x = 22, y = 2; jeżeli podany rok mieści się granicach od 1700 do 1799: x = 23, y = 3; jeżeli podany rok mieści się granicach od 1800 do 1899: x = 23, y = 4; jeżeli podany rok mieści się granicach od 1900 do 2099: x = 24, y = 5; jeżeli podany rok mieści się granicach od 2100 do 2199: x = 24, y = 6; w przeciwnym wypadku wpisz „Nieprawidłowy rok” i wyjdź z procedury; a = reszta z dzielenia r (rok) przez 19; b = reszta z dzielenia r przez 4; c = reszta z dzielenia r przez 7; d = reszta z dzielenia (19 * a + x) przez 30; f = reszta z dzielenia (2 * b + 4 * c + 6 * d + y) przez 7; jeżeli f = 6 i d = 29, to Wielkanoc jest 26 kwietnia; jeżeli f = 6 i d = 28 i ((11 * x + 11) Mod 30 < 19), , to Wielkanoc jest 18 kwietnia; jeżeli (d + f) < 10, to Wielkanoc = (22 + d + f) marca; jeżeli (d + f) > 9, to Wielkanoc = (d + f - 9) kwietnia. 16 Zadanie 5 Napisz program, który określi wzajemne położenie prostej y = ax + b i okręgu x2 + y2 = r2, gdzie: a – współczynnik kierunku prostej; b – współczynnik przesunięcia prostej; r – promień okręgu. Parametry a, b i r należy wczytać z klawiatury. 18 Wynikiem wykonania programu powinien być jeden z trzech tekstów: Prosta przecina okrąg w dwóch punktach, Prosta jest styczna do okręgu, Prosta nie ma punktów wspólnych z okręgiem oraz współrzędne punktów. UWAGA: Dany układ dwóch równań należy przekształcić do postaci równania kwadratowego względem zmiennej x. Następnie należy rozwiązać równanie kwadratowe. Wzajemne położenie prostej i okręgu będzie zależało od wartości (delta). W przypadku = 0 jest jeden punkt wspólny (prosta jest styczną do okręgu); w przypadku > 0 prosta przecina okrąg w dwóch punktach; w przypadku < 0 prosta i okrąg nie mają punktów wspólnych. 19 Przykładowe rozwiązania: 20