Egzamin z "Podstaw Algorytmiki i Programowania" 2009/2010
1
2
3
4
5
6
7
8 9
10 11 12
suma
imię i nazwisko: .............................................
kierunek: INFORMATYKA
1) (2 pkt) Podaj definicję funkcji rekurencyjnej o 3) (4 pkt) Wykorzystując strukturę TPilkarz nagłówku
z poprzedniego zadania oraz struktury
int ileC(unsigned int n,
unsigned int p);
struct TDruzyna
obliczającej ilość cyfr liczby n w systemie o
{
podstawie p (p>=2).
string panstwo;
string trener;
TPilkarz d[23];
};
struct TMistrzostwa
{
int mecze; //ilość rozegranych
//spotkań
TDruzyna ucz[32];
};
napisz funkcję o nagłówku
double Gole(TMistrzostwa& M);
2) (2 pkt) Dana jest struktura
która wyświetli na ekranie listę wszystkich
struct TPilkarz
piłkarzy (imię, nazwisko, drużyna), którzy
{
zdobyli przynajmniej jedną bramkę. Wynikiem
string imie,nazwisko;
funkcji jest średnia ilość goli przypadających na
int ileB; //ilość zdobytych
jedno spotkanie.
//bramek
int ileM; //ilość minut spędzonych
//na boisku
};
Napisz funkcję o nagłówku
void Wczytaj(TPilkarz& p);
która pobierze z klawiatury informacje o
piłkarzu. Zadbaj o to, by w polach całkowitych
znalazły się wartości nieujemne.
1
4) (3 pkt) Podaj definicję funkcji o nagłówku 6) (3 pkt) Napisz funkcję rekurencyjną
bool srednia(double T[],int n,
void repr2Slownie(unsigned int n);
double granica,
która wyświetla zapis słowny kolejnych cyfr
double& srednia);
reprezentacji dwójkowej liczby n, np. dla liczby
obliczającej średnią arytmetyczną tych
n=6 wyświetli
elementów tablicy T[0], T[1],..., T[n-1],
jeden jeden zero
których wartość jest większa od parametru
granica. Wynikiem funkcji jest prawda, jeśli
można policzyć średnią takich elementów i fałsz
w przeciwnym wypadku.
7) (3 pkt) Napisz definicję funkcji Dzielniki, która dla liczby całkowitej n podanej jako
parametr, zwróci przez parametr ileDziel
ilość liczb całkowitych dodatnich będących
dzielnikami tej liczby. Wynikiem tej funkcji
ma być suma tych dzielników.
5) (2 pkt) Napisz funkcję logiczną, która dla zadanej parametrem wartości rzeczywistej x,
oblicza parametr
(
x x − )
3
y = (
x + )
3
x − 5
.
0
oraz zwraca
true dla każdego x>0.5.
W przeciwnym wypadku, funkcja ma zwróci
ć
false.
2
8) (3 pkt) Napisz funkcję logiczną, która dla pliku 9) (4 pkt) W pliku wyniki.txt podane są w o nazwie podanej jako parametr funkcji,
kolejnych linijkach odpowiednio: nazwy
zapisze wszystkie występujące w nim litery do
krajów (w przypadku nazw wieloczłonowych
pliku litery.txt, cyfry do pliku cyfry.txt, a inne zakładamy, że są one połączone za pomocą
znaki do pliku inne.txt. Funkcja zwraca true podkreślenia), ilość zwycięstw, remisów,
jeśli operacje plikowe się powiodły, oraz
porażek oraz ilość strzelonych goli. W linijce
false w przeciwnym razie.
poszczególne dane są oddzielone spacjami.
Napisz funkcję IleGoli, która dla nazwy kraju
zadanej parametrem zwraca ilość zdobytych
goli. W przypadku wystąpienia niepoprawnych
operacji plikowych funkcja zwraca -1. Ponadto
wynikiem funkcji ma być –2, jeśli podanego
kraju nie ma w pliku wyniki.txt.
Napisz fragment programu, który
wykorzystując funkcję IleGoli wyświetli na
ekranie ilość goli strzelonych przez Hiszpanię i Anglię.
3
10) (3 pkt) Napisz deklarację klasy TKsiazka o 11) (4 pkt) Podaj definicję konstruktora, metod: polach prywatnych:
przecena, zwrocTytul oraz operatora
tytul (typu string)
= = z klasy TKsiazka, zdefiniowanej w
autor (typu string)
poprzednim zadaniu, zgodnie z zasadami
rok_wyd (typu int)
obowiązującymi w plikach implementacyjnych
cena (typu float)
klas.
oraz publicznych metodach:
• konstruktor inicjujący pola klasy na
podstawie swoich parametrów
•
funkcja ustaw ustalająca pola klasy na
podstawie wartości swoich parametrów
•
funkcje zwrocTytul, zwrocAutor,
zwrocRok_wyd, zwrocCena zwracające
wartości poszczególnych pól klasy
• funkcja przecena obniżająca cenę
towaru o procent przekazany jako parametr
metody
• przeciążony operator = = sprawdzający, czy
dwie książki są identyczne, tzn. mają ten sam
tytuł i tego samego autora.
12) (2 pkt) Wykorzystując konstruktor, podaj deklarację obiektu ks typu TKsiazka, 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 napisz instrukcję przeceniającą
książkę o 10% oraz wyświetl na ekranie
uaktualnione informacje o tej książce.
4