Ćwiczenia w budowaniu klas

Transkrypt

Ćwiczenia w budowaniu klas
Ćwiczenie 2
1
Definiowanie klas
Ćwiczenia to poświęcone są utrwaleniu umiejętności w definiowaniu i
wykorzystaniu prostych klas. Obejmują m.in. ćwiczenia pozwalające utrwalić
definiowanie konstruktorów, funkcji składowych spełniających rolę akcesorów
i realizatorów.
Materiał teoretyczny, niezbędny dla zrozumienia prezentowanych przykładów
zawierają materiały wykładowe dostępne online, w postaci dokumentu pdf, pod
adresem: http://www.us.edu.pl/~siminski.
1.1 Ćwiczenie 1 — klasa RownanieKwadratowe
Dane jest równanie kwadratowe:
Ax2 + Bx + Cx = 0
Należy zaprojektować klasę RownanieKwadratowe, przechowującą współczynniki
takiego równania i pozwalającą na obliczanie wyznacznika (delty) i miejsc
zerowych.
Klasa posiada prywatne pola A, B, C, będące liczbami całkowitymi, reprezentujące
współczynniki równania. Każde z pól posiada akcesory w postaci funkcji
składowych, np. ustawA(), pobierzA(). Klasa powinna posiadać funkcje składową
delta() obliczającą deltę oraz trzy funkcje obliczające miejsca zerowe: jedną do
obliczania pierwiastka podwójnego (delta==0) oraz dwie osobne, do obliczania
pierwiastków, gdy delta ma wartość dodatnią.
Obiekt ten może być wykorzystany w następujący sposób:
RownanieKwadratowe r;
double num;
cout << ’Podaj A:’;
cin >> num;
r.ustawA( num );
cout << ’Podaj B:’;
cin >> num;
r.ustawB( num );
Wprowadzenie do programowania w języku C++
Obiekty reprezentujące pojęcia matematyczne
cout << ’Podaj C:’;
cin >> num;
r.ustawC( num );
if( r.delta() > 0 )
cout << ”Pierwiastki rownania x1=” << r.obliczX1() << ” x2=”
<< r.obliczX2() << endl;
else
if(r.delta() = 0 )
cout << ”Pierwiastek podwójny x12=” << r.obliczX12() << endl;
else
cout << ”Brak pierwiastkow rzeczywistych” << endl;
Klas powinna być wyposażona w konstruktor domyślny, trzyparametrowy
konstruktor ogólny, co pozwoli deklarować obiekty klasy RownanieKwadratowe w
następujący sposób:
RownanieKwadratowe r1;
// Konstruktor inicjuje A=B=C=0;
RownanieKwadratowe r2(3,2,1); // Konstruktor inicjuje A=3,B=2,C=1;
Należy się zastanowić nad przypadkiem, gdy równanie staje się liniowym, tzn. A=0
i zaproponować rozwiązanie tego problemu.
1.2 Ćwiczenie 2 — układ równań liniowych
Dany jest układ równań liniowych
A1x + B1y = C1
A2x + B2y = C2
Rozwiązanie układu równań może polegać na wyliczeniu odpowiednich
wyznaczników W, Wx, Wy a następnie ich iloczynów — zgodnie z informacjami
poznanym na zajęciach z matematyki.
Należy zaprojektować i zaimplementować w języku C++ obiektowy program
pozwalający na rozwiązywanie dowolnego układu takich równań. Program
powinien umożliwiać wczytanie współczynników A1, B1, C1, B2, C2, następnie
powinien wyznaczyć rozwiązania równań metodą wyznacznikową. Należy
identyfikować i prawidłowo zareagować na sytuację, gdy układ jest nieokreślony.
Pełny, skomentowany kod źródłowy programu rozwiązującego układ
równań, zawierający informację o autorach (maksymalnie dwie osoby)
należy przesłać na adres [email protected]. Przypominam, że praca ma
być wykonana (w obrębie sekcji) samodzielnie.
Przykłady i ćwiczenia
1.3 Co po tym ćwiczeniu należy umieć?
Zakładam, że wszystkie umiejętności zdobyte przy wykonywaniu ćwiczenia 1-go,
zostały pogłębione i utrwalone.
Wprowadzenie do programowania w języku C++

Podobne dokumenty