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”.
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
listy kroków
•
w postaci pseudokodu
•
w postaci schematu blokowego
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
Algorytmy (na podstawie materiałów dr inż. Robert Arsoba
Schematy blokowe
Podstawowe symbole
blok operacyjny
(wykonanie dzialania)?
blok
decyzyjny
TAK
NIE
PRAWDA
FALSZ
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.
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).
Kompilacja
Procesy kompilacji:
-
analiza leksykalna -
poprawność jednostek
leksykalnych
-
analiza składniowa – poprawność ułożenia
tokenów (słowa kluczowe, operatory, …)
-
analiza semantyczna (znaczeniowa)
–
zgodność tokenów z regułami danego języka
12
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
KONSOLIDACJA
- statyczna
- dynamiczna
13
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
14
Ś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