Programowanie Komputer w


Programowanie Komputerów

Prof. Dr hab. Jerzy Gołuchowski

( Notatki: created by Matek & Psychol )

Programowanie (w szerszym znaczeniu ):

Jest to jednoznaczne formułowanie zdań oraz sposobu ich rozwiązywania za pomocą komputera prowadzące do wykonania szeregu czynności.

Czynności składające się na proces programowania:

Programowanie ( w węższym znaczeniu ):

To kodowanie algorytmu w wybranym języku programowania.

Algorytm - zbiór reguł postępowania (przepis) mający na celu w skończonej liczbie kroków przetworzenie informacji wejściowych (danych) w informacje wynikowe (wyniki).

Problemy związane z opracowywaniem algorytmów:

Etapy opracowywania programu:

  1. Analiza problemu i sformułowanie algorytmu.

  2. Zakodowanie algorytmu w języku programowania.

  3. Wprowadzenie tekstu programu źródłowego do komputera.

  4. Tłumaczenie programu.

  5. Testowanie i ewentualne poprawienie błędów formalnych ( składniowych ) wykrytych w kroku 4 i ponowne tłumaczenie programu.

  6. Uruchomienie programu i poprawienie błędów logicznych.

  7. Opracowanie dokumentacji.

Kodowanie algorytmu w języku programowania:

Jako ograniczenia zawężające możliwości wyboru języka przyjmuje się m.in.:

Cechy dobrego programu:

System programowania ( środowisko programistyczne - zawierające co najmniej translator języka ):

Systemy programowania obejmują:

Rodzaje środowisk programistycznych:

Język programowania:

Zbiór symboli oraz reguł syntaktycznych i normatycznych stosowanych w trakcie definiowania sposobu przetwarzania określonego zadania.

Elementy języka programowania:

Translacja programu:

Programy z reguły są pisane w językach programowania łatwo zrozumiałych przez człowieka, natomiast niezrozumiałych dla komputera. Dlatego konieczny jest proces tłumaczenia języka źródłowego w jakim napisany jest program na język docelowy zrozumiały przez maszynę.

Translacja - proces tłumaczenia programu źródłowego na wynikowy. Translacji dokonuje się przeważnie przez:

Translator - program tłumaczący pozwalający „przetłumaczyć” przekształcić kod programu napisany w języku zrozumiałym dla programisty ( tzw. Program źródłowy ) w kod maszynowy czyli postać programu wykonalną na dowolnym sprzęcie.

Kompilacja

Kompilator analizuje program napisany w określonym języku programowania( program źródłowy ) i tłumaczy go na równoważnie funkcjonalnie program w języku wewnętrznym ( program wynikowy ).

Jeśli proces tłumaczenia zakończy się poprawnie to w dalszej pracy nad programem, czyli w trakcie jego testowania pracuje się z wersją wynikową, program wynikowy może być uruchomiony na każde żądanie bez konieczności ponownego tłumaczenia.

Kompilacja - proces automatycznego tłumaczenia kodu napisanego w języku programowania na drugi. Kod źródłowy - dane wejściowe. Tłumaczenie języka z wyższego poziomu na język niższego poziomu. Odwrotny proces to dekompilacja.

Polega na przekształceniu programu źródłowego na równoważny program wyrażony w języku maszynowym przed jego uruchomieniem. Następnie uruchamia się już skompilowany program.

Przykłady języków: Pascal, Fortan, C, ...

Interpretacja

Interpretator pobiera kolejne instrukcje programu, sprawdza ich poprawność, rozpoznaje jakie czynności należy wykonać i wykonuje je.

    1. Interpreter analizuje postać znakową każdej instrukcji języka źródłowego i tłumaczy ją na kod maszynowy za każdym razem, gdy instrukcja ta jest wykonywana.

    2. Jeśli dana instrukcja wykonywana ma być wielokrotnie, lepszym podejściem jest analizowanie postaci znakowej tylko raz i zastąpienie jej ciągiem symboli łatwiejszym do interpretacji.

Interpretacja - przekształcanie ( translacja ) instrukcji programu na bieżąco do kodu maszynowego lub innej formy pośredniej i natychmiastowe ich wykonywanie. Zmusza to do ustawicznego tłumaczenia instrukcji, co wielokrotnie wydłuża czas działania programu. Zaletą jest natomiast łatwość dokonywania zmian w programie w trybie konwersacyjnym.

Testowanie - w praktyce testowanie programu na wszystkich możliwych danych teoretycznych jest niemożliwe. Najczęściej stosuje się test:

Algorytmy:

    1. Wstęp.

    2. Rodzaje algorytmów.

    3. Metody zapisu.

    4. Złożoność.

    5. Przykłady algorytmów sortowania.

Podstawowe pojęcia algorytmów:

Algorytmika - nauka o algorytmach:

Dzisiejsze pojęcie algorytmu:

Dzisiejsze, uogólnione znaczenie słowa „algorytm” zastosowano w zasadzie dopiero w 20-stym stuleciu, kiedy to algorytm zaczął być rozumiany jako:

Zbiór reguł postępowania umożliwiający rozwiązanie określonego zadania w skończonej liczbie kroków i w skończonym czasie.

Każdy algorytm:

  1. Posiada dane wejściowe:

  • Zwraca pewien wynik: