Zadania z Programowania C++.pdf
(
294 KB
)
Pobierz
1108150 UNPDF
Zadania z Programowania C++ M
z dnia 5 stycznia 2007
rodowisko pracy. Program
make
. Debugger
ddd
.
Zad. 1. Dokonaj kompilacji pliku ¹ródªowego
hello.cc
1
do pliku z pro-
gramem binarnym
hello
. Uruchom program.
Zad. 2. Dokonaj kompilacji pliku »ródªowego
hello.cc
do pliku
hello.o
,
a nast¦pnie do pliku
hello
. Uruchom program.
Zad. 3. Dokonaj kompilacji plików ¹ródªowych
hellobis.cc
i
pisz.cc
w
celu otrzymania programu
hellobis
. Uruchom program.
Zad. 4. Przygotuj wersje binarne programów
hello
i
hellobis
a) z wykorzystaniem bibliotek dynamicznych,
b) w wersji statycznej.
Zad. 5. Napisz plik
Makefile
z jawnymi zasadami kompilacji programów
hello
i
hellobis
. Dodatkowo zdeniuj reguª¦
clean
usuwaj¡c¡ wszystkie
pliki po±rednie
.o
oraz wynikowe (
hello
i
hellobis
).
Zad. 6. Napisz plik
Makefile
z domy±lnymi zasadami kompilacji progra-
mów w j¦zykach C i C++. Nast¦pnie korzystaj¡c z tych zasad dopisz reguªy
zwi¡zane z przygotowaniem programów
hello
i
hellobis
.
Zad. 7. Wykorzystuj¡c predeniowane reguªy kompilacji napisz plik
Ma-
kefile
przygotowuj¡cy programy
hello
i
hellobis
w sposób wymagany dla
±ledzenia ich pracy debuggerem.
Zad. 8. Korzystaj¡c z jawnych polece« napisz plik
Makefile
, który dla
pliku
sprawozdanie.tex
b¦dzie umo»liwiaª utworzenie wersji
.dvi
(
make
sprawozdanie.dvi
),
.ps
i
.pdf
. Zadbaj aby proces L
A
T
E
Xowania wykona¢
dwukrotnie. Nast¦pnie stwórz kolejny plik Makele z domy±lnymi zasadami
L
A
T
E
Xowania dla plików ¹ródªowych o nazwach zako«czonych na
.tex
.
Zad. 9. Na przykªadzie programów
hello
,
hellobis
i
pierwsze
porównaj
jako±¢ kodu (rozmiar, szybko±¢ wykonania) wygenerowanego przez kompila-
tor z opcj¡
-O0
i
-O2
. Dla pomiaru czasu skorzystaj z polecenia
time
.
Zad. 10. Dokonaj kompilacji programów
hello
,
hellobis
i
pierwsze
z
poziomu edytora (np. Emacs w systemie Linux, Scintilla w systemie MS
Windows).
1
Wersje ¹ródªowe programów dost¦pne s¡ w katalogu
~pablo/progs
.
1
Zad. 11. Przy pomocy debuggera (
ddd
w systemie Linux,
td32
w systemie
MS Windows) prze±led¹ wykonanie programów
hello
,
hellobis
i
pierwsze
.
W programie
pierwsze
obserwuj warto±ci zmiennych
i
i
j
oraz zmie« war-
to±¢ zmiennej
i
. Nast¦pnie poleceniem
strip
usu« z pliku binarnego dane
potrzebne do ±ledzenia pracy programu.
Operacje wej±cia/wyj±cia
Zad. 12. Korzystaj¡c ze staªej
M_PI
zdeniowanej w pliku nagªówkowym
cmath
napisz program
pi
wypisuj¡cy do standardowego strumienia wyj±cio-
wego 5 kolejnych pot¦g liczby z dokªadno±ci¡ liczby cyfr po przecinku równ¡
wykªadnikowi pot¦gi
pot¦ga warto±¢
----------------
1 3.1
2 9.87
3 31.006
4 97.4091
5 306.01968
Przygotuj dwie werjse rozwi¡zania: pierwsz¡ w oparciu o funkcj¦
printf
charakterystyczn¡ dla j¦zyka C i drug¡ korzystaj¡c¡ z biblioteki
iostream
j¦zyka C++.
Zad. 13. Napisz program
liczby
odczytuj¡cy ze standardowego stru-
mienia wej±ciowego dwie liczby caªkowite (
int
) i zapisuj¡cy do standardo-
wego strumienia wyj±ciowego warto±ci odczytanych liczb, ich iloraz i sum¦.
Sprawd¹ dziaªanie programu dla nast¦puj¡cych danych wej±ciowych
1
,
3
2
,
0
3
,
1.5
7
,
a
Nast¦pnie dokonaj zmiany odczytywanych liczb na rzeczywiste (
double
) i
ponownie sprawd¹ dziaªanie programu.
Zad. 14. Pocz¡wszy od bie»¡cego semestru nasz wydziaªowy barek wpro-
wadziª nowy sposób obsªugi dla klientów b¦d¡cych studentami zapisanymi
w systemie USOS. Barek udziela kredytu, pod warunkiem, »e osoba zamówi
dokªadnie 3 rzeczy. W celu rozliczenia przesyªa nast¦pnie studentowi maila
z rachunkiem, np. w pliku
rachunek.txt
2
kanapka: 2.50
szarlotka: 1.50
woda mineralna: 1.50
Tre±¢ listu skªada si¦ zawsze z 3 wierszy. Ka»dy wiersz zawiera nazw¦ towaru,
dwukropek, cen¦ w zªotych. Nazwa towaru mo»e si¦ skªada¢ z dowolnej liczby
sªów oddzielonych odst¦pami, a sªowa wyª¡cznie z liter.
Napisz program
suma
obliczaj¡cy caªkowit¡ nale»no±¢ do zapªaty. Podaj
dwa rozwi¡zania: pierwsze charakterystyczne dla j¦zyka C, drugie dla j¦zyka
C++.
% ./suma < rachunek.txt
2.50+1.50+1.50=5.50
Zad. 15. Plik
2pi.txt
zawiera dwa wiersze. W ka»dym wierszu zapisana
jest wyª¡cznie warto±¢ liczby z losowo wybran¡ liczb¡ cyfr po przecinku
2 h100;1). Napisz program
zamiana
, który zamieni kolejno±¢ tych liczb
w pliku. Podaj dwa rozwi¡zania: pierwsze charakterystyczne dla j¦zyka C,
drugie dla j¦zyka C++.
Zad. 16. Korzystaj¡c z operatora
sizeof
sprawd¹ rozmiary nast¦puj¡cych
typów danych w wykorzystywanym przez siebie kompilatorze.
char
short int
int
long int
float
double
bool
enum
char*
Instrukcje warunkowe i iteracje
3
Zad. 17. Napisz program
znaczace
sprawdzajacy liczb¦ cyfr znacz¡cych
typów
float
i
double
.
Wskazówka: obliczaj sum¦
P
1
i=0
100 000 000
X
1
i
2
i=1
Dokonaj sumowania w kolejno±ci
1
1
2
+
1
2
2
+
1
3
2
+ ::: +
1
100 000 000
2
oraz w kolejno±ci odwrotnej
1
100 000 000
2
+
99 999 999
2
+ :::
1
1
1
2
Obliczenia przeprowad¹ posªuguj¡c si¦ zmiennymi typu
float
double
Wytªumacz ró»nice. Który z wyników jest najbli»szy prawdzie?
Wskazówka:
P
1
i=1
i
2
=
2
6
Zad. 19. Napisz program
anagram
, który odczytuj¦ nazw¦ pliku podan¡
przez u»ytkownika, a nast¦pnie odwraca kolejno±¢ bajtów w tym pliku.
% ./anagram
Podaj nazw¦ pliku
a.txt
%
Zad. 20. Korzystaj¡c z instrukcji iteracyjnych napisz program
pi3
wypi-
suj¡cy w kolejnych wierszach warto±¢ z dokªadno±ci¡ do i miejsc po prze-
cinku.
3.1
3.14
3.141
3.1415
3.14159
Zad. 21. Korzystaj¡c z instrukcji iteracyjnych napisz program
pi4
wy-
pisuj¡cy w kolejnych wierszach warto±¢
i
z dokªadno±ci¡ do i miejsc po
przecinku.
4
10
i
.
Zad. 18. Napisz program
kwadraty
obliczaj¡cy sum¦
1
pot¦ga warto±¢
----------------
1
3.1
2
9.87
3
31.006
4
97.4091
5
306.01968
Zad. 22. Napisz program tworz¡cy zadany rysunek. Warunek: instrukcj¦
wypisuj¡c¡ znak (np.
*
) lub liczb¦ w tabelce mo»na u»y¢ tylko jeden raz.
**********
** *
* * *
* * *
* * *
* * *
* * *
* * *
* **
**********
-------------------------
| 1 | 2 | 3 | 4 |
-------------------------
| 2 | 4 | 6 | 8 |
-------------------------
| 3 | 6 | 9 | 12 |
-------------------------
| 4 | 8 | 12 | 16 |
-------------------------
Zad. 23. Napisz program
slowa
odczytuj¡cy liczb¦ sªów ze strumienia
wej±ciowego i wypisuj¡cy ich liczb¦ oraz ±redni¡ dªugo±¢. Obliczenia przepro-
wad¹ dla tekstów Pana Tadeusza i Hamleta.
2
Zad. 24. Napisz program
licz
b¦d¡ce odpowiednikiem systemowego po-
lecenia
wc
, zliczaj¡cego liczb¦ znaków, sªów i wierszy w standardowym stru-
mieniu wej±ciowym. Dziaªanie programu sprawd¹ na jego pliku ¹ródªowym
licz.cc
i porównaj z programem
wc
.
Zad. 25. Napisz program
rzeczywista
, który liczb¦ a podan¡ jako argu-
ment wypisuje w postaci
p 2
w
Skorzystaj z operacji na bitach i funkcji
frexp
,
ldexp
.
2
Teksty utworów dost¦pne s¡ w plikach
~pablo/pt.txt
i
~pablo/h.txt
.
5
Plik z chomika:
gamblerpl
Inne pliki z tego folderu:
C++ Vademecum Profesjonalisty.rar
(9026 KB)
RS232 PRAKTYCZNE_PROGRAMOWANIE.rar
(845 KB)
ReadManiac 2.5.2.exe
(4071 KB)
Borland C++ Builder 5.rar
(13185 KB)
Visual C++ 6 dla każdego.pdf
(80315 KB)
Inne foldery tego chomika:
Backtrack
Kursy Komputerowe
Zgłoś jeśli
naruszono regulamin