Informatyka

advertisement
ZESTAW I
1. Zmienne A, B należą do tego samego typu i przechowują wartości liczbowe. Jak można
zamienić miejscami wartości tych zmiennych nie wykorzystując dodatkowej (pośredniej)
zmiennej?
2. Zadany jest zbiór 50 liczb w postaci tablicy L[i]. Jak można stwierdzić, których liczb:
dodatnich bądź ujemnych jest więcej w tym zbiorze? (Uważać na liczbę 0)
3. Wirus komputerowy „Piątek, 13” może skasować dane na dysku komputera tylko w te dni,
kiedy data 13 wypada w piątek. Napisać program, który dla podanego roku wypisze nazwy
„nieszczęśliwych” miesięcy. (Data 01-01-2006 wypadła w niedzielę, a kolejne lata
przestępne to 2008, 2012, 2016, … 2096)
4. Zakładamy, że do zapisu na nośniku jednej sekundy dźwięku potrzebujemy 16 kilobajtów
przestrzeni. Jak za pomocą arkusza kalkulacyjnego można obliczyć przestrzeń Memory
wymaganą dla ścieżki dźwiękowej Sound, która trwa m minut i s sekund? Odpowiedź
zilustrować diagramem zależności Memory(Sound) dla Sound w zakresie od 3 do 7 minut.
5. Napisać w dowolnym języku program, który wyprowadzi w trybie tekstowym na środek
czystego ekranu wizytówkę użytkownika, obramowaną ramką ze znaków
pseudograficznych. Uwaga: programista nie zna długości napisów, umieszczanych na
wizytówce, jedynie może je obliczyć po podaniu Nazwiska i Imienia użytkownika z
klawiatury.
6. Dla każdego z 300 uczniów danego liceum zmierzono trzykrotnie prędkość wprowadzania
tekstu z klawiatury. Wyniki pomiarów są przechowywane w pliku tekstowym o nazwie
Tempo.txt, w którym każdy wiersz zaczyna się od imienia, nazwiska i wieku ucznia, a dalej
zawiera wyniki trzech kolejnych pomiarów (wszystkie dane rozdzielone spacją). Jak za
pomocą aplikacji biurowych (MS Office lub OpenOffice) można szybko przygotować
raport z listą uczniów, mających w ramach swojej grupy wiekowej tempo pracy przy
klawiaturze powyżej przeciętnego?
7. Przemysł motoryzacyjny i jego otoczenie w dużym stopniu wykorzystują nowoczesne
rozwiązania. Gdzie zwykły kierowca podczas użytkowania pojazdu może spotkać się ze
sprzętem komputerowym i mikroprocesorowym?
8. Określić wartości poniższych wyrażeń logicznych (prawda czy fałsz) przy a=1 i b=2:
a) a=1 AND ( a1 OR b2 )
b) ab AND b=2 OR ( NOT a=b )
c) a=c AND ac
9. Dla podanego ciągu liczb Fibonacciego (0, 1, 1, 2, 3, 5, ...):
a1=0,
a2=1,
ai = ai-2 + ai-1; i 2
opracować w dowolnej formie (program, algorytm) sposób obliczenia k-tego wyrazu tego
ciągu ( ak; k 2 ).
10. Zadeklarowana jest tablica liczb całkowitych ai; i=1,…,6 oraz dana jest funkcja Los(49)
generująca losowe wartości całkowite z przedziału 0÷48. Opracować algorytm lub
program, który wylosuje 6 liczb z 49 bez powtórzeń (duży lotek).
ZESTAW II
11. Opracować algorytm, który dla dowolnej liczby całkowitej N>3 obliczy wszystkie możliwe
pary wartości (x, y), dla których 2x+5y=N. Skojarzyć zadanie z możliwością wypłacenia
dowolnej kwoty N, mając do dyspozycji tylko monety 2 i 5 groszowe.
12. Jak można wypełnić w pętli tablicę dwuwymiarową n*n liczbami naturalnymi od 1 do n2
we wskazanej kolejności:
Na przykład:
13. Co to jest rekurencja? Jak może wyglądać rekurencyjny algorytm obliczenia wartości Q:
14. Podaną przez użytkownika dowolną liczbę całkowitą należy zapisać w odwrotnej
kolejności cyfr, np. 12345 ma być przekształcone w 54321. Napisać procedurę, która
zrealizuje to zadanie.
15. Papuga może pomóc odnaleźć bardzo ważny dokument, który jest schowany w pokoju.
Znajdują się w nim dwa biurka, z których każde ma po cztery szuflady, a także 4 stelaże po
3 półki każdy. Jest tam też jedna walizka i szafa z 11 folderami. Papuga potrafi odpowiadać
tylko „tak” lub „nie”. Jak zagwarantować najszybsze znalezienie dokumentu z pomocą
papugi, ile minimalnie pytań należy jej postawić?
16. Opracować sposób (algorytm lub program) wyznaczenia wyrażenia:
n
n!
  
 k  k!(n  k )!
Uwaga: nie dysponujemy funkcją do obliczenia silni, a wyrażenie można znacznie uprościć
w celu przyspieszenia obliczeń.
17. Wymienić przynajmniej 10 urządzeń lub podzespołów, dzięki którym współczesny
komputer może otrzymywać (pobierać) dane. Które z tych urządzeń nadają się do
szybkiego wczytywania dużych ilości informacji?
18. Podać wynik wykonania operacji bitowych OR i AND na dwóch liczbach pochodzących z
daty Twoich urodzin D-M-R.
Przykład:
21-12-1972
D = 21 = 101012, M = 12 = 011002
Wynik:
D OR M = 111012 = 29,
D AND M = 001002 = 4.
19. Pewien obiekt został zapisany w pamięci komputera poprzez tablicę węzłów oraz ich
odległościami do 3 węzłów sąsiadujących. Na podstawie tabeli narysować ten obiekt.
nr węzła
1
2
3
4
5
6
7
8
I
nr
2
1
2
1
1
2
3
4
węzły sąsiadujące
II
III
odl.
nr
odl.
nr
odl.
10
4
10
5
20
10
3
10
6
20
10
4
10
7
20
10
3
10
8
20
20
6
10
8
10
20
5
10
7
10
20
6
10
8
10
20
5
10
7
10
20. Napisać program (algorytm), który dla podanej liczby n wyznaczy w przybliżeniu wartość
stałej e (Eulera) zgodnie ze wzorem:
1 1 1
1
e     ... 
0! 1! 2!
n!
ZESTAW III
21. Podane są wartości 6 zmiennych przechowujących dane o dwóch godzinach: G1(g1:m1:s1)
oraz G2(g2:m2:s2). Jak powinno wyglądać wyrażenie logiczne, które sprawdzi czy godzina
G1 jest późniejsza niż godzina G2? Rozwiązanie prosimy podać w postaci tylko jednego
wyrażenia logicznego z użyciem operatorów AND (i), OR (lub).
22. Dana jest tablica wartości dla wybranych symboli notacji rzymskiej:
Rzymska M CM D CD C XC L XL X IX V IV
I
Wartość 1000 900 500 400 100 90 50 40 10
9
5
4
1
Korzystając z tej tablicy podać w dowolnej formie (algorytm, program) sposób zamiany
dowolnej liczby z zapisu „rzymskiego” na „arabski”. Np. MCDIX -> 1409.
23. Podać, jakie są podstawowe różnice pomiędzy zapisem danych graficznych w postaci
wektorowej, a zapisem w postaci rastrowej (bitowej)? Które z powszechnie używanych
aplikacji wykorzystują grafikę wektorową?
24. Opracować algorytm (program), który dla podanej wartości całkowitej x wyznaczy z ilu
znaków składa się ta liczba (uwaga: liczba może być ujemna – znak minus też powinien
zostać wtedy doliczony).
25. Opracować w dowolnej formie sposób znalezienia wszystkich rozwiązań problemu
ustawienia 8 hetmanów na szachownicy tak, aby się wzajemnie nie szachowały.
Podpowiedź: zastosować do poszukiwania rozwiązań rekurencję, a aktualne ustawienie
hetmanów przechowywać w tablicy H[i]; i=1,…,8 ( Np. H[3]=6 oznacza, że w 3 kolumnie
hetman stoi w 6 wierszu).
26. Liczbę x nazywamy doskonałą, jeśli jest równa sumie swoich wszystkich podzielników
(mniejszych niż x), np.: 6=1+2+3. Opracować algorytm sprawdzający czy podana liczba
naturalna x jest liczbą doskonałą.
27. Duży zegar cyfrowy na ścianie biurowca pokazuje czas (godziny, minuty i sekundy) na
wyświetlaczu, zbudowanym z sześciu paneli siedmiosegmentowych. Każda kolejna cyfra
jest wyświetlana w następujący sposób:
Zegar zużywa tym więcej energii elektrycznej, im więcej segmentów jest
wykorzystywanych do wyświetlania czasu. Napisać program, który obliczy średnią moc
wymaganą do zasilania zegara, jeśli moc jednego segmentu wynosi około 100 W.
28. Wypukły wielokąt zadany jest poprzez kolejne (zgodnie z ruchem wskazówek zegara) pary
współrzędnych swoich wierzchołków: (x1, y1), (x2, y2), (x3, y3), ..., (xn,yn). Jak można
obliczyć powierzchnię tego wielokąta? Algorytm wesprzeć ilustracją graficzną.
29. Poligon 100x100 metrów, podzielono na kwadraty 1x1 metr i na jednym z nich ustawiono
radionadajnik. Robot znajduje się w narożnym kwadracie startowym (x=1, y=1), jego
zadaniem jest szybko odnaleźć kwadrat z radionadajnikiem. Robot może przemieszczać się
po poligonie tylko w trybie krokowym o jeden kwadrat w dowolnym kierunku i mierząc
natężenie sygnału nadajnika może decydować, czy on okazał się „bliżej”, czy „dalej”
nadajnika. Opisać algorytm działania robota, który pozwoli mu najszybciej zidentyfikować
kwadrat z nadajnikiem.
30. Bileciki mają numer od 000000 do 999999. Nazwijmy bilecik „szczęśliwym”, jeśli trzy
jego pierwsze cyfry dają taką samą sumę, jak trzy ostatnie. Poza tym, w bileciku
„szczęśliwym” cyfry 1 i 3 nie mogą stać obok siebie, tworząc liczbę 13. Ile takich
bilecików może istnieć?
Download