Egzamin ze "Wstępu do Informatyki" 2008/ 2009
Imię i nazwisko:
.................................................................
Kierunek.....................................................
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1) (1 pkt) Podaj reprezentację dwójkową ułamka
dziesiętnego
0,5625.
..........................
2) (1 pkt) Podaj reprezentację szesnastkową
liczby
(111101011010101)
2
.
..........................
3) (1 pkt) Podaj ośmiobitową reprezentację
uzupełnieniową liczby:
-46
.
..........................
4) (3 pkt) Napisz instrukcję
switch
, która dla
danej liczby całkowitej dodatniej
nr
wyświetli jeden z komunikatów:
pierwsze miejsce
drugie miejsce
trzecie miejsce
miejsca 4 – 5
miejsce niepunktowane
5) (2 pkt) Napisz fragment programu, który oblicza
i przypisuje zmiennej
w
wartość funkcji
f(x)
określonej wzorem
( )
(
)
+
−
=
∞
∈
−
∈
−
∞
−
∈
).
,
1
(
gdy
],
1
,
1
[
gdy
,
1
;
gdy
,
1
,
2
1
,
1
2
x
x
x
x
x
f
6) (3 pkt) Zapłata za dobę hotelową wynosi 50
złotych, jeżeli pobyt w hotelu był dłuższy niż 7
dni, 75 złotych dla pobytu od 4 do 6 dni i 100
złotych, jeżeli pobyt nie przekroczył 3 dni.
Napisz ciąg instrukcji, który dla ilości dób
hotelowych
ile_dni
obliczy wartość zmiennej
do_zaplaty
zgodnie z powyższym opisem.
W przypadku ujemnej wartości zmiennej
ile_dni
wartość zmiennej
do_zaplaty
ma
wynosić
0
.
1
7) (2 pkt) Wykorzystując pętlę
do while
, napisz
ciąg instrukcji, który ponawia wczytywanie z
klawiatury liczby
a
, aż do chwili gdy będzie
ona należała do przedziału
).
,
5
(
)
5
,
(
∞
∪
−
− ∞
8) (3 pkt) Dana jest zmienna całkowita
n
oraz
wektor
tab
:
int n; //1<=n<=150
int tab[150];
Napisz instrukcje, które każdy element tablicy
tab
zastąpią sumą dwóch sąsiadujących z nim
elementów, przy czym pierwszy i ostatni
element w tablicy nie powinny zostać
zmienione.
Przykład:
tablica początkowa :
2 4 3 5 1
tablica wynikowa:
2 5 9 4 1
9) (3 pkt) Dana jest zmienna całkowita
n
oraz
dwuwymiarowa tablica
tab
:
int n; //1<=n<=20
double tab[20][20];
Napisz ciąg instrukcji, który przypisze zmiennej
logicznej
w
wartość
true
, jeżeli suma
n
elementów
tab[0][0]
,
tab[1][1]
,...,
tab[n-1][n-1]
tablicy
tab
jest większa od sumy
n
elementów
tab[0][0]
,
tab[0][1]
,...,
tab[0][n-1]
tej tablicy, zaś
false
w przeciwnym przypadku.
10) (2 pkt) Napisz fragment programu, który dla
danej liczby naturalnej
h
wyświetli
równoległobok liczb zgodnie z poniższym
formatem (dla
h = 5
):
5 5 5 5 5
4 4 4 4 4
3 3 3 3 3
2 2 2 2 2
1 1 1 1 1
2
11) (3 pkt) Napisz fragment programu
wyświetlający na ekranie algorytm zapisu
binarnego dla wczytanej z klawiatury liczby
naturalnej x. Przykładowo dla x=149 należy
wyświetlić
149| 1
74| 0
37| 1
18| 0
9| 1
4| 0
2| 0
1| 1
0| -
12) (3 pkt) Napisz ciąg instrukcji, który oblicza
przybliżoną wartość
x
e , gdzie
x
jest zadaną
liczbą rzeczywistą, stosując algorytm Hornera
y=1
,
y=y*x/k+1
(dla
k=n, n-1, ..., 1
)
otrzymany z rozwinięcia
.
!
...
2
1
2
n
x
x
x
e
n
x
+
+
+
+
≈
13) (2 pkt) Napisz fragment programu zapisujący do
n
-elementowej tablicy liczb
t[0] ... t[n-1]
ciąg liczb
4, 8, 12, 16, ...
14) (4 pkt) Napisz program, który dla zadanej liczby
naturalnej
n
wyznacza i wyświetla największą
cyfrę występującą w jej zapisie dziesiętnym.
3
15) (3 pkt) Mając deklaracje typów strukturalnych
struct TKsiazka
{
string tytul;
//tytuł książki
string autor;
//autor książki
int kat;
//rodzaj książki
bool dostepna;
//dostępność:
//true, gdy jest dostępna,
//false w przeciwnym przypadku
};
struct TBiblioteka
{
int n;//
liczba
//
książek w bibliotece
TKsiazka kat[1000];
};
napisz instrukcje wczytujące dane o
k
(
1<=k<=1000
) książkach z biblioteki do struktury
TBiblioteka B;
Dla wszystkich wprowadzanych książek w polu
dostepna
ma być ustawiona wartość
true
.
16) (3 pkt) Zakładając, że książki z informatyki
charakteryzują się tym, że w polu
kat
mają
wartość
3
, napisz fragment programu
wyświetlający tytuły i autorów wszystkich
dostępnych książek informatycznych z biblioteki
B
z poprzedniego zadania.
4