Instrukcja wyboru
Instrukcja wyboru – instrukcja decyzyjna – jest to instrukcja w określonym języku programowania, umożliwiająca wybór instrukcji do wykonania spośród wielu opcji.
Spis treści |
Działanie i stosowanie instrukcji wyboru [edytuj]
Instrukcję wyboru stosuje się w programach, w których należy wybrać jedną spośród wielu opcji, np.
{ Pascal } case x of 1, 2, 3 : begin instrukcje-1 end; 4 : begin instrukcje-2 end; else instrukcje-else end;
Wybór określonego kodu następować może na podstawie różnych kryteriów:
- numeru instrukcji lub elementu na liście,
- wartości pewnego wyrażenia,
- warunków logicznych.
Składnia instrukcji wyboru [edytuj]
Składnia instrukcji wyboru różni się w zależności od języka programowania, lecz można wyróżnić w niej charakterystyczne elementy:
- nagłówek instrukcji wyboru:
- słowo kluczowe rozpoczynające instrukcję (np. case, select, switch)
- opcjonalnie wyrażenie, na podstawie którego następuje wybór
- słowo łączące (np. of, do)
- ciało instrukcji wyboru:
- kolejne instrukcje podlegające selekcji
- opcjonalnie poprzedzone frazami zawierającymi wartości porównywane z wyrażeniem z nagłówka instrukcji
- opcjonalnie poprzedzone słowem kluczowym (np. case, when)
- wyrażenie stałe lub lista takich wyrażeń, albo zakresów wartości (np. 1, zm, 7..12)
- słowo lub symbol łącznika (np. :,
=>, do)
- opcjonalnie fraza domyślna, wykonywana gdy żadna z fraz nie spełni warunku (np. else, otherwise, other, default, when else)
- koniec instrukcji wyboru – słowo zamykające blok (np. end, end case, end select itp.).
Języki programowania [edytuj]
Ada [edytuj]
- wyboru
case wyrażenie is when war-1 => instr-1 [… when war-n => instr-n] [when others => instr-oth] end case;
- nadzorowana – wyboru wejścia
select when war-1 => instr-1 [or ... or when war-n => instr-n] end select;
Algol 68 [edytuj]
Wybór wg numeru instrukcji.
case wyrażenie of
begin
instrukcja-1
...
instrukcja-n
end
Basic [edytuj]
Wybór zależny jest od numeru instrukcji:
ON wyrażenie GOTO lista_etykiet
C, C++ [edytuj]
W języku C występuje instrukcja decyzyjna switch o składni:
switch([warunek]) instrukcja; // gdzie instrukcja jest najczęściej [[Instrukcja blokowa | instrukcją grupującą]] zawierającą frazy case i default: { case wyr-stałe-1 : instrukcje-1 [... case wyr-stałe-n : instrukcje-n] [default : instrukcje-default] }
W odróżnieniu od instrukcji wyboru implementowanych w większości języków programowania, w instrukcji decyzyjnej języka C wykonywane są wszystkie instrukcje występujące po właściwej frazie case, także instrukcje występujące w następnych frazach case i default. Z tego względu jeżeli występuje konieczność ograniczenia zakresu wykonywania instrukcji należy zastosować instrukcję opuszczenia break.
switch(x) { case 1 : instr-1; case 2 : instr-2; break; case 3 : instr-3; }
W powyższym przykładzie instrukcji switch, jeśli x=1 to wykonane zostaną instr-1 i instr-2, a jeżeli x=2 to tylko instr-2, gdyż instrukcja opuszczenia break spowoduje zakończenie wykonywania instrukcji zawartych w grupie switch.
Clipper [edytuj]
W języku Clipper instrukcja wyboru uzależniona jest od spełnienia określonego warunku:
DO CASE
CASE war-1
instrukcje-1
[...
CASE war-n
nstrukcje-n]
[OTHERWISE
instrukcje-other
END [CASE]
Comal [edytuj]
CASE wyr OF
WHEN war-1
instrukcje-1
[...
WHEN war-1
instrukcje-1]
[OTHERWISE
instrukcje-oth]
ENDCASE
Fortran [edytuj]
GO TO ([[Etykieta (informatyka) |etykieta]]-1, …, etykieta-n) zmienna_integer;
Icon [edytuj]
case wyrażenie of {
war-1 : instr-1
[...
war-n : instr-n]
[default : instr-default]
}
Modula 2 [edytuj]
CASE wyrażenie OF wartość-1 : instrukcje-1 | [... | wartość-n: instrukcje-n] | [ELSE instrukcje-else] END
Pascal [edytuj]
W Pascalu wybór uzalezniony jest podobnie jak w języku C od wartości określonego w nagłówku instrukcji wyrażenia. Jednak w języku Pascal wykonanie instrukcji ograniczone jest do wybranej frazy.
case wyrażenie of lista_wartości_1 : instrukcja-1 [... lista_wartości_n : instrukcja-n] else instrukcja-else end;
PL/1 [edytuj]
SELECT(wyrażenie); WHEN(lista_wyrażeń-1) instrukcja-1; [... WHEN(lista_wyrażeń-n) instrukcja-n;] [OTHERWISE instrukcja-oth;] END;
PL/M [edytuj]
Wybór uzależniony od numeru instrukcji.
DO CASE wyrażenie;
instr-1;
[…
instr-n;]
END;
Simula 67 [edytuj]
inspect w when w1 do i-1;
[...
when wn do i-n;]
[otherwise i-oth;]
Visual Basic [edytuj]
- wybór zależny od wartości wyrażenia
Select Case wyrażenie Case lista_wyrażeń_1 instrukcje-1 [... Case lista_wyrażeń_n instrukcje-n] [Case Else instrukcje-else] End Select
- wybór zależny od numeru instrukcji (przejęta z języka Basic)
ON wyrażenie GOTO lista_etykiet
Zobacz też [edytuj]
|
|||||||||||||||||||||