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

4. Dana jest funkcja

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]), 0kn , 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

Napisz funkcję o nagłówku

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