Informatyka

advertisement
1. Która z podanych liczb jest największą, a która najmniejszą?
 Notacja rzymska:
MCMXCVIII

Liczba binarna:
1100101001

Liczba ósemkowa:
51323

Liczba szesnastkowa: 8AF
2. Co dokładnie oznaczają podane kody liczbowe?
 64.233.183.99

212.77.100.101

213.180.130.200

212.58.240.120
3. Liczby naturalne uporządkowane są w nieskończonej tabeli jak pokazano na rysunku:
Zapisać algorytm (w formie schematu blokowego, pseudokodu lub w dowolnym języku
programowania), który znajduje liczbę K dla podanych współrzędnych (i, j) algorytm,
który dla dowolnej liczby K zwróci jej współrzędne (i, j) w opisanej tabeli.
4. Przy zakupach hurtowych opakowanie z 10 płyt DVD kosztuje 18 zł, z 25 płyt – 34 zł, a
cena detaliczna jednej płyty wynosi 2,5 zł. Opracować algorytm podejmowania decyzji o
ilości kupowanych płyt N, jeśli na zakup możemy wykorzystać dowolną kwotę X zł.
Uwaga: różnica pomiędzy zaplanowaną kwotą X a ceną zakupu nie powinna przekroczyć
2,5 zł.
5. Do naczynia wlewane są trzy neutralne wobec siebie ciecze o kolorach: czerwonym,
zielonym i niebieskim. W wyniku zmieszania powstaje ciecz jednokolorowa. Napisać
program, który będzie w stanie przewidywać kolor mieszanki w zależności od
objętościowych proporcji mieszanych cieczy. Jaki wynik mieszania można przewidywać
przy proporcji 1:1:1?
6. Dany jest ułamek właściwy w postaci dwóch liczb naturalnych: L (licznik) oraz M
(mianownik). Podać w dowolnej formie (algorytm, kod programu) sposób jego skracania
do ułamka nieskracalnego (np. L=60, M=84, 60/84=5/7).
7. Obecnie obowiązujący kalendarz gregoriański ustala lata przestępne co 4 (tak jak w
kalendarzu juliańskim), ale dodatkowo wprowadza zasady, że lata podzielne przez 100 nie
będą przestępne, z wyjątkiem tych podzielnych przez 400 (np. lata 1600 i 2000 były
przestępne, a 1700, 1800 i 1900 nie). Podać w postaci tylko jednego wyrażenia logicznego
test sprawdzający, czy podany rok był/będzie rokiem przestępnym Zaleca się użycie
operatora reszty z dzielenia całkowitego (mod).
8. Arkusz kalkulacyjny Excel posiada funkcję do zamiany liczb na notację rzymską
(RZYMSKIE). Opisać dowolny sposób wyznaczenia, która z liczb (od 1 do 3999) w
zapisie rzymskim posiada największą ilość znaków (np. 1789: MDCCLXXXIX składa się
z 10 znaków).
9. Automat wydaje resztę używając monet od 5 zł do 1 gr (9 nominałów). Opracować
algorytm do rozdzielenia dowolnej kwoty tak, aby liczba wydanych monet była jak
najmniejsza.
10. Plac przy pewnej fabryce samochodów posiada 640 miejsc parkingowych
rozmieszczonych w 8 rzędach po 80 pojazdów w każdym. Firma produkuje 4 różne
wersje pojazdów, z których każda dostępna jest w jednym z 8 kolorów nadwozia.
Zaproponować sposób przechowywania informacji o rodzajach pojazdów stojących na
parkingu tak, aby utworzona struktura danych zajmowała jak najmniej pamięci.
11. Zadano tablicę {Ai} (na przykład: 2; 0,4; 3,14; -1,57; 11; 7,34; -2,6; 0; 5; -1). Należy
wyznaczyć tablicę {Yi}, której elementy oblicza się ze wzoru: Yi = cos(Ai) oraz zliczyć
ile elementów L tablicy {Yi} należy do przedziału [0;1]. Rozwiązanie zadania można
przedstawić w postaci algorytmu lub w postaci kodu w dowolnym języku programowania.
Jaką wartość L zwróci algorytm dla przykładowej macierzy?
12. Haker próbuje odszukać hasło dostępu do serwera metodą „Brute-Force”. Hasło składa się
z czterech cyfr, serwer obsługuje do 10 zapytań na sekundę. Ile maksymalnie czasu będzie
potrzebował haker, aby mieć dostęp do serwera? Jak zmieni się maksymalny czas ataku,
jeśli administrator zabezpieczy serwer hasłem złożonym z pięciu cyfr?
13. Zaproponować algorytm, który wyznaczy wszystkie trzycyfrowe liczby równe sumie silni
własnych cyfr.
14. Przeanalizować poniższy kod i ustalić które elementy macierzy mrx są zliczane oraz mają
wpływ na wynikową wartość S. Odpowiedź zilustrować.
uses crt;
const N = 4;
var
mrx : array[1..N, 1..N] of integer;
i, j, k, S : integer;
begin
clrscr;
for i := 1 to N do
for j := 1 to N do readln(mrx[i, j]);
k := N;
S := 0;
for i := 1 to N do begin
for j := k to N do
S := S + mrx[i, j];
k := k - 1;
end;
writeln(' S = ', S);
readkey;
end.
15. Obliczyć wartość zmiennej logicznej Y, jeśli: A = false (0), B =true (1), C =true (1).
Y = (not(A and B) or C) xor not(A and C or not(B)) xor (B and C and not(A))
16. Podany niżej wzór matematyczny zapisany np. w języku C++ posiada kilka błędów.
Wskaż je oraz zaproponuj prawidłowy zapis tego wzoru.
sin 2 
3,5  1012 cos 2 
sqrt(sin*sin(alfa)/3.5E+12*cos(2beta)
17. Liczbę Eulera (e, podstawa logarytmu naturalnego) można wyznaczyć ze wzoru:

1 1 1 1 1
e        ...
0! 1! 2! 3!
i  0 i!
Podać dowolny sposób (algorytm lub kod programu) wyznaczenia w przybliżeniu tej
liczby na podstawie podanego wzoru.
18. Dane są trzy dowolne długości boków: a, b, c. Jak można sprawdzić, czy mogą one
utworzyć trójkąt? A jeśli to jest trójkąt, to czy jest to trójkąt prostokątny?
19. Rozszyfruj wiadomość: NRG FHCDUD. Opisz przynajmniej jeden bardziej złożony
sposób szyfrowania wiadomości.
20. Zmienna x została zadeklarowana jako liczba typu całkowitego. Która z poniższych
instrukcji warunkowych nie pasuje do pozostałych?
a) Jeżeli x > 5 to wykonaj instrukcję B w przeciwnym wypadku wykonaj instrukcję A
b) Jeżeli x ≥ 5 to wykonaj instrukcję B w przeciwnym wypadku wykonaj instrukcję A
c) Jeżeli x ≤ 5 to wykonaj instrukcję A w przeciwnym wypadku wykonaj instrukcję B
d) Jeżeli x < 6 to wykonaj instrukcję A w przeciwnym wypadku wykonaj instrukcję B
21. Komunikat, który program wysyła do użytkownika ma formę: „W ubiegłym miesiącu
sprzedano N komputerów na łączną kwotę X złotych. Plan sprzedaży wykonano w Y
procentach”. W związku z tym, że wartości N, X, Y nie są z góry znane, należy tak
zaplanować instrukcję drukowania, aby końcówki wyrazów „komputer”, „złoty” i
„procent” były dobierane poprawnie do tych wartości (np. „1 komputer”, „2 komputery”
oraz „7 komputerów”). Podać fragment kodu, który realizuje to zadanie?
22. Zgodnie z prawem Moore'a moc obliczeniowa komputerów podwaja się co 18 miesięcy.
Według Dongarra wydajność superkomputerów zwiększa się dwukrotnie co 14 miesięcy.
Każda kolejna wersja oprogramowania firmy M działa 1,5 razy wolniej od poprzedniej.
Jak często firma M powinna wypuszczać na rynek nowe wersje swojego oprogramowania,
tak by użytkownicy nie zauważyli spowolnienia pracy z systemem?
23. W tabeli podano koszty przewozu ładunku pomiędzy sąsiednie stacje kolejowe A, B, C,
D, E.
A B C D Е
A
1 4
1
B 1
3
C 4
2
D
3
Е 1
2
Jaki jest plan rozmieszczenia stacji kolejowych? Ile wynosi minimalny koszt przewozu
pomiędzy stacjami E i D? Odpowiedź zilustrować.
24. Podwójna pętla wypełnia macierz B:
for n:=1 to 7 do
for k:=1 to 7 do
B[n, k]:=k–n;
Ile komórek macierzy będzie zawierać wartości dodatnie?
25. Udowodnić, że w pamięci 16-bitowego komputera z pamięcią 128 KB w dowolnym
momencie czasu można odnaleźć dwie komórki, które będą zawierały identyczne wartości
liczbowe (binarne). Czy dane stwierdzenie jest poprawne w stosunku do komputera 32bitowego z pamięcią 512 MB?
26. Poniższa plansza zawiera n*m pól. Podać w dowolnej formie przepis na poruszanie się po
planszy wg zaznaczonego schematu (po spirali).
1
m
1
…
n
27. Scharakteryzować i porównać pojęcia STOS i KOLEJKA. Czym różnią się te dwie
struktury danych?
28. W oknie aktywnej aplikacji znajduje się obiekt złożony z prostokąta i dwóch półokręgów
po bokach, umieszczony zgodnie z rysunkiem. Podać sposób określenia, czy dowolny
punkt o współrzędnych (x, y) znajduje się wewnątrz tego obiektu.
(30, 30)
(80, 50)
29. Trzy zagnieżdżone pętlę wypisują na ekranie pewne rozwiązania:
for i:=1 to 6 do
for j:=i+1 to 7 do
for k:=j+1 to 8 do
write(i, j, k);
Ile kombinacji zostanie wyświetlonych? Jaki matematyczny przypadek rozwiązuje
powyższy kod?
30. Czym różnią się kompilatory od interpreterów?
31. Z n prętów o długościach l1, l2, …, ln należy wyciąć m detali o długościach d1, d2, …, dm
tak, aby uzyskać jak najmniejszy odpad materiału. Odpad jest sumą długości
niewykorzystanych części prętów, z których wycina się choć jeden detal. Należy
opracować algorytm (w formie schematu blokowego, pseudokodu lub programu
zapisanego w dowolnym języku programowania), który wskaże najlepszy plan rozcięcia
prętów (określi jaki detal należy wyciąć z jakiego pręta) i obliczy odpad jaki powstanie w
wyniku takiego rozcięcia. Długości prętów i detali są różne.
32. Wiadomo, że kolejne liczby Ti oblicza się według następującego wzoru: T0 = 1, T1 = 1,
a Ti = 2* Ti-2 + Ti-1 dla i=2,3,... Napisać algorytm (w formie schematu blokowego,
pseudokodu lub programu zapisanego w dowolnym języku programowania), który dla
dowolnej liczby N określi taką największą liczbę W, że T0 + T1 + … + TW <= N2 i
znajdzie w tym ciągu takie pary liczb Ti oraz Tk (i <=W, k<=W), że różnią się one od
siebie nie więcej niż o N.
33. Opracować algorytm (w formie schematu blokowego, pseudokodu, lub programu
zapisanego w dowolnym języku programowania), który dla dowolnej liczby naturalnej
nieparzystej N większej od 3 utworzy tablicę o N wierszach i N kolumnach wypełnioną
kolejnymi liczbami całkowitymi od 1 do N2 tak, że w środku tabeli (środkowa kolumna i
środkowy wiersz) znajdzie się wartość 1, a kolejne liczby zostaną wpisane po spirali
zgodnie z ruchem wskazówek, według poniższego schematu:
7→
8→
9→
↓
↑
6
↑
5
1→
Środek
tabeli
↓
←4
←3
2
Poniżej podano przykładowe wypełnienie tabeli dla N=5:
21
20
19
18
17
22
7
6
5
16
23
8
1
4
15
24
9
2
3
14
25
10
11
12
13
Download