background image

EBieleninik

PWr IIS

1

EBieleninik

PWr IIS

2

Poj cia podstawowe

Program – sposób zapisu algorytmu w celu jego realizacji przez komputer.

Program składa si  ze zbioru instrukcji i struktur danych.

Instrukcja – opis operacji jaka ma by  wykonana.

Struktury danych – ró ne postacie danych, na których s  wykonywane operacje.

PROGRAM = ALGORYTM + STRUKTURY DANYCH

Program mo e by  napisany w wybranej notacji. Notacja taka powinna mo liwie 
najlepiej pasowa  do problemu. Je eli ma on by  wykonany na komputerze, to 
musi by  zapisany w j zyku programowania.

EBieleninik

PWr IIS

3

J zyk programowania – j zyk u ywany do pisania programów realizowanych 
przez komputer.

Rozró nia si  j zyki:

niskiego poziomu

Zale no  od typu komputera, du a pracochłonno

wysokiego poziomu

Niezale ne od typu komputera, wykorzystuj  wyra enia j zyków naturalnych 

EBieleninik

PWr IIS

4

J zyki niskiego poziomu

• j zyk maszynowy

• j zyk asembler

J zyki wysokiego poziomu

• FORTRAN, COBOL, ALGOL, PASCAL, C

• MODULA, ADA

• BASIC, VISUAL BASIC

• SIMULA, SMALLTALK

• C++, C#, JAVA

• PROLOG

background image

EBieleninik

PWr IIS

5

J zyk maszynowy

Jest to j zyk  ci le zwi zany z typem komputera i jest ró ny dla ró nych typów 
komputerów.

Instrukcje i dane s  zapisywane w postaci 

ci gów liczb szesnastkowych lub 

binarnych.

Posługiwanie si  tym j zykiem jest bardzo trudne i jest on stosowany niezwykle 
rzadko

J zykiem maszynowym posługiwano si  w najwcze niejszym okresie u ytko-
wania komputerów.

1000    02
1001    A5
1002    C5
1003    04
1004    FF

EBieleninik

PWr IIS

6

J zyk asembler

Jest to 

j zyk symboliczny

, w którym instrukcje maj  posta  nazwy symbolicznej.

Jednej instrukcji symbolicznej odpowiada jedna instrukcja maszynowa.

Programy asemblerowe s  bardziej zrozumiałe dla człowieka ni  maszynowe.

J zyki asemblerowe tak e s  ró ne dla ró nych typów komputerów, ale maj  
pewne cechy wspólne. 

EBieleninik

PWr IIS

7

J zyk asembler

MOV

Z,0 

// przesłanie 0 do Z

MOV

U,X 

// przesłanie X do U

k2

ADD

Z,Y 

// dodanie Y do Z 

DEC

U  

// odj cie 1

JNZ

k2  

// skok do k2 gdy U<>0

1.    z := 0

u := 0

2.    Powtarzaj

z := z+y
u := u-1

A  u = 0 

Przykład

EBieleninik

PWr IIS

8

J zyk asembler

Program napisany w j zyku symbolicznym nie jest zrozumiały przez komputer i 
musi by przetłumaczony na program w j zyku maszynowym.

Proces tłumaczenia jest wykonywany przez program tłumacz cy nazywany tak e 

asemblerem.

background image

EBieleninik

PWr IIS

9

J zyki wysokiego poziomu

Podstawowe cechy:

• niezale no  od konkretnych typów komputerów

• pojedyncze instrukcje opisuj  zło one czynno ci

• oferuj  szereg ułatwie  w pisaniu programów

EBieleninik

PWr IIS

10

• j zyki proceduralne

- FORTRAN
- ALGOL
- BASIC
- PASCAL (starsze wersje)
- C

• j zyki obiektowe

- C++
- VISUAL BASIC
- JAVA
- ADA
- PASCAL
- SMALLTALK
- LISP

Podział j zyków wysokiego poziomu

EBieleninik

PWr IIS

11

• j zyki programowania logicznego

- PROLOG

• j zyki symulacyjne

- SIMULA
- SIMSCRIPT

• j zyki skryptowe (do pisania stron www)

- PHP
- JavaScript
- ASP

• j zyki bazodanowe (zapyta )

- SQL
- MySQL

Podział j zyków wysokiego poziomu

EBieleninik

PWr IIS

12

Translatory

Program

w j zyku A

TRANSLATOR

Program

w j zyku B

Translator

to program narz dziowy słu cy do tłumaczenia programów z jednego

j zyka programowania na inny.

W szczególno ci program, aby był wykonywalny, musi by  przetłumaczony na
j zyk maszynowy.

background image

EBieleninik

PWr IIS

13

Program

ródłowy

KOMPILATOR

Program 

wynikowy

Kompilator

- program tłumacz cy z j zyka wysokiego poziomu na j zyk 

maszynowy (wynikowy).

Kompilator

EBieleninik

PWr IIS

14

Je eli w czasie translacji programu jest on jednocze nie wykonywany, to taki 
translator nazywa si  

interpreterem.

J zykiem wej ciowym interpretera mo e by  j zyk asembler albo j zyk wysokie-
go poziomu.

Program

ródłowy

INTERPRETER

Wykonywanie

kolejnych instrukcji

Interpreter

EBieleninik

PWr IIS

15

Proces uruchamiania programu

Wprowadzenie programu 

do komputera

S  bł dy ?

S  bł dy ?

Uruchomienie

Testowanie

S  bł dy ?

Poprawa bł dów

Poprawa bł dów

Poprawa bł dów

Kompilacja

T

N

T

T

N

N

EBieleninik

PWr IIS

16

Proces kompilacji programu

Program.

pas

Kompilacja

Program.

exe

Po skompilowaniu, program wynikowy staje si  samodzielnym „bytem”
i mo e by  przenoszony na inne komputery i wielokrotnie wykonywany dla 
ró nych danych wej ciowych.

background image

EBieleninik

PWr IIS

17

Elementy j zyków programowania

• Dane ró nych typów

• Wyra enia (arytmetyczne, logiczne, relacyjne)

• Instrukcje

EBieleninik

PWr IIS

18

Dane w j zykach programowania

Dane dziel  si  na 

zmienne stałe.

Ich znaczenie jest takie samo jak w matematyce. 

Musz  posiada  nazw  i mo na im przypisywa  warto ci.

Nazwa

jest ci giem znaków.  Przykłady nazw:

x, Y, alfa, wsp_korelacji, wynik23

Stałe nie zmieniaj  warto ci, któr  nadaje si  im w jednym miejscu programu.

Zmienne mog  zmienia  warto  w trakcie wykonywania programu.

Zmienne i stałe mog  by  

ró nych typów

.

EBieleninik

PWr IIS

19

Dane w j zykach programowania

Typ okre la rodzaj i zakres warto ci, które mog  przyjmowa  zmienne i stałe.

Typy zmiennych i stałych musz  by  podane w deklaracjach. 

Deklaracje musz  poprzedza  u ycie zmiennych i stałych w programie. 

Dane mog  by  typu 

prostego

lub 

zło onego. 

EBieleninik

PWr IIS

20

Dane w j zykach programowania

Pascal – typy proste

Logiczny

True/False

1

Boolean

Znakowy

1

Char

Podwójny rzeczywisty

5.0E-324..1.1E308

8

Double

Rzeczywisty

-2.9E-39..1.7E38

6

Real

Długi całkowity

-2 147 483 648..

LongInt

Całkowity

-32 768..32 767

2

Integer

Krótki całkowity

-128..127

1

ShortInt

Uwagi

Zakres warto ci

Liczba bajtów

Nazwa

background image

EBieleninik

PWr IIS

21

Dane w j zykach programowania

Pascal – typy zło one (składaj  si  z typów prostych)

1) Typ ła cuchowy (napisowy)

x: string[15];

1

0

o

w a

l

s

k

K

i

2

15

8

EBieleninik

PWr IIS

22

Dane w j zykach programowania

1) Typ tablicowy

wektor = array[1..20] of Integer;

X[3] = 7

2

1

3

20

X

7

tablica = array[1..8,1..10] of real;

2

1

7

10

T

T[3,6] = 7

1

1

2

3

3

8

EBieleninik

PWr IIS

23

Dane w j zykach programowania

1) Typ rekordowy

adres = record

kod:

string[6];

miejscowosc:    string[25]; 
ulica:

string[30];

numer:

Byte;

mieszkanie:

Byte

end;   

20

W r o c ł a w

K a r k o n o s k a

3

55-555

EBieleninik

PWr IIS

24

Wyra enia arytmetyczne

Elementy składowe wyra e  arytmetycznych:

• stałe, zmienne (typu całkowitego lub rzeczywistego)

• operatory arytmetyczne

*     - mno enie
/      - dzielenie

+     - dodawanie

-

- odejmowanie (i znak ujemny)

div   - dzielenie całkowitoliczbowe

mod – reszta z dzielenia całkowitoliczbowego

a+b*c-d

(a+b)*(c-d)       15 DIV 4

15 MOD 4

background image

EBieleninik

PWr IIS

25

Elementy składowe wyra e  logicznych:

• stałe, zmienne (typu Boolean)

• operatory logiczne

Wyra enia logiczne

NOT  - negacja

AND  - iloczyn logiczny

OR     - suma logiczna

Przykłady:

a :=  true;

b :=  false;

c :=  a OR b AND c;

EBieleninik

PWr IIS

26

Wyra enia relacyjne

Operatory relacji:

=     - równe

<>   - ró ne

<      - mniejsze

>       - wi ksze

<=     - mniejsze lub równe

>=     - wi ksze lub równe

(a < b) OR (a>d)

delta >= 0

a<>0 

EBieleninik

PWr IIS

27

J zyki programowania 

Instrukcje - Pascal

1.

Instrukcja przypisania

zmienna := wyra enie;

a := 10;
b := 5;
c := a + b;

:=

operator przypisania

EBieleninik

PWr IIS

28

J zyki programowania 

2. Podejmowanie decyzji w programie

if  <warunek> then

instrukcja1

else

instrukcja2;

if <warunek> then

instrukcja1;

if  delta>=0 then

Begin

x1 := (-b – SQRT(delta))/(2*a);
x2 := (-b + SQRT(delta))/(2*a);

End

else

Writeln(„Delta ujemna”);

background image

EBieleninik

PWr IIS

29

J zyki programowania 

3. Organizacja oblicze  cyklicznych

while <warunek>  do

Instrukcja;

3.1 Instrukcja Dopóki

3.2 Instrukcja Powtarzaj

repeat 

Instrukcja1;
Instrukcja2;
..................

until  <warunek>;

k :=1;
x := 0;
while  k < 6 do

begin

x := x + k;
k := k + 1;

end;

k :=1;
x := 1;
repeat

x := x * k;
k := k + 1;

until k >= 6;

EBieleninik

PWr IIS

30

J zyki programowania 

3.3  Instrukcja Dla (

for zm := 1  to do

Instrukcja;

for zm := 1  to do

begin

Instrukcja1;
Instrukcja2;
..................

end;

suma := 0;
n := 10
for i := 1 to 10 do

suma := suma + i;   

EBieleninik

PWr IIS

31

J zyki programowania 

4. Instrukcje wej cia/wyj cia

4.1  Czytanie danych

read (lista_argumentów);

4.2  Wyprowadzanie wyników

write (lista_argumentów);

read (a,b);
writeln (‘a = ‘, a);
writeln (‘b = ‘, b);

writeln (lista_argumentów);

readln (lista_argumentów);

EBieleninik

PWr IIS

32

J zyki programowania - podprogramy

Podprogramy

Podprogram

to wyró niona cz

 programu komunikuj ca si  z pozostał  w

ci le okre lony sposób. 

Do komunikacji s  wykorzystywane parametry, w definicji programu nazywane

parametrami formalnymi

, a w wywołaniu 

parametrami aktualnymi.

Podprogram mo e by  wielokrotnie wywoływany z cz ci głównej programu
lub z innego podprogramu.

Wywoływanie podprogramu polega na podaniu jego nazwy oraz w nawiasach
parametrów.

background image

EBieleninik

PWr IIS

33

J zyki programowania - podprogramy

Dlaczego stosuje si  podprogramy ?

1. Program napisany z podziałem na podprogramy jest bardziej czytelny i zrozumiały

2. Pewne fragmenty programu, które si  powtarzaj  lub realizuj   ci le okre lone

operacje, powinny by  wyodr bnione i zapisane w postaci jednego podprogramu.

3. Podczas uruchamiania programu mo na testowa  poszczególne podprogramy

oddzielnie, a nast pnie uruchomi  cały program.

EBieleninik

PWr IIS

34

J zyki programowania - biblioteki 

Dla poszczególnych j zyków programowania opracowano bogate biblioteki
podprogramów, zazwyczaj pogrupowanych tematycznie.

Przykładowe biblioteki:

• biblioteki oblicze  numerycznych

• biblioteki podprogramów graficznych

• biblioteki oblicze  statystycznych

• biblioteki do przetwarzania tekstów

• biblioteki oblicze  ekonomicznych

Przykładowe funkcje standardowe w Pascalu:

• SIN(x),  COS(x),  SQRT(x),  LOG(x),  ABS(x),  ........

EBieleninik

PWr IIS

35

Program Oblicz_silnie;
Var

n, i, silnia: Integer;

Begin

Writeln(‘ Podaj wartosc n ‘);
Readln (n);
silnia :=1;
for i := 2 to n do

silnia := silnia*n;

Writeln(‘silnia = ‘, silnia);

End. 

Przykłady programów 

EBieleninik

PWr IIS

36

Program MaxMin;
Var

max, min : Real;
a : array[1..20] of Real;
i, n: Integer;

Begin

max := a[1];  min := a[1];
for i :=1 to n do

begin

if a[i] > max then max := a[i];

if a[i] < min then min := a[i];

end;

Writeln (max, min);

End.

Przykłady programów 

Program wyznacza liczb
maksymaln  i minimaln
w tablicy n liczb.

background image

EBieleninik

PWr IIS

37

Program SumaLiczb;
Var

a, suma: Real;
Begin

suma := 0;
Readln(a);
while (a <> 0) do

Begin

suma := suma + a;
Readln(a);

End;

Writeln(suma);

End. 

Przykłady programów 

Program oblicza sum  liczb
czytanych z klawiatury.

EBieleninik

PWr IIS

38

Program RownanieKwadratowe;
Var

a,b,c,delta,x1,x2: Real;

Begin

Writeln(‘Podaj wspolczynniki a, b, c ‘);

Readln (a,b,c);
if (a = 0) then

if (b = 0) then Writeln(‘Zle dane’)

else   Begin

x := -c/b;
Writeln(x);

End;

else  Begin

delta := b*b – 4*a*c;

if (delta >= 0) then

Begin

x1 := (-b - SQRT(delta))/(2*a);
x2 := (-b + SQRT(delta))/(2*a);
Writeln(x1,x2);

End

else  Writeln(‘Delta ujemna)

End

End.