1
Języki programowania
Algorytmy i podstawy programowania
Algorytmy (na podstawie materiałów dr inż. Robert Arsoba)
Czym jest programowanie?
Programowanie
to formułowanie ciągu operacji
rozwiązującego dany problem w postaci
akceptowalnej przez komputer.
Proces tworzenia programu (systemu)
komputerowego, na który składają się
opracowywanie założeń, kodowanie i testowanie.
Dobre programowanie łączy elementy inżynierii,
„rzemiosła” i „sztuki”.
2
Algorytmy (na podstawie materiałów dr inż. Robert Arsoba)
Podstawowe pojęcia
•
Algorytm
•
Język programowania
•
Program
•
Kod źródłowy i wynikowy
•
Kompilacja
•
Programowanie strukturalne i obiektowe
•
Środowisko programistyczne
Algorytmy (na podstawie materiałów dr inż. Robert Arsoba)
Algorytm
Algorytm
to
dokładny, jednoznacznie sformułowany sposób
postępowania, umożliwiający rozwiązanie określonego
zadania w
skończonej liczbie kroków.
(zbiór poleceń ze wskazaniem porządku, w jakim mają być
realizowane).
Słowo
algorytm
pochodzi od przydomka matematyka
arabskiego (IX w.) Al-Chwarizmi (Algorismus, Algorithmus).
Zapis algorytmu:
•
w postaci opisu słownego
•
w postaci pseudokodu
•
w postaci schematu blokowego
3
Algorytmy (na podstawie materiałów dr inż. Robert Arsoba)
Schematy blokowe
Podstawowe symbole
poczatek lub koniec algorytmu
operacja wejscia/wyjscia
lacznik
START
STOP
1
1
WE
WY
łącznik
Algorytmy (na podstawie materiałów dr inż. Robert Arsoba)
Schematy blokowe
Podstawowe symbole
blok operacyjny
(wykonanie dzialania)?
blok
decyzyjny
TAK
NIE
PRAWDA
FALSZ
4
Algorytmy (na podstawie materiałów dr inż. Robert Arsoba)
Przyklad schematu blokowego
SIEC DZIALAN
DIAGRAM
PRZEPLYWU
DANYCH
d >= 0
Start
Oblicz
Wczytaj a, b, c
Zalozenie:
a jest rózne od 0
Brak pierwiastków
rzeczywistych
ac
b
d
4
2
a
d
b
x
2
2
,
1
x1, x2
Stop
TAK
NIE
Podstawy programowania (na podstawie materiałów dr inż. Robert Arsoba)
Program komputerowy
Program
to ciąg poleceń (instrukcji) do
wykonania dla komputera.
Program
to algorytm zapisany w
języku
programowania.
Program może występować w dwóch postaciach:
•
kod źródłowy,
•
kod wynikowy.
5
9
Kod źródłowy i wynikowy
Kod źródłowy
to zapis programu komputerowego
w
pewnym języku programowania.
Jest to postać programu zrozumiała dla programisty
(bez konieczności jego uruchamiania).
Kod maszynowy
to zapis programu komputerowego
w języku maszynowym. Kod taki składa się z ciągu
wartości binarnych (0 i 1), które oznaczają zarówno
instrukcje jak i
dane. Postać kodu maszynowego
zależy od architektury procesora.
Kod wynikowy
to rezultat pracy translatora (np.
kompilatora), nadający się do bezpośredniego
wykonywania przez procesor.
10
Kompilacja
Kompilator
to translator języka wysokiego
poziomu, którego programy wynikowe mogą
być wprowadzone do pamięci i wykonane
dopiero po zakończeniu tłumaczenia
(w odróżnieniu od interpretatora, w którym
instrukcje wynikowe są wykonywane na bieżąco).
Kompilacja
to proces przekształcania kodu
źródłowego na kod wynikowy (maszynowy).
6
11
Kompilacja kodu źródłowego w C
Kod źródłowy
*.C, *.H
Kod wynikowy (pośredni)
*.OBJ
Kod wynikowy
*.EXE
Biblioteki
KOMPILATOR
KONSOLIDATOR
(LINKER)
PREPROCESOR
12
Programowanie strukturalne
Programowanie obiektowe
Dane i
wykonywane na nich operacje są
połączone - tworzą tzw. klasę. obiekt
Program podzielony jest na niewielkie
fragmenty (podprogramy) nazywane
procedurami lub funkcjami.
Komponentowe
Modularne
7
13
Środowisko programistyczne
IDE (Integrated Development Environment)
C++ Builder
Delphi
JBuilder
Visual C++
PowerBuilder
.NET
RAD (Rapid Application Development)
Eclipse
Szybkie tworzenie aplikacji
Kylix
NetBeans
Etapy tworzenia programu
ANALIZA
PROBLEMU
POMYSL
(koncepcja)?
PROJEKT
(struktury danych,
algorytmy)?
strukturalna
obiektowa
KODOWANIE
OPTYMALIZACJA
KODU
(szybkosc, rozmiar)?
KOMPILACJA
DOKUMENTACJA
TESTOWANIE
Wybór jezyka
programowania
KONSERWACJA
C
Pascal