Paradygmaty programowania wyk 4


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 2
Paradygmaty programowania wyk 3
Paradygmaty programowania wyk 5
Paradygmaty programowania wyk 5
Paradygmaty programowania wyk 1
zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6
Międzynarodowy Program Badań nad Zachowaniami Samobójczymi
Wyk ad 02
CSharp Introduction to C# Programming for the Microsoft NET Platform (Prerelease)
Instrukcja Programowania Zelio Logic 2 wersja polska
Program wykładu Fizyka II 14 15
Mat Bud wyk
wyk(Ia) wstęp PBiID
roprm ćwiczenie 6 PROGRAMOWANIE ROBOTA Z UWZGLĘDNIENIEM ANALIZY OBRAZU ARLANG

więcej podobnych podstron