1) Po wykonaniu następujących instrukcji przypisania

Transkrypt

1) Po wykonaniu następujących instrukcji przypisania
Egzamin z "Podstaw Algorytmiki i Programowania" 2014/2015
1
2
3
4
5
6
7
8
9
10
11
suma
imię i nazwisko: .............................................
1) (3 pkt) Podaj definicję funkcji rekurencyjnej o
nagłówku
3) (3 pkt) Wykorzystując strukturę Animal
z poprzedniego zadania oraz strukturę
int ileC(unsigned int n,
unsigned int p);
struct
obliczającej ilość cyfr liczby n w systemie o
podstawie p (p>=2).
Schronisko
{
int il; //liczba zwierząt
Animal an[200];
};
napisz dwuparametrową funkcję
int IleZwierzat(Schronisko s, int
granica)
zwracającą liczbę całkowitą równą ilości zwierząt w
schronisku s w wieku mniejszym od wartości
drugiego parametru granica.
2) (2 pkt) Dana jest struktura
struct Animal
{
string imie;
string gatunek;
int wiek;
};
Napisz funkcję która pobierze z klawiatury
informacje o zwierzęciu. Zadbaj o to, by
wartość pola całkowitego była większa od 0.
1
4) (3 pkt) Napisz funkcję ZerujWieksze,
która w tablicy jednowymiarowej
zastępuje zerami elementy większe od
elementu o indeksie(n-1). Parametrami
funkcji mają być:
n– liczba początkowych rozpatrywanych
elementów tablicy,
t- tablica liczb całkowitych.
5) (2 pkt) Rozważmy następujący fragment
programu:
void funkcja(int& a, int
int main(){
int c = 3;
int d = 6;
funkcja(c, d);
cout << c << " " << d <<
return 0;}
void funkcja(int& a, int
{
cout << a << " " << b <<
a = a + 1;
b = b * 2;}
b);
endl;
b)
" ";
Co zostanie wyświetlone na ekranie jako
wynik programu?
2
6) (4 pkt) Napisz jednoparametrową funkcję
IleWiekszych,która zwraca wynik
całkowity. Parametrem funkcji jest łańcuch
tekstowy określający nazwę pliku
tekstowego zawierającego liczby całkowite.
Wynikiem funkcji ma być:
• -2 (minus dwa) – w przypadku, gdy plik nie
został otwarty,
• -1 (minus jeden) – jeśli otworzony plik jest
pusty,
• nieujemna liczba całkowita – równa ilości
liczb większych od pierwszej liczby w
tym pliku.
Zakładamy, że w pliku są tylko liczby
całkowite oddzielone białymi znakami.
7) (2pkt) Napisz deklarację klasy Ksiazka o
polach prywatnych:
tytul (typu string) ,
autor (typu string),
rok_wyd
(typu int),
cena (typu float),
oraz publicznych metodach:
 konstruktor inicjujący pola klasy na
podstawie swoich parametrów,
 metoda Ustaw ustalająca pola klasy na
podstawie wartości swoich parametrów,
 metoda ZwrocTytul, ZwrocAutor,
8) (4 pkt)Podaj definicję konstruktora oraz
metod: Ustaw, Wyswietl,
ZwrocTytul z klasy Ksiazka,
zdefiniowanej w poprzednim zadaniu,
zgodnie z zasadami obowiązującymi w
plikach implementacyjnych klas.
ZwrocRok_wyd, ZwrocCena,

zwracające wartości poszczególnych pól
prywatnych klasy,
metoda Wyswietl wyświetlająca na
ekranie wszystkie dane o książce.
3
9) (2 pkt) Wykorzystując konstruktor, podaj
deklarację obiektu ks typu Ksiazka, o
kolejnych polach zawierających dane o
książce Adama Mickiewicza pt. Pan
Tadeusz, wydanej w 2000 roku w cenie
29.99 złotego. Następnie wyświetl na
ekranie informacje o tej książce.
11) (3pkt) Co będzie wynikiem wykonania
instrukcji?
int a=3, b=2, c=3;
cout<< a--<<endl;
cout<< b++ + ++c<<endl;
cout<<((a<=b)? "Dostanę 5" :
" Nie zaliczę.");
10) (4pkt) Niech m= 11, n=12;
W miejsce kropek wpisz wartość wyrażenia
a) m | n
…….
b) m & n
…….
c) m ^ n
…….
d) m >> n …….
4