Egzamin ze "Wstępu do Informatyki" 2008/ 2009 ( ) ( )

Transkrypt

Egzamin ze "Wstępu do Informatyki" 2008/ 2009 ( ) ( )
Egzamin ze "Wstępu do Informatyki" 2008/ 2009
Imię i nazwisko:.................................................................
1
2
3
4
5
6
7
8
9
10
Kierunek.....................................................
11
1) (1 pkt) Podaj reprezentację dwójkową ułamka
dziesiętnego 0,5625.
12
13
14
15
16
5) (2 pkt) Napisz fragment programu, który oblicza
i przypisuje zmiennej w wartość funkcji f(x)
określonej wzorem
gdy x ∈ (− ∞;−1),
 − 1,

1
f ( x ) =  x 2 + , gdy x ∈ [−1,1],
2

1
,
gdy x ∈ (1, ∞ ).

.........................
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
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, ∞).
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.
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
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| -
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.
12) (3 pkt) Napisz ciąg instrukcji, który oblicza
przybliŜoną wartość e x , 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
x2
xn
e x ≈ 1 + x + + ... + .
2
n!
3
15) (3 pkt) Mając deklaracje typów strukturalnych
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.
struct TKsiazka
{
string tytul;
string autor;
int kat;
bool dostepna;
//tytuł ksiąŜki
//autor ksiąŜki
//rodzaj ksiąŜki
//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.
4