Turbo Pascal i Borland C Przyklady.pdf

(842 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Turbo Pascal i Borland
C++Builder. Przyk³ady
Autor: Kazimierz Jakubczyk
ISBN: 83-7197-873-1
Format: B5, stron: 234
Zawiera dyskietkê
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Ksi¹¿ka ta adresowana jest do czytelników, którzy rozpoczêli lub w³a nie rozpoczynaj¹
swoj¹ przygodê z programowaniem. Zawiera ona szereg przyk³adowych programów
napisanych zgodnie z zasadami dobrego stylu programowania. Wszystkie stworzone
zosta³y w dwóch wersjach: w Turbo Pascalu i C++. Dlatego ksi¹¿ka ta jest szczególnie
polecana osobom, które ju¿ potrafi¹ programowaæ w Pascalu i chc¹ zapoznaæ siê
z jêzykiem C++.
W ksi¹¿ce omówiono:
Proste operacje na liczbach
Dzia³ania na datach
Tworzenie grafiki z wykorzystaniem BGI
Animacje
Tworzenie list jednokierunkowych
Programowanie zorientowane obiektowo
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wymagania stawiane czytelnikowi s¹ niewielkie — wystarczy podstawowa umiejêtno æ
programowania, najlepiej w Pascalu.
Do ksi¹¿ki do³¹czona jest dyskietka z przyk³adami.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Wstęp ............................................................................................... 7
Rozdział 1. Operacje na liczbach........................................................................ 11
Ile cyfr ma liczba? .............................................................................................................11
Program LCyf w Pascalu ............................................................................................11
Pętle w Pascalu ...........................................................................................................12
Pętle w C i C++...........................................................................................................13
Program LCyf w C++ .................................................................................................13
Uruchamianie programu w środowisku programowania............................................14
Odwrócenie kolejności bitów liczby .................................................................................15
Program Bity w Pascalu..............................................................................................15
Program Bity w C++...................................................................................................16
Wyra enia przypisujące w C i C++ ............................................................................16
Zapis liczby w notacji rzymskiej.......................................................................................17
Program LRzym w Pascalu.........................................................................................18
Program LRzym w C++..............................................................................................19
Wskaźniki a łańcuchy w C i C++ ...............................................................................20
Współczynniki Newtona i trójkąt Pascala.........................................................................20
Algorytm iteracyjny ....................................................................................................21
Algorytm rekurencyjny...............................................................................................22
Program TPascala w Pascalu ......................................................................................22
Program TPascala w C++ ...........................................................................................24
Tablicowanie funkcji Bessela............................................................................................24
Algorytm obliczania sumy szeregu liczbowego .........................................................25
Program FBessela w Pascalu ......................................................................................26
Program FBessela w C++ ...........................................................................................27
Formatowanie wydruku w funkcji printf ....................................................................28
Ćwiczenia ..........................................................................................................................29
Rozdział 2. Zadania z kalendarzem .................................................................... 31
Dzień tygodnia i numer dnia w roku.................................................................................31
Algorytmy kalendarzowe............................................................................................32
Moduł obliczeniowy Kal w Pascalu ...........................................................................33
Program Dzien w Pascalu ...........................................................................................34
Moduł obliczeniowy Kal w C++ ................................................................................35
Program Dzien w C++ ................................................................................................37
Kalendarz miesięczny .......................................................................................................38
Moduł Klaw czytania znaku w Pascalu ......................................................................38
Moduł Klaw czytania znaku w C++ ...........................................................................39
4
Turbo Pascal i Borland C++. Przykłady
Program KMies w Pascalu..........................................................................................40
Program KMies w C++...............................................................................................42
Kolorowanie kalendarza....................................................................................................44
Algorytm Gaussa wyznaczania daty Wielkanocy.......................................................45
Program KMies2 w Pascalu........................................................................................46
Program KMies2 w C++.............................................................................................48
Ćwiczenia ..........................................................................................................................51
Rozdział 3. Grafika ............................................................................................ 53
Gra w chaos.......................................................................................................................53
Algorytm gry w chaos.................................................................................................54
Program Chaos w Pascalu...........................................................................................54
Program Chaos w C++................................................................................................56
Wielokąt foremny i gwiazdka ...........................................................................................57
Wyznaczanie wierzchołków wielokąta foremnego ....................................................57
Rysowanie wielokąta foremnego w Pascalu...............................................................58
Rysowanie wielokąta foremnego w C++....................................................................59
Wyznaczanie wierzchołków gwiazdki równoramiennej ............................................59
Program Gwiazdka w Pascalu ....................................................................................60
Program Gwiazdka w C++ .........................................................................................61
Najmniejszy wielokąt wypukły.........................................................................................62
Algorytm wyznaczania brzegu najmniejszego wielokąta wypukłego ........................62
Program WielWyp w Pascalu .....................................................................................64
Program WielWyp w C++ ..........................................................................................66
Wskaźniki a tablice w C i C++ ...................................................................................68
Wyra enia warunkowe w C i C++..............................................................................68
Częstotliwość występowania liter w pliku ........................................................................69
Program Litery w Pascalu...........................................................................................69
Program Litery w C++ ................................................................................................71
Konwersja znaku na łańcuch w C i C++.....................................................................73
Definiowanie stałych symbolicznych w C++ .............................................................74
Wykres funkcji drgań harmonicznych tłumionych ...........................................................74
Okno i widok przy tworzeniu wykresu funkcji...........................................................74
Program Drgania w Pascalu........................................................................................76
Nazwa funkcji parametrem podprogramu w Pascalu .................................................78
Nazwa funkcji a wskaźnik w C i C++ ........................................................................79
Program Drgania w C++.............................................................................................80
Ćwiczenia ..........................................................................................................................82
Rozdział 4. Animacja ......................................................................................... 85
Piłeczka .............................................................................................................................85
Program Pileczka w Pascalu .......................................................................................86
Program Pileczka w C++ ............................................................................................87
Wie e Hanoi......................................................................................................................88
Reprezentacja danych w Pascalu ................................................................................89
Wizualizacja krą ków na ekranie monitora ................................................................89
Nakładanie krą ka na szczyt wie y ............................................................................90
Zdejmowanie krą ka ze szczytu wie y.......................................................................91
Algorytm rekurencyjny przenoszenia wie ................................................................91
Program WHanoi w Pascalu .......................................................................................92
Program WHanoi w C++ ............................................................................................94
Krzywe Lissajous ..............................................................................................................97
Rysowanie krzywej na ekranie monitora....................................................................97
Odwracający tryb rysowania.......................................................................................98
Spis treści
5
Program Lissa w Pascalu ............................................................................................98
Przekazywanie parametrów przez wartość i referencję w C++ ................................100
Program Lissa w C++ ...............................................................................................101
Układ planetarny .............................................................................................................102
Model komputerowy układu planetarnego ...............................................................103
Program Grawit w Pascalu........................................................................................104
Program Grawit w C++.............................................................................................107
Hipocykloida ...................................................................................................................109
Obliczanie współrzędnych punktów .........................................................................109
Algorytm animacji oparty na kopiowaniu fragmentów obrazu ................................110
Dynamiczne przydzielanie i zwalnianie pamięci......................................................111
Program Hipo w Pascalu...........................................................................................112
Program Hipo w C++................................................................................................113
Elementy charakterystyczne dla C++ .......................................................................114
Ćwiczenia ........................................................................................................................115
Rozdział 5. Listy jednokierunkowe ................................................................... 117
Sito Eratosthenesa ...........................................................................................................118
Definiowanie listy w Pascalu....................................................................................118
Wstawianie elementu na początek listy ....................................................................119
Przeglądanie listy i usuwanie elementów .................................................................120
Program SitoEra w Pascalu.......................................................................................121
Definiowanie i obsługa listy w C++ .........................................................................123
Program SitoEra w C++............................................................................................123
Wskaźnik NULL w roli wyra enia warunkowego ...................................................125
Rozwinięcie dziesiętne ułamka .......................................................................................125
Tablica czy lista?.......................................................................................................125
Generowanie listy cyfr rozwinięcia dziesiętnego ułamka ........................................126
Program Rozwin w Pascalu ......................................................................................127
Program Rozwin w C++ ...........................................................................................128
Rozdanie kart do bryd a..................................................................................................130
Generowanie talii kart i jej tasowanie.......................................................................130
Rozdanie kart czterem graczom................................................................................131
Wstawianie elementu do listy uporządkowanej........................................................131
Program Brydz w Pascalu.........................................................................................133
Program Brydz w C++ ..............................................................................................136
Przekazywanie wskaźnika przez wartość i referencję w C++ ..................................138
Zmienne statyczne w C i C++...................................................................................138
Skorowidz słów pliku tekstowego...................................................................................139
Czytanie słowa w Pascalu.........................................................................................139
Lista słów skorowidza z podlistami numerów wierszy ............................................140
Aktualizacja listy słów skorowidza ..........................................................................141
Program Skorow w Pascalu ......................................................................................143
Czytanie słowa w C++ ..............................................................................................145
Łańcuchy dynamiczne w C++ ..................................................................................146
Program Skorow w C++ ...........................................................................................146
Ćwiczenia ........................................................................................................................149
Rozdział 6. Programy obiektowe ...................................................................... 151
Punkty..............................................................................................................................152
Pierwszy kontakt z typem obiektowym w Pascalu ...................................................152
Dostęp do składowych obiektu .................................................................................155
Metody wirtualne, konstruktor i destruktor ..............................................................155
Moduł Punkty w Pascalu ..........................................................................................156
6
Turbo Pascal i Borland C++. Przykłady
Klasa w C++ i jej moduł definiujący ........................................................................158
Moduł Punkty w C++ ...............................................................................................159
Moduł Ruch przesuwania punktu w Pascalu ............................................................161
Moduł Ruch przesuwania punktu w C++ .................................................................161
Program przesuwania punktu w Pascalu...................................................................162
Obiekty dynamiczne w Pascalu ................................................................................163
Wywoływanie konstruktorów i destruktorów w C++...............................................164
Program przesuwania punktu w C++........................................................................164
Okręgi..............................................................................................................................165
Moduł Okregi w Pascalu...........................................................................................165
Program przesuwania okręgu w Pascalu...................................................................167
Moduł Okregi w C++................................................................................................168
Program przesuwania okręgu w C++........................................................................169
Łamane ............................................................................................................................170
Moduł Lamane w Pascalu.........................................................................................170
Program przesuwania prostokąta w Pascalu .............................................................172
Moduł Lamane w C++ ..............................................................................................173
Program przesuwania prostokąta w C++ ..................................................................174
Program przesuwania hipocykloidy w Pascalu.........................................................175
Program przesuwania hipocykloidy w C++..............................................................176
Lista figur geometrycznych.............................................................................................178
Moduł Figury w Pascalu ...........................................................................................178
Program Pojazd w Pascalu........................................................................................179
Moduł Figury w C++ ................................................................................................181
Program Pojazd w C++.............................................................................................182
Fontanna ..........................................................................................................................183
Koncepcja typu potomnego reprezentującego kroplę wody.....................................184
Program Fontanna w Pascalu....................................................................................185
Program Fontanna w C++.........................................................................................187
Osoby ..............................................................................................................................189
Moduł Osoby w Pascalu ...........................................................................................189
Program tworzący przykładową listę pracowników w Pascalu ................................191
Moduł Osoby w C++ ................................................................................................194
Program tworzący przykładową listę pracowników w C++ .....................................196
Edycja wiersza tekstu ......................................................................................................197
Tworzenie typu obiektowego edycji łańcucha w Pascalu.........................................198
Przesyłanie danych do edycji i udostępnianie wyniku edycji...................................199
Programowanie operacji edycyjnych........................................................................200
Moduł Edycja w Pascalu...........................................................................................201
Funkcje edycji łańcucha i listy łańcuchów ...............................................................205
Moduł Edycja w C++................................................................................................206
Program Plik edycji danych osobowych w Pascalu..................................................211
Program Plik edycji danych osobowych w C++.......................................................215
Ćwiczenia ........................................................................................................................219
Literatura ...................................................................................... 221
Skorowidz...................................................................................... 223
Zgłoś jeśli naruszono regulamin