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
3. Dana jest funkcja
int RzutKostka();
float Funkcja(int m, int t[]) zwracająca liczbę oczek wyrzuconych przy rzucie
{
kostką do gry. Napisz funkcję, która dla danej float suma=0.0;
liczby dodatniej
for (int i=0; i<m; i++)
n, oznaczającej liczbę rzutów
{
kostką,
wyświetli
sześć
częstotliwości
suma = suma + t[i];
wyrzuconych oczek. Przykładowo dla wyników i++;
ośmiu rzutów 2, 1, 5, 2, 5, 2, 4, 3
}
funkcja powinna wyświetlić
return suma/m;
1 1
}
2 3
Podaj wartość zmiennej wynik po wykonaniu 3 1
instrukcji
4 1
int t[] = {1,2,3,4,5,6,7,8,9};
5 2
float wynik = Funkcja(5,t);
6 0
----------------------------------
4. Napisz program, który dla danego pliku formula.txt obliczy i wyświetli ile razy wystąpił w nim łańcuch F1.
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].
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.
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 6. Wykorzystując
strukturę
TSamochod
o wszystkich samochodach mających przebieg z poprzedniego zadania oraz strukturę
z zakresu
od
pmin
do
pmax,
gdzie
struct TKomis
{
pmin ≤ pmax. Wynikiem funkcji ma być ilość
int ilosc_sam;// ilość_sam<100
zapisanych do pliku samochodów.
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ł
8. Napisz funkcję o nagłówku
na ekranie numer najszybszego okrążenia
int * nowa_tablica(int n);
kierowcy kto oraz jego czas. Jeśli nie uda się która dla danej liczby naturalnej n utworzy otwarcie pliku, lub nazwisko szukanego kierowcy dynamicznie n-elementową tablicę i wypełni ją nie wystąpi w pliku, na ekranie należy wyświetlić ciągiem 0,1,0,1, ... . Wynikiem funkcji
informację o błędnych danych.
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.
11. Napisz definicję funkcji rekurencyjnej, która dla danej parametrem naturalnej liczby n, zwróci n-ty wyraz ciągu określonego wzorem:
an 1
a
n =
−
, n =
3
,
2
(2 an− + a
1
n−2 )
,...,
gdzie a = ,
1 a = 2.
10. W pliku tekstowym w kolejnych liniach 0
1
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
12. Napisz deklarację klasy TSkoczek z polami 13. Podaj
definicję
konstruktora,
metody
prywatnymi nazwisko, imie oraz skoki UstawOdl oraz Czy_lepszy dla klasy
będącym trzyelementową tablicą przechowującą TSkoczek z poprzedniego zadania.
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.