Turbo Pascal i Borland C++.pdf

(315 KB) Pobierz
Turbo Pascal i Borland C++. Przykłady. Wydanie II
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Turbo Pascal i Borland C++.
Przyk³ady. Wydanie II
SPIS TREŒCI
KATALOG KSI¥¯EK
Autor: Kazimierz Jakubczyk
ISBN: 83-246-0346-8
Format: B5, stron: 376
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Œrodowiska programistyczne Turbo Pascal i Borland C++ mimo swojego wieku nadal s¹
powszechnie wykorzystywane podczas nauki podstaw programowania. Oczywiœcie do
nauki mo¿na równie¿ wykorzystaæ dostêpne obecnie doskona³e œrodowiska wizualne,
lecz podstawy jêzyka ³atwiej jest opanowaæ, pos³uguj¹c siê prostszym narzêdziem.
Turbo Pascal i Borland C++ s¹ proste w obs³udze, doskonale udokumentowane
i wspaniale nadaj¹ siê do pierwszego kontaktu z programowaniem.
Ksi¹¿ka „Turbo Pascal i Borland C++. Przyk³ady. Wydanie II” jest przewodnikiem
po metodach rozwi¹zywania rzeczywistych problemów matematycznych i fizycznych
za pomoc¹ jêzyków Pascal i C++. Implementacja znanych algorytmów jest doskona³ym
sposobem nauki programowania, a analiza przyk³adów napisanych zarówno w Pascalu,
jak i w C++ mo¿e okazaæ siê nieocenion¹ pomoc¹ dla tych, którzy opanowali jeden
z tych jêzyków i chcieliby opanowaæ drugi.
Operacje na liczbach i datach
Programowanie grafiki
Proste animacje
Implementacja list jednokierunkowych
Programowanie obiektowe
Tworzenie programów z wykorzystaniem Windows API
Poznaj podstawy programowania
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
ONOWOŒCIACH
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
218543702.002.png 218543702.003.png 218543702.004.png 218543702.005.png
Wstęp .............................................................................................. 9
Rozdział 1. Operacje na liczbach ....................................................................... 13
Ile cyfr ma liczba? ............................................................................................................13
Program LCyf w Pascalu ...........................................................................................13
Pętle w Pascalu ..........................................................................................................14
Pętle w C i C++ ..........................................................................................................16
Program LCyf w C++ ................................................................................................17
Uruchamianie programu w środowisku programowania ...........................................17
Odwrócenie kolejności bitów liczby ................................................................................18
Program Bity w Pascalu .............................................................................................18
Program Bity w C++ ..................................................................................................19
Wyrażenia przypisujące w C i C++ ...........................................................................20
Największy wspólny dzielnik dwu liczb całkowitych .....................................................20
Algorytm Euklidesa ...................................................................................................21
Program Euklides w Pascalu ......................................................................................22
Program Euklides w C++ ...........................................................................................22
Reprezentacja zmiennopozycyjna liczby rzeczywistej ....................................................23
Program RepZmPoz w Pascalu ..................................................................................23
Program RepZmPoz w C++ .......................................................................................24
Zapis liczby w notacji rzymskiej ......................................................................................25
Program LRzym w Pascalu ........................................................................................26
Program LRzym w C++ .............................................................................................27
Wskaźniki a łańcuchy w C i C++ ..............................................................................28
Współczynniki Newtona i trójkąt Pascala ........................................................................28
Algorytm iteracyjny ...................................................................................................29
Algorytm rekurencyjny ..............................................................................................30
Program TPascala w Pascalu .....................................................................................30
Program TPascala w C++ ..........................................................................................31
Tablicowanie funkcji Bessela ...........................................................................................32
Algorytm obliczania sumy szeregu liczbowego ........................................................33
Program FBessela w Pascalu .....................................................................................34
Program FBessela w C++ ..........................................................................................35
Formatowanie wydruku w funkcji printf ...................................................................36
Ćwiczenia .........................................................................................................................37
218543702.001.png
4
Turbo Pascal i Borland C++. Przykłady
Rozdział 2. Zadania z kalendarzem ................................................................... 39
Dzień tygodnia i numer dnia w roku ................................................................................40
Algorytmy kalendarzowe ...........................................................................................40
Moduł obliczeniowy Kal w Pascalu ..........................................................................41
Program Dzien w Pascalu ..........................................................................................43
Moduł obliczeniowy Kal w C++ ...............................................................................43
Program Dzien w C++ ...............................................................................................45
Kalendarz miesięczny ......................................................................................................46
Moduł Klaw czytania znaku w Pascalu .....................................................................46
Moduł Klaw czytania znaku w C++ ..........................................................................47
Program KMies w Pascalu .........................................................................................48
Program KMies w C++ ..............................................................................................50
Kolorowanie kalendarza ...................................................................................................52
Algorytm Gaussa wyznaczania daty Wielkanocy ......................................................53
Program KMies2 w Pascalu .......................................................................................54
Program KMies2 w C++ ............................................................................................56
Kalendarz roczny ..............................................................................................................60
Program KRocz w Pascalu .........................................................................................60
Wyprowadzanie zmiennej liczby spacji w C .............................................................61
Program KRocz w C++ ..............................................................................................62
Tryby dostępu do pliku w języku C ...........................................................................63
Drukowanie tekstu na drukarce .................................................................................64
Operacje wejścia-wyjścia dla plików w C++ ............................................................64
Program KRocz2 w C++ ............................................................................................65
Ćwiczenia .........................................................................................................................67
Rozdział 3. Grafika ........................................................................................... 69
Gra w chaos ......................................................................................................................69
Algorytm gry w chaos ................................................................................................70
Program Chaos w Pascalu ..........................................................................................70
Program Chaos w C++ ...............................................................................................72
Biblioteka graficzna WinBGI ....................................................................................73
Wielokąt foremny i gwiazdka ..........................................................................................74
Wyznaczanie wierzchołków wielokąta foremnego ...................................................74
Rysowanie wielokąta foremnego w Pascalu ..............................................................75
Rysowanie wielokąta foremnego w C++ ...................................................................76
Wyznaczanie wierzchołków gwiazdki równoramiennej ...........................................76
Program Gwiazdka w Pascalu ...................................................................................77
Program Gwiazdka w C++ ........................................................................................78
Najmniejszy wielokąt wypukły ........................................................................................79
Algorytm wyznaczania brzegu najmniejszego wielokąta wypukłego .......................80
Program WielWyp w Pascalu ....................................................................................81
Program WielWyp w C++ .........................................................................................83
Wskaźniki a tablice w C i C++ ..................................................................................85
Wyrażenia warunkowe w C i C++ .............................................................................86
Program WielWyp2 w C++ .......................................................................................86
Częstotliwość występowania liter w pliku .......................................................................88
Program Litery w Pascalu ..........................................................................................88
Program Litery w C++ ...............................................................................................91
Konwersja znaku na łańcuch w C i C++ ....................................................................92
Definiowanie stałych symbolicznych w C++ ............................................................93
Program Litery2 w C++ .............................................................................................93
Spis treści
5
Liniowa aproksymacja średniokwadratowa .....................................................................94
Przekazywanie parametrów przez wartość i zmienną w Pascalu ..............................96
Moduł obliczeniowy LApr w Pascalu ........................................................................97
Moduł obliczeniowy LApr w C++ .............................................................................98
Program Aproks w Pascalu ......................................................................................100
Program Aproks w C++ ...........................................................................................102
Program Aproks2 w C++ .........................................................................................103
Wykres funkcji drgań harmonicznych tłumionych ........................................................104
Okno i widok przy tworzeniu wykresu funkcji ........................................................105
Program Drgania w Pascalu .....................................................................................106
Nazwa funkcji parametrem podprogramu w Pascalu ..............................................109
Nazwa funkcji a wskaźnik w C i C++ .....................................................................110
Program Drgania w C++ ..........................................................................................110
Krzywe Sierpińskiego ....................................................................................................112
Program KrzSierp w Pascalu ...................................................................................113
Program KrzSierp w C++ ........................................................................................115
Ćwiczenia .......................................................................................................................116
Rozdział 4. Animacja ...................................................................................... 119
Piłeczka ..........................................................................................................................119
Program Pileczka w Pascalu ....................................................................................120
Program Pileczka w C++ .........................................................................................121
Własna funkcja delay ...............................................................................................122
Wieże Hanoi ...................................................................................................................122
Reprezentacja danych w Pascalu .............................................................................123
Wizualizacja krążków na ekranie monitora .............................................................124
Nakładanie krążka na szczyt wieży .........................................................................124
Zdejmowanie krążka ze szczytu wieży ....................................................................125
Algorytm rekurencyjny przenoszenia wież .............................................................126
Program WHanoi w Pascalu ....................................................................................126
Program WHanoi w C++ .........................................................................................129
Krzywe Lissajous ...........................................................................................................131
Rysowanie krzywej na ekranie monitora .................................................................131
Odwracający tryb rysowania ....................................................................................132
Program Lissa w Pascalu .........................................................................................132
Program Lissa w C++ ..............................................................................................134
Przekazywanie parametrów przez wartość i referencję w C++ ...............................136
Program Lissa2 w C++ ............................................................................................136
Układ planetarny ............................................................................................................137
Model komputerowy układu planetarnego ..............................................................138
Program Grawit w Pascalu .......................................................................................140
Program Grawit w C++ ............................................................................................143
Hipocykloida ..................................................................................................................145
Obliczanie współrzędnych punktów ........................................................................145
Algorytm animacji oparty na kopiowaniu fragmentów obrazu ...............................146
Dynamiczne przydzielanie i zwalnianie pamięci .....................................................147
Program Hipo w Pascalu ..........................................................................................148
Program Hipo w C++ ...............................................................................................149
Elementy charakterystyczne dla C++ ......................................................................151
Wyświetlanie pliku rekordów ........................................................................................151
Moduł definiujący strukturę pliku w Pascalu ..........................................................152
Moduł definiujący strukturę pliku w C++ ...............................................................153
Tworzenie pliku rekordów .......................................................................................154
Program Lista w Pascalu ..........................................................................................156
6
Turbo Pascal i Borland C++. Przykłady
Program Lista w C++ ...............................................................................................159
Program Lista2 w C++ .............................................................................................162
Strumieniowe formatowanie liczb rzeczywistych ...................................................165
Parametry wywołania programu ..............................................................................166
Ćwiczenia .......................................................................................................................168
Rozdział 5. Listy jednokierunkowe .................................................................. 171
Sito Eratosthenesa ..........................................................................................................172
Definiowanie listy w Pascalu ...................................................................................172
Wstawianie elementu na początek listy ...................................................................173
Przeglądanie listy i usuwanie elementów ................................................................174
Program SitoEra w Pascalu ......................................................................................175
Definiowanie i obsługa listy w C++ ........................................................................177
Program SitoEra w C++ ...........................................................................................177
Wskaźnik NULL w roli wyrażenia warunkowego ..................................................179
Rozwinięcie dziesiętne ułamka ......................................................................................179
Tablica czy lista? ......................................................................................................179
Generowanie listy cyfr rozwinięcia dziesiętnego ułamka .......................................180
Program Rozwin w Pascalu .....................................................................................181
Program Rozwin w C++ ..........................................................................................182
Rozdanie kart do brydża .................................................................................................184
Generowanie talii kart i jej tasowanie ......................................................................184
Rozdanie kart czterem graczom ...............................................................................185
Wstawianie elementu do listy uporządkowanej .......................................................185
Program Brydz w Pascalu ........................................................................................187
Program Brydz w C++ .............................................................................................189
Przekazywanie wskaźnika przez wartość i referencję w C++ .................................192
Zmienne statyczne w C i C++ ..................................................................................192
Skorowidz słów pliku tekstowego ..................................................................................192
Czytanie słowa w Pascalu ........................................................................................193
Lista słów skorowidza z podlistami numerów wierszy ...........................................194
Aktualizacja listy słów skorowidza .........................................................................194
Program Skorow w Pascalu .....................................................................................196
Czytanie słowa w C++ .............................................................................................198
Łańcuchy dynamiczne w C++ .................................................................................200
Program Skorow w C++ ..........................................................................................200
Program Skorow2 w C++ ........................................................................................203
Porządkowanie pliku rekordów ......................................................................................205
Rozpraszanie rekordów pliku ..................................................................................205
Program Sort w Pascalu ...........................................................................................207
Program Sort w C++ ................................................................................................210
Program Sort2 w C++ ..............................................................................................211
Ćwiczenia .......................................................................................................................212
Rozdział 6. Programy obiektowe ..................................................................... 215
Punkty .............................................................................................................................216
Pierwszy kontakt z typem obiektowym w Pascalu ..................................................217
Dostęp do składowych obiektu ................................................................................219
Metody wirtualne, konstruktor i destruktor .............................................................219
Moduł Punkty w Pascalu .........................................................................................220
Klasa w C++ i jej moduł definiujący .......................................................................222
Moduł Punkty w C++ ..............................................................................................223
Moduł Ruch przesuwania punktu w Pascalu ...........................................................225
Moduł Ruch przesuwania punktu w C++ ................................................................226
Zgłoś jeśli naruszono regulamin