Zapisywanie algorytmu w języku
Zapisywanie algorytmu w języku
programowania wysokiego poziomu
programowania wysokiego poziomu
Notacja-
Notacja-
jednoznacznie interpretowany system oznaczeń umożliwiający
jednoznacznie interpretowany system oznaczeń umożliwiający
zapisywanie pewnej klasy wyrażeń np. notacja matematyczna, nutowa, wzory
zapisywanie pewnej klasy wyrażeń np. notacja matematyczna, nutowa, wzory
chemiczne
chemiczne
same wyniki.
same wyniki.
Język programowania-
Język programowania-
zbiór instrukcji oraz zasad składni, dzięki
zbiór instrukcji oraz zasad składni, dzięki
którym powstaje kod źródłowy programu
którym powstaje kod źródłowy programu
.
.
Program komputerowy-
Program komputerowy-
ciąg instrukcji zapisanych w konkretnym
ciąg instrukcji zapisanych w konkretnym
języku programowania, przeznaczony do wykonania przez komputer.
języku programowania, przeznaczony do wykonania przez komputer.
Pseudojęzyk -
Pseudojęzyk -
uproszczona notacja algorytmiczna, zbliżona do któregoś
uproszczona notacja algorytmiczna, zbliżona do któregoś
z popularnych języków programowania, stosowana w książkach, artykułach.
z popularnych języków programowania, stosowana w książkach, artykułach.
Cechy języka programowania
Cechy języka programowania
Język programowania jest językiem formalnym, co oznacza, że
Język programowania jest językiem formalnym, co oznacza, że
podlega jednoznacznym regułom. Cech takiej nie mają języki
podlega jednoznacznym regułom. Cech takiej nie mają języki
naturalne, w których czasem sens zdania zależy od kontekstu, w
naturalne, w których czasem sens zdania zależy od kontekstu, w
którym zostało użyte lub naszej interpretacji.
którym zostało użyte lub naszej interpretacji.
Postać instrukcji, w tym słów kluczowych musi być bardzo precyzyjna
Postać instrukcji, w tym słów kluczowych musi być bardzo precyzyjna
– zgodna z zasadami składni. W programie nie może zabraknąć
– zgodna z zasadami składni. W programie nie może zabraknąć
żadnego z wymaganych koniecznie znaków. Tłumaczenie programu
żadnego z wymaganych koniecznie znaków. Tłumaczenie programu
na kod maszynowy połączone jest ze sprawdzeniem poprawności
na kod maszynowy połączone jest ze sprawdzeniem poprawności
składniowej zapisanych instrukcji. Instrukcje błędnie zapisane nie
składniowej zapisanych instrukcji. Instrukcje błędnie zapisane nie
będą mogły być przetłumaczone, a co za tym idzie program nie
będą mogły być przetłumaczone, a co za tym idzie program nie
zostanie wykonany.
zostanie wykonany.
Kolejność zapisywania instrukcji powinna odpowiadać kolejności
Kolejność zapisywania instrukcji powinna odpowiadać kolejności
operacji realizujących dany algorytm. Program jest bowiem
operacji realizujących dany algorytm. Program jest bowiem
realizowany zgodnie z zapisem
realizowany zgodnie z zapisem
.
.
Klasyfikacja języków
Klasyfikacja języków
programowania
programowania
Poziom wykonania programu
Wysokiego poziomu (Pascal, C++, PHP...)
Niskiego poziomu (kod maszynowy), Assembler, Cg
Sposób wykonania
Interpretowane (Basic, PHP, JavaScript)
Kompilowane (Pascal, C++, Java..)
Zastosowanie
Tworzenie aplikacji internetowych (Java, PHP ...)
Dostęp do danych (SQL...)
dydaktyczne (LOGO)
Inne- uniwersalne (Pascal, C++,...)
Opis danych (HTML, XML), przetwarzanie tekstu (Perl,
Python), programowanie grafiki (Open GL),
programowanie wizualne (Visual Basic, Delphi),
programowanie sztucznej inteligencji (LIPS, Prolog), ...
Model programowania
liniowe (BASIC) ; strukturalne ( Pascal, C)
zdarzeniowe
(Visual Basic);
obiektowe
(C++,
Delphi)
Etapy programowania
Etapy programowania
1.
1.
implementacja algorytmu
implementacja algorytmu
-
-
zapisanie algorytmu w postaci ciągu
zapisanie algorytmu w postaci ciągu
instrukcji języka programowania wysokiego poziomu. Powstaje wtedy kod źródłowy
instrukcji języka programowania wysokiego poziomu. Powstaje wtedy kod źródłowy
(program źródłowy). Algorytm można zaimplementować w dowolnym edytorze
(program źródłowy). Algorytm można zaimplementować w dowolnym edytorze
tekstowym, wygodniej jest jednak skorzystać z edytora wbudowanego do programu
tekstowym, wygodniej jest jednak skorzystać z edytora wbudowanego do programu
kompilatora danego języka
kompilatora danego języka
2.
2.
kompilacja programu -
kompilacja programu -
Tłumaczenie
Tłumaczenie
programu z języka wysokiego
programu z języka wysokiego
poziomu na język niskiego poziomu nazywane jest
poziomu na język niskiego poziomu nazywane jest
translacją.
translacją.
Może to przebiegać w formie
Może to przebiegać w formie
kompilacji
kompilacji
lub
lub
interpretacji
interpretacji
, a używa się do tego
, a używa się do tego
specjalnego programu do tłumaczenia – translatora.
specjalnego programu do tłumaczenia – translatora.
Translatory
Translatory
dzielą się na
dzielą się na
interpretery
interpretery
(każde polecenie programu po
(każde polecenie programu po
uruchomieniu jest na bieżąco zamieniane na kod maszynowy, np. LOGO),
uruchomieniu jest na bieżąco zamieniane na kod maszynowy, np. LOGO),
kompilatory
kompilatory
–
–
cały program przekładany jest na kod maszynowy. W kodzie maszynowym
cały program przekładany jest na kod maszynowy. W kodzie maszynowym
program jest ciągiem wartości binarnych. Postać kodu maszynowego zależy od procesora
program jest ciągiem wartości binarnych. Postać kodu maszynowego zależy od procesora
na który dany program jest przeznaczony. Język maszynowy jest językiem niskiego
na który dany program jest przeznaczony. Język maszynowy jest językiem niskiego
poziomu, jego elementy odwzorowują architekturę komputera-instrukcje zależą od tego jaki
poziomu, jego elementy odwzorowują architekturę komputera-instrukcje zależą od tego jaki
mamy komputer – program nie będzie działał na innym sprzęcie
mamy komputer – program nie będzie działał na innym sprzęcie
Etapy programowania
Etapy programowania
3.
3.
uruchomienie i wykonanie programu -
uruchomienie i wykonanie programu -
w trakcie
w trakcie
wykonywania programu procesor rozpoznaje i wykonuje instrukcje swojego
wykonywania programu procesor rozpoznaje i wykonuje instrukcje swojego
wewnętrznego języka. W jednej z części procesora – arytmometrze
wewnętrznego języka. W jednej z części procesora – arytmometrze
wykonuje operacje arytmetyczne. Po wykonaniu programu wyniki pojawiają
wykonuje operacje arytmetyczne. Po wykonaniu programu wyniki pojawiają
się na wybranym urządzeniu zewnętrznym (ekranie, pliku, drukowane).
się na wybranym urządzeniu zewnętrznym (ekranie, pliku, drukowane).
4.
4.
testowanie programu
testowanie programu
-
-
prześledzić jego działanie dla kilku
prześledzić jego działanie dla kilku
różnych wartości zmiennych. Można przy tym skorzystać z tzw. Debuggera.
różnych wartości zmiennych. Można przy tym skorzystać z tzw. Debuggera.
Błędy kompilacji i wykonania
Błędy kompilacji i wykonania
1.
1.
Błędy kompilacji
Błędy kompilacji
–
–
wykrywane podczas kompilacji (błędnie zapisane
wykrywane podczas kompilacji (błędnie zapisane
słowo kluczowe, zła postać instrukcji, źle wstawiony znak interpunkcyjny lub
słowo kluczowe, zła postać instrukcji, źle wstawiony znak interpunkcyjny lub
jego brak, błędy syntaktyczne, np. zbyt dużo wyjść z instrukcji warunkowych).
jego brak, błędy syntaktyczne, np. zbyt dużo wyjść z instrukcji warunkowych).
2.
2.
Błędy wykonania-
Błędy wykonania-
np. dzielenie przez zero, brak wolnej pamięci, brak
np. dzielenie przez zero, brak wolnej pamięci, brak
dostępu do pliku (nie są wykrywane w czasie kompilacji, ale dopiero po
dostępu do pliku (nie są wykrywane w czasie kompilacji, ale dopiero po
uruchomieniu programu).
uruchomieniu programu).
3.
3.
Błędy logiczne (specyfikacji)-
Błędy logiczne (specyfikacji)-
np. zapętlenie programu,
np. zapętlenie programu,
nieokreślenie wartości zmiennych, przy pewnych danych program działa
nieokreślenie wartości zmiennych, przy pewnych danych program działa
dobrze , a przy innych nie. Ogółem program nie robi tego, na co oczekujemy.
dobrze , a przy innych nie. Ogółem program nie robi tego, na co oczekujemy.
Nie możliwe jest automatyczne wykrycie takiego błędu, ponieważ komputer
Nie możliwe jest automatyczne wykrycie takiego błędu, ponieważ komputer
nie wie, co tak naprawdę chcemy
nie wie, co tak naprawdę chcemy
BUDOWA PROGRAMU
BUDOWA PROGRAMU
1.
1.
Nagłówek
Nagłówek
2.
2.
Blok główny
Blok główny
-
-
Opis danych
Opis danych
– część deklaracyjna
– część deklaracyjna
Deklaracja modułów
Deklaracja modułów
(zbioru procedur i funkcji)
(zbioru procedur i funkcji)
Część opisowa (
Część opisowa (
deklaracja etykiet, literałów, typów, zmiennych, procedur funkcji,
deklaracja etykiet, literałów, typów, zmiennych, procedur funkcji,
obiektów
obiektów
)
)
- Część wykonawcza
- Część wykonawcza