pradygmaty prog, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI


Hierarchia języków programowania

 Mikroprogramowanie (Microprogramming)

 Język maszynowy (wewnętrzny) ( Machine language)

 Język asemblerowy (symboliczny) (Assembly language)

 Programowanie strukturalne (proceduralne ) (Structured programming)

 Programowanie modularne (Modular programming)

 Programowanie obiektowe (Object-oriented programming)

 Programowanie komponentowe (Component-object model)

Język maszynowy

Język maszynowy, język wewnętrzny (Internal code)

Rozkaz maszynowy:

 Rozkazy w postaci binarnej, kod operacji (operation code)

 Adresy absolutne - binarne (operand field)

Budowa słowa maszynowego:

Programowanie strukturalne i proceduralne

Aspekt strukturalizacji:

 Struktury sterujące języka programowania

 Przejrzystość algorytmów i programów

Aspekt proceduralny:

 Systematyczny podział na części składowe, których powiązania

wzajemne są dobrze określone (procedury, funkcje)

 Ułatwienie uruchamiania i modyfikacji programów

 Projektowanie zstępujące (top-down), E. Dijkstra

 Refaktoryzacja kodu źródłowego (XP, Extreme Programming)

Modularność

Modularość - podział programu na oddzielne moduły o określonych funkcjach,

w celu umożliwienia pracy nad jednym programem wielu programistom

(opracowywanie, pielęgnowanie i uruchamianie).

Kompletna translacja programu odbywa się w dwóch etapach:

 Kompilacja (asemblacja) modułów źródłowych

 Konsolidacja skompilowanych modułów

Programowanie komponentowe

Programowanie komponentowe - definiowanie obiektów samoopisujacych się

(komponentów programowych) niezależnie od języka programowania.

Umożliwienie włączenie do aplikacji obiektów należących do innych

programów, przy zachowaniu pewności, że każdy z komponentów będzie w

stanie komunikować się i „rozumieć” funkcje pozostałych.

Technologia COM (Component-object model):

 OLE (Object Linking and Embedding) - łączenie i osadzanie obiektów,

standard współużytkowania informacji miedzy aplikacjami, dający możliwość

tworzenia obiektów w jednej aplikacji i włączania ich do innych.

 ActiveX - zbiór protokołów i interfejsów programowych API (Application

Programming Interface) służących do tworzenia scalania i udostępniania

komponentów oprogramowania.

 DCOM (Distributed Component-object model) - podstawa do tworzenia

środowiska rozproszonego przetwarzania danych poprzez przesyłanie i

udostępnianie komponentów w sieci.

Paradygmaty programowania

Podstawowe paradygmaty:

 Imperatywny

 Funkcyjny

 Deklaratywny (programowanie w logice)

 Obiektowy

Założenia:

 Mechanizmy są implementowane w realnych systemach komputerowych.

 Komputery działają w oparciu o imperatywną architekturę von Neumanna.

 Każdy uruchomiany program musi być najpierw przetłumaczony do ciągu rozkazów w języku wewnętrznym konkretnej maszyny.

Paradygmat imperatywny

Postulaty paradygmatu:

 Stan maszyny wyznaczają zawartości rejestrów procesora oraz pamięci

 Instrukcja imperatywna zmienia stan maszyny

 Program - ciąg instrukcji, których realizacja jest zgodna z cyklem

maszynowym, rozkaz: <pobierz-dekoduj-wykonaj>

Języki imperatywne wysokiego poziomu:

Pascal, Fortran, Cobol, C, Ada

 Programowanie imperatywne (pierwotny sposób programowania), w którym

program (procedura) postrzegany jest jako ciąg poleceń dla komputera.

 Proces programowania sprowadza się do utworzenia ciągu instrukcji

imperatywnych (poleceń).

Paradygmat funkcyjny

Cechy paradygmatu:

 Program - złożona funkcja (w sensie matematycznym), która otrzymuje dane

wejściowe i wylicza wynik

 Brak imperatywnych pętli

 Brak stanu maszyny i zmiennych

 Przyjazne środowisko do konstruowania dużych pakietów oprogramowania.

Programowanie funkcyjne - składanie funkcji z wykorzystaniem

rekurencji.

Program jest złożeniem wielu zagnieżdżonych elementarnych funkcji

(wymuszona modułowość budowanych programów).

Paradygmat deklaratywny (programowanie w logice)

Cechy paradygmatu:

 Program - zbiór zdań początkowych, na bazie których algorytm dokonuje

wnioskowania dedukcyjnego.

 Algorytm oparty jest na cyklicznie stosowanej zasadzie rezolucji

(wnioskowaniu dedukcyjnym).

Składniki, z których konstruuje się zdania początkowe to predykaty.

Predykat składa się z identyfikatora predykatu, po którym w

nawiasach umieszcza się argumenty predykatu.

Przykład predykatu reprezentującego fakt: jan jest ojcem jerzego:

ojciec (jan, jerzy).

Zdania w Prologu są albo faktami albo regułami. W obu przypadkach

zdanie jest zakończone kropką.

Fakt składa się z pojedynczego predykatu.

Prolog odróżnia stałe od zmiennych w ten sposób, że nazwy stałych

rozpoczynają się małymi literami a zmienne dużymi.

Paradygmat obiektowy

Paradygmat obiektowy (programowanie obiektowe OOP (Object-oriented

programming).

Obiekt- odrębna jednostka stanowiąca powiązanie danych z operacjami na nich.

Program - zbiór powiązanych ze sobą obiektów, zawierających dane i umiejących

wykonywać na nich pewne operacje.

klasa (class) - rozszerzeniem struktury danych o funkcje (metody) operujące na

polach klasy.

Obiekt - egzemplarz klasy umieszczony w pamięci (instancja klasy).

CORBA (Common Object Request Broker Architecture) - standard obiektowych

architektur programowych.

Paradygmaty programowania

Paradygmaty inne:

 Programowanie na poziomie wartości

 Programowanie skalarne i macierzowe

 Paradygmat programowania proceduralnego

Konkretny język programowania reprezentuje jeden lub więcej

paradygmatów:

 Fortran, Pascal i C - języki pozwalające stosować paradygmat programowania

imperatywnego.

 Java, C# - języki obiektowe, w których typowe programowanie imperatywne

zostało mocno ograniczone.

 C++ - język zarówno obiektowy jak i imperatywny.

 Programowanie imperatywne - szczególny, wynaturzony przypadek

programowania obiektowego.



Wyszukiwarka

Podobne podstrony:
zarz procesami planowanie, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
klas sys komp, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
entropia kodowanie, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
All, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
def informatyka, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
srod programowania translatory, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
jezyk bnf ebnf, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
System operacyjny, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
rekurencja, stud, I semsetr, WSTEP DO PROGRAMOWANIA, WDI
Projektowanie oprogramowania Wstep do programowania i techniki komputerowej
2011-2012 wstęp do P program, wstęp do psychologii k
Gorazd T Kurs C Wstęp do Programowania
PHP Praktyczne wprowadzenie R 4 Wstęp do programowania Proste skrypty PHP
Wstęp do programu z poprawką, bierzmowanie
e Wstep do programowania DS
Wilkosz, Wstęp do programowania, kolokwia KD1-09 10l
Wilkosz, Wstęp do programowania, kolokwia K2-08 09l

więcej podobnych podstron