Spr. I ( grupy) Z0 (8 p.) Niech X = {1,, 3, 4, 5, 6} {0, 1,, 3}, a Y = {0, 1,, 3} {1,, 3, 4, 5, 6} {1, 3, 5}. Podaj przykładową krotkę: a) należącą do X Y, b) należącą do X \ Y, c) należącą do Y \ X, d) nienależącą do X ani do Y. Oto tabela T1: p1 p p3 p4 1 3 8, a oto T: 3 4 5 1 5 4 9 3 8 3 3 8 p0 p5 1 1 3 3 Z1. (9 p.) Podaj po jednym przykładzie pary pól T1 będących w relacji 1:1, 1:N, N:N. Każdy przykład krótko uzasadnij, ew. wykaż, że nie istnieje. Z (10 p.) Co dadzą kwerendy? a) SELECT DISTINCT p1, p3, p3 FROM T1 ORDER BY p3, p1; b) SELECT DISTINCT p0, p1, p FROM T1, T ORDER BY p0, p1; Zaznacz, co może stać w dowolnej kolejności. Z3. (8 p.) Podaj dowolną 4-kolumnową tabelę, która nie ma kluczy mniejszych niż trzypolowe. Z6. Co można powiedzieć o poszczególnych polach rekordu, dla którego wartością wyrażenia pole1 IS NULL AND (NOT (pole1=pole OR pole3=7) OR pole=null) jest fałsz? Z0 (8 p.) Niech X = {1,, 3} {0, 1,, 3, 4, 5} {, 4, 6} a Y = {1,, 3, 4, 5, 6} {1,, 3}. Podaj przykładową krotkę: a) należącą do X Y, b) należącą do X \ Y, c) należącą do Y \ X, d) nienależącą do X ani do Y. Oto tabela T1: p1 p p3 p4 1 3 8, a oto T: 4 3 5 1 5 4 9 3 8 3 3 8 p5 p6 1 1 3 3 Z1. (9 p.) Podaj po jednym przykładzie pary pól T1 będących w relacji 1:1, 1:N, N:N. Każdy przykład krótko uzasadnij, ew. wykaż, że nie istnieje. Z (10 p.) Co dadzą kwerendy? a) SELECT DISTINCT p1, p1, p FROM T1 ORDER BY p, p1; b) SELECT DISTINCT p5, p3, p1 FROM T1, T ORDER BY p5, p3; Zaznacz, co może stać w dowolnej kolejności. Z3. (8 p.) Podaj dowolną 4-kolumnową tabelę, która nie ma kluczy mniejszych niż trzypolowe. Z6. Co można powiedzieć o poszczególnych polach rekordu, dla którego wartością wyrażenia pole1 IS NULL AND (NOT (pole=5 OR pole1=pole3) OR pole3=null) jest fałsz?
Spr. I termin II Z1. Ile elementów ma relacja R A B, taka że (x, y, z) R x = y z, jeśli A = {1,, 3, 4, 5, 6}, a B = {1, 3, 5, 7}? Uzasadnij! q0 q1 q Oto tabele T1 i T: p1 p p3 p4 1 1 3 8 1 3 3 4 5 1 5 4 3 3 9 3 6 4 3 3 4 5 4 Z. Podaj po jednym przykładzie pary pól T1 będących w relacji 1:1, 1:N, N:N. Każdy przykład krótko uzasadnij, ew. wykaż, że nie istnieje. Z3. Ile krotek wypisze kwerenda SELECT * FROM T1, T;? Uzasadnij, please (króciutko)! Z4. Co dadzą kwerendy? a) SELECT DISTINCT p, p3 FROM T1 ORDER BY p3, p; b) SELECT DISTINCT q0, q1, p FROM T ORDER BY q; c) SELECT * FROM T WHERE q<3; d) SELECT * FROM T WHERE q=null; e) SELECT q1+q FROM T; Zaznacz, co może stać w dowolnej kolejności. Z5. Podaj dowolną tabelę, która nie ma klucza prostego, a ma dokładnie dwa klucze dwupolowe. *Ile kolumn może mieć tabela spełniająca te warunki? Spr. II ( grupy) 0. Oto tabela T: p1 p p3 Podaj efekt poniższych kwerend. 1 3 1 4 3 5 3 6 a) SELECT p3 FROM T GROUP BY p3 HAVING COUNT(*) > 1 3 1 1 b) SELECT p3, COUNT(p) FROM T GROUP BY p, p3 c) SELECT p3, COUNT(*) 3 3 3 FROM (SELECT p, p3 FROM T GROUP BY p, p3) 4 4 0 GROUP BY p3 1. W SQL-u jest dostępna funkcja month, która daje... No, właśnie domyśl się, co też może dawać ja podam tylko dla ułatwienia, że month(#013-10-5#)=10, a np. month(#1999-03-01#)=3. Opisz możliwie dokładnie, jaki będzie efekt kwerendy SELECT count(*) FROM Lekarze GROUP BY month(data_urodzenia).. Jak wypisać imiona wszystkich lekarzy z naszej bazy (każde raz) według liczby ich wystąpień? 3. Jak znaleźć w naszej bazie (jakkolwiek na db, jedną kwerendą na bdb, jedną w miarę prostą kwerendą na cel!): a) liczbę lekarzy, których kiedykolwiek odwiedził p. Nowak? b) nazwisko lekarza, który przyjął najwięcej wizyt?
0. Oto tabela T: p1 p p3 5 0 4 3 6 1 1 Podaj efekt poniższych kwerend. a) SELECT p1 FROM T GROUP BY p1 HAVING COUNT(*) > 1 b) SELECT p1, COUNT(p) FROM T GROUP BY p, p1 6 1 5 c) SELECT p1, COUNT(*) 4 1 1 FROM (SELECT p, p1 FROM T GROUP BY p, p1) 5 GROUP BY p1 1 3 3 1. W SQL-u jest dostępna funkcja month, która daje... No, właśnie domyśl się, co też może dawać ja podam tylko dla ułatwienia, że month(#013-10-5#)=10, a np. month(#1999-03-01#)=3. Opisz możliwie dokładnie, jaki będzie efekt kwerendy SELECT count(*) FROM Pacjenci GROUP BY month(data_urodzenia).. Jak wypisać nazwiska wszystkich pacjentów z naszej bazy (każde raz) według liczby ich wystąpień? 3. Jak znaleźć w naszej bazie (jakkolwiek na db, jedną kwerendą na bdb, jedną w miarę prostą kwerendą na cel!): a) liczbę lekarzy, których kiedykolwiek odwiedziła p. Kowalska? b) nazwisko lekarza, który przyjął najwięcej wizyt?
Kartkówka 9 XI W której NF jest dana tabela? Uzasadnij! Doprowadź ją do postaci o jeden numer wyższej. WładcyPolski name number nick born dead sex Wacław II XIII XIV facet Wacław III XIII XIV facet Władysław I Łokietek XIII XIV facet Ludwik Węgierski XIV XIV facet Jadwiga Andegaweńska XIV XIV babka Wizyty (tabela z bazy Pacjenci po dodaniu do niej w celach statystycznych pokazanych informacji) id_lekarza id_pacjenta data_wizyty czas_trwania kategoria_wizyty 157 008-11- 10 normalna 3 157 007-1- 5 krótka 3 168 006-4-3 6 normalna 3 14 008-10-5 0 długa 31 157 008-10-5 18 długa 31 14 008-10-5 4 krótka 43 168 006-1-5 15 normalna 44 195 007--1 10 normalna 44 14 008-6-5 18 długa * Dane są tabele: T1 p1 p T 1 X Y 3 Z 6 p1 p 0 3 C 4 D 5 E Objaśnij działanie kwerendy: SELECT * FROM (SELECT T1.p1, T1.p, T.p1, T.p FROM T1 RIGHT JOIN T ON T1.p1=T.p1) Nazwa LEFT JOIN T1 ON Nazwa.T.p1=T1.p1 I wersja II grupy: SELECT * FROM (SELECT T1.p1, T1.p, T.p1, T.p FROM T LEFT JOIN T1 ON T1.p1=T.p1) Nazwa RIGHT JOIN T ON Nazwa.T1.p1=T.p1
II sprawdzian, II termin 1. Oto tabela T: p1 p Co dadzą 4 a) SELECT p1,sum(p) FROM T GROUP BY p1; te kwerendy? 3 3 0 5 b) SELECT SUM(p1) FROM T GROUP BY p1,p; 0 3 c) SELECT p1,count(p) FROM T GROUP BY p, p1 0 HAVING p<4; 3 3 4 4 d) SELECT p1 FROM T GROUP BY p*p1,p1;. Opisz możliwie dokładnie, jaki będzie efekt zadziałania w naszej bazie kwerend. a) SELECT DISTINCT COUNT(*) FROM pacjenci GROUP BY year(data_urodzenia); b) SELECT COUNT(pacjenci.id_pacjenta) FROM pacjenci,wizyty GROUP BY wizyty.id_lekarza; 3. Jak znaleźć w naszej bazie (jakkolwiek na db, jedną kwerendą na bdb, jedną w miarę prostą kwerendą na cel): a) liczbę pacjentów, którzy kiedykolwiek odwiedzili okulistę? b) nazwisko pacjenta, który odwiedził najmniej lekarzy? 1. (7 p.) Przesyłamy skompresowane kodem Huffmana napisy zapisane alfabetem {A, B, C, D, E}. Jaki współczynnik (stopień) kompresji uzyskamy dla tekstu zawierającego 6 A, 8 B, 10 C, 11 D i 13 E?. (7 p.) Transmitujemy skompresowane algorytmem LZW teksty zapisane alfabetem, którego kolejne elementy to A, B, C. Zapisz bitowo kod wiadomości AAACAACACAA. 3. (7 p.) Czy jeśli wiadomość SENNI zaszyfrowano jako INESS, to mógł to być monoalfabetyczny szyfr podstawieniowy? A przestawieniowy? Uzasadnij! 4. (4 p.) Jaki może być klucz szyfru Vigenère a, jeśli napis CHĘĆ daje po zaszyfrowaniu DIFE? * Ile jest (wszystkich, tj. również niespełniających naszych zasad z lekcji) możliwych kodów Huffmana przy kodowaniu tekstów zapisanych za pomocą czterech znaków? 1. (7 p.) Transmitujemy skompresowane kodem Huffmana napisy zapisane alfabetem {A, B, C, D, E}. Jaki współczynnik (stopień) kompresji uzyskamy dla tekstu zawierającego 1 A, 11 B, 10 C, 7 D i 6 E?. (7 p.) Transmitujemy skompresowane algorytmem LZW teksty zapisane alfabetem, którego kolejne elementy to A, B, C. Zapisz bitowo kod wiadomości CCCBCCBCBCC. 3. (7 p.) Czy jeśli wiadomość INESS zaszyfrowano jako SENNI, to mógł to być monoalfabetyczny szyfr podstawieniowy? A przestawieniowy? Uzasadnij! 4. (4 p.) Jaki może być klucz szyfru Vigenère a, jeśli napis INFA daje po zaszyfrowaniu JŃHĄ? * Ile jest (wszystkich, tj. również niespełniających naszych zasad z lekcji) możliwych kodów Huffmana przy kodowaniu tekstów zapisanych za pomocą czterech znaków?
1. (4 p.) Znajdź w Z 1 i uzasadnij z definicji: a = element przeciwny do 0, b = element przeciwny do 7, c = element przeciwny do 6 i d = odwrotność elementu 7.. (3 p.) Podaj wszystkie nieodwracalne elementy Z 0. Uzasadnij (bez dowodu), że to właśnie te. 3. (5 p.) Algorytmem Euklidesa znajdź odwrotność liczby 100 mod 013. *: Czy istnieją całkowite i, dla których: a) 6 13 + 35=5, b) 6 13 + 45=3? Uzasadnij! 4. (5 p.) W szyfrowaniu RSA jest N=39. Wybierz sobie e (uzasadniając, że jest poprawne!) i zaszyfruj liczbę 3. 5. (3 p.) W algorytmie RSA wybrałem p=3, q=7, d=5. Odszyfruj C=3. 1. (4 p.) Znajdź w Z 10 i uzasadnij z definicji: a = element przeciwny do 7, b = element przeciwny do 0, c = element przeciwny do 5 i d = odwrotność elementu 9.. (3 p.) Podaj wszystkie nieodwracalne elementy Z 18. Uzasadnij (bez dowodu), że to właśnie te. 3. (5 p.) Algorytmem Euklidesa znajdź odwrotność liczby 101 mod 014. *: Czy istnieją całkowite i, dla których: a) 15 13 + 100=5, b) 15 13 + 8=49? Uzasadnij! 4. (5 p.) W szyfrowaniu RSA jest N=35. Wybierz sobie e (uzasadniając, że jest poprawne!) i zaszyfruj liczbę. 5. (3 p.) Do szyfrowania algorytmie RSA wybrałem p=3, q=5, d=3. Odszyfruj C=1. 0. Co po zdefiniowaniu funkcji f spowoduje poniższy fragment kodu? string f(string t, char z) { string t1=""; for (int i=0; i<t.length(); i++) if (t[i]<z) t1=t1+t[i]; return t1; } 1. Napisz funkcję deszyfr, która dla podanego łańcucha t i liczby n zdeszyfruje t, zakładając, że jest to wielkoliterowy wyraz zaszyfrowany szyfrem Cezara o przesunięciu n. 3. Nie używając ASCII, napisz fragment kodu tworzący (przydatną Vigenère owi!) tablicę z prawej... cout << f("terefere",'f'); cout << f("abba",'a'); cout << f("abba",'a'); cout << f("abba",'c'); 'a' ' b' 'c' ' z' ' b' 'c' 'd' 'a' 'c' 'd' 'e' ' b'............ ' z' 'a' ' b' ' y' 5. Napisz program, w którym zaszyfrujesz RSA dla podanego przez użytkownika klucza jawnego zadaną wiadomość złożoną z wielkich liter alfabetu, łącząc ją blokami po 3 znaki.
Z1. Do jakich typów szyfrów można zaklasyfikować szyfr Cezara? A Vigenère a? Uzasadnij! Z. Dana jest funkcja szyfrująca o nagłówku string Vigenere(string message, string key). Zdefiniuj za jej pomocą funkcję string Cesar(string message, int shift), jeśli shift ma być liczbą nat. 5. Z3. Zapisz algorytm szyfrujący dany napis przestawieniowo. Z4. Przesyłamy skompresowane kodem Huffmana napisy zapisane alfabetem {A, B, C, D, E}. Jaki współczynnik (stopień) kompresji uzyskamy dla tekstu zawierającego 8 A, 10 B, 13 C, 11 D i 6 E? Z5. Transmitujemy skompresowane algorytmem LZW teksty zapisane alfabetem, którego kolejne elementy to A, B, C. Zapisz bitowo kod wiadomości BBBABBABABB. * Ile jest (wszystkich, tj. również niespełniających naszych zasad z lekcji) możliwych kodów Huffmana przy kodowaniu tekstów zapisanych za pomocą czterech znaków? 1. ( 3 p.) Naszkicuj i ew. opisz obrazek, który przedstawia plik tworzony o tak: a) plik << "P 00 100 400 "; for (int i=0; i<100; i++) for (int j=0; j<00; j++) plik << i* << " "; b) plik << "P3 300 500 400 "; for (int i=0; i<500; i++) for (int j=0; j<300; j++) { plik << "0 0 "; if (i>j) plik << "400 "; else plik << "0 "; } 0 0 1 0 1 0 0 1 1 0 0 1. (3 p.) Podaj efekt zadziałania maską 1-1 na obrazie o macierzy. 1 0 7 6 0-1 0 0 Pamiętaj o odp. mnożniku! 8 0 0 5 9. (3 4 p.) Dana jest macierz M (jak Miłość) obrazka PGM o szer. 150 i wys. 100, np. takiego:. a) Dla podanego przykładu narysuj obrazek o macierzy N utworzonej w ten sposób: for (int i=0; i<50; i++) for (int j=0; j<50; j++) N[i][j]=M[i+50][j*3]; Napisz fragment programu zapisujący do pliku skojarzonego ze zmienną plik obrazek, który powstanie przez: b) obrót danego o 90 w prawo, c) dopisanie z prawej strony jego kopii. (Tzn. dla podanego przykładu wyszłoby ). 6*. Opracuj algorytm (opisowo, pseudokodem lub w C++), który dany plik PGM o wielu poziomach szarości przerobi na PGM o max =, tak żeby obrazek był jak najbardziej czytelny (tzn. żeby utracić możliwie najmniej różnic kolorów). 0. ( 3 p.) Naszkicuj i ew. opisz obrazek, który przedstawia plik tworzony o tak: a) plik << "P 100 00 400 "; for (int i=0; i<00; i++) for (int j=0; j<100; j++) plik << j* << " "; b) plik << "P3 500 300 00 "; for (int i=0; i<300; i++) for (int j=0; j<500; j++) { plik << "0 "; if (i<j) plik << "00 0 "; else plik << "0 0 "; }
0 0 1 0 0 5 0 1. (3 p.) Podaj efekt zadziałania maską 10 1-1 na obrazie o macierzy 0 5 0 0. -1 0 0 5 0 15 0 Pamiętaj o odp. mnożniku! 5 0 0 5 0 10 15 40. (3 4 p.) Dana jest macierz M (jak Miłość) obrazka PGM o szer. 150 i wys. 00, np. takiego:. a) Dla podanego przykładu narysuj obrazek o macierzy N utworzonej w ten sposób: for (int i=0; i<100; i++) for (int j=0; j<50; j++) N[i][j]=M[i*][j+100]; Napisz fragment programu zapisujący do pliku skojarzonego ze zmienną plik obrazek, który powstanie przez: b) obrót danego o 90 w prawo, c) dopisanie z prawej strony jego kopii. (Tzn. dla podanego przykładu wyszłoby ). 6*. jw. -1 (dlagr. ). Wyjaśnij na przykładzie działanie excelowej funkcji WYSZUKAJ.PIONOWO. 0. ( 3 p.) Naszkicuj i ew. opisz obrazek, który przedstawia plik tworzony o tak: a) plik << "P3 100 00 300"; for (int i=0; i<00; i++) for (int j=0; j<100; j++) plik << " 0 0 " << j; b) plik << "P 100 00 100 "; for (int i=0; i<00; i++) for (int j=0; j<100; j++) plik << i%50 << " "; 1. (4+ p.) Dana jest macierz M (jak Matematyka) obrazka PGM o szer. 300 i wys. 00, np. takiego:. a) Dla podanego przykładu narysuj obrazek o macierzy N utworzonej w ten sposób: for (int i=0; i<100; i++) for (int j=0; j<75; j++) N[i][j]=M[*i][j+150]; b) A jaki będzie efekt transpozycji podanego obrazka?. (4 p.) Napisz fragment programu zapisujący do pliku PPM skojarzonego ze zmienną plik taki obrazek o szer. 500 px:..., gdzie czarne prostokąty są w rzeczywistości czerwone i mają rozmiar 5 10 px. 3. ( p.) Opisz, krótko uzasadniając, co stanie się z obrazkiem po przefiltrowaniu go następującą maską. 6. A jeśli nie użyje się mnożnika? 1 1 1 1 0 1 1 1 1 1. (5 p.) Oto obrazek PGM: Jest on zapisany w tablicy O jak obrazek. Narysuj obrazek, który opisuje tablica P, jeśli wykonano program: for (i=0; i<height/; i++) for (j=width/; j<width; j++) P[i/][j-width/]=O[i][j];. Napisz program, który: a) z obrazka PGM o szer. 300 i wys. 101 px danego w macierzy M (jak matrix) utworzy plik PGM: a1. (4 p.) będący jego transpozycją, a. (4 p.) składający się z co drugiego wiersza jego prawej połowy, a3. (4 p.) będący jego obrazem w skali 1:3 (utworzonym dowolnie, byleby nie utracić niepotrzebnie pikseli), b) (5 p.) wygeneruje taki plik PPM: (jeśli jego nagłówek to P3 100 0 500, a piksele z lewej krawędzi mają kolor (100, 0, 400) i płynnie przechodzą do czystej bieli). 3. (3 p.) Opisz, krótko uzasadniając, co stanie się z obrazkiem po przefiltrowaniu go następującą maską. 1 0-1 1 0-1 1 0-1
Nowy Rok! :) 0. Oblicz naszym algorytmem pole wielokąta dla P 0, P 1,... = (-,0), (-,), (-3,4), (0,), (0,0). 1. Zapisz niegłupi algorytm stwierdzający, ile punktów wsp. mają: a) proste AB i OP, gdzie O = (0,0), a wsp. pktów A, B i P są danymi liczbami całk. x A, y A,... b) prosta Ax+By+C = 0 i odcinek PQ, gdzie dane są całkowite A, B, C oraz wsp. P i Q. 0. (4 p.) Oblicz 0 x 7 dx. Czy wynik w naszym arkuszu wyjdzie mniejszy, czy większy? Uzasadnij! 1. (5 p.) Dzięki Excelowi stwierdź, ile jest podzielnych przez 7 liczb czterocyfrowych, które są większe od potrojonego sześcianu swojej cyfry dziesiątek.. ( p.) Narysuj wykres 44-wyrazowego ciągu, którego pierwszy wyraz to Twój numer w dzienniku, a każdy dalszy jest z prawdobieństwem /3 trzy razy większy od poprzedniego, a z prabieństwem 1/3 połową poprzedniego. 3. (3 p.) Zasymuluj skoki Żaby Sierpińskiego, jeśli skacze ona zawsze 1/3 odległości, jaka dzieli ją od wybieranych z równymi praństwami punktów (, 0), (, 4) i (1, 1). 4. ( p.) W ściślej tajnej bazie www.math.uni.wroc.pl/~msliw/kody.txt zapisano ściśle tajne kody składające się z cyfry poprzedzonej wielką literą alfabetu angielskiego poprzedzoną liczbą jedno- lub dwucyfrową. Za pomocą Excela stwierdź, ile tajnych kodów kończy się cyfrą parzystą. 1. Znajdź w arkuszu nadmiarem). 0 sin xdx z dokł. do 0,01. (Podpowiedź: znajdź przybliżenie tej liczby z niedomiarem i z. Skonstruuj tak Arkusz, żeby po wpisaniu w A1 naturalnej liczby 10-cyfrowej w B1 pojawiła się suma jej cyfr. Im mniej będziesz przy tym pisał, tym lepiej! (Ale na bdb(+) wystarczy jakiekolwiek poprawne rozwiązanie). 3. Kamień wyrzucony w punkcie A pod kątem 40 do poziomu z v 0 = 0 m/s leci bez oporu i upada w B. W ten sam sposób (w tym samym kierunku) wyrzucamy z punktu dzielącego odcinek AB w stosunku 1:3 drugi kamień. Znajdź w Excelu punkt, przez który przelecą oba te kamienie. 4. W A1:AA015 wpiszę mnóstwo liczb całkowitych. Spowoduj, żeby w AB1 pojawiła się liczba wierszy tego obszaru o numerach nieparzystych, w których będzie więcej niż 11 liczb ujemnych. 1. (4 p.) W zad. Korek zlicz produkty o numerach parzystych, których zakupiono więcej w miesiącach o numerach parzystych niż w pozostałych.. (3 p.) W zad. Bruker zmień założenia na takie: jeśli nie wszyscy pracownicy mogą zajmować się kostką granitową, to danego dnia zajmują się tylko kostką bazaltową, a kostkę granitową w ilości 35 m dowozi się codziennie poza piątkami. 3. W zad. Hotel stwórz tabelę, która dla każdego pensjonariusza (podając jego imię i nazwisko) pokaże: a) (3 p.) czy w danym dniu przyjechał do hotelu (najlepiej pisząc TAK ), b) ( p.) ile dni spędził w hotelu. II termin: 1. (4 p.) W zad. Korek utwórz zestawienie pokazujące, ile razy dokonano zakupu produktu danej kategorii w poszczególnych dniach tygodnia. (Dni tygodnia powinny być podpisane ich nazwami).. (3 p.) W zad. Telefony sporządź wykres obrazujący, jaki procent SMS-ów wysłanych z telefonów o numerach z poszczególnych grup zawierał odpowiedź Tak. 3. W Z5F z http://www.math.uni.wroc.pl/~msliw/1c111/listy1c111.pdf (pliki z danymi w folderze infpliki) stwórz tabelę, która pokaże: a) (3 p.) ile osób zamieszkuje mieszkania na każdej ulicy, b) (3 p.) ile mieszkań jest pod każdym adresem (ulica + klatka) występującym w zadaniu. (Uwaga: rozwiązanie powinno działać tak, żeby równie łatwo działało dla istotnie większej liczby mieszkań i mieszkańców!)
Dany jest fragment programu: Co się wyświetli, jeśli powyższy cout spowodował wyświetlenie napisu 0xff54, a w kolejnej linijce programu napiszemy: int t[5]={-5,11,,33,44}; int w1=t[0], *w=&t[0]; cout << t; a) cout << &t[3]; b) cout << &*t; c) cout << *t; d) cout << w-t; e) cout << w-&t[3]; f) cout << *w; g) cout << *(w+1); h) cout << &w; i) cout << &(w+1); j) cout << *w1; k) w=&w1; cout << &w1 << *(w+1); l) w=&w1; cout << &w1 << (*w)+1; Możliwe są odpowiedzi typu: Wystąpi błąd kompilacji. / Nie wiadomo co. / Nie wiadomo co, ale pierwsza wartość będzie o mniejsza niż druga. /... taka sama jak w podpkcie... Wszystko uzasadnij słowami lub jakimś czytelnym rysunkiem! Zapisz fragment programu (odpowiedni typ listowy mamy zdefiniowany, ale zadeklaruj wszystkie używane zmienne), który: a) usunie przedostatni element dwukierunkowej listy o co najmniej dwóch elementach, jeśli dany jest pocz wskaźnik do jej początku; b) ustali liczbę elementów niepustej jednokierunkowej listy cyklicznej, jeśli dany jest w wskaźnik do któregoś z jej elementów. Wskaźniki++ 0. Dany jest fragment programu: int t[5]={-5,11,,33,44}; int *w1=t+, **w=&w1; cout << w1; Co się wyświetli, jeśli powyższy cout spowodował wyświetlenie napisu 0xff54, a w kolejnej linijce programu napiszemy: a) cout << &t[3]; b) cout << &*t; c) cout << *t; d) cout << w1-t; e) cout << w1-&t[3]; f) cout << *w; g) cout << *(w+1); h) cout << (*w)+1; i) cout << *w1; j) cout << *(w1+1); k) cout << (*w1)+1; l) cout << **w; Możliwe są odpowiedzi typu: Wystąpi błąd kompilacji. / Nie wiadomo co. / Nie wiadomo co, ale pierwsza wartość będzie o mniejsza niż ta z podpktu... Wszystko uzasadnij słowami lub jakimś czytelnym rysunkiem! 1. Zapisz fragment programu (odpowiedni typ listowy mamy zdefiniowany, ale zadeklaruj wszystkie używane zmienne), który: a) mając dany wskaźnik do któregoś z elementów niepustej listy dwukierunkowej, ustali, jaka wartość klucza jest w niej największa, nie spacerując bez potrzeby po liście; b) z niepustej listy jednokierunkowej usunie jej głowę i co drugi element (tj. z listy (1,, 3, 4, 5) powinno zostać (, 4)). *w6. Zadeklaruj tablicę twc 100 wskaźników do charów i zapisz adres jej elementu nr 5. Ile wynosi twc[3] twc[5]? Uzasadnij!
0. Dany jest fragment programu: char *t1[3]; int t[5]={-5,11,,33,44}; int *w1=&t[3], **w=&w1; cout << w1; Co się wyświetli, jeśli powyższy cout spowodował wyświetlenie napisu 0xff5c, a w kolejnej linijce programu napiszemy: a) cout << t-w1; b) cout << &*w1; c) cout << *&w1; d) cout << &*t[4]; e) cout << *&t[4]; f) cout << *w; g) cout << **w; h) cout << *(*w+1); Możliwe są odpowiedzi typu: Wystąpi błąd kompilacji. / Nie wiadomo co. / To samo co w pkcie... Czy dozwolona jest komenda: i) t1[1] = new char; j) *t1 = new char;? Która z poniższych komend może spowodować wyświetlenie znaku S? k) cout << **t1; l) cout << *t1[1]; ł) cout << t1[1]; Wszystko uzasadnij słowami lub jakimś czytelnym rysunkiem! 1. Zapisz fragment programu (odpowiedni typ listowy mamy zdefiniowany, ale zadeklaruj wszystkie używane zmienne), który: a) mając dany wskaźnik do któregoś z elementów niepustej listy dwukierunkowej, ucykliczni ją; b) głowę listy jednokierunkowej o co najmniej dwóch elementach dowiąże na jej koniec (tj. z listy (1,, 3, 4) powinno powstać (, 3, 4, 1)), nie zmieniając przy tym położenia kluczy w pamięci! 1. Narysuj wszystkie drzewa BST o 4 wierzchołkach.. Ile najmniej, a ile najwięcej wierzchołków może mieć [ukorzenione] drzewo binarne o k poziomach? 3. Stwórz drzewo BST dla kluczy 0, 1,,, 9 o najmniejszej możliwej wysokości. * Ile jest takich drzew? 1. Narysuj wszystkie lasy o 4 wierzchołkach.. Ile najmniej, a ile najwięcej wierzchołków może mieć [ukorzenione] drzewo n-narne o k poziomach? 3. Uporządkuj w kolejności niemalejącej klucze drzewa BST z tablicy. 4. Ile co najmniej poziomów ma drzewo o 100 + 7 wierzchołkach? Krótko uzasadnij (może być rysunkowo). * Ile jest drzew binarnych o 100 + 7 wierzchołkach i najmniejszej możliwej wysokości? 0. to jakieś działanie binarne. Zapisz wyrażenie a b c d e f g a) jako drzewo, b) infiksowo, c) w ONP. 1. Zdefiniowano funkcję int f(bstnode * x) { if (x->lewy==null) if (x->prawy==null) return 1; else return f(x->prawy); if (x->prawy==null) return f(x->lewy); else return f(x->lewy)+f(x->prawy); } Co daje f wywołana dla korzenia drzewa binarnego? Uzasadnij! (Możesz podeprzeć się przykładami drzew, ale argumentacja musi być ogólna!) *. Dlaczego taka funkcja int g(bstnode * x) jest daleka od optymalności? Oszacuj jej złożoność, popraw i oszacuj złożoność po poprawieniu. { } if (x==null) return 0; if (g(x->lewy)*g(x->prawy)) return g(x->lewy)+g(x->prawy); else return x->key;. Zapisz na kartce lub w pliku cpp: a) programik, który utworzy drzewko jak na tablicy (uwaga: nie jest to BST, ale... nic nie szkodzi?) b) funkcję, która dla podanej jako argument wartości w zwraca adres dziadka elementu BST o kluczu równym w. (Dla uproszczenia przyjmijmy, że w drzewie jest dokładnie jeden element o takim kluczu i że ma on dziadka).
0. Zapisz piątkowo liczbę 015. 1. Podaj zapis trójkowy liczby, której zapis dziewiątkowy to siódemka i 100 zer.. Ile liczb naturalnych można zapisać na 1 b? 3. Ile bitów jest potrzebnych do zapisania liczby 3 4 100? 4. Czym jest wynik dodania liczby 3 do kodu litery q? 5. Co spowoduje instrukcja: a) cout << char( z +1);? b) cout << char( D - A );? c) cout << int( v - w );? 6. Czy prawdą jest, że: a) "BACA" < "ABRAKADABRA"? ą) "11" < ""? b) B < b? 7. Ile zazwyczaj bajtów liczy w informatyce GB? 8. Jeśli przedrostki rozumieć zgodnie ze standardem SI, to co jest większe: 800 Mib czy 1 GB? 9. Jaki jest zakres kodowania U na 1B? A. Zapisz w U na 4 B liczby: 3, -3, 0, - 31. B. Jaką liczbę koduje w U zapis: 1000.0000.0000.0001? 1111.1111.1111.1110? 0000.1000.0000.0000? C. Model RGB stosuje się w grafice rastrowej czy wektorowej? W modelu RGB: D. Jak zapisać kolor biały? E. Ile kolorów da się zapisać, jeśli na każdą składową przeznaczyć 6 b? F. Ile mniej więcej pamięci zajmie obrazek 1000 000 px: a) jeśli każdą składową zapisujemy na 1 B? b) jeśli poziomów czerwieni ma być 3, a zieleni i błękitu po 64? 1. Podaj klasyfikację sieci ze względu na zasięg.. Ile bitów ma adres IPv4? 3. Jak się nazywa serwer zamieniający nazwy domen na numery IP? Co to jest: 4. intranet? 5. ping? 6. trasowanie? 7. ruter? 8. koncentrator? 9. modem? A. SSH? B. POP3? C. TCP? D. XML? E. Ethernet? F. token ring? 0. to jakieś działanie binarne. Zapisz wyrażenie a b c d e f g a) jako drzewo, b) nawiasowo, c) w NP. 1. Zdefiniowano funkcję int f(bstnode * x) { if (x) return 1+f(x->prawy); else return 0; } Co daje f wywołana dla korzenia drzewa binarnego? Uzasadnij! (Możesz podeprzeć się przykładami drzew, ale argumentacja musi być ogólna!). Zapisz funkcję, która dla danego korzenia drzewa znajdzie minimalną wartość występujących w nim kluczy. (Odpowiedni typ drzewiasty mamy zdefiniowany, ale deklaruj wszystkie używane zmienne!) 3. Zapisz procedurę dodającą wierzchołek o danym kluczu do drzewa BST zmodyfikowanego tak, że każdy wierzchołek ma wskaźnik do swojego brata (siostry). Jeśli robisz to na kartce, wystarczy, żeby procedura dodawała trzeci wierzchołek drzewa, jeśli na komputerze ma być ogólnie. *. Zapisz (na kartce lub komputerze) procedurę dodającą w dowolnym miejscu element takiej dziwnej listy cyklicznej. (Można założyć, że ma ona już co najmniej dwa elementy).