egz 1sem 0506A

background image

Egzamin ze "Wstępu do Informatyki" 2005 / 2006r

Grupa A

Imię i nazwisko:

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

Ocena z ćwiczeń

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

1A

1) (1 pkt) Podać

8

-bitową reprezentację

uzupełnieniową liczby

–90

.

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

2) (1pkt) Podać reprezentację dwójkową ułamka

dziesiętnego

0,625

.

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


3) (3 pkt) Dokończyć ciąg instrukcji, który dla

wczytywanej liczby całkowitej dodatniej

x

tworzy liczbę

y

według następującej reguły:

y

jest liczbą

x

czytaną od tyłu, przy czym każda z

cyfr

1

,

2

,...,

9

jest pomniejszona o

1

, cyfrę

0

zastępujemy cyfrą

9

. Np. dla

x=230456

,

y=543921

.

int x,y;
do
{

cout<<"Podaj liczb

ę

całkowit

ą

"

<<"dodatni

ą

";

cin>>x;

}while(

…………………………………

);

























4) (2 pkt) Napisać ciąg instrukcji równoważny

poniższemu, zastępując pętlę

do while

pętlą

while

.

do
{

cin>>x;

if (x>=10)

cout<<"co najmniej"

<<"dwucyfrowa";

else if(x>=0)

cout<<"jednocyfrowa";

}while (x>=0);
cout<<”|”<<x<<”|=”<<-x;





















5) (2 pkt) Dla danej liczby

h

wyświetlić na ekranie

używając zagnieżdżonej pętli

for

następujący

ciąg liczb, poprzedzony odpowiednią ilością
gwiazdek, np. dla

h=5

ciąg gwiazdek i liczb

wygląda następująco:

5
*4
**3
***2
****1




background image

2A

6) (2 pkt) W programie zadeklarowana jest

całkowita zmienna

n

:

int n;

i nadana jest jej już jakaś dodatnia, parzysta
wartość z zakresu od

2

do

20

.

Ponadto dane są dwie tablice:

double a[20],b[10];

z których pierwsza, w kolejnych wyrazach
zaczynając od początku, zawiera już

n

liczb.

Napisać fragment programu, który oblicza
ś

rednie arytmetyczne kolejnych par liczb

z tablicy

a

i wpisuje je do kolejnych wyrazów

tablicy

b

.









7) (4 pkt) W programie jest zadeklarowana

zmienna całkowitoliczbowa

n

. Jest już do niej

wpisana pewna wartość z zakresu od

1

do

25

.

Zadeklarowana jest także tablica

tab

dwudziestu pięciu liczb całkowitych. Jej n
pierwszych kolejnych wyrazów zaczynając od
początku wypełnione jest liczbami.

Napisać fragment programu, który odrzuca
spośród tych

n

liczb wszystkie większe lub

równe

6

, przesuwa pozostałe do początku

tablicy nie zmieniając ich kolejności, i wpisuje
do zmiennej

n

ile liczb pozostało.
















8) (3 pkt) Napisać funkcję

int sumdziel(int n)

,

która zwraca sumę liczb naturalnych będących
dzielnikami liczby całkowitej podanej jako
argument. Należy uwzględnić

1

i

n

jako dzielniki

liczby

n

.
















9) (2 pkt) Napisać ciąg instrukcji, który:

a) pobiera od użytkownika liczbę całkowitą do

zmiennej

x

;

b) jeśli pobrana liczba jest mniejsza lub równa

0

,

próbuje ją pobrać ponownie;

c) w przypadku trzech nieudanych prób przerywa

dalsze pobieranie liczb i ustawia wartość
zmiennej

x

na

1

.

W zadaniu należy wykorzystać pętlę

do while

i

instrukcję warunkową

if

, zaś można pominąć

instrukcje wypisujące komunikaty dla
użytkownika wprowadzającego liczby.

















background image

3A

10) (2 pkt) Napisać funkcję, która oblicza i zwraca

wartość funkcji

f(x)

dla liczby rzeczywistej

x

podanej jako parametr, według wzoru:



>

<

+

+

=

2

dla

,

2

2

2

-

dla

,

1

2

1

2

dla

,

4

)

(

2

x

x

x

x

x

x

f













11) (2 pkt) Napisać instrukcję selekcji

if

, która dla

okręgu S o środku w punkcie o współrzędnych

s1

,

s2

i promieniu

r

oraz dla danego punktu P

o współrzędnych

x

,

y

wyświetli jedną

z poniższych informacji:
a) "Punkt P jest środkiem okręgu S"
b) "Punkt P leży na okręgu S"
c) "Punkt P leży wewnątrz okręgu S i nie jest

jego środkiem"

d) "Punkt P leży na zewnątrz okręgu S."



















12) (4 pkt) Napisać funkcję o nagłówku

float Horner(float x, int n, int a[]);

która oblicza przy pomocy schematu Hornera

wartość sumy

=

n

k

k

k

k

x

a

0

2

)

1

(

.




















13) (3 pkt) Dana jest reprezentacja binarna liczby

zapisana w tablicy

b

:

b[n-1]b[n-2]...b[0]

.

Napisać ciąg instrukcji obliczający reprezentację
szesnastkową tej liczby i zapisujący ją w wektorze

h

o wyrazach całkowitych, np. jeżeli

b[0]=1

,

b[1]=0

,

b[2]=0

,

b[3]=1

,

b[4]=1

,

b[5]=1

,

b[6]=0

,

b[7]=1

, to

h[0]=9

,

h[1]=11.

Założyć, że n jest liczbą podzielną przez

4

.


















background image

4A

14) (3 pkt) Napisać funkcję

ReprHex

, która dla

zadanej liczby całkowitej podanej w
pierwszym parametrze umieści w tablicy
podanej jako drugi parametr jej reprezentację
szesnastkową, przy czym

tab[0]

jest najmniej

znaczącą cyfrą. Funkcja ma wykorzystywać
instrukcję

switch

postaci:

switch(x%16)
{
case 15: tab[i]=’F’;

case 9: tab[i]=’9’;

}

Wartością funkcji ma być liczba cyfr
heksadecymalnych liczby

x

.

int ReprHex(int x,char tab[])
{


















































15) (3 pkt) Dokończyć funkcję

DataPoprawna

, która

zwraca wartość

true

dla poprawnej daty z XX i

XXI wieku, zaś wartość

false

w przeciwnym

przypadku.

bool DataPoprawna(int d, int m, int r)
{

if(d<1

…………………………………………………………)

return false;

switch(


Wyszukiwarka

Podobne podstrony:
egz 1sem 0506A
Mechanika Semest I pytania egz
egz matma
2006 EGZ WSTĘPNY NA AM
egz dziewcz rok1 2013 14
Jarek egz tw id 225830 Nieznany
biologia zakres materiau na egz Nieznany (2)
2009 EGZ WSTEPNY NA AM ODP(2) Nieznany
Egz T1 2014
matma egz
2007 EGZ WSTĘPNY NA AM ODP
egz 2008 wrzesień wersja 01
egz kon ETI EiT 2008 9
botanika egz
KTO BUDUJE DOM egz probny test 2003, kartoteka
egz TRB I 2009 c, Politechnika Poznańska, Budownictwo, Technologia Robót Budowlanych, Zaliczenie wyk
inzynieryjna egz.inz gospodarka, geodezja testy różne

więcej podobnych podstron