16.07.2014 Views

Programowanie. Teoria i praktyka z wykorzystaniem C++

Programowanie. Teoria i praktyka z wykorzystaniem C++

Programowanie. Teoria i praktyka z wykorzystaniem C++

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

WICZENIA 213<br />

3. Zmie znak polecenia drukowania na =.<br />

4. Dodaj do funkcji main() komunikat powitalny:<br />

„Witaj w naszym prostym kalkulatorze.<br />

W wyraeniach stosuj liczby zmiennoprzecinkowe.”<br />

5. Dodaj do komunikatu powitalnego informacj o tym, jakie operatory s obsugiwane oraz<br />

jak drukowa wynik i zakoczy dziaanie programu.<br />

6. Znajd trzy bdy logiczne w programie, które zostay tam przemylnie ukryte, i popraw<br />

je, aby kalkulator zwraca prawidowe wyniki.<br />

Powtórzenie<br />

1. Co rozumiemy pod pojciem „Programowa to zrozumie”? Wymie trzy gówne fazy<br />

produkcji oprogramowania.<br />

2. W rozdziale tym zosta szczegóowo opisany proces tworzenia kalkulatora. Napisz krótk<br />

specyfikacj wymaga dla takiego programu.<br />

3. W jaki sposób dzieli si problem na mniejsze, atwiejsze do ogarnicia czci?<br />

4. Dlaczego utworzenie ograniczonej wersji programu jest dobrym pomysem?<br />

5. Co jest zego w mnoeniu wymaga dotyczcych funkcjonalnoci na pocztku pracy nad<br />

programem?<br />

6. Co to jest „przypadek uycia”?<br />

7. Jaki jest cel przeprowadzania testów?<br />

8. Posikujc si informacjami zawartymi w rozdziale, opisz rónic midzy skadnikiem<br />

(Term), wyraeniem (Expression), liczb (Number) i czynnikiem (Primary).<br />

9. Dane wejciowe kalkulatora rozkadalimy na nastpujce elementy: skadnik, wyraenie,<br />

czynnik i liczba. Rozó w ten sposób wyraenie (17+4)/(5–1).<br />

10. Dlaczego w programie nie ma funkcji o nazwie number()?<br />

11. Co to jest token?<br />

12. Co to jest gramatyka? Co to jest regua gramatyki?<br />

13. Co to jest klasa? Do czego su klasy?<br />

14. Co to jest konstruktor?<br />

15. Dlaczego w funkcji expression() klauzula default instrukcji switch wstawia token z powrotem<br />

do strumienia?<br />

16. Co to znaczy „wczyta z wyprzedzeniem”?<br />

17. Co robi funkcja putback() i dlaczego jest przydatna?<br />

18. Co nastrcza trudnoci w implementacji operatora % (modulo) w funkcji term()?<br />

19. Do czego su dwie zmienne skadowe klasy Token?<br />

20. Dlaczego czasami skadowe klasy dzieli si na publiczne i prywatne?<br />

21. Co dzieje si w klasie Token_stream, gdy w buforze jest token i zostanie wywoana funkcja<br />

get()?<br />

22. Po co zostay dodane znaki ';' i 'k' do instrukcji switch w funkcji get() w klasie Token_<br />

stream?

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!