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