P O D S T A W Y P R O G R A M O W A N I A · komputer · program – obliczenia
description
Transcript of P O D S T A W Y P R O G R A M O W A N I A · komputer · program – obliczenia
P O D S T A W Y P R O G R A M O W A N I A
komputer
program
– obliczenia
– decyzje
– przetwarzanie danych
– wizualizacja
– sterowanie
program zapis algorytmu
algorytm
– obliczeniowy
– decyzyjny
– przetwarzania danych
– sterowania
Problem
Algorytm
Program Komputer
Rozwiązanie
Dane
Problem
Algorytm
Program Komputer
Sygnały Sterujące
DanePomiarowe
Raporty
Problem
Algorytm
Program Komputer
Użytkownik
Dane
Rezultaty
dane i struktury danych
– rodzaje danych : liczbowe, tekstowe, graficzne, dźwiękowe, ...
– typy danych :
• sposób reprezentacji
• rola w programie
zmienne { nazwa , wartość }
i j x y x1 k125
Alfa Cena CenaMleka Imie_Ojca
x := 1 x 1 x = 1
x = x + 1 xt+1 = xt + 1
x = 7 y = -12 x = y + 5 x = y – x + 1
– wartość jest zapisywana w pewnym obszarze pamięci komputera
d0 d1 d2 . . . dn
0 1 2 n
W
jednowymiarowe : W [ 4 ] W [ i ]
struktury danych
– tablice jednowymiarowe
D 0 1 k
0
1
w
dwuwymiarowe : D[ wie ] [ kol ] D[ 5 ] [ 2 ] D[ a ] [ b ]
trójwymiarowe : T [ mat ] [ wie ] [ kol ] T [ 2 ] [ 5 ] [ 12 ]
. . . .
D00 D01 . . . D0k
D10 D11 . . . D1k
Dw0 Dw1 . . . Dwk
.
.
.
– tablice wielowymiarowe
• listy
D1 D0 Dn
jednokierunkowa
D0
D1
Dm
dwukierunkowa
• stos, kolejka
• rekord
Kowalski
Stanisław
88311201234
42547,54
Podatnik
Nazwisko
Imię
Pesel
DochódRoczny
PodatnikAktualny . NazwiskoPodatnikAktualny . DochódRoczny
• tablice rekordów
Podatnicy [ 12435 ] . Nazwisko Podatnicy [ 32343 ] . Pesel
zapisywanie algorytmów pisanie programów
– język naturalny
– notacja graficzna schematy, diagramy
– języki programowania
schematy blokowe ( sieci działań ) (PN-75/E-01226)
Start Stop
Operacja
NIE
WarunekTAK
k
k
Start
Stop
Wykonajwszystkieoperacje programu
– program liniowy :
y = x - 5
x2 + 1
wczytaj wartość x
wyprowadź wartość y
Start
Stop
y = x
y = y – 5
z = x
z = z * x
z = z + 1
y = y / z
y =( x - 5 )/( x * x + 1 )
– program z rozgałęzieniami : MAX ( a, b, c )
Start
Stop
wczytaj a, b, c
T N
wyprowadź a
T
N N
T
wyprowadź c wyprowadź b
a > b
a > c b > c
– pętla ( iteracja )
• pętla wyliczeniowa
ustalenie wartości początkowej
licznika powtórzeń N
wykonanie treści pętli
zmiana wartości licznika powtórzeń N
czy licznik powtórzeń N
osiągnął wartość
graniczną
NIE
TAK
S =i = 1
n
ai
Kolejność danych:
n, a1, a2, . . . an
Start
S = 0
wczytaj n
wczytaj a
S = S + a
n = n – 1
n > 0
wyprowadź SStop
NIE
TAK
a1 + a2 + . . . + an
• pętla warunkowa
ustalenie wartości początkowych
wykonanie treści pętli
czy warunek
zakończenia jest
spełniony
T
N
Zgadnij liczbę. Start
X = losuj ( 1, 10 ) K = 0 , Z = 0
N
T
wyświetl tekst" Zgadnij liczbę od 1 do 10 : "
K = K + 1
wczytaj Z
wyświetl KStop
X == Z
programowanie strukturalne struktury sterowania :
– predykat ( blok decyzyjny, warunkowy )
W
– iteracja ( pętla )
War_Pocz
Treść
W
modularyzacja programu
Start
wczytywanie danych wejściowych
przetwarzanie danych
wyprowadzanie wyników
Stop
Start
Stop
wczytaj polecenie wykonaj polecenie
czy polecenie zakończenia
T
N
JĘZYKI PROGRAMOWANIA
– język
A = { a1 , a2 , . . . , an } alfabet
W = A* zbiór ciągów
L W zbiór słów języka
– analiza leksykalna
– analiza składniowa
– analiza semantyczna
– imperatywne języki programowania
– deklaratywne języki programowania
– język wewnętrzny, asembler
– języki programowania wysokiego poziomu
program w języku wysokiego poziomu
translator( kompilator )
przekład w języku wewnętrznym
program w języku wysokiego poziomu
interpreter
kompilacja interpretacja
– początki języków programowania :
FORTRAN COBOL ALGOL
– języki programowania strukturalnego :
C Pascal Ada PL/1
– języki programowania obiektowego :
C++ C# Object Pacal Java
– języki opisu dokumentów i stron www :
HTML XML PHP JAVA SCRIPT
– języki specjalizowane
LISP SIMULA Prolog Clipper