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 5) (2 pkt) Napisz fragment programu, który oblicza dziesiętnego 0,5625.

i przypisuje zmiennej w wartość funkcji f(x) określonej wzorem

..........................



− ,

1

gdy x∈ (− ∞ ;− )

1 ,



2

1

2) (1 pkt) Podaj reprezentację szesnastkową f ( x) =  x + , gdy x∈ [−

]

1

,

1 ,

liczby

2

(111101011010101)



2.



,

1

gdy x∈ ,

1

( ∞ ).

..........................

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

6) (3 pkt) Zapłata za dobę hotelową wynosi 50

trzecie miejsce

złotych, jeżeli pobyt w hotelu był dłuższy niż 7

miejsca 4 – 5

dni, 75 złotych dla pobytu od 4 do 6 dni i 100

miejsce niepunktowane

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 9) (3 pkt) Dana jest zmienna całkowita n oraz ciąg instrukcji, który ponawia wczytywanie z dwuwymiarowa tablica tab:

klawiatury liczby a, aż do chwili gdy będzie int n; //1<=n<=20

ona należała do przedziału (− ,

∞ − )

5 ∪

,

5

( ∞ ).

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 13) (2 pkt) Napisz fragment programu zapisujący do wyświetlający na ekranie algorytm zapisu n-elementowej tablicy liczb t[0] ... t[n-1]

binarnego dla wczytanej z klawiatury liczby ciąg liczb 4, 8, 12, 16, ...

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

14) (4 pkt) Napisz program, który dla zadanej liczby 0| -

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ść 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

x

x

xn

e ≈ 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 struct TKsiazka

charakteryzują się tym, że w polu kat mają

{

wartość 3, napisz fragment programu

string tytul;

//tytuł książki

wyświetlający tytuły i autorów wszystkich string autor;

//autor książki

int kat;

dostępnych książek informatycznych z biblioteki

//rodzaj książki

bool dostepna; //dostępność:

B z poprzedniego zadania.

//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