Politechnika Wrocławska, Wydział Elektroniki, Kierunek: Informatyka, Semestr letni 2003/2004


Przykładowe zadania na kolokwium zaliczeniowe wykładu INE 2022

Termin kolokwium ustalono na czwartek 3 czerwca, w sali 205 C-1 :
   
         - pierwsza tura  -  godz. 7.20-8.05 
             - druga tura       -  godz.
8.15-9.00 
Podział na tury w/g alfabetycznej listy podanej na stronie WWW dziekanatu Elektroniki.

1 tura - pierwsze 126 osób z listy, o nazwiskach rozpoczynających się od liter
A-N
2 tura - pozostałe 126 osób o nazwiskach
O-Ż


  1. Napisz szablon-wzorzec (ang. template) dla funkcji wyznaczającej pozycję elementu o maksymalnej wartości
    w tablicy zawierającej elementy dowolnego typu (zadawanego jako parametr szablonu)
    dla których istnieje operator porównania <=  (mniejsze lub równe)

  2. Zaproponuj reprezentację danych (napisz definicje wykorzystywanych typów, prototypy funkcji
    realizujących podstawowe operacje, oraz implementację funkcji "usuwającej" wybraną element) dla:
      a) uporządkowanej listy danych personalnych studentów
      b) kolejki priorytetowej "zadań do wykonania"
      c) listy cyklicznej zawierającej parametry okien wyświetlanych na ekranie 

  3. Napisz funkcję tworzącą dynamiczną tablicę liczb double
    o zmiennej ilości wierszy (zadawanej jako parametr tej funkcji)
    i o stałej ilości kolumn (równej 10).

  4. Napisz funkcję usuwającą przedostatni element w liście jednokierunkowej.

  5. Napisz funkcję wyświetlającą całą zawartość listy cyklicznej.

  6. Wyjaśnij na czym polega ADT. Zastosuj tę technikę do zaprojektowania interfejsu
    i oprogramowania pojęcia "zbioru elementów"

  7. Napisz plik nagłówkowy "modul.h" dla modułu "modul.cpp"
    udostępniającego innym fragmentom programu:
     - stałą N o wartości równej 10
     - stałą Wersja o wartości  "2.1"
     - zmienną globalną licznik typu unsigned long
     - zmienną funkcja zawierającą wskaźnik funkcji takiego samego typu jak  int getch(void)
     -
    funkcję WyswietlKomunikat, której parametrem wejściowym jest adres łańcucha
        zawierającego tekst wyświetlanego komunikatu, i która zwraca kod naciśniętego klawisza,
     - szablon funkcji maksimum zwracającą większy z dwu parametrów

  8. Wyjaśnij pojęcia "rachunek zdań" i "tautologia". Podaj po dwa przykłady.

  9. Napisz program sprawdzający metodą zero-jedynkową, czy wyrażenie:
      p ^ (q v s)  ® q ^ ( p v s)
    jest prawem logicznym

  10. Udowodnij, prawdziwość (lub nieprawdziwość) w/w prawa
    metodą dedukcji naturalnej

  11. Przeprowadź test statyczny sprawdzający czy zamieszczony poniżej fragment kodu
    zakończy swoje działanie z dodatnią zawartością zmiennej x
    int x, y=2, i;
    for( i=0; i<10; i++)
      {
       x = y;
       y = -y;
       i--;
      }

  12. Wymień znane ci metryki pomiaru strukturalnej złożoności programu.
    Podaj dokładniejszy opis i przykłady 3 wybranych metryk złożoności wewnątrz-modułowej.