PROGRAMOWANIE KOMPUTERÓW

Transkrypt

PROGRAMOWANIE KOMPUTERÓW
PROGRAMOWANIE KOMPUTERÓW
1. Komputer ENIAC – programowanie za pomocą ustawienia pokręteł, przełączników itp.
2. Bezpośrednie programowanie procesora – kod maszynowy zrozumiały tylko
przez daną maszynę.
3. Symboliczne języki programowania – stosowanie zrozumiałych poleceń, tłumaczonych na kod maszynowy.
JĘZYK SYMBOLICZNY: zbiór abstrakcyjnych definicji i reguł syntaktycznych, realizujący określony algorytm rozwiązania zadania.
ALGORYTM: przepis, metoda pozwalająca na rozwiązanie zadania. Algorytm to
zbiór uporządkowanych kroków.
PROGRAM: zbiór poleceń zgodny z regułami danego języka programowania.
IMPLEMENTACJA: realizacja danego języka przez różne firmy.
TRANSLATORY: programy tłumaczące języki symboliczne na język maszynowy:
– Interpretery: tłumaczenie każdej kolejnej instrukcji.
– Kompilatory: jednoczesne tłumaczenie wszystkich instrukcji.
POZIOMY JĘZYKÓW:
Język wysokiego poziomu
(język symboliczny).
PRINT ″A″
Język asembler (język wykorzystujący
instrukcje wbudowane w procesor).
mov dx,41h
mov ah,2
int 21h
Heksadecymalny kod maszynowy
(kod szesnastkowy).
BA4100
B402
CD21
Binarny kod maszynowy
(kod maszynowy – jedyny język zrozumiały przez procesor, wykorzystujący bity).
101110100100000100000000
1011010000000010
110011010100001
ARCHITERKTURA PROCESORA
(różne typy, technologie RISC, CISC)
141
Algorytmu rozwiązywania trójmianu kwadratowego y = ax2 +bx+c
START
dane: a, b, c
tak
a=0
KONIEC
nie
  b 2  4a  c
nie
=0
tak
x 1, 2  
nie
b
2a
>0
tak
p 
x1 
b  p
,
2a
x2 
b  p
2a
p  
x1 
b  ip
,
2a
x2 
b  ip
2a
drukuj x1, x2
KONIEC
142
TYPY PROGRAMOWANIA:
1. Programowanie liniowe: program w
postaci jednolitego bloku.
2. Programowanie strukturalne: program z wyodrębnionymi modułami,
operującymi własnymi lokalnymi danymi i zmiennymi (podprogramy).
3. Programowanie obiektowe: rozwinięcie programowania strukturalnego, wykorzystujące pojęcie obiektu
dotyczącego danych i procedur.
4. Programowanie wizualne: oparte o
wykorzystanie narzędzi w postaci
elementów graficznych.
1 OBRAZ = 1000 SŁÓW
WYBRANE JĘZYKI PROGRAMOWANIA:
– ASEMBLERY, języki niskiego poziomu, do małych programów, wymagające dużych umiejętności od programisty i dużego nakładu czasu, szybkie w działaniu,
zbliżone do kodu maszynowego.
– FORTRAN (1957), język do obliczeń naukowych i inżynierskich, bardzo popularny do dzisiaj.
– BASIC (1964), popularny wśród niezawodowych programistów, prosty i łatwy do
opanowania.
– PASCAL (1971), jeden z pierwszych języków strukturalnych, do dzisiaj stosowany do nauki programowania.
– COBOL (1960), język przeznaczony dla aplikacji biznesowych.
– LISP (1960), PROLOG (1973), języki przeznaczone do opracowywania aplikacji
związanych ze sztuczną inteligencją.
143
– LOGO (połowa lat 60. XX wieku), znany ze swojej prostoty i możliwości graficznych, proponowany do nauki programowania w szkole podstawowej, dziś zapomniany.
– C (1989), C++, C# (C Sharp), najpopularniejsze języki wysokie poziomu, działające na wszystkich komputerach, stosowane do pisania systemów operacyjnych i
wielu aplikacji użytkowych.
– Java (1991), profesjonalny język do programowania aplikacji, które można uruchomić na wszystkich platformach sprzętowych bez żadnych modyfikacji, oparty
o C++. Aplikacje Javy mogą być uruchamiane z Internetu.
EWOLUCJA JĘZYKÓW PROGRAMOWANIA
BASIC → TurboBasic → Visual Basic
PASCAL → TurboPascal → Delphi
Visual Basic
C++
C#
VISUAL STUDIO NET
PRZYSŁOWIA PROGRAMISTY:
1. Nie łam reguł, dopóki ich nie poznasz.
2. Zdefiniuj dokładnie swój problem.
3. Najpierw pomyśl, potem programuj.
4. Programuj z góry w dół (od całości do szczegółów).
5. PAMIĘTAJ O INNYCH MOŻLIWOŚCIACH.
PROGRAMY MATEMATYCZNE (Matlab, Mathcad, Matematica, Derive, …)
PROGRAMY STATYSTYCZNE (Statistica, Statgraphics, …)
Tex (język formatowania dokumentów,
umożliwiający pisanie skomplikowanych wzorów matematycznych
PUBLIKACJE ELEKTRONICZNE (Acrobat, PDF)
PROGRAMY OCR (Recognita, Type Leader, …)
PROGRAMY DTP (Ventura, PageMaker, Quark XPress, …)
PROGRAMY INŻYNIERSKIE (AutoCAD, …)
PROGRAMY EKONOMICZNE (Płatnik)
PROGRAMY GRAFICZNE (CorelDraw, Adobe, ...)
144