136700.ocena(4.5) problemy z nawrotami przy konwersji dec2bin 136766.ocena(5.0-) brak jednego odcięcia, ale przymknę na to oko ;-) 136768.ocena(4.0) dla skrajnych liczb (pierwsza i ostatnia) generacja klucza nie działa poprawnie 136776.ocena(4.0) błędy przy konwersji i rekonwersji; poza tym nie zostały odwrócone bity po konwersji ;-) 131320.ocena(3.5) błędy w konwersji dec2bin; problemy z sortowaniem; niedopracowane wyznaczanie dopełnień elementu; problemy z pierwszym i ostatnim elementem na liście 136573.ocena(4.0) błędy w generacji listy kluczy; wady sortowania z kluczem 136634.ocena(2.0) brak podstaw do zaliczenia :-( 136678.ocena(2.0) żadna rzecz, która została zdefiniowana nie jest poprawna; za dużo błędów 136738.ocena(2.0) tylko konwersja dec2bin dobrze; reszta z błędami albo brak, a dołączanie i odłączanie klucza to za mało na zaliczenie 136764.ocena(5.0) całkiem ładnie 136777.ocena(2.0) jest tylko konwersja dec2bin i sklejanie list; reszty brak albo z błędami; za mało :-( 136782.ocena(2.0) konwersje/rekonwersje z błędami; dopełnień brak; nie ma liczenia klucza; sortowania niepoprawne; tylko scalanie ok, ale to za mało 136786.ocena(5.0) elegancko 136799.ocena(4.0) problemy z konwersją dec2bin; nie połączono dopełnień z generacją kluczy; jest też problem z odwróconymi bitami 136800.ocena(4.5) problemy z nawrotami oraz warunkami stopu; autor nie do końca rozumie chyba rolę odcięć w tych warunkach stopu :-/ 136803.ocena(4.0) autor sam zidentyfikował swoje błedy ;-) poza tym konwersja dec2bin też nie jest idealna 136816.ocena(5.0-) mały problem z odwracaniem ciągów binarnych 136822.ocena(2.0) autor systematycznie myli kolejność elementów i porządek przetwarzania; tylko rekonwersja bin2dec jest bez zarzutu; reszta definicji ma notoryczne te same niemal błędy albo czegoś brak; za dużo jest tych błędów 138675.ocena(2.0) brak dopełnień; wadliwa konwersja dec2bin; nie ma liczenia klucza; sortowanie też z błędami; za mało zrobiono poprawnie w stosunku do liczby błędów Proszę Państwa, Jedna uwaga do prac wielu osób, które nie uzyskały zaliczenia. Wiele z nich (i nie tylko wyłącznie oni) miały definicję konwersji postaci: dec2bin(0,[0]). dec2bin(1,[1]). dec2bin(A,[B|C]):- B is mod(A,2), A1 is div(A,2),dec2bin(A1,C). Co jest nie tak z tą definicją poza odwróconą kolejnością bitów? Otóż w możliwych nieskończonych nawrotach interaktywnych widać, że do wynikowego ciągu dodawane są końcowe zera. Jeśli teraz dodamy do tego błąd zapomnienia, iż trzeba ów ciąg bitów odwrócić (jakimś predykatem), to w połączeniu na przykład z rekonwersją (nawet poprawną), która w tym zadaniu musi przecież wystąpić, możemy otrzymać rosnąco wykładniczo kolejne wartości do przetwarzania w dalszych etapach zadania. Nie możecie Państwo ignorować faktu, iż definicja ta nie spełnia kluczowego kryterium informatyki - kryterium stopu. Tak jak Państwa uczyłem na zajęciach na przykładzie poniższej silni: silnia(0,1). silnia(1,1). silnia(N,F):- N1 is N-1, silnia(N1,F1), F is N*F1. Definicja ta nie jest poprawna, bo po nawrocie możemy wejść w obszar ujemnych argumentów i mamy nieskończony cykl. Nie można ignorować tak ważnej kwestii jak poprawne warunki zatrzymania obliczeń! Mam nadzieję, że to małe przypomnienie zachowa się wreszcie na stałe w Państwa pamięci. Z poważaniem, Artur Michalski