Program KOMPUTEROWY
PROGRAM - (aplikacja) jest ciągiem zrozumiałych dla komputera rozkazów, przeznaczonych do przetwarzania. Program działa według określonych algorytmów
Program komputerowy ma zewnętrzną strukturę (GUI - Graphic User Interface) oraz wewnętrzną ( złożona z obiektów i funkcji)
ALGORYTM - sformalizowany zestaw czynności, jakie należy wykonać, aby z poprawnych danych wejściowych otrzymać oczekiwany wynik; rozwiązuje problem algorytmiczny.
DANE WEJŚCIOWE Algorytm rozwiązujący problem WYNIKI
IMPLEMETACJA ALGORYTMU - zapis algorytmu w wybranym języku programowania
JĘZYK PROGRAMOWANIA zestaw zasad tekstowego lub graficznego opisu algorytmu za pomocą przyjętych elementów języka.
KOD PROGRAMU - tekst programu
PROGRAM WYKONYWALNY - program gotowy do bezpośredniego uruchomienia przez komputer.
ETAP1
- pomysł na program (jak ma wyglądać z punktu widzenia użytkownika i co ma dokładnie robić)
- stworzenie algorytmu (podział programu na funkcje, zmienne, obiekty na których program będzie operował, wprowadzenie procedur, które opisują wykonane operacje.
ETAP2
- zapis w wybranym języku programowania, stosując dostępne struktury danych i funkcje - kod źródłowy.
- debugowanie - wyszukiwanie błędów
- kompilacja - zmiana kodu źródłowego na instrukcje zrozumiałe dla komputera ( ciąg zer i jedynek) za pomocą programów (kompilatorów), niektóre języki nie wymagają kompilacji (HTML, PHP)
Kod maszynowy - zapis kodu za pomocą instrukcji procesora
Języki niskopoziomiowe - instrukcje udostępniane przez komputer w postaci prostych oznaczeń
Języki wysokopoziomowe - działają na wyższym poziomie abstrakcji; istnieje wiele gotowych funkcji zgromadzonych w bibliotekach:
Języki interpretowalne (PHP, HTML, XML-owe)
Języki kompilowalne ( Pascal, C, C++, Java)
Integralne środowiska pracy składające się z:
edytora,
debuggera,
kompilatora
to
ŚRODOWISKA PROGRAMISTYCZNE
NARZĘDIZA RAD (Rapid Application Development) - umożliwiają tworzenie programu z gotowych komponentów ( bloków funkcjonalnych osadzonych w bibliotekach i diagramów - graficznych opisów algorytmów): Borland Delphi, Borland C++Builder, Eclipse.
Większość programów komputerowych korzysta z następujących struktur:
struktury danych: mogą zawierać pojedyncze dane np. zmienne, wiele danych, dane z opisem metod.
Opcje bezpośredniego następstwa - program składa się z następujących w określonej kolejności operacji.
operacja N operacja N + 1
operacje wyboru warunkowego - sterowanie wykonywaniem operacji (instrukcji) na podstawie spełnienia określonego warunku. Jeżeli warunek został spełniony, to program może wykonać operacje odmienne od tych, które wykonuje wtedy, kiedy warunek nie jest spełniony.
Operacje iteracyjne - pętle - najbardziej pracochłonne dla komputera; polegają na wielokrotnym powtórzeniu tej samej operacji;
rodzaje:
Pętle ograniczone
Pętle warunkowe typu while-do
Pętle warunkowe typu repeat-until
pętla ograniczona - polega na zadaniu warunków początkowych w postaci stanu początkowego licznika imin, kroku z jakim licznik zmniejszamy (dekrementacja) lub zwiększamy (inkrementacja) oraz stanu końcowego, jaki licznik ma osiągnąć imax
Każdy przebieg pętli wykonuje ciąg instrukcji oraz zwiększa lub zmniejsza licznik. Gdy licznik osiągnie wartość imax wykonywanie pętli zostaje przerwane
-Pętla warunkowa typu while-do polega na wykonaniu ciągu instrukcji dopuki spełniony jest określony warunek; najpierw sprawdzany jest warunek, a następnie wykonywane instrukcje
pętla warunkowa typu repeat until - polega na wykonaniu ciągu instrukcji dopuki określony warunek nie zostanie spełniony, czyli najpierw wykonywane są instrukcje, a później sprawdzany jest warunek.
SYNTRAKTYKA - opisuje elementy będące budulcem języka, czyli symbole i zasady ich łączenia w słowa
SEMANTYKA - opisuje znaczenie poszczególnych słów oraz określa konteksty ich użycia.
Każdy algorytm można zapisać w sposób graficzny za pomocą symboli graficznych.
Dzięki temu uniezależnia się algorytm od wybranego języka programowania i ułatwia śledzenie powiązań między poszczególnymi elementami.
Inne sposoby graficznego opisu algorytmów:
grafy - składają się z węzłów i gałęzi, obejmują drogi prowadzące do określonego w problemie algorytmicznym celu
UML (unified Modeling Language) - wykorzystuje diagramy do przedstawienia tworzenia i działania systemów informatycznych i aplikacji )w inżynierii systemów i programowania)
OZNACZENIA GRAFICZNE STOSOWANE PRZY TWORZENIU ALGORYTMÓW
ZASADY BUDOWY ALGORYTMÓW
algorytm należy rozłożyć na najprostsze operacje podstawowe
każdy krok algorytmu dokładnie określić
rozważyć wszystkie możliwe przypadki funkcjonowania algorytmu w zależności od danych wejściowych oraz operacji wewnętrznych
Każdy algorytm powinien prowadzić do rozwiązania generującego jedna lub wiele odpowiedzi na zadany problem
Algorytm musi mieć jasno określony punkt początkowy (START) i punkt końcowy (STOP)
RODZAJE ALGORYTMÓW
Liniowe - wykorzystują operacje bezpośredniego następstwa
Warunkowe - wykorzystują operacje warunkowe
Iteracyjne - wykorzystują pętle.
TOP DOWN DESIGN
Jeżeli problem, którego dotyczy algorytm jest złożony, stosuje się metodę projektową zwaną projektowaniem zastępującymi ( top-down design)
Polega ona na podziale problemu na kroki będące podproblemami
Kroki powinny opisywać najprostsze podproblemy tak, aby można było je rozwiązać niezależnie od siebie.
W takim wypadku dane wejściowe podproblemu mogą być danymi wyjściowymi innego podproblemu i odwrotnie.
PRZYKŁAD
Obliczenie współrzędnych punktów pomierzonych metodą domiarów prostokątnych.
Xi = XI + Bi cosA - Di sinA
Yi = YI + Bi sinA + Di cosA
sinA = DY/L
cosA = DX/L
DY = YK - YI
DX = XK - XI
ZMIENNE
XI, YI
XK, YK
DX, DY
L
S,C - sin, cos
B,D
X,Y
Długość pomierzona LP
Długość obliczona ze współrzędnych L
Odchyłka DL = L - LP