Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor: Steven Vickers
Tłumaczył: mgr Jerzy Wałaszek

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

ROZDZIAŁ 15 – Uruchamianie programów

Schematy blokowe i odpluskwianie

SPIS TREŚCI
ROZDZIAŁ 1 Przygotowanie ZX81
ROZDZIAŁ 2 Wydawanie komputerowi poleceń
ROZDZIAŁ 3 Lekcja historii
ROZDZIAŁ 4 Sinclair ZX81 jako kalkulator kieszonkowy
ROZDZIAŁ 5 Funkcje
ROZDZIAŁ 6 Zmienne
ROZDZIAŁ 7 Łańcuchy tekstowe
ROZDZIAŁ 8 Programowanie komputera
ROZDZIAŁ 9 Dalsze programowanie komputera
ROZDZIAŁ 10 Jeśli ...
ROZDZIAŁ 11 Zestaw znaków
ROZDZIAŁ 12 Pętle
ROZDZIAŁ 13 Wolno i Szybko
ROZDZIAŁ 14 Podprogramy
ROZDZIAŁ 15 Uruchamianie programów
ROZDZIAŁ 16 Pamięć taśmowa
ROZDZIAŁ 17 Wyświetlanie z bajerami
ROZDZIAŁ 18 Grafika
ROZDZIAŁ 19 Czas i ruch
ROZDZIAŁ 20 Drukarka dla ZX81
ROZDZIAŁ 21 Podłańcuchy
ROZDZIAŁ 22 Tablice
ROZDZIAŁ 23 Gdy zaczyna brakować pamięci
ROZDZIAŁ 24 Liczenie na palcach
ROZDZIAŁ 25 Jak pracuje komputer
ROZDZIAŁ 26 Stosowanie kodu maszynowego
ROZDZIAŁ 27 Organizacja pamięci
ROZDZIAŁ 28 Zmienne systemowe
DODATKI
A Zestaw znaków
B Numery komunikatów
C ZX81 dla znających język BASIC

ROZDZIAŁ 15 – Uruchamianie programów

Sztuka programowania komputerów nie polega jedynie na wyuczeniu się funkcji poszczególnych poleceń. Prawdopodobnie już zdążyłeś się przekonać, iż większość twoich programów zawiera błędy, gdy je po raz pierwszy wprowadzisz do komputera: być może błędy przy wpisywaniu lub błędy w twoich pomysłach na temat tego, co program powinien wykonywać. Mógłbyś przypisać to swojemu niedoświadczeniu, lecz w ten sposób oszukiwałbyś się tylko.

KAŻDY PROGRAM ROZPOCZYNA SIĘ OD BŁĘDÓW

Wiele programów również kończy się z błędami. Wynikają z tego dwa wnioski: po pierwsze musisz od razu testować wszystkie swoje programy, a po drugie, nie ma sensu tracić panowania nad sobą za każdym razem, gdy nie chcą działać. Ogólny plan można zilustrować schematem blokowym:

obrazek

Zasadą jest to, iż przechodzisz schemat blokowy od skrzynki do skrzynki wg strzałek, robiąc dokładnie to, co jest zapisane wewnątrz. Dla różnych rodzajów instrukcji użyliśmy różnych rodzajów skrzynek.

Zaokrąglona skrzynka obrazek jest punktem startowym lub metą
Prostokątna skrzynka obrazek jest bezpośrednią instrukcją
Równoległobok obrazek prosi cię o podjęcie jakiejś decyzji przed dalszym wykonywaniem instrukcji

(Przedstawione symbole blokowe są powszechnie stosowane na schematach blokowych, lecz wcale nie musisz się przy nich upierać)

Oczywiście schematy blokowe nie nadają się specjalnie do opisu działań ludzkich; myślenie ograniczone ściśle wytyczonymi ścieżkami nie sprzyja kreatywności lub elastyczności. Jednakże dla komputerów są dniem powszednim. Najlepiej nadają się do ogólnego opisu struktury programów z podprogramem w prawie każdej skrzynce, zatem schemat blokowy dla naszego programu przeliczania funtów sterlingów mógłby wyglądać następująco:

obrazek

Wtedy przy koncepcyjnym podejściu prostokątne skrzynki odpowiadają poleceniom GOSUB; chociaż w praktyce niektóre skrzynki - jak ta u góry odczytująca L, S i D - są tłumaczone bezpośrednio na polecenia języka BASIC, bez odwoływania się do podprogramu.

Schematy blokowe, podprogramy oraz polecenia REM służą lepszemu zrozumieniu działania programu; a wtedy popełnia się mniej błędów. Lecz podprogramy również pomagają w ograniczeniu liczby popełnianych błędów przez ułatwienie testowania programu. Łatwiej jest przetestować osobne podprogramy i upewnić się, iż poprawnie ze sobą współpracują niż testować cały program bez podziału na podprogramy.

Zatem podprogramy pomagają przy skrzynce "Znajdź błędy", a tutaj naprawdę potrzebujesz wszelkiej dostępnej pomocy, ponieważ działanie to często doprowadza programistę do prawdziwej rozpaczy. Oto inne wskazówki do znajdowania błędów:

(i) Sprawdź, czy program nie zawiera pomyłek przy wpisywaniu. Zawsze to rób.

(ii) Staraj się wyliczyć wartość zmiennych na każdym etapie - a jeśli to możliwe, zastosuj odpowiednie wyjaśnienia w poleceniu REM. Wartość zmiennych możesz sprawdzić w wybranym punkcie programu przez wstawienie tam polecenia PRINT.

(iii) Jeśli efektem działania programu jest zatrzymanie się z komunikatem błędu, to wykorzystaj do maksimum tę informację. Wyszukaj kod błędu i postaraj się stwierdzić, dlaczego program zatrzymał się w tym właśnie wierszu. Jeśli konieczne, wyświetl sobie zawartość zmiennych.

(iv) Możesz przechodzić krokowo przez wiersze programu wpisując je jako rozkazy (bez numeru wiersza).

(v) Udaj, że jesteś komputerem: uruchom program na sobie samym korzystając przy tym z kartki i ołówka do notowania wartości zmiennych.

Gdy znajdziesz błędy, usuwanie ich przypomina pisanie oryginalnego programu, lecz program musisz przetestować ponownie. Zadziwiająco łatwo można usunąć jeden błąd tylko po to, aby wprowadzić do programu inny.

Ćwiczenia

  1. Schemat blokowy kalkulatora LSD nie posiada skrzynki "Koniec". Czy to ma znaczenie? Gdzie byś ją umieścił, gdybyś taką chciał mieć na schemacie blokowym?
  1. Narysuj schematy blokowe dla programów z pętlami w rozdziale 12.
Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2021 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.