Egzamin z „Podstaw informatyki i programowania” 2007/2008
Imię i nazwisko:..................................................
1
2
3
4
5
6
7
8
9
10 11 12 13 14 suma
1. Napisz funkcję logiczną, która dla zadanej
3. Struktura bz typu
parametrem wartości rzeczywistej x, oblicza
struct BZnaki{
parametr
int ileS;//ilość spacji
2x
int ileT;//ilość tabulacji
y= x−15.5 x−4
int ileN;//ilość znaków nowej linii
oraz zwraca true dla każdego x>4 i x≠15.5.
};
W przeciwnym wypadku, funkcja ma zwrócić
jest parametrem funkcji BialeZnaki typu
false.
logicznego, której zadaniem jest obliczanie pól tej struktury dla pliku tekstowego, którego nazwa jest drugim parametrem tej funkcji. Wartością funkcji
ma być true w przypadku, gdy wszystkie
operacje na pliku powiodły się i false w
przeciwnym wypadku. Podaj definicję funkcji
BialeZnaki.
2. Podaj definicję funkcji rekurencyjnej o
nagłówku
void Odwr(float a[], int l, int p); odwracającej kolejność elementów a[l],
a[l+1],…,a[p] tablicy a w przypadku, gdy
l<p.
1
6. Dla typu wyliczeniowego TPrzedmioty z
int f(int a, int & b, int c){
poprzedniego zadania napisz funkcję o nagłówku
c = a;
void Drukuj_plan_zajec(
a = b;
TPrzedmioty plan[], int n,
b = c;
int g, int m);
cout<< b<<' '<<c<<endl; która wyświetli nazwy przedmiotów
return a/c;
PrzedToStr(plan[k]), 0kn , oraz godziny
}
ich prowadzenia przy założeniu, że pierwsza godzina lekcyjna rozpoczyna się o czasie g:m Co zostanie wyświetlone na ekranie w wyniku podanym jako parametry funkcji oraz, że
wykonania poniższych instrukcji?
wszystkie przerwy są 5-minutowe. Przykładowe
int x = 3, y = 1, z = 2;
wyświetlenie:
cout<<f(z,x,y)<<endl;
8:05 – 8:50 jezyk polski
cout<<”x=”<<x<<”\ny=”<<y 8:55 – 9:40 jezyk polski
<<”\nz=”<<z<<endl;
9:45 – 10:30 przyroda
...
-----------------------------------
-----------------------------------
-----------------------------------
-----------------------------------
-----------------------------------
-----------------------------------
5. Dla danej deklaracji
enum TPrzedmioty{mat, jpol, jang,
przyr, hist};
napisz funkcję o nagłówku
string PrzedToStr(TPrzedmioty p);
która zwraca jako wynik pełną nazwę przedmiotu
odpowiadającego parametrowi p. Wykorzystaj
instrukcję switch.
7. Dany jest typ strukturalny postaci
struct TUczen {
string imie, nazwisko;
int numer; //nr identyfikacyjny ucznia
int punkty; //ilość punktów z testu
};
oraz typ strukturalny
struct TKlasa {
int ilu_uczniow;
TUczen tab[40]; //tablica zawiera dane o
// wszystkich uczniach w klasie
};
2
void Lista(TKlasa& klasa,
int limit);
wyświetlającą uczniów ze struktury klasa,
którzy uzyskali liczbę punktów nie mniejszą od
parametru limit zgodnie ze schematem
Lista przyjętych
1. Nazwisko1
Imie1
2. Nazwisko2
Imie2
9. Dany jest plik fizyczny o następującej
3. Nazwisko3
Imie3
…
strukturze:
Koniec zestawienia
Nowak Jan 2 39
Majewska Ola 3 2
Kowal Karol 1 59
zawierający dane o wynikach marszobiegu:
nazwisko, imię, liczbę minut i sekund z jaką uczestnik pokonał trasę. Napisz funkcję o nagłówku
bool Zapisz(string zrodlo,
string wynik, int s);
która zapisze do pliku wynik imiona i nazwiska
tych uczestników marszobiegu, którzy pokonali trasę w czasie krótszym od s. Plik wynik powinien mieć następującą postać:
1 Jan Nowak
2 Karol Kowal
gdzie w każdym wierszu najpierw występuje
liczba porządkowa, potem imię i nazwisko.
Ponadto funkcja ma dodatkowo zwracać wartość
true, jeśli udały się operacje plikowe i false w 8. Wykorzystując typy strukturalne z
przeciwnym wypadku.
poprzedniego zadania, podaj definicję funkcji o
nagłówku
int Zdali(TKlasa& klasa,
int limit);
modyfikującą parametr klasa typu TKlasa w
ten sposób, żeby zawierał on jedynie uczniów, którzy zaliczyli test. Wynikiem funkcji jest ilość uczniów, którzy nie zaliczyli testu.
3
10. Podaj definicje 2 typów strukturalnych o Lista najlepszych
nazwach TPara i TZawody do rejestrowania
Para nr … Nazwa_tańca1
ocen wszystkich zawodników w konkursie tańca.
Para nr … Nazwa_tańca2
…
Pierwszy z nich ma zawierać pola:
Koniec zestawienia
nazwa_tanca, numer_pary i oceny 3 sędziów
w skali od 1 do 6, zaś drugi winien zawierać pola
przechowujące ilość par i dane o wynikach
kolejnych par. Następnie napisać funkcję typu
void, która wczytuje informację o wynikach
wszystkich par.
12. Podaj definicję funkcji rekurencyjnej o
nagłówku
int Parzyste(unsigned int n);
obliczającej ilość cyfr parzystych liczby n.
(0 jest liczbą parzystą).
11.Napisz funkcję typu int zapisującą do pliku, którego nazwa zadana jest jako parametr funkcji,
numery tych wszystkich par i nazwy tańców
przez nie zaprezentowanych, które otrzymały od
sędziów średnią wyższą od 5.5 punktów. Funkcja
powinna zwracać ilość takich par. Zestawienie
powinno być postaci:
4
13. Napisz deklarację klasy TWaga z 2 polami 14. Napisz część implementacyjną klasy TWaga.
prywatnymi:
int kg; //ilość kilogramów
int g; //ilość gramów mniejsza od 1000.
Ponadto w klasie tej powinny znaleźć się metody:
- konstruktor ustalający pola prywatne klasy
na podstawie wartości jego parametrów,
których wartościami domyślnymi mają być
zera;
- metoda Ustaw ustalająca pola prywatne
klasy zgodnie z wartościami jej parametrów;
- 2 metody Kilogramy i Gramy typu int,
zwracające wartości pól prywatnych;
- metoda Wyswietl wyświetlająca na ekranie
wagę w postaci dziesiętnej;
- metoda CzyWiększa zwracająca wartość 1,
jeśli waga obiektu, na rzecz którego zostanie
wywołana metoda, jest większa niż waga
obiektu podanego jako parametr, wartość –1,
jeśli ta waga jest mniejsza i 0 gdy obie wagi
są takie same,
- przeciążony operator ==.
5