EBieleninik
PWr II
1
EBieleninik
PWr II
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 II
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 II
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
EBieleninik
PWr II
5
J zyk maszynowy
Jest to j zyk ci le zwi zany z typem komputera (procesora) 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.
1010
0111
0000 0000 0001 1010
kod
rozkazu
nr
rejestru
adres pami ci
EBieleninik
PWr II
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 II
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 := x
2. Powtarzaj
z := z+y
u := u-1
A u = 0
Przykład
EBieleninik
PWr II
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.
EBieleninik
PWr II
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 II
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 II
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 II
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.
EBieleninik
PWr II
13
Program
ródłowy
KOMPILATOR
Program
wynikowy
Kompilator
- program tłumacz cy z j zyka wysokiego poziomu ( ródłowy) na
j zyk maszynowy (wynikowy).
Kompilator
Program ródłowy
- program w j zyku wysokiego poziomu, zrozumiałym przez
człowieka
Program wynikowy
- program w j zyku maszynowym, wykonywany przez
komputer.
EBieleninik
PWr II
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 II
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 II
16
Proces uruchamiania 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.
EBieleninik
PWr II
17
Elementy j zyków programowania
• Dane ró nych typów
• Wyra enia (arytmetyczne, logiczne, relacyjne)
• Instrukcje
EBieleninik
PWr II
18
Dane w j zykach programowania
Dane dziel si na
zmienne i 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 II
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 II
20
Dane w j zykach programowania
Pascal – typy proste
Nazwa
Liczba bajtów
Zakres warto ci
Uwagi
ShortInt
1
-128..127
Krótki całkowity
Integer
2
-32 768..32 767
Całkowity
LongInt
-2 147 483 648..
Długi całkowity
Real
6
-2.9E-39..1.7E38
Rzeczywisty
Double
8
5.0E-324..1.1E308
Podwójny rzeczywisty
Char
1
Znakowy
Boolean
1
True/False
Logiczny
EBieleninik
PWr II
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 II
22
Dane w j zykach programowania
1) Typ tablicowy
x = array[1..20] of Integer;
X[3]
2
1
3
20
X
7
T = array[1..8,1..10] of real;
2
1
7
10
T
T[3,6]
1
1
2
3
3
8
EBieleninik
PWr II
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 II
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) 13 DIV 4
13 MOD 4
EBieleninik
PWr II
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 II
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 II
27
J zyki programowania
Instrukcje - Pascal
1.
Instrukcja przypisania
zmienna := wyra enie;
a := 10;
b := 5;
c := a + b;
:=
operator przypisania
EBieleninik
PWr II
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);
Writeln(x1, x2);
End
else
Writeln(„Delta ujemna”);
EBieleninik
PWr II
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 II
30
J zyki programowania
3.3 Instrukcja Dla
for zm := wp to wk do
Instrukcja;
for zm := wp to wk do
begin
Instrukcja1;
Instrukcja2;
..................
end;
suma := 0;
n := 10
for i := 1 to 10 do
suma := suma + i;
EBieleninik
PWr II
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 II
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.
EBieleninik
PWr II
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 II
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 II
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*i;
Writeln(‘silnia = ‘, silnia);
End.
Przykłady programów
EBieleninik
PWr II
36
Program MaxMin;
Var
max, min : Real;
a : array[1..20] of Real;
i, n: Integer;
Begin
................... czytanie danych
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.
EBieleninik
PWr II
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.
PWr II
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.
EBieleninik
EBieleninik
PWr II
39
K O N I E C