Paradygmaty
Paradygmaty
programowania
programowania
Wykład 4 Wyrażenia i komendy
Wyrażenia
Wyrażenia
Wyrażenie konstrukcja języka programowania, która będzie
przetworzona w celu wyznaczenia jej wartości.
Większość języków programowania ma zaimplementowane
Większość języków programowania ma zaimplementowane
następujące rodzaje wyrażeń:
" literały
" konstrukcje
" wywołanie funkcji
" wyrażenia warunkowe
" dostęp do stałych i zmiennych
Wyrażenia literały i konstrukcje
Wyrażenia literały i konstrukcje
Literały najprostszy rodzaj wyrażania oznaczający ustaloną,
stałą wartość pewnego typu
1 3.14 ala 1/2 false
Konstrukcje wyrażenie tworzące wartość złożoną z jej wartości
składowych.
C++: int lDni[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 31, 30};
ADA: lDni: array (Miesiace) of Integer :=
(feb => 28, apr|jun|sep|nov => 30, others => 31);
Haskell: [31, if przest(rok) then 29 else 28, 31, 30, 31, 30, 31,
31, 30, 31, 30, 31]
Wyrażenia wywołanie funkcji
Wyrażenia wywołanie funkcji
Wywołanie funkcji oblicza wynik poprzez zastosowanie
procedury funkcyjnej (lub metody) do jednego lub wielu
argumentów.
Wywołanie funkcji najczęściej przyjmuje formę:
F(E) lub F(E1,& ,EN)
F(E) lub F(E ,& ,E )
W niektórych językach np. Scheme wywołanie funkcji przyjmuje inną formę:
(F E1 E2 & EN)
W przypadku języków, w których funkcje są wartościami pierwszej klasy
(np. Scheme) F może być wyrażeniem np.
((if (& ) sin cos) x))
Wyrażenia - operatory
Wyrażenia - operatory
Operatory
Operatory mogą być traktowane podobnie jak funkcje.
Zastosowanie jedno lub dwu argumentowego operatora jest
równoznaczne z wywołaniem funkcji z jednym lub dwoma
równoznaczne z wywołaniem funkcji z jednym lub dwoma
argumentami.
W jezykach programowania można spotkać dwie notacje zpisu
operatorów:
" infiksowa większość języków programowania.
" prefiksowa Lisp i jego dialekty (np. Scheme)
Wyrażenia
Wyrażenia
Wyrażenia warunkowe wyrażenia warunkowe obliczają
wartość, która jest zależna od zadanego warunku.
Zawierają w sobie dwa lub więcej podwyrażeń, z których
Zawierają w sobie dwa lub więcej podwyrażeń, z których
dokładnie jedno wybierane jest do obliczenia warunku.
C++:
int max = x>y ? x : y;
Wyrażenia dostęp do stałych i zmiennych
Wyrażenia dostęp do stałych i zmiennych
Dostęp do stałej jest to odniesienie do nazwanej stałej i zwraca
jej wartość.
Dostęp do zmiennej jest to odniesienie do nazwanej zmiennej
Dostęp do zmiennej jest to odniesienie do nazwanej zmiennej
i zwraca obecną wartość tej zmiennej.
C++:
const float pi = 3.14;
float r, pole;
pole = pi * r *r;
Wyrażenia z efektem ubocznym
Wyrażenia z efektem ubocznym
W przypadku wyrażenia z efektem ubocznym oprócz
wyznaczenia jego wartości, modyfikowane są również
wartości pewnych zmiennych.
enum Token {litera, cyfra, inny};
Token t;
if((getchar(f) >= a && getchar(f) <= z ) ||
(getchar(f) >= A && getchar(f) <= Z ))
t = litera;
else if(getchar(f) >= 0 && getchar(f) <= 9 )
t = cyfra;
else
t = inny;
Wyrażenia blokowe
Wyrażenia blokowe
Wyrażenie blokowe jest wyrażeniem, które zawiera pewne
lokalne deklaracje i podwyrażenia.
Wiązania stworzone przez deklaracje służą jedynie do
wyznaczenia wartości podwyrażeń i całego wyrażenia
blokowego.
blokowego.
float PoleKola(float r)
{
const float pi = 3.14;
return pi * r * r;
}
Komendy
Komendy
Komenda jest konstrukcją programu, która będzie wykonana
w celu zmodyfikowania wartości zmiennych.
Komendy są charakterystyczną cechą języków imperatywnych
i ich pochodnych (obiektowych i konkurencyjnych).
i ich pochodnych (obiektowych i konkurencyjnych).
Komendy
Obsługi
Złożone Blokowe
Proste
wyjątków
Komendy proste
Komendy proste
Wyróżniamy następujące rodzaje komend prostych:
" komenda pusta najprostszy rodzaj komendy, nie mającej żadnego
efektu
" przypisanie najczęściej przyjmuje formę V = E lub
" przypisanie najczęściej przyjmuje formę V = E lub
V := E, gdzie E jest wyrażeniem zwracającym wartość, a V
dostępem do zmiennej, który zwraca referencje do zmiennej.
" wywołanie procedury komenda, która osiąga efekt przez
zastosowanie procedury (lub metody) na podanych argumentach.
Wywołanie procedury zazwyczaj ma formę P(E1,& ,EN).
Komendy złożone komenda sekwencyjna
Komendy złożone komenda sekwencyjna
Komenda sekwencyjna określa, że dwie lub więcej komend
jest wykonywanych w określonym porządku.
Komendy sekwencyjne najczęściej są zapisywane w formie:
C1; C2
co oznacza, że komenda C1 jest wykonywana przed komendą C2
Komendy złożone komenda warunkowa
Komendy złożone komenda warunkowa
Komenda warunkowa zawiera dwie lub więcej komend,
z których wykonywana jest tylko jedna, zgodnie z zadanym warunkiem
Najprostszą formą komendy warunkowej jest komenda if
if(E) C1 else C2
C++ Pascal
C++ Pascal
if(warunek) if warunek then
komenda1; komenda1;
else else
komenda2; komenda2;
Często stosuje się skróconą wersję komendy warunkowej:
if(E) C1
którą przedstawić można również w postaci: if(E) C1 else ;
Komendy złożone komenda wyboru
Komendy złożone komenda wyboru
Komenda wyboru jest bardziej ogólną formą komendy warunkowej.
Pozwala na wybranie jednej z wielu komend na podstawie sprawdzenia
wystąpienia wartości prostego i dyskretnego typu.
C++ Pascal
C++ Pascal
switch(E) case E of
{ v1 : C1;
case v1: C1 break; v2 : C2;
case v2: C2 break; &
& vn : Cn;
case vn: Cn break; else
default: C0 C0;
} end;
Komendy złożone komenda iteracyjna
Komendy złożone komenda iteracyjna
Komenda iteracyjna zawiera komendy, które są wykonywane wielokrotnie.
Ze względu na liczbę powtórzeń, komendy iteracyjne można podzielić na:
" zdefiniowane liczba powtórzeń jest ściśle określona z góry: for
" niezdefiniowane liczba powtórzeń nie jest ściśle określona z góry
np. while, do while.
while do while for
while(E) C do C while(E); for(C1;E1;E2)
C2;
a" a"
a" a"
a" a"
a" a"
a"
a"
a"
a"
if(E) C
{ while(E) C C1
C while(E1) {
while(E) C C2
} E2;
}
Komendy złożone komenda iteracyjna
Komendy złożone komenda iteracyjna
Komenda iteracyjna: while
C++ Pascal
while(E) while E do
C; C;
while(E) while E do
{ begin
C1; C1;
C2; C2;
} end;
Komendy złożone komenda iteracyjna
Komendy złożone komenda iteracyjna
Komenda iteracyjna: do while
C++ Pascal
do repeat
C; C;
while(E); until E;
while(E); until E;
do repeat
{ C1;
C1; C2;
C2; until E;
}
while(E);
Komendy złożone komenda iteracyjna
Komendy złożone komenda iteracyjna
Komenda iteracyjna: for
C++ Pascal
for(C1; E1; E2) for v:=E1 to E2 do
C2; C;
for(C1; E1; E2) for v:=E1 to E2 do
{ begin
C2; C1;
C3; C2;
} end;
Komendy złożone komenda iteracyjna
Komendy złożone komenda iteracyjna
Komenda iteracyjna: for / foreach
W niektórych nowoczesnych językach programowania tj. Java, C# można
odnalezć dodatkową postać komendy iteracyjnej for pozwalającej na przejście
po wszystkich elementach pewnej kolekcji.
Java C#
Java C#
for(T v : E) foreach(T v in E)
C; C;
for(Date date : dates) foreach(Date date in dates)
System.out.println(date); Console.WriteLine(
date.toString());
Komendy blokowe
Komendy blokowe
Komenda blokowa jest rodzajem komendy, która zawiera
lokalne deklarację (lub grupę deklaracji) oraz inne komendy.
Wiązania powstałe w wyniku tych deklaracji służą wyłącznie
do wykonania komend zawartych w komendzie blokowej.
C++ Pascal
for(C1; E1; E2) for v:=E1 to E2 do
{ begin
C2; C1;
C3; C2;
} end;
Wyszukiwarka
Podobne podstrony:
Paradygmaty programowania wyk 2Paradygmaty programowania wyk 3Paradygmaty programowania wyk 5Paradygmaty programowania wyk 5Paradygmaty programowania wyk 1zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6Międzynarodowy Program Badań nad Zachowaniami SamobójczymiWyk ad 02CSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)Instrukcja Programowania Zelio Logic 2 wersja polskaProgram wykładu Fizyka II 14 15Mat Bud wykwyk(Ia) wstęp PBiIDroprm ćwiczenie 6 PROGRAMOWANIE ROBOTA Z UWZGLĘDNIENIEM ANALIZY OBRAZU ARLANGwięcej podobnych podstron