powrót

Ćwiczenia:

Terminy zaliczenia ASD:
19 marca 15:00 – poprawa 1 kolokwium (zainteresowanych proszę o zgłaszanie chęci napisania poprawy mailowo)
21 marca 18:00 – ostatni termin oddawania projektów
22 marca 17:00 – ostatni termin obrony projektów (proszę zgłaszać wcześniej chęć obrony)
23 marca 16:30 – poprawa 2 kolokwium (zainteresowanych proszę o zgłaszanie chęci napisania poprawy mailowo)

  1. 22-10-2020
  2. 29-10-2020
  3. 05-11-2020
  4. 12-11-2020
  5. 19-11-2020
  6. 26-11-2020
  7. 03-12-2020
  8. 10-12-2020 Kolokwium. Przykładowe kolokwium można znaleźć tutaj.
  9. 17-12-2020
  10. 07-01-2021
  11. 14-01-2021
  12. 21-01-2021
  13. 28-01-2021
  14. 04-02-2021
  15. 11-02-2021 Kolokwium.

Literatura:

Programowanie

Algorytmy

Wykonane zadania:

Debugowanie i pomocne programy

Szczegóły zaliczenia zadania

Zadanie 9 (termin: 18:00:00 17-02-2021)

Napisz strukturę danych reprezentującą tablicę hashującą metodą łańcuchową, następnie wywołaj procedury w takiej kolejności jak na slajdach z zajęć. Na adjule.pl jest to zadanie:
APR_052_HASH_CH (za 1 punkt)
Napisz strukturę danych reprezentującą tablicę hashującą metodą adresowania otwartego. Na adjule.pl jest to zadanie:
APR_053_HASH_OP (za 0.5 punktu).
ZAŁĄCZNIKI:
Pliki z kodem źródłowym (*.c) lub (*.py)

Zadanie 8 (termin: 15:30:00 11-02-2021)

Napisz strukturę danych tree reprezentującą drzewo BST, następnie wywołaj procedury w takiej kolejności jak na slajdach z zajęć. Na adjule.pl jest to zadanie:
APR_050_BST_TREE (za 1 punkt)
dodatkowo wykonać zadanie 4 lub 5 Na adjule.pl są to zadania:
APR_051_BST_TREE_4 lub APR_051_BST_TREE_5 (za 0.5 punktu).
ZAŁĄCZNIKI:
Pliki z kodem źródłowym (*.c) lub (*.py)

Zadanie 7 (termin: 15:30:00 04-02-2021)

Napisz strukturę danych tree reprezentującą drzewo binarne, następnie wywołaj procedury w takiej kolejności jak na slajdach z zajęć (za 1 punkt).
dodatkowo wykonać zadanie 4 lub 5 (za 0.5 punktu).
ZAŁĄCZNIKI:
Pliki z kodem źródłowym (*.c) lub (*.py)

Zadanie 6 (termin: 15:30:00 28-01-2021)

Napisz strukturę danych heap reprezentującą kopiec binarny typu max, następnie wywołaj procedury w takiej kolejności jak na slajdach z zajęć. Na adjule.pl jest to zadanie:
APR_048_HEAP (za 1 punkt)
dodatkowo wykonać zadanie 3 sortowanie przez kopcowanie, które zaliczy zadanie APR_044_MERGE_SORT na adjule.pl (za 0.5 punktu).
ZAŁĄCZNIKI:
Pliki z kodem źródłowym (*.c) lub (*.py)

Zadanie 5 (termin: 15:30:00 21-01-2021)

Napisz strukturę danych list reprezentującą listę z dowiązaniami, następnie wywołaj procedury w takiej kolejności jak na slajdach z zajęć. Na adjule.pl jest to zadanie:
APR_049_LIST (za 1 punkt)
dodatkowo wykonać zadanie 3 i 4 ze slajdów, zastępując tablicę data w strukturach stos i kolejka strukturą list i zastąp odpowiednie procedury takimi, aby ponowne ich wywołanie wygenerowało takie samo wyjście jak w zadaniu PR_047_STACK_AND_QUEUE (za 0.5 punktu).
ZAŁĄCZNIKI:
Pliki z kodem źródłowym (*.c) lub (*.py)

Zadanie 4 (termin: 15:30:00 31-12-2020)

Napisz dwie struktury danych stos i kolejkę, następnie wywołaj procedury w takiej kolejności jak na slajdach z zajęć. Na adjule.pl jest to zadanie:
APR_047_STACK_AND_QUEUE (za 1 punkt)
dodatkowo wykonać zadanie 4 lub 5 ze slajdów, zastępując tablicę data dwiema odpowiednimi strukturami data1 i data2 (dwa stosy lub dwie kolejki) i zastąp odpowiednie procedury takimi, aby ponowne ich wywołanie wygenerowało takie samo wyjście jak w zadaniu PR_047_STACK_AND_QUEUE (za 0.5 punktu).
ZAŁĄCZNIKI:
Pliki z kodem źródłowym (*.c) lub (*.py)

Zadanie 3 (termin: 15:30:00 17-12-2020)

Napisz procedury, sortowania tablicy różnymi metodami. Na adjule.pl są to zadania:
APR_041_SELECT_SORT, APR_042_BUBBLE_SORT, APR_043_INSERT_SORT (2 z 3 za 0.5 punktu każde)
i jedno zadanie dodatkowe po uzyskaniu 1 punktu:
APR_044_MERGE_SORT, APR_045_QUICK_SORT, APR_046_COUNT_SORT (1 z 3 za 0.5 punktu).
ZAŁĄCZNIKI:
Plik z kodem źródłowym (*.c) lub (*.py)

Zadanie 2 (termin: 15:30:00 26-11-2020)

Napisz procedurę, która wypisuje pierwiastki równania kwadratowego. Na adjule.pl jest to zadanie APR_007_AD1 (1 pkt) lub zadanie APR_008_AD2 (1.5 pkt).
ZAŁĄCZNIKI:
Plik z kodem źródłowym (*.c)

Zadanie 1 (termin: 15:30:00 05-11-2020)

Napisz program, który zamienia dwie zmienne miejscami nie korzystając z trzeciej zmiennej za pomocą różnych metod (max. 15)

PSEUDOKOD:

Operatory użyte w programie, a których nie używaliśmy na zajęciach, należy zdefiniować na początku pliku z pseudokodem w następujący sposób:
// a SHIFTL b – operator, który reprezentację bitową liczby a przesuwa w lewo o b bitów obcina bity z lewej strony a z prawej dopisuje zerami
Należy też podać tablicę priorytetów operatorów użytych w pseudokodzie.
//PRIORYTET OPERATORA
//	()
//	/ * DIV MOD
//	+ -
//	SHIFTL
//	=
Linijka rozpoczynająca się symbolami // oznacza komentarz w pseudokodzie do końca linii.
Proszę również określić liczbę operacji w Państwa rozwiązaniu.
x = a	//1 przypisanie
a = b	//1 przypisanie
b = x	//1 przypisanie
//razem 3 operacje
Każda wymieniona w programie metoda jest warta (0.1 pkt).

KOD C:

int a, b, c ,d
read(a,b)
//metoda 1
c = a
d = b
//tutaj użyć metody 1 na zmiennych c i d
write(c,d)
//metoda2
c = a
d = b
//tutaj użyć metody 2 na zmiennych c i d
…

Uwaga! Zadanie można testować na adjule.pl jest to zadanie APR_004_ZDL należy jednak przetestować każdą metodę osobno (osobny plik). A następnie połączyć je razem tworząc następującą strukturę:

ZAŁĄCZNIKI:
Plik z kodem źródłowym (*.c)
Plik z pseudokodem(*.txt)