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