Egzamin z „Podstaw informatyki i programowania” 2008/2009
Imię i nazwisko:..................................................
1
2
3
4
5
6
7
8
9
10 11 12 13 suma
1.
Dana jest funkcja o nagłówku
int RzutKostka();
zwracająca liczbę oczek wyrzuconych przy rzucie
kostką do gry. Napisz funkcję, która dla danej
liczby dodatniej
n
, oznaczającej liczbę rzutów
kostką,
wyświetli
sześć
częstotliwości
wyrzuconych oczek. Przykładowo dla wyników
ośmiu rzutów
2, 1, 5, 2, 5, 2, 4, 3
funkcja powinna wyświetlić
1 1
2 3
3 1
4 1
5 2
6 0
2.
Napisz
definicję
funkcji
rekurencyjnej
o nagłówku
int
IleRazy(float tab[],
int n, float szukana)
, która zwróci
ilość wystąpień liczby
szukana
w tablicy
tab[0..n-1]
.
3.
Dana jest funkcja
float
Funkcja(int m, int t[])
{
float suma=0.0;
for (int i=0; i<m; i++)
{
suma = suma + t[i];
i++;
}
return suma/m;
}
Podaj wartość zmiennej
wynik
po wykonaniu
instrukcji
int t[] = {1,2,3,4,5,6,7,8,9};
float wynik = Funkcja(5,t);
----------------------------------
4.
Napisz program, który dla danego pliku
formula.txt
obliczy i wyświetli ile razy
wystąpił w nim łańcuch
F1
.
5.
Dana jest struktura
struct TSamochod
{
string marka; //nazwa modelu
int pojemnosc; //pojemno
ść
silnika
int przebieg; //przebieg samochodu
};
Napisz funkcję
Wczytaj
typu
void
, która
pobierze z klawiatury informacje o samochodzie
i zwróci je jako parametr typu
TSamochod
.
6.
Wykorzystując
strukturę
TSamochod
z poprzedniego zadania oraz strukturę
struct TKomis
{
int ilosc_sam;//ilo
ść
_sam<100
TSamochod tab_sam[100];
};
napisz funkcję o nagłówku
void podaj_oc(TKomis & k);
która wyświetli na ekranie zestawienie marek
samochodów będących w komisie przekazanym
jako parametr
k
oraz kosztu ich ubezpieczenia
OC określonego tabelą:
pojemność silnika koszt ubezpieczenia OC
do 1300
800,00 zł
od 1301 do 1600
1 200,00 zł
powyżej 1600
1 500,00 zł
7.
Wykorzystując struktury
TSamochod
oraz
TKomis
z poprzednich zadań, napisz funkcję
o nagłówku
int zapisz(string dst, TKomis & k,
int pmin, int pmax);
która zapisze do pliku o nazwie przekazanej jako
parametr
dst
dane marka, pojemność i przebieg
o wszystkich samochodach mających przebieg
z zakresu
od
pmin
do
pmax
,
gdzie
pmin
≤
pmax
. Wynikiem funkcji ma być ilość
zapisanych do pliku samochodów.
8.
Napisz funkcję o nagłówku
int * nowa_tablica(int n);
która dla danej liczby naturalnej
n
utworzy
dynamicznie n-elementową tablicę i wypełni ją
ciągiem
0,1,0,1, ...
. Wynikiem funkcji
ma być adres nowo utworzonej tablicy lub
NULL
w przypadku
n<1
.
9.
Napisz funkcję zwracającą
true,
jeżeli
każdy element
n
-elementowej tablicy
t
, oprócz
pierwszego, jest większy od sumy elementów
poprzedzających go w tej tablicy oraz wartość
false
w przeciwnym przypadku.
10.
W pliku tekstowym w kolejnych liniach
pamiętane są następujące wyniki wszystkich
okrążeń pewnego wyścigu:
nazwisko_kierowcy (
string
),
nr_okrążenia (
int
),
czas_okrążenia_w_sekundach (
int
).
Napisz funkcję o nagłówku
void NajlepszyCzas(string w,
string kto);
która na podstawie danych zawartych w pliku
o nazwie przekazanej przez parametr
w
wyświetli
na ekranie numer najszybszego okrążenia
kierowcy
kto
oraz jego czas. Jeśli nie uda się
otwarcie pliku, lub nazwisko szukanego kierowcy
nie wystąpi w pliku, na ekranie należy wyświetlić
informację o błędnych danych.
11.
Napisz definicję funkcji rekurencyjnej, która
dla danej parametrem naturalnej liczby
n
, zwróci
n-ty wyraz ciągu określonego wzorem:
(
)
,...,
3
,
2
,
2
2
1
1
=
+
=
−
−
−
n
a
a
a
a
n
n
n
n
gdzie
.
2
,
1
1
0
=
=
a
a
12.
Napisz deklarację klasy
TSkoczek
z polami
prywatnymi
nazwisko, imie
oraz
skoki
będącym trzyelementową tablicą przechowującą
długości
kolejnych
trzech
skoków
poszczególnych zawodników.
Ponadto w klasie tej powinny znaleźć się metody:
- konstruktor bezparametrowy przypisujący
polom
imie
i
nazwisko
puste łańcuchy
i zerujący tablicę długości skoków;
- metoda
UstawOdl
, o dwóch parametrach
i(int
) oraz
dlg
(
float
), przypisująca
współrzędnej
skoki[i]
wartość
dlg
.
W przypadku niepoprawnej wartości indeksu
i
lub ujemnej długości skoku metoda nie
wykonuje żadnych operacji;
-
metoda
Pobierz_dane
wczytująca
z klawiatury dane imię, nazwisko i 3 długości
skoków danego zawodnika i zapisująca je
w części prywatnej;
- metoda
Wyswietl
wyświetlająca na ekranie
wszystkie dane o skoczku;
- metoda
Czy_lepszy
zwracająca wartość
1
,
jeśli najdłuższy skok obiektu, na rzecz którego
zostanie wywołana, jest lepszy niż najdłuższy
skok obiektu podanego jako parametr metody,
zaś wartość
-1
, jeśli ten skok jest gorszy i
0
gdy
oba skoki są takie same.
13.
Podaj
definicję
konstruktora,
metody
UstawOdl
oraz
Czy_lepszy
dla klasy
TSkoczek
z poprzedniego zadania.