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