Przestrzeń nazw

Za pomocą słów kluczowych using namespace informujemy kompilator, że chcemy aby wszystkie funkcje, klasy i szablony należące do przestrzeni nazw nie wymagały przedrostka. Wyraz występujący po tych dwóch słowach kluczowych jest istniejącą nazwą przestrzeni. Dla standardowych bibliotek C++ jest to std.

Zad 1. (1 punkt)
W pliku Kod programu pomiędzy liniami za komentowanymi:

//*1

//*1
dodaj odpowiednie komendy, tak by program się skompilował.

Podstawowe typy danych

Zad 2. (1 punkt)
W pliku Kod programu zmodyfikuj fargmęty oznaczone przez:

//*  *//
tak by zostały wypisane ilości bajtów przeznaczone na każdy typ zmiennych.
Do czego służy operator sizeof()?

Zad 3. (1 punkt)
Przeanalizuj przykład Kod programu oraz dane ze strony link.
Napisz program, który wypisuje zmienne typu short jeżeli jest ona reprezentowalna za pomocą sizeof(short) bitów oraz zero w przeciwnym wypadku.

Operacje matematyczne

Zad 4. (1 punkt)
Napisz program, który wczyta dwie liczby całkowite a i b, a następnie wykona na nich obliczenia. Efekt działania programu powinien być następujący:

Podaj a: 5 
Podaj b: 4 
a + b = 9 
a - b = 1 
a * b = 20 
a / b = 1 
a % b = 1
Dlaczego poniższy kod się nie kompiluje Kod programu?

Zad 5. (1 punkt)
Napisz program, który pobiera ze standardowego wejścia liczbę typu całkowitego i wypisuje tak jeżeli jest parzysta i nie w przeciwnym przypadku.

Pseudolosowe liczby całkowite

Funkcja losująca liczby całkowite pochodzi ze standardowej biblioteki języka C. Bibliotekę, którą należy dołączyć jest cstdlib.

Funkcja rand po prostu losuje nam liczbę całkowitą. Liczba ta mieścić się będzie w przedziale od 0 do RAND_MAX, która jest zależna od posiadanego kompilatora i posiadanych bibliotek. Przykład 1.

Jeżeli uruchomimy kilka razy Przykład 1. to zauważymy, że komputer wylosował nam za każdym razem te same liczby. Takie zachowanie oczywiście nie jest pożądane dlatego też wymagane jest skonfigurowanie generatora liczb losowych.

Z pomocą przychodzi nam kolejna funkcja i jest nią srand. Funkcja srand ustawia punkt startowy dla mechanizmu generowania kolejnych liczb całkowitych. W dużym uproszczeniu napisanie: srand( 123 ); ustawi punkt startowy 123, a zapis srand( 543 ); ustawi punkt startowy 543.

Co to daje? W sumie tyle, że losowane są inne liczby. Jednak aby uzyskać każdorazowo inne wylosowane wartości w raz skompilowanym programie należy powiązać funkcję srand z czasem rzeczywistym, ustawionym obecnie w komputerze. Tu będziemy zmuszeni dołączyć kolejny plik nagłówkowy i jest nim ctime. Biblioteka ctime dostarczy nam między innymi funkcję time, która zwraca obecny czas na komputerze w postaci liczby - więcej szczegółów nie musisz wiedzieć na chwilę obecną. Jeśli jednak chciałbyś wiedzieć więcej to możesz spokojnie przeczytać dokumentację funkcji time. Przykład 2.

				
srand( time( NULL ) );
Powyższą linijkę należy wywołać tylko raz na samym początku programu i od tego momentu możemy cieszyć s ię pseudolosowością liczb całkowitych w naszym programie.

Zad 6. (1 punkt)
Napisz program losującą punkt (o współrzędnych całkowitych) z kwadratu [-100,100] x [-100,100]. Jeżeli liczba jest w okręgu o promieniu r [czyli (x_1)^2+(x_1)^2tak w przeciwnym wypadku nie.

Pętle

Zad 7. (1 punkt)
Napisz program wypisujący punkty całkowite z kwadratu [0,10]x[0,10] za pomocą pętli while, for.

Zad 8. (1 punkt)
Napisz program wypisującą szachownicę n na m. Np. dla

n = 5
m = 5
otrzymujemy
10101
01010
10101
01010
10101