C++ w analizie konkretnych przykładów
Proste operacje wejścia/wyjścia
Tablice, iteracje oraz podprogramy
Programowanie obiektowe i pliki tekstowe
Odrobinę zapomniany już język C++ wciąż ma ogromną wartość; w wielu miejscach i zastosowaniach nadal sprawdza się znakomicie. Dobry programista, student lub nauczyciel informatyki, a także każdy człowiek zainteresowany programowaniem powinien znać podstawy tego języka i umieć rozwiązywać konkretne zadania. Podobnie zresztą powinien opanować najważniejsze zagadnienia dotyczące programowania w językach Java i Turbo Pascal - i stosować je w praktyce. Trzyczęściowy zbiór, w którym zamieszczono te same lub bardzo zbliżone zadania wraz z rozwiązaniami w każdym z wyżej wymienionych języków, pozwala sprawdzić i uzupełnić wiedzę poprzez analizę podanego kodu we wszystkich tych językach.
Książka 'C++. Zadania z programowania z przykładowymi rozwiązaniami ' to jedna z trzech części zbioru zadań programistycznych, zawierająca zadania w języku C++. Znajdziesz tu ćwiczenia w zakresie komunikowania się komputera z użytkownikiem (standardowe operacje wejścia/wyjścia), wykorzystania instrukcji warunkowych oraz iteracji, używania tablic jedno i dwuwymiarowych. Kolejne zadania dotyczyć będą podprogramów, programowania obiektowego oraz zastosowania plików tekstowych. Taki układ książki ułatwi Ci przyswojenie sobie najważniejszych zagadnień z języka C++ w najlepszy możliwy sposób - na prostych, konkretnych przykładach.
Operacje wejścia/wyjścia
Instrukcje warunkowe
Iteracje
Tablice jedno- i dwuwymiarowe
Podprogramy
Programowanie obiektowe
Pliki tekstowe
Praktycznie opanuj podstawy języka C++.
Zajrzyj także do:
Zbiór zadań adresowany jest do maturzystów, studentów, nauczycieli informatyki oraz osób zainteresowanych programowaniem lub rozpoczynających naukę programowania w języku C++.
Uczniowie techników informatycznych mogą zbiory zadań wykorzystać do szybkiej powtórki przed egzaminem zawodowym.
W trakcie pisania tej książki Autor korzystał z tzw. aplikacji konsolowych (ang. console application) i kompilatora firmy Borland (C++).
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
C++. Zadania
z programowania
z przykładowymi
rozwiązaniami
Autor: Mirosław Kubiak
ISBN: 978-83-246-2943-5
Format: 140×208, stron: 128
C++ w analizie konkretnych przykładów
• Proste operacje wejścia/wyjścia
• Tablice, iteracje oraz podprogramy
• Programowanie obiektowe i pliki tekstowe
Odrobinę zapomniany już język C++ wciąż ma ogromną wartość; w wielu miejscach
i zastosowaniach nadal sprawdza się znakomicie. Dobry programista, student lub nauczyciel
informatyki, a także każdy człowiek zainteresowany programowaniem powinien znać podstawy
tego języka i umieć rozwiązywać konkretne zadania. Podobnie zresztą powinien opanować
najważniejsze zagadnienia dotyczące programowania w językach Java i Turbo Pascal – i stosować
je w praktyce. Trzyczęściowy zbiór, w którym zamieszczono te same lub bardzo zbliżone zadania
wraz z rozwiązaniami w każdym z wyżej wymienionych języków, pozwala sprawdzić i uzupełnić
wiedzę poprzez analizę podanego kodu we wszystkich tych językach.
Książka „C++. Zadania z programowania z przykładowymi rozwiązaniami” to jedna z trzech części
zbioru zadań programistycznych, zawierająca zadania w języku C++. Znajdziesz tu ćwiczenia
w zakresie komunikowania się komputera z użytkownikiem (standardowe operacje wejścia/wyjścia),
wykorzystania instrukcji warunkowych oraz iteracji, używania tablic jedno- i dwuwymiarowych.
Kolejne zadania dotyczyć będą podprogramów, programowania obiektowego oraz zastosowania
plików tekstowych. Taki układ książki ułatwi Ci przyswojenie sobie najważniejszych zagadnień
z języka C++ w najlepszy możliwy sposób – na prostych, konkretnych przykładach.
• Operacje wejścia/wyjścia
• Instrukcje warunkowe
• Iteracje
• Tablice jedno- i dwuwymiarowe
• Podprogramy
• Programowanie obiektowe
• Pliki tekstowe
Praktycznie opanuj podstawy języka C++
Idź do
• Spis treści
• Przykładowy rozdział
Katalog książek
• Katalog online
• Zamów drukowany
katalog
Twój koszyk
• Dodaj do koszyka
Cennik i informacje
• Zamów informacje
o nowościach
• Zamów cennik
Czytelnia
• Fragmenty książek
online
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
© Helion 1991–2011
Spis treĂci
Od autora
Rozdziaï 1. Proste operacje wejĂcia-wyjĂcia
Rozdziaï 2. Podejmujemy decyzje w programie
Rozdziaï 3.
Rozdziaï 4.
Iteracje
Tablice
Tablice jednowymiarowe
Tablice dwuwymiarowe
Rozdziaï 5. Podprogramy
Rozdziaï 6. Programowanie obiektowe
Rozdziaï 7. Pliki tekstowe
5
7
17
29
57
57
61
79
97
111
1
Proste operacje
wejĂcia-wyjĂcia
W tym rozdziale zamieszczono proste zadania z przykïadowymi rozwiÈ-
zaniami ilustrujÈce, w jaki sposób komputer komunikuje siÚ z uĝyt-
kownikiem w jÚzyku C++.
Kaĝda aplikacja powinna posiadaÊ moĝliwoĂÊ komunikowania siÚ
z uĝytkownikiem. WykorzystujÈc proste przykïady, pokaĝemy, w jaki
sposób program napisany w jÚzyku C++ komunikuje siÚ z nim poprzez
standardowe operacje wejĂcia-wyjĂcia.
Plik nagïówkowy z instrukcji
#include iostream.h
zawiera definicje klas1 umoĝliwiajÈcych wykonywanie operacji wejĂcia-
wyjĂcia na strumieniach. Do wyprowadzania danych na ekran sïuĝy
standardowy strumieñ wyjĂciowy cout, który w jÚzyku C++ domyĂlnie
przypisuje ekran do standardowego urzÈdzenia wyjĂciowego systemu
operacyjnego. Aby wyĂwietliÊ komunikat lub dane, trzeba do strumie-
nia wyjĂciowego cout zastosowaÊ symbol podwójnego znaku mniejszo-
Ăci (operacja wstawiania). Dwa znaki mniejszoĂci naleĝy wprowadziÊ
z klawiatury.
1 WiÚcej informacji na temat klas czytelnik znajdzie w rozdziale 6.
8
C++. Zadania z programowania z przykïadowymi rozwiÈzaniami
Do wprowadzania danych do programu sïuĝy standardowy strumieñ
wejĂciowy cin oraz operator (dwa znaki wiÚkszoĂci, które równieĝ
wprowadzamy z klawiatury), np. cin a;.
Do formatowania strumienia wyjĂciowego bÚdziemy uĝywali flagi for-
matujÈcej fixed i manipulatora setprecision(n). Flaga fixed uĝywa do
liczb zmiennoprzecinkowych ustalonej kropki dziesiÚtnej, natomiast
manipulator setprecision(n) ustala ich precyzjÚ na n — np. zapis cout
setprecision(2); oznacza, ĝe liczby zmiennoprzecinkowe bÚdÈ wy-
Ăwietlane z dokïadnoĂciÈ dwóch miejsc po kropce.
Zastosowanie manipulatora setprecision(n) wymaga wïÈczenia do pro-
gramu pliku nagïówkowego:
#include iomanip.h
Opisane powyĝej podejĂcie do operacji wejĂcia-wyjĂcia nazywa siÚ
obiektowym2.
Z A D A N I E
1.1
Napisz program, który oblicza pole prostokÈta. WartoĂci boków
a i b wprowadzamy z klawiatury. W programie naleĝy przyjÈÊ,
ĝe zmienne a i b oraz pole sÈ typu float (rzeczywistego). Przyj-
mujemy format wyĂwietlania ich na ekranie z dokïadnoĂciÈ
dwóch miejsc po kropce.
Przykïadowe rozwiÈzanie — listing 1.1
#include iostream.h // Zadanie 1.1
#include iomanip.h
#include conio.h
main()
{
float a, b, pole;
cout Program oblicza pole prostokata. endl;
cout Podaj bok a. endl;
cin a;
cout Podaj bok b. endl;
cin b;
pole = a*b;
2 WiÚcej informacji na temat obiektowych operacji wejĂcia-wyjĂcia, flag
i manipulatorów znajdzie czytelnik na stronach WWW poĂwiÚconych
jÚzykowi programowania C++ pod adresem http://www.cplusplus.com/.
Rozdziaï 1. • Proste operacje wejĂcia-wyjĂcia
9
cout fixed; // flaga
cout setprecision(2); // ustalenie precyzji
cout Pole prostokata o boku a = a i boku b = b;
cout wynosi pole . endl;
getch(); // czeka na nacisniecie dowolnego klawisza
}
Linijka kodu
float a, b, pole;
umoĝliwia zadeklarowanie zmiennych a, b i pole (wszystkie zmienne
w programie sÈ typu rzeczywistego float). Instrukcja
cout Program oblicza pole prostokata. endl;
wyĂwietla na ekranie komputera komunikat Program oblicza pole
prostokata. Instrukcja cin a; czeka na wprowadzenie z klawiatury
komputera liczby, która nastÚpnie zostanie przypisana zmiennej a.
Pole prostokÈta zostaje obliczone w wyraĝeniu
pole = a*b;
Za wyĂwietlenie wartoĂci zmiennych a i b oraz pole wraz z odpo-
wiednim opisem sÈ odpowiedzialne nastÚpujÈce linijki kodu:
cout Pole prostokata o boku a = a i boku b = b;
cout wynosi pole . endl;
Flaga fixed uĝywa ustalonej kropki dziesiÚtnej dla liczb zmienno-
przecinkowych. Zapis
cout setprecision(2);
oznacza, ĝe liczby te bÚdÈ wyĂwietlane na ekranie z dokïadnoĂciÈ
dwóch miejsc po kropce. Natomiast funkcja
getch();
(ang. get character — wczytaj znak) czeka na wczytanie dowolnego
znaku z klawiatury (naciĂniÚcie dowolnego klawisza). Prototyp tej
funkcji znajduje siÚ w pliku nagïówkowym conio.h. Instrukcja
endl;
(ang. end of line — koniec linii) przenosi kursor na poczÈtek nastÚp-
nej linii.
Komentarze w programie oznaczamy dwoma ukoĂnikami
// to jest komentarz do programu
10
C++. Zadania z programowania z przykïadowymi rozwiÈzaniami
SÈ one ignorowane w procesie kompilacji.
Rezultat dziaïania programu moĝna zobaczyÊ na rysunku 1.1.
Program oblicza pole prostokata.
Podaj bok a.
1
Podaj bok b.
2
Pole prostokata o boku a = 1.00 i boku b = 2.00 wynosi 2.00.
Rysunek 1.1. Efekt dziaïania programu Zadanie 1.1
Z A D A N I E
1.2
Napisz program, który wyĂwietla na ekranie komputera war-
toĂÊ predefiniowanej staïej S = 3,14… Naleĝy przyjÈÊ format
prezentowania tej staïej, oznaczanej w jÚzyku C++ jako M_PI,
z dokïadnoĂciÈ piÚciu miejsc po kropce.
Wskazówka
Staïa M_PI znajduje siÚ w pliku nagïówkowym math.h, który poleceniem
#include math.h naleĝy doïÈczyÊ do programu.
Przykïadowe rozwiÈzanie — listing 1.2
#include iostream.h // Zadanie 1.2
#include iomanip.h
#include math.h
#include conio.h
main()
{
cout Program wyswietla wartosc predefiniowanej stalej pi endl;
cout z dokladnoscia pieciu miejsc po kropce. endl;
cout pi = fixed setprecision(5) M_PI endl;
getch(); // czeka na nacisniecie dowolnego klawisza
}
Rezultat dziaïania programu moĝna zobaczyÊ na rysunku 1.2.
Rozdziaï 1. • Proste operacje wejĂcia-wyjĂcia
11
Program wyswietla wartosc predefiniowanej stalej pi
z dokladnoscia pieciu miejsc po kropce.
pi = 3.14159
Rysunek 1.2. Efekt dziaïania programu Zadanie 1.2
Z A D A N I E
1.3
Napisz program, który wyĂwietla na ekranie komputera
pierwiastek kwadratowy z wartoĂci predefiniowanej staïej
S = 3,14... Naleĝy przyjÈÊ format wyĂwietlania tego pierwiastka
z dokïadnoĂciÈ dwóch miejsc po kropce.
Wskazówka
Pierwiastek kwadratowy ze staïej S obliczamy, korzystajÈc z funkcji sqrt().
Funkcja ta znajduje siÚ w pliku nagïówkowym math.h.
Przykïadowe rozwiÈzanie — listing 1.3
#include iostream.h // Zadanie 1.3
#include iomanip.h
#include math.h
#include conio.h
main()
{
cout Program wyswietla pierwiastek kwadratowy z pi ;
cout z dokladnoscia dwoch miejsc po kropce. endl;
cout Sqrt(pi) = fixed setprecision(2) sqrt(M_PI) endl;
getch(); // czeka na nacisniecie dowolnego klawisza
}
Rezultat dziaïania programu moĝna zobaczyÊ na rysunku 1.3.
Program wyswietla pierwiastek kwadratowy
z pi z dokladnoscia dwoch miejsc po kropce.
Sqrt(pi) = 1.77
Rysunek 1.3. Efekt dziaïania programu Zadanie 1.3
12
Z A D A N I E
1.4
C++. Zadania z programowania z przykïadowymi rozwiÈzaniami
Napisz program, który oblicza objÚtoĂÊ kuli o promieniu r.
WartoĂÊ promienia wprowadzamy z klawiatury. W programie
naleĝy przyjÈÊ, ĝe r jest typu float (rzeczywistego). Dla zmien-
nych r oraz objetosc naleĝy przyjÈÊ format wyĂwietlania ich
na ekranie z dokïadnoĂciÈ dwóch miejsc po kropce.
Przykïadowe rozwiÈzanie — listing 1.4
#include iostream.h // Zadanie 1.4
#include iomanip.h
#include math.h
#include conio.h
main()
{
float r, objetosc;
cout Program oblicza objetosc kuli o promieniu r. endl;
cout Podaj promien r. endl;
cin r;
objetosc = 4*M_PI*r*r*r/3;
cout fixed;
cout setprecision(2);
cout Objetosc kuli o promieniu r = r wynosi ;
cout objetosc . endl;
getch(); // czeka na nacisniecie dowolnego klawisza
}
ObjÚtoĂÊ kuli o promieniu r oblicza linijka kodu
objetosc = 4*M_PI*r*r*r/3;
gdzie potÚgowanie zamieniono na mnoĝenie.
Rezultat dziaïania programu moĝna zobaczyÊ na rysunku 1.4.
Program oblicza objetosc kuli o promieniu r.
Podaj promien r.
1
Objetosc kuli o promieniu r = 1.00 wynosi 4.19.
Rysunek 1.4. Efekt dziaïania programu Zadanie 1.4
Z A D A N I E
1.5
Rozdziaï 1. • Proste operacje wejĂcia-wyjĂcia
13
Napisz program, który oblicza wynik dzielenia caïkowitego
bez reszty dla dwóch liczb caïkowitych a = 37 i b = 11.
Wskazówka
W jÚzyku C++ w przypadku zastosowania operatora dzielenia / dla liczb
caïkowitych reszta wyniku jest pomijana3.
Przykïadowe rozwiÈzanie — listing 1.5
#include iostream.h // Zadanie 1.5
#include conio.h
main()
{
int a = 37;
int b = 11;
cout Program oblicza wynik dzielenia calkowitego endl;
cout dla dwoch liczb calkowitych. endl;
cout Dla liczb a = a i b = b endl;
cout a / b = a/b . endl;
getch(); // czeka na nacisniecie dowolnego klawisza
}
Rezultat dziaïania programu moĝna zobaczyÊ na rysunku 1.5.
Program oblicza wynik dzielenia calkowitego
dla dwoch liczb calkowitych.
Dla liczb a = 37 i b = 11
37/11 = 3.
Rysunek 1.5. Efekt dziaïania programu Zadanie 1.5
3 W jÚzyku Turbo Pascal naleĝy zastosowaÊ operator dzielenia caïkowitego
bez reszty div.
14
Z A D A N I E
1.6
C++. Zadania z programowania z przykïadowymi rozwiÈzaniami
Napisz program, który oblicza resztÚ z dzielenia caïkowitego
dla dwóch liczb caïkowitych a = 37 i b = 11.
Wskazówka
Naleĝy zastosowaÊ operator reszty z dzielenia caïkowitego modulo, który
oznaczamy w jÚzyku C++ symbolem . Operator ten umoĝliwia uzyskanie
tylko reszty z dzielenia, natomiast caïkowita wartoĂÊ liczbowa jest odrzucana.
Przykïadowe rozwiÈzanie — listing 1.6
#include iostream.h // Zadanie 1.6
#include conio.h
main()
{
int a = 37;
int b = 11;
cout Program oblicza reszte z dzielenia calkowitego ;
cout dwoch liczb calkowitych. endl;
cout Dla liczb a = a i b = b endl;
cout a b = a b . endl;
getch(); // czeka na nacisniecie dowolnego klawisza
}
Rezultat dziaïania programu moĝna zobaczyÊ na rysunku 1.6.
Program oblicza reszte z dzielenia calkowitego dwoch liczb
calkowitych.
Dla liczb a = 37 i b = 11
37 11 = 4.
Rysunek 1.6. Efekt dziaïania programu Zadanie 1.6
Rozdziaï 1. • Proste operacje wejĂcia-wyjĂcia
15
Z A D A N I E
1.7
Napisz program, który oblicza sumÚ, róĝnicÚ, iloczyn i iloraz
dla dwóch liczb x i y wprowadzanych z klawiatury. W pro-
gramie przyjmujemy, ĝe liczby x i y sÈ typu float (rzeczywi-
stego). Dla zmiennych x, y, suma, roznica, iloczyn i iloraz naleĝy
przyjÈÊ format wyĂwietlania ich na ekranie z dokïadnoĂciÈ
dwóch miejsc po kropce.
Przykïadowe rozwiÈzanie — listing 1.7
#include iostream.h // Zadanie 1.7
#include iomanip.h
#include conio.h
main()
{
float x, y, suma, roznica, iloczyn, iloraz;
cout Program oblicza sume, roznice, iloczyn i iloraz endl;
cout dla dwoch liczb x i y wprowadzanych z klawiatury. endl;
cout endl;
cout Podaj x. endl;
cin x;
cout Podaj y. endl;
cin y;
suma = x+y;
roznica = x-y;
iloczyn = x*y;
iloraz = x/y;
cout fixed;
cout setprecision (2);
cout Dla x = x i y = y endl;
cout endl; // wydruk pustej linii
cout suma = suma , endl;
cout roznica = roznica , endl;
cout iloczyn = iloczyn , endl;
cout iloraz = iloraz . ;
getch(); // czeka na nacisniecie dowolnego klawisza
}
Rezultat dziaïania programu moĝna zobaczyÊ na rysunku 1.7.
16
C++. Zadania z programowania z przykïadowymi rozwiÈzaniami
Program oblicza sume, roznice, iloczyn i iloraz
dla dwoch liczb x i y wprowadzanych z klawiatury.
Podaj x.
1
Podaj y.
2
Dla x = 1.00 i y = 2.00
suma = 3.00,
roznica = -1.00,
iloczyn = 2.00,
iloraz = 0.50.
Rysunek 1.7. Efekt dziaïania programu Zadanie 1.7
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
Opinie na temat publikacji:
Inne popularne pozycje z tej kategorii:
Czytaj również:
Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką :