Zamknięcie działu 2
Słowniczek działu
- Bit — najmniejsza jednostka informacji, 0 albo 1.
- Bajt — osiem bitów, 256 możliwych wartości.
- Procesor — układ wykonujący elementarne instrukcje na liczbach.
- Pamięć operacyjna (RAM) — szybka, ulotna pamięć działającego programu.
- Pamięć trwała — pamięć zachowująca dane bez zasilania.
- Takt — liczba impulsów zegara procesora na sekundę (GHz).
- Uniwersalność komputera — zdolność jednej maszyny do dowolnych zadań opisanych programem.
- Programowanie — komunikacja człowieka z komputerem w celu rozwiązania problemu.
- Język maszynowy — liczbowy zapis instrukcji, jedyny język czytany przez procesor.
- Język programowania — język dla ludzi: znaki, gramatyka, znaczenia.
- Kompilator / interpreter — tłumacz z języka programowania na maszynowy: całościowo przed uruchomieniem / na bieżąco.
- Algorytm — skończony, jednoznaczny ciąg kroków prowadzący do rozwiązania.
- Program komputerowy — zbiór instrukcji mówiących maszynie, co robić krok po kroku.
- Pseudokod — zapis algorytmu w jednoznacznych krokach języka naturalnego.
- Kodowanie znaków (ASCII, Unicode) — umowa przypisująca znakom liczby.
- Piksel — element obrazu; barwa zapisana trzema liczbami (RGB).
- Próbkowanie — zamiana sygnału ciągłego na ciąg pomiarów.
- Reprezentacja danych — sposób zapisania informacji w liczbach, dobrany do zadania.
W pigułce
- Komputer jest maszyną uniwersalną, ale trzeba mu jednoznacznie powiedzieć, co robić — stąd programowanie.
- Pod spodem są wyłącznie bity i elementarne operacje; złożone zachowanie bierze się ze skali, nie z ukrytego rozumu.
- Programowanie to komunikacja w języku: znaki, gramatyka, znaczenie — a między człowiekiem i procesorem stoi kompilator lub interpreter.
- Każdy program rozkłada się na trzy klocki: sekwencję, warunek, powtórzenie.
- Algorytm (przepis) to nie to samo co program (zapis przepisu dla maszyny).
- Dla wielu ludzkich umiejętności przepisu nie umiemy podać — to historyczny powód narodzin uczenia maszynowego.
- Wszystko, co komputer przetwarza, jest liczbą; wybór reprezentacji decyduje o tym, co maszyna może wychwycić.
Sprawdzian działowy
Pytania do refleksji:
-
Wyjaśnij, na czym polega uniwersalność komputera, i porównaj go pod tym względem z automatami z Jednostki 1.1 (kaczka Vaucansona, Turek Szachista).
-
Dlaczego komputery są dwójkowe? Podaj argument inżynierski i wskaż związek z algebrą Boole'a (Jednostka 4.4) oraz pracą Shannona (Jednostka 5.3).
-
„Procesor potrafi tylko dodawać, porównywać i przesyłać liczby, a jednak modele językowe piszą wiersze." Wyjaśnij, jak obie te rzeczy mogą być prawdziwe jednocześnie.
-
Opisz drogę od zdania napisanego w Pythonie do operacji wykonanej przez procesor. Wskaż, gdzie w tej drodze stoi tłumacz i jakie ma warianty.
-
Podaj własny przykład zadania, dla którego łatwo napisać algorytm, i drugi, dla którego to praktycznie niemożliwe. Wyjaśnij, co dokładnie stanowi różnicę między nimi (nie „trudność", a rodzaj wiedzy potrzebnej do rozwiązania).
-
Wyjaśnij, dlaczego wybór reprezentacji danych nie jest decyzją techniczną, lecz merytoryczną. Zilustruj to dwoma różnymi reprezentacjami tej samej treści, z których każda pozwala wychwycić coś innego.
-
Napisz, dlaczego zdanie „AI to tylko liczby" jest jednocześnie prawdziwe i mylące. Do czego dokładnie odnosi się słowo „tylko" i czego ono nie rozstrzyga?