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 ( a1 OR b2 ) b) ab AND b=2 OR ( NOT a=b ) c) a=c AND ac 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ć?