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:
lessi666-1967
Inne pliki z tego folderu:
Kurs PHP.exe
(182398 KB)
Perl.rar
(59 KB)
Kurs pascala by Ariegi part 2.swf
(30 KB)
Kurs pascala by Ariegi(1).swf
(7402 KB)
Kurs pascala by Ariegi.swf
(7402 KB)
Inne foldery tego chomika:
Automapy
darmowe systemy linux
EDYTORY GRAFICZNE
FILMY GRA TYLKO I WYŁĄCZNIE DLA DOROSŁYCH (+18)
filmy i Bajki
Zgłoś jeśli
naruszono regulamin