005 operatory w Paskalu


Konspekt z przedmiotu Programowanie strukturalne

Temat: Operatory w Pascalu.

Prowadzący: inż. Marek Pudełko

Klasa I SP, specjalność technik Informatyk

Lekcja odbyła się 07.10.2004

Czas zajęć: 2 x 45 minut.

Cele dydaktyczne:

Cele operacyjne:

Po zajęciach słuchacze powinni:

Środki dydaktyczne: komputer, tablica, karteczki z przykładowym programem.

Metody: pogadanka, praca z komputerem, praca samodzielna, dyskusja.

Formy: praca z zespołem klasowym, praca indywidualna słuchacza

Przebieg lekcji:

1) Część wstępna:

2) Lekcja właściwa:

Operator to wyrażenie wiążące zmienne rzeczywiste w formułach.

Operatory arytmetyczne

Operatory arytmetyczne służą do wykonywania podstawowych działań arytmetycznych. Cechą charakterystyczną każdego operatora jest jego arność, czyli ilość argumentów, oraz tzw. priorytet operatora, wskazujący na kolejność wykonywania działań.

Symbol operatora

Nazwa operatora

Przykład

-

Zmiana znaku

-5

+

Dodawanie

A + B

Odejmowanie

A - B

*

Mnożenie

A * B

/

Dzielenie

A / B

DIV

 Dzielenie całkowite

7 DIV 4 = 1

MOD

 Reszta z dzielenia

7 MOD 4 = 3

W języku Pascal nie występuje operator potęgowania - wykonywanie tego działania należy zaprogramować samodzielnie.

Pierwszy operator jest operatorem jednoargumentowym (unarnym), pozostałe dwuargumentowe (binarne). Kolejne dwa operatory nazywa się addytywnymi, pozostałe multiplikatywnymi.

Operatory multiplikatywne mają wyższy priorytet od addytywnych, tzn. zapis A + B * C jest interpretowany jako A + (B * C), czyli zgodnie z zasadą kolejności wykonywania działań.

  1. Dzielenie całkowite, Reszta z dzielenia

  2. Mnożenie, Dzielenie,

  3. Dodawanie, Odejmowanie

W przypadku występowania operatorów o takich samych priorytetach działania wykonuje się od lewej do prawej, podobnie jak w matematyce.

Operatory relacyjne języka

Do porównywania wartości typów standardowych służą operatory relacyjne.

Symbol operatora

Nazwa operatora

Przykład

<

Mniejsze 

A < B

>

  Większe

A > B

=

Równe

A = B

>=

 większe-równe

A => B

<=

 mniejsze-równe

A <= B

<>

 Nierówne (Różne od)

A <> B

Wszystkie wyrażenia relacyjne mają wartość typu logicznego: wartością wyrażenia X <= 0 jest wartość True lub False, w zależności od wartości zmiennej X.

Za pomocą operatorów relacyjnych można oprócz liczb porównywać ze sobą znaki oraz napisy.

Operatory logiczne języka Pascal

Operatory logiczne służą do wykonywania operacji logicznych na wartościach typu logicznego oraz wartościach całkowitych.

Symbol operatora

Nazwa operatora

Przykład

NOT

Negacja - "nie"

Not A

OR

Alternatywa - "lub"

A OR B

AND

Koniunkcja - "i"

A AND B

XOR

Różnica symetryczna - "różne"

A XOR B

SHL

Przesunięcie w lewo

SHR

Przesunięcie w prawo

Dwa ostatnie operatory wymagają argumentów całkowitych, pozostałych można używać do wyrażeń całkowitych i logicznych.

Jeżeli argumenty operatorów Not, Or, And i Xor są typu logicznego, to wartość obliczanego wyrażenia jest również typu logicznego, np. Not True jest równe False, True And False jest równe False itd., zgodnie z zasadami logiki matematycznej. W przypadku argumentów całkowitych otrzymywany wynik jest typu całkowitego.

Operatory nawiasowe języka Pascal

Operatory logiczne służą do wykonywania operacji logicznych na wartościach typu logicznego oraz wartościach całkowitych.

Symbol operatora

Nazwa operatora

Przykład

( )

Nawias okrągły

(A + B) * C

[ ]

Nawias kwadratowy

Tablica[a]

{ }

Nawias klamrowy

{komentarz}

Nawias okrągły służy do wymuszania kolejności działań matematycznych.

Nawias kwadratowy służ do określania komórek w tablicy.

Nawias klamrowy służy do zapisywania komentarzy.

Operatory podstawienia języka Pascal

Operatory podstawienia służą przypisania zmiennym określonych wartości.

:=

Podstawienie

A := 3

program operatory;

var a,b,c:integer;

d:real;

begin

a:=10;

b:=3;

c:=a+b;

write('10+3 =');

writeln (c);

c:=a-b;

write('10-3 =');

writeln (c);

c:=a*b;

write('10*3 =');

writeln (c);

d:=a/b;

write('10/3 =');

writeln (c);

c:=a div b;

write('10 div 3 =');

writeln (c);

c:=a mod b;

write('10 mod 3 =');

writeln (c);

c:=a+b+2*3;

write('10+3+2*3=');

writeln (c);

c:=a+b+(2*3);

write('10+3+(2*3)=');

writeln (c);

c:=a+(b+2)*3;

write('10+(3+2)*3=');

writeln (c);

readln;

end

Priorytety operatorów.

W matematyce ważna jest kolejność wykonywania działań. Chcąc obliczyć prawidłowo równanie należy pamiętać o właściwym priorytecie działań.

Najwyższym priorytet mają operatory logiczne i arytmetyczne (a w nich jest kolejność następująca - operatory zmiany znaku, multiplikatywne i addytywne), potem relacyjne i przypisania.

W wypadku występowania operatorów o tym samym priorytecie decyduje kolejność występowania od strony lewej do prawej.

Tę hierarchię można zmienić za pomocą nawiasów. One mają najwyższy priorytet i pozwalają ułożyć praktycznie każde równanie.

Operatory

Priorytet

- (zmiana znaku)

NOT

1 (najwyższy)

DIV MOD

AND SHR SHL

2 (wysoki)

* /

+ -

OR XOR

3 (średni)

= <> <= >= = > <

4 (niski)

:=

5 (najniższy)

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

3) Zajęcia końcowe:

  1. powtórzenie materiału z lekcji:

  1. ocena pracy słuchaczy.

OPERATORY

Symbol operatora

Nazwa operatora

Przykład

-

Zmiana znaku

-5

+

Dodawanie

A + B

Odejmowanie

A - B

*

Mnożenie

A * B

/

Dzielenie

A / B

<

Mniejsze 

A < B

>

  Większe

A > B

=

Równe

A = B

=>

 większe-równe

A => B

<=

 mniejsze-równe

A <= B

< >

 Nierówne (Różne od)

A <> B

:=

Podstawienie

A := 3

( )

Nawias okrągły

(A + B) * C

[ ]

Nawias kwadratowy

Tablica[a]

{ }

Nawias klamrowy

{komentarz}

DIV

 Dzielenie całkowite

7 DIV 4 = 1

MOD

 Reszta z dzielenia

7 MOD 4 = 3

Not

Negacja - „nie”

Not A

Or

Alternatywa - „lub”

A OR B

And

Koniunkcja - „i”

A AND B

Xor

Różnica symetryczna - „różne”

A XOR B

Shl

Przesunięcie w lewo

7 SHL 2 = 28

Shr

Przesunięcie w prawo

63 SHR 3 = 7


program operatory;

var a,b,c:integer; {zmienne}

begin

a:=10;

b:=3;

c:=a+b;

write('10+3 =');

writeln (c);

c:=a-b;

write('10-3 =');

writeln (c);

c:=a*b;

write('10*3 =');

writeln (c);

c:=a/b;

write('10/3 =');

writeln (c);

c:=a div b;

write('10 div 3 =');

writeln (c);

c:=a mod b;

write('10 mod 3 =');

writeln (c);

c:=a+b+2*3;

write('10+3+2*3=');

writeln (c);

c:=a+b+(2*3);

write('10+3+(2*3)=');

writeln (c);

c:=a+(b+2)*3;

write('10+(3+2)*3=');

writeln (c);

readln;

end.

program operatory;

var a,b,c:integer; {zmienne}

begin

a:=10;

b:=3;

c:=a+b;

write('10+3 =');

writeln (c);

c:=a-b;

write('10-3 =');

writeln (c);

c:=a*b;

write('10*3 =');

writeln (c);

c:=a/b;

write('10/3 =');

writeln (c);

c:=a div b;

write('10 div 3 =');

writeln (c);

c:=a mod b;

write('10 mod 3 =');

writeln (c);

c:=a+b+2*3;

write('10+3+2*3=');

writeln (c);

c:=a+b+(2*3);

write('10+3+(2*3)=');

writeln (c);

c:=a+(b+2)*3;

write('10+(3+2)*3=');

writeln (c);

readln;

end.


3



Wyszukiwarka

Podobne podstrony:
005 operatory logiczne i matematyczne x4
005 operacje matematyczne w Paskalu
B GL 300 005 Land Force Information Operations (1999)
The uA741 Operational Amplifier[1]
operatory i funkcje matematyczne
operator maszyn lesnych 833[02] o1 03 n
mechanik operator pojazdow i maszyn rolniczych 723[03] z2 04 n
Kierowca operator wózków jezdniowych 833401
mechanik operator pojazdow i maszyn rolniczych 723[03] o1 05 u
OPERAT STABLE VERSION ugoda id Nieznany
operator urzadzen przemyslu szklarskiego 813[02] z2 07 n
4 Steyr Operation and Maintenance Manual 8th edition Feb 08
operator urzadzen przemyslu spozywczego 827[01] z2 02 u
mechanik operator pojazdow i maszyn rolniczych 723[03] z3 02 n

więcej podobnych podstron