Projektowanie oprogramowania Wstep do programowania i techniki komputerowej.pdf
(
496 KB
)
Pobierz
C:\Andrzej\PDF\ABC nagrywania p³yt CD\1 strona.cdr
IDZ DO
Projektowanie
oprogramowania.
Wstêp do programowania
i techniki komputerowej
PRZYK£ADOW
Y ROZDZIA£
SPIS TRECI
KATALOG KSI¥¯EK
KATALOG ONLINE
Autorzy: Matthias Felleisen, Robert Bruce Findler,
Matthew Flatt, Shriram Krishnamurthi
T³umaczenie: Bartosz Grabski, Miko³aj Szczepaniak
ISBN: 83-7197-922-3
Tytu³ orygina³
u:
How to Design Programs
Format: B5, stron: 644
Przyk³ady na ftp: 32 kB
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Umiejêtnoæ programowania nie ma ju¿ charakteru czysto zawodowego. Ksiêgowi
musz¹ siê pos³ugiwaæ arkuszami kalkulacyjnymi i edytorami tekstu, fotografowie
korzystaj¹ z edytorów zdjêæ, muzycy programuj¹ syntezatory, za profesjonalni
programici tworz¹ skomplikowane aplikacje. Programowanie jest wiêc bardzo
po¿¹dan¹ umiejêtnoci¹, potrzebn¹ nie tylko informatykom. Projektowanie
oprogramowania wymaga takich samych zdolnoci analitycznych, jak matematyka.
Jednak, w przeciwieñstwie do matematyki, praca z programami jest aktywnym
sposobem zdobywania wiedzy. Obcowanie z oprogramowaniem daje mo¿liwoæ sta³ej
interakcji, co pozwala na zg³êbianie wiedzy, eksperymentowanie z ni¹ oraz na sta³¹
samoocenê.
Autorzy tej klasycznej publikacji stawiaj¹ tezê, i¿ „ka¿dy powinien nauczyæ siê, jak
projektowaæ oprogramowanie” i w³anie nauka podstaw projektowania jest jej tematem
g³ównym. W ksi¹¿ce znajdziesz wiele podstawowych algorytmów, wyjanienia takich
pojêæ, jak akumulacja wiedzy czy równoæ ekstensjonalna i intensjonalna, s³owem
wszystko to, co stanowi teoretyczn¹ podstawê wiedzy programistycznej.
Poznasz miêdzy innymi:
• Podstawowe struktury, z których sk³adaj¹ siê programy komputerowe
• Proste i z³o¿ony typy danych
• Metody przetwarzania danych
• Programowanie z u¿yciem rekurencji, algorytmy z nawracaniem
• Projektowanie abstrakcyjne
• Sposoby gromadzenia wiedzy
• Wykorzystanie wektorów
Z lektury ksi¹¿ki „Projektowanie oprogramowania. Wstêp do programowania i techniki
komputerowej” skorzystaj¹ zarówno studenci informatyki, jak te¿ i s³uchacze innych
kierunków oraz wszystkie osoby, które chc¹ podbudowaæ swoj¹ wiedzê praktyczn¹
solidnymi i przydatnymi podstawami teoretycznymi.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
Przedmowa ............................................................................................................9
Dlaczego kady powinien uczy si programowa? .................................................................... 11
Metody projektowania....................................................................................................................... 12
Wybór Scheme i DrScheme............................................................................................................... 14
Podział ksi'ki..................................................................................................................................... 15
Podzikowania.................................................................................................................................... 18
Cz I Przetwarzanie prostych typów danych 19
1. Studenci, nauczyciele i komputery..........................................................21
2. Liczby, wyraenia i proste programy .....................................................23
Liczby i arytmetyka............................................................................................................................ 23
Zmienne i programy .......................................................................................................................... 26
Problemy ze zrozumieniem tre.ci zada/........................................................................................ 29
Błdy......................................................................................................................................................30
Projektowanie programów................................................................................................................ 33
3. Program składa si! z funkcji i definicji zmiennych ..............................39
Składanie funkcji................................................................................................................................. 40
Definicje zmiennych........................................................................................................................... 43
Proste wiczenia w tworzeniu funkcji............................................................................................. 44
4. Instrukcje warunkowe i funkcje...............................................................47
Warto.ci logiczne i relacje................................................................................................................. 47
Funkcje testuj'ce warunki................................................................................................................. 50
Warunki i funkcje warunkowe......................................................................................................... 54
Projektowanie funkcji warunkowych.............................................................................................. 57
5. Informacje symboliczne.............................................................................63
Proste wiczenia z symbolami.......................................................................................................... 65
6. Dane złoone. Cz!,- 1.: Struktury ...........................................................69
Struktury .............................................................................................................................................. 69
6wiczenie rozszerzone: rysowanie prostych obrazów.................................................................... 72
4
SPIS TRECI
Definicje struktur................................................................................................................................ 75
Definicje danych.................................................................................................................................. 79
Projektowanie funkcji przetwarzaj'cych dane złoone.................................................................... 82
Rozszerzone wiczenie: przemieszczanie okrgów i prostok'tów ............................................ 87
Rozszerzone wiczenie: gra w szubienic ...................................................................................... 91
7. Rodzaje danych...........................................................................................95
Mieszanie i rozrónianie danych ..................................................................................................... 95
Projektowanie funkcji przetwarzaj'cych dane mieszane........................................................... 100
Składanie funkcji — powtórka ....................................................................................................... 104
Rozszerzone wiczenie: przesuwanie figur.................................................................................. 107
Błdne dane wej.ciowe.................................................................................................................... 108
W1. Składnia i semantyka ...............................................................................111
Słownictwo jzyka Scheme ............................................................................................................. 112
Gramatyka jzyka Scheme .............................................................................................................. 112
Znaczenie w jzyku Scheme ........................................................................................................... 114
Błdy ...................................................................................................................................................118
Wyraenia logiczne .......................................................................................................................... 121
Definicje zmiennych......................................................................................................................... 122
Definicje struktur.............................................................................................................................. 124
Cz II Przetwarzanie danych dowolnej wielkoci 127
9. Dane złoone. Cz!,- 2.: Listy .................................................................129
Listy .....................................................................................................................................................129
Definicje danych dla list o dowolnej długo.ci ............................................................................. 133
Przetwarzanie list o dowolnej długo.ci ........................................................................................ 135
Projektowanie funkcji dla rekursywnych definicji danych........................................................ 139
Wicej na temat przetwarzania prostych list ............................................................................... 142
10. Wi!cej na temat przetwarzania list........................................................147
Funkcje zwracaj'ce listy................................................................................................................... 147
Listy zawieraj'ce struktury............................................................................................................. 152
Rozszerzone wiczenie: przemieszczanie obrazów .................................................................... 158
11. Liczby naturalne .......................................................................................161
Definiowanie liczb naturalnych...................................................................................................... 161
Przetwarzanie liczb naturalnych dowolnej wielko.ci................................................................. 163
Rozszerzone wiczenie: tworzenie list, testowanie funkcji........................................................ 166
Alternatywne definicje danych dla liczb naturalnych.................................................................. 168
Wicej o naturze liczb naturalnych................................................................................................ 173
12. Ł3czenie funkcji. Powtórka.....................................................................177
Projektowanie skomplikowanych programów............................................................................ 177
Rekursywne funkcje zewntrzne ................................................................................................... 178
Uogólnianie problemów i funkcji................................................................................................... 183
Rozszerzone wiczenie: przestawianie słów................................................................................ 187
W2. Skracanie list .............................................................................................191
SPIS TRECI
5
Cz III Wicej o przetwarzaniu danych
dowolnej wielkoci
197
14. Wi!cej rekurencyjnych definicji danych ...............................................199
Struktury w strukturach.................................................................................................................. 199
Rozszerzone wiczenie: drzewa poszukiwa/ binarnych........................................................... 208
Listy w listach.................................................................................................................................... 212
Rozszerzone wiczenie: obliczanie wyrae/ jzyka Scheme..................................................... 215
15. Wzajemne odwołania w definicjach danych........................................217
Listy struktur. Listy w strukturach................................................................................................ 217
Projektowanie funkcji dla definicji danych zawieraj'cych wzajemne odwołania ................. 223
Rozszerzone wiczenie: wicej na stronach WWW..................................................................... 225
16. Tworzenie programów metod3 iteracyjnego ulepszania...................227
Analiza danych.................................................................................................................................. 228
Definiowanie i ulepszanie klas danych......................................................................................... 229
Ulepszanie funkcji i programów.................................................................................................... 232
17. Przetwarzanie dwóch skomplikowanych elementów danych .........235
Jednoczesne przetwarzanie dwóch list. Przypadek 1.................................................................. 235
Jednoczesne przetwarzanie dwóch list. Przypadek 2.................................................................. 237
Jednoczesne przetwarzanie dwóch list. Przypadek 3.................................................................. 240
Upraszczanie funkcji........................................................................................................................ 245
Projektowanie funkcji pobieraj'cych dwie złoone dane wej.ciowe....................................... 247
6wiczenia z przetwarzania dwóch złoonych danych wej.ciowych....................................... 248
Rozszerzone wiczenie: obliczanie wyrae/ jzyka Scheme. Cz. 2. .................................... 251
Równo. i testowanie....................................................................................................................... 253
W3. Lokalne definicje i zasi!g leksykalny ....................................................261
Organizowanie programów za pomoc' słowa local................................................................... 261
Zasig leksykalny i struktura blokowa......................................................................................... 276
Cz IV Projektowanie abstrakcyjne
281
19. Podobie6stwa w definicjach ...................................................................283
Podobie/stwa w funkcjach.............................................................................................................. 283
Podobie/stwa w definicjach danych ............................................................................................. 292
20. Funkcje s3 warto,ciami............................................................................297
Składnia i semantyka ....................................................................................................................... 297
Kontrakty dla abstrakcyjnych i polimorficznych funkcji........................................................... 299
21. Projektowanie funkcji abstrakcyjnych na podstawie przykładów...303
Abstrahowanie na podstawie przykładów................................................................................... 303
6wiczenia z abstrakcyjnymi funkcjami przetwarzaj'cymi listy............................................... 309
Abstrakcja i pojedynczy punkt kontroli........................................................................................ 311
Rozszerzone wiczenie: przemieszczanie obrazów jeszcze raz ................................................ 312
Uwaga: Projektowanie abstrakcji na podstawie szablonów...................................................... 314
6
SPIS TRECI
22. Projektowanie abstrakcji .........................................................................317
Funkcje zwracaj'ce funkcje............................................................................................................. 317
Projektowanie abstrakcji z funkcjami jako warto.ciami............................................................. 319
Pierwsze spojrzenie na graficzny interfejs uytkownika........................................................... 322
23. Przykłady matematyczne........................................................................331
Ci'gi i szeregi.................................................................................................................................... 331
Ci'gi i szeregi arytmetyczne........................................................................................................... 333
Ci'gi i szeregi geometryczne.......................................................................................................... 334
Pole powierzchni pod wykresem funkcji...................................................................................... 338
Nachylenie funkcji............................................................................................................................ 340
W4. Bezpo,rednie definiowanie funkcji .......................................................345
Cz V Rekursja generatywna
351
25. Nowa posta- rekursji ...............................................................................353
Modelowanie kuli na stole.............................................................................................................. 354
Szybkie sortowanie........................................................................................................................... 357
26. Projektowanie algorytmów.....................................................................363
Zako/czenie....................................................................................................................................... 365
Rekursja strukturalna a generatywna............................................................................................ 368
Dokonywanie wyborów .................................................................................................................. 369
27. Róne algorytmy rekurencyjne ..............................................................375
Fraktale............................................................................................................................................... 375
Od plików do linii, od list do list list............................................................................................. 380
Wyszukiwanie binarne .................................................................................................................... 384
Metoda Newtona .............................................................................................................................. 390
Rozszerzone wiczenie: eliminacja Gaussa .................................................................................. 392
28. Algorytmy z nawracaniem .....................................................................397
Przechodzenie grafów...................................................................................................................... 397
Rozszerzone wiczenie: szachowanie hetmanów........................................................................ 403
W5. Koszt obliczeniowy oraz wektory .........................................................405
Czas konkretny, czas abstrakcyjny ................................................................................................ 405
Definicja wyraenia „rzdu”........................................................................................................... 410
Pierwsze spojrzenie na wektory..................................................................................................... 412
Cz VI Gromadzenie wiedzy
423
30. Utrata wiedzy ...........................................................................................425
Problem przetwarzania strukturalnego ........................................................................................ 425
Problem rekursji generatywnej....................................................................................................... 429
31. Projektowanie funkcji z akumulatorem................................................433
Czy akumulator jest potrzebny? .................................................................................................... 433
Funkcje z akumulatorem................................................................................................................. 434
Przekształcanie funkcji na funkcje z akumulatorem................................................................... 436
Plik z chomika:
janowiec
Inne pliki z tego folderu:
Asembler dla procesorow Intel Vademecum profesjonalisty.pdf
(400 KB)
Asembler cwiczenia praktyczne.pdf
(358 KB)
Architektura systemow zarzadzania przedsiebiorstwem Wzorce projektowe.pdf
(829 KB)
Architektura oprogramowania Metody oceny oraz analiza przypadkow.pdf
(429 KB)
Aplikacje w Visual C++ 2005 Przyklady.pdf
(296 KB)
Inne foldery tego chomika:
PHP
Zgłoś jeśli
naruszono regulamin