Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem.

Podobne prezentacje


Prezentacja na temat: "Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem."— Zapis prezentacji:

1 Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem. Efektem wykonania instrukcji jest przekształcenie stanu obliczeń. Stanem obliczeń nazywamy wartości wszystkich zmiennych programu. Kolejność wykonywania instrukcji w programie nazywamy czasami przepływem sterowania (flow of control).

2 Instrukcje 2 W danej chwili komputer steruje (kontroluje) wykonaniem jednej instrukcji Najprostszą sytuację mamy w przypadku sekwencyjnego przepływu (przekazywania) sterowania. Ciąg instrukcji Instrukcja_1; Instrukcja_2;. Instrukcja_N; sequence_of_statements – ciąg instrukcji.

3 Instrukcje 3 Instrukcja skoku – goto Każda instrukcja może być poprzedzona etykietą (label), która jest identyfikatorem ujętym w podwójne nawiasy kątowe. > Instrukcja; Umożliwia to wykonanie skoku do takiej instrukcji. Realizuje to instrukcja skoku goto Etykieta Wynikiem skoku jest przekazanie sterowania do instrukcji poprzedzonej etykietą.

4 Instrukcje 4 Nie można przekazać sterowania do wnętrza instrukcji warunkowych i pętli lub pomiędzy rozgałęzieniami instrukcji warunkowych. Można jej użyć do wyjścia z pętli, albo z bloku. Zalecenie. Nie stosować instrukcji skoku. Wymaganie dotyczące ćwiczeń laboratoryjnych. Nie wolno stosować instrukcji skoku. Instrukcja pusta ;

5 Instrukcje 5 Instrukcja podstawienia (assignment statement) Desygnator := Wyrazenie; Akcje: Wyznaczenie wartości desygnatora opisującego zmienną Wyznaczenie wartości wyrażenia Zastąpienie wartości zmiennej opisanej desygnatorem przez wartość wyrażenia Desygnator i wyrażenie muszą być zgodnych typów. Wartość wyrażenia musi spełniać ograniczenia nałożone na zmienną.

6 Instrukcje 6 Pierwsza reguła sprawdzana jest podczas kompilacji. Druga reguła sprawdzana jest podczas wykonywania instrukcji i w przypadku naruszenia ograniczeń zgłaszany jest wyjątek Constraint_Error Instrukcja declare - bloku (block statement) declare [Deklaracje;] begin Instrukcje; end; Przykład. Instrukcje_001_Blok_Nazwy

7 Instrukcje 7 Zasięg i widzialność (scope and visibility) Zasięgiem nazywamy fragment tekstu programu, w którym obiekt ma znaczenie. Obiekt jest widzialny w swoim zasięgu tzn. można się do niego odwoływać, chyba że zostanie przesłonięty przez nową deklarację obiektu o tej samej nazwie.

8 Instrukcje 8 Instrukcja warunkowa if_then_else_statement ::= if condition then sequence_of_statements else sequence_of_statements end if; condition ::= Boolean_expression sequence_of_statements ::= statement{statement} condition – warunek – wyrażenie typu logicznego (Boolean)

9 Instrukcje 9 if_then_statement ::= if condition then sequence_of_statements end if; if_statement ::= if condition then sequence_of_statements {elsif condition then sequence_of_statements} [else sequence_of_statements] end if;

10 Instrukcje 10 Instrukcja wyboru case_statement ::= case expression is case_statement_alternative {case_statement_alternative} end case; case_statement_alternative ::= when discrete_choice_list => sequence_of_statements

11 Instrukcje 11 discrete_choice_list ::= choice{|choice} choice ::= component_simple_name| discrete_range| subtype_indication| expression| others Przykład Instrukcje_002_Funkcja_Signum

12 Instrukcje 12 Słowniczek case_statement_alternative – alternatywa instrukcji wyboru discrete_choice_list – dyskretna lista wyboru choice – wybór component_simple_name – nazwa składowej discrete_range – zakres dyskretny subtype_indication – nazwa podtypu (dyskretnego)

13 Instrukcje 13 Reguły Zbiory określone przez listy wyboru muszą być wzajemnie rozłączne Suma tych zbiorów musi być całym zbiorem wartości typu selektora Wariant others musi być umieszczony na końcu Wszystkie wyrażenia określające listy wyboru muszą być statyczne Przykład Instrukcje_003_Musztra, Instrukcje_004_Dni_Tygodnia_Case, Instrukcje_005_Czytanie_Znakow

14 Instrukcje 14 Definicja Skalarnym typem danych (scalar data type) nazywamy typ, w którym wartości są uporządkowane i każda jest niepodzielna. Definicja Dyskretnym typem danych (discrete data type) nazywamy typ skalarny, w którym każda wartość (z wyjątkiem pierwszej) ma jednoznacznie określony poprzednik i każda wartość (z wyjątkiem ostatniej) ma jednoznacznie określony następnik.

15 Instrukcje 15 Zalecenia Jeżeli istnieją tylko dwie możliwości to używaj instrukcji if Jeżeli decyzja wyboru nie bazuje na wartości jednego wyrażenia dyskretnego, to używaj instrukcji if Jeżeli jest wiele możliwości bazujących na wartości jednego wyrażenia dyskretnego, używaj instrukcji case Jeżeli istnieje kilka możliwości bazujących na wartości jednego wyrażenia dyskretnego używaj case, albo if tak, aby uzyskać bardziej czytelny program Instrukcję wyboru należy stosować tylko wtedy, gdy podzbiory wartości określone listami wyboru ściśle do siebie przylegają. Jeżeli tak nie jest, to często lepiej stosować instrukcję if Część others powinna być wykonywana w przypadkach szczególnych tzn. takich, które rzadko mogą wystąpić.

16 Instrukcje 16 Pętle

17 Instrukcje 17

18 Instrukcje 18

19 Instrukcje 19 Pętle z warunkiem początkowym występują tak często, że istnieje specjalna instrukcja do realizacji takich pętli. Jest to instrukcja, albo pętla while while Warunek loop... end loop; Przykład Instrukcje_006_Odliczanie Przykład Instrukcje_007_Najwiekszy_Wspolny_Dziel nik

20 Instrukcje 20 Warto zwrócić uwagę na następujące zagadnienia: 1. Wykonanie każdego ciągu instrukcji pętli powinno powodować zbliżanie się do spełnienia warunku zakończenia pętli. Oznacza to, że na warunek zakończenia powinny mieć wpływ powtarzane obliczenia. 2.Jeżeli warunek reprezentowany wyrażeniem logicznym nie jest początkowo spełniony, to instrukcja while jest pusta. 3.Dobrym zwyczajem programistycznym jest sformułowanie zależności nazywanej niezmiennikiem pętli, która pozwala kontrolować stan iteracji. 4.Należy unikać powtarzania tych samych obliczeń. Oznacza to, że wewnątrz pętli nie należy stosować wyrażeń, w których żadna ze zmiennych nie zmienia swojej wartości. Przykład Instrukcje_008_Niezmiennik_Petli

21 Instrukcje 21 Typy pętli Pętle sterowane zdarzeniem (event driven loops) – wykonanie pętli odbywa się do zaistnienia pewnego zdarzenia wewnątrz pętli Pętle sterowane licznikiem (counter driven loops) – for – wykonanie pętli odbywa się określoną liczbę razy Przykład Instrukcje_009_Odliczanie_For

22 Instrukcje 22 Zalecenia 1.Teoretycznie każdą instrukcję while i for można wyrazić jako instrukcję loop zawierającą jedną instrukcję exit. W praktyce prowadziłoby to do niejasnych programów. Należy używać while i for tam gdzie jest to możliwe, a loop gdy nie ma innej możliwości. 2.Instrukcja loop jest wygodna, gdy zakończenie procesu iteracyjnego powodowane jest przez spełnienie jednego z kilku niezależnych warunków.

23 Zadania. Literatura podstawowa Zadania Ada_Zadania_05_Instrukcje.pdf Literatura podstawowa Morawski, M., i Zajączkowski, A. M. (2003). Wstęp do programowania w języku Ada95. Rozdział 4.


Pobierz ppt "Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem."

Podobne prezentacje


Reklamy Google