APP 05 Instrukcje 2010

background image

Instrukcje 1

Definicje wstępne

Formalny opis akcji wykonywanej przez

komputer nazywamy instrukcją.

statement

– instrukcja,

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

).

background image

Instrukcje 2

W danej chwili komputer steruje (kontroluje)

wykonaniem jednej instrukcji

Najprostszą sytuację mamy w przypadku

sekwencyjnego przepływu
(przekazywania) sterowania.

1.

Ciąg instrukcji

Instrukcja_1;
Instrukcja_2;

.

Instrukcja_N;

sequence_of_statements

– ciąg instrukcji.

background image

Instrukcje 3

2.

Instrukcja skoku –

goto

Każda instrukcja może być poprzedzona

etykietą, która jest identyfikatorem
ujętym w podwójne nawiasy kątowe.
<<Etykieta>> Instrukcja;

Umożliwia to wykonanie skoku do takiej

instrukcji. Realizuje to instrukcja skoku

goto

Etykieta

Wynikiem skoku jest przekazanie

sterowania do instrukcji poprzedzonej
etykietą.

background image

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.

3.

Instrukcja pusta

;

background image

Instrukcje 5

4.

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ą.

background image

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

5.

Instrukcja

declare

-

bloku

(

block statement

)

declare

[Deklaracje;]

begin

Instrukcje;

end

;

Przykład 1.

Blok_Nazwy

background image

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.

background image

Instrukcje 8

6.

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)

background image

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

;

background image

Instrukcje 10

7.

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

background image

Instrukcje 11

discrete_choice_list ::= choice{|choice}
choice ::=

component_simple_name |
discrete_range

|

subtype_indication

|

expression

|

others

Przykład 2.

Funkcja_Signum

background image

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)

background image

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 3.

Musztra, Dni_Tygodnia_Case,

Czytanie_Znakow

background image

Instrukcje 14

Definicja 1.

Skalarnym typem danych (

scalar

data type

) nazywamy typ, w którym wartości

są uporządkowane i każda jest niepodzielna.

Definicja 2.

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.

background image

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ć.

background image

Instrukcje 16

exit when

Warunek

Ciąg_Instrukcji

FALSE

TRUE

Następna_Instrukcja

end loop

Pętla z testem początkowym

8. Pętle

background image

Instrukcje 17

exit when

Warunek

Ciąg_Instrukcji

FALSE

TRUE

Następna_Instrukcja

end loop

Pętla z testem końcowym

background image

Instrukcje 18

exit when

Warunek

Ciąg_Instrukcji_1

FALSE

TRUE

Następna_Instrukcja

end loop

Pętla z testem pośrednim

Ciąg_Instrukcji_2

background image

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 4.

Odliczanie

Przykład 5.

Najwiekszy_Wspolny_Dzielnik

background image

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 6.

Niezmiennik_Petli

background image

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ą ilość razy

Przykład 7.

Odliczanie_For

background image

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.

Przykład 8.

Zloty_Podzial

background image

Zadania. Literatura podstawowa

Literatura podstawowa
Morawski, M., i Zajączkowski, A. M.

(2003).
Wstęp do programowania w języku
Ada’95
. Rozdział 4.

Użyteczne materiały dydaktyczne:

zskl.zsk.p.lodz.pl/~zajaczko


Document Outline


Wyszukiwarka

Podobne podstrony:
05 Instrukcje warunkoweid 5533 ppt
cwiczenia 1 instrukcja 2010, BIOLOGIA UJ LATA I-III, ROK III, semestr I, Mikrobiologia, Cwiczenia
Instrukcja M (2010)
05 Instrukcje Sterujaceid 5708
cw 05 instrukcja id 121376 Nieznany
Wyklad XIII � 05.01.2010 (Fizjologia) , Wykład - 05
05 24 2010
ONESTER 158 01 05 Instrukcja i Schemat
Instrukcja Z (2010)
05 11 2010 Polityka stabilizacyjnaid 5608 ppt
Wykład 05.06.2010, HR STUDIA
cwiczenia 9 i 10 instrukcja 2010, BIOLOGIA UJ LATA I-III, ROK III, semestr I, Mikrobiologia, Cwiczen
egzamin optyka geometryczna i instrumentalna 2010
cwiczenia 8 instrukcja 2010, BIOLOGIA UJ LATA I-III, ROK III, semestr I, Mikrobiologia, Cwiczenia
05- INSTRUKCJA BHP PRZY OBSŁUDZE PRASY HYDRAULICZNEJ, Instrukcje BHP, VII - ELEKTRYKA
Ćwiczenia z 05.12.2010 (niedziela) A. Szczepanek, UJK.Fizjoterapia, - Notatki - Rok I -, Biofizyka
Wykład z ćwiczeń 03-05.12.2010 (piątek - niedziela) J. Dobrowolski, UJK.Fizjoterapia, - Notatki - Ro
Instrukcja 1 2010
05 11 2010

więcej podobnych podstron