Io-13-lab-wiki: Różnice pomiędzy wersjami
Nie podano opisu zmian |
|||
Linia 5: | Linia 5: | ||
Celem ćwiczenia jest zrealizowanie prostego programu rozwijanego w wielu przyrostach. | Celem ćwiczenia jest zrealizowanie prostego programu rozwijanego w wielu przyrostach. | ||
==Zadanie== | ==Instalacja== | ||
Przygotowanie do ćwiczenia polega na zainstalowaniu [http://java.sun.com/javase/downloads/index.jsp JDK 5.0] oraz Ĺ›rodowiska [http://www.eclipse.org/downloads Eclipse] w wersji 3.2 | |||
Po uruchomieniu środowiska i wyborze przestrzeni roboczej należy zaimportować [[media:io-13-lab.zip|projekt]] z rozwiązaniami początkowymi. | |||
==Zadanie 1== | |||
W kolejnych krokach będzie rozwijany program realizujący proste obliczenia matematyczne. Należy każdy krok zapisywać w postaci osobnych projektów Eclipse. | W kolejnych krokach będzie rozwijany program realizujący proste obliczenia matematyczne. Należy każdy krok zapisywać w postaci osobnych projektów Eclipse. | ||
Linia 23: | Linia 27: | ||
===Krok 1=== | ===Krok 1=== | ||
Rozszerz kalkulator o wykonywanie operacji bitowych dwuargumentowych alternatywy (|) i koniunkcji (&). Zastąp liczby całkowite liczbami zmiennoprzecinkowymi | |||
Rozszerz kalkulator o wykonywanie operacji bitowych dwuargumentowych alternatywy (|) i koniunkcji (&). Zastąp liczby całkowite liczbami zmiennoprzecinkowymi | |||
===Krok 2=== | ===Krok 2=== | ||
Zastąp notację infiksową notacją RPN, w której argumenty odkładane są na stosie ulegającym redukcji. Np. zapis 2 + 3 będzie miał postać 2 3 + | |||
Zastąp notację infiksową notacją RPN, w której argumenty odkładane są na stosie ulegającym redukcji. Np. zapis | |||
===Krok 3=== | ===Krok 3=== | ||
Zaimplementuj operacje na ułamkach zwykłych, zapisywanych w postaci a/b (bez spacji). | |||
Zaimplementuj operacje na ułamkach zwykłych, zapisywanych w postaci | |||
Wynik obliczany powinien skracać ułamki oraz wyłączać części całe. | Wynik obliczany powinien skracać ułamki oraz wyłączać części całe. | ||
==Pytania do dyskusji== | ==Pytania do dyskusji== | ||
* Na podstawie rozwoju programu oceń jakość kodu na kolejnych etapach. Co - Twoim zdaniem - jest najważniejszym elementem przyczyniającym się do jakości kodu programu w kolejnych iteracjach? | * Na podstawie rozwoju programu oceń jakość kodu na kolejnych etapach. Co - Twoim zdaniem - jest najważniejszym elementem przyczyniającym się do jakości kodu programu w kolejnych iteracjach? | ||
* Czy wybór początkowego rozwiązania miał wpływ na jakość końcowej wersji? | * Czy wybór początkowego rozwiązania miał wpływ na jakość końcowej wersji? |
Wersja z 23:53, 4 wrz 2006
Ćwiczenie 13. Ewolucja oprogramowania
Informacje wstępne
Ćwiczenie jest realizowane w języku Java w środowisku Eclipse 3.2. Celem ćwiczenia jest zrealizowanie prostego programu rozwijanego w wielu przyrostach.
Instalacja
Przygotowanie do ćwiczenia polega na zainstalowaniu JDK 5.0 oraz Ĺ›rodowiska Eclipse w wersji 3.2 Po uruchomieniu środowiska i wyborze przestrzeni roboczej należy zaimportować projekt z rozwiązaniami początkowymi.
Zadanie 1
W kolejnych krokach będzie rozwijany program realizujący proste obliczenia matematyczne. Należy każdy krok zapisywać w postaci osobnych projektów Eclipse.
Punkt wyjściowy
Na początku kalkulator wykonuje 4 podstawowe operacje matematyczne: +, -, *, / na liczbach całkowitych Kalkulator wczytuje polecenia ze strumienia wejściowego, po jednym w każdej linii. Polecenie ma postać:
liczba operator liczba
przy czym między liczbami a operatorem znajduje się zawsze przynajmniej jedna spacja. Program w odpowiedzi wyświetla wyniki wykonania operacji.
Przykładowe programy, posiadające opisaną w tym punkcie funkcjonalność, znajdują się tutaj. Są to dwa niezależne rozwiązania:
- KalkulatorA, stosujące podejście strukturalne
- KalkulatorB, wykorzystujące mechanizmy obiektowe
Zastanów się, którego z szablonów wolisz użyć. Jakie są kryteria wyboru?
Krok 1
Rozszerz kalkulator o wykonywanie operacji bitowych dwuargumentowych alternatywy (|) i koniunkcji (&). Zastąp liczby całkowite liczbami zmiennoprzecinkowymi
Krok 2
Zastąp notację infiksową notacją RPN, w której argumenty odkładane są na stosie ulegającym redukcji. Np. zapis 2 + 3 będzie miał postać 2 3 +
Krok 3
Zaimplementuj operacje na ułamkach zwykłych, zapisywanych w postaci a/b (bez spacji). Wynik obliczany powinien skracać ułamki oraz wyłączać części całe.
Pytania do dyskusji
- Na podstawie rozwoju programu oceń jakość kodu na kolejnych etapach. Co - Twoim zdaniem - jest najważniejszym elementem przyczyniającym się do jakości kodu programu w kolejnych iteracjach?
- Czy wybór początkowego rozwiązania miał wpływ na jakość końcowej wersji?