• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Modula-2

    Przeczytaj także...
    Definicja (z łac. definitio; od czas. definire: de + finire, "do końca, granicy"; od finis: granica, koniec) – wypowiedź o określonej budowie, w której informuje się o znaczeniu pewnego wyrażenia przez wskazanie innego wyrażenia należącego do danego języka i posiadającego to samo znaczenie.Język wysokiego poziomu (autokod) – typ języka programowania, którego składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu dla człowieka, tym samym zwiększając poziom abstrakcji i dystansując się od sprzętowych niuansów. Kod napisany w języku wysokiego poziomu nie jest bezpośrednio „zrozumiały” dla komputera – większość kodu stanowią tak naprawdę normalne słowa, np. w języku angielskim. Aby umożliwić wykonanie programu napisanego w tym języku należy dokonać procesu kompilacji.
    Instrukcja warunkowa jest elementem języka programowania, które pozwala na wykonanie różnych obliczeń w zależności od tego czy zdefiniowane przez programistę wyrażenie logiczne jest prawdziwe, czy fałszywe. Możliwość warunkowego decydowania o tym, jaki krok zostanie wykonany w dalszej kolejności jest jedną z podstawowych własności współczesnych komputerów – dowolny model obliczeń zdolny do wykonywania algorytmów (tj. równoważny maszynom Turinga) musi ją posiadać.

    Modula 2język programowania wysokiego poziomu stworzony przez Niklausa Wirtha.

    Historia[ | edytuj kod]

    Język Modula 2 stworzony został podczas prac badawczych w Instytucie Informatyki Politechniki w Zurichu. Prace nad językiem rozpoczęto w 1977 r., a ich efektem była pierwsza implementacja tego języka zrealizowana w 1979 r. na komputerze PDP-11. Definicja języka opublikowana została w 1980 r.

    Instrukcja wyboru – instrukcja decyzyjna – jest to instrukcja w określonym języku programowania, umożliwiająca wybór instrukcji do wykonania spośród wielu opcji.Wydawnictwa Naukowo-Techniczne (WNT) – polskie wydawnictwo założone w 1949 z siedzibą w Warszawie, do 1961 działało pod firmą Państwowe Wydawnictwa Techniczne.

    Język wywodzi się z Pascala i Moduli. Zawiera w sobie wszystkie mechanizmy Pascala oraz rozszerzenia o ważne pojęcia modułu i mechanizmy wieloprogramowości. Składnię języka oparto na składni Moduli (po zrealizowaniu Moduli 2 i innych, język Modula czasem określano – dla jednoznaczności – jako Modula 1). Należy podkreślić, że kolejne cyfry nie oznaczają kolejnych wersji rozwojowych, lecz osobne języki budowane na tych samych wzorcach, lecz o różniących się założeniach i przeznaczeniu.

    Obiektowość (ang. object-orientation) – koncepcja (paradygmat) bardzo chętnie obecnie wykorzystywana w informatyce, bazująca na pojęciach klasy i obiektu. Upraszcza proces projektowania, tworzenia i testowania systemów informatycznych. Obiektowość może być realizowana na różnych etapach cyklu życia systemu informatycznego, m.in. na etapie analizy (analiza obiektowa), projektowania (projektowanie obiektowe) i implementacji (programowanie obiektowe). W efekcie możliwe jest tzw. "bezszwowe" (seamless) przechodzenie pomiędzy poszczególnymi fazami projektu, a rezultaty dotychczasowych prac (wykonanych w ramach poprzedniej fazy) mogą zostać wykorzystane na kolejnym etapie bez pracochłonnej lub (często) jakiejkolwiek obróbki.Pascal – dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego poziomu, ogólnego zastosowania, oparty na języku Algol. Został opracowany przez Niklausa Wirtha w 1970 roku. Nazwa języka pochodzi od nazwiska francuskiego fizyka, matematyka i filozofa Blaise Pascala.

    Składnia[ | edytuj kod]

    Każdy program składa się z modułu lub wielu modułów. Moduły zewnętrzne mogą być kompilowane niezależnie. Moduły mogą być zgłębione w innych modułach. Moduł ma postać:

     pre MODULE nazwa;
       listy_importowe
       deklaracje
     BEGIN
       instrukcje
     END nazwa.
    

    Moduły dzielą się na:

  • moduły programu
  • moduły definiujące : pre=DEFINITION
  • moduły implementujące : pre=IMPLEMENTATION
  • Instrukcja IMPORT listy_importowej pozwala importować obiekty z innych modułów. Do udostępniania własnych obiektów służy instrukcja EXPORT.
    Obiekt nie jest tu używany w sensie projektowania obiektowego.

    Instrukcja - w programowaniu jest to najmniejszy samodzielny element imperatywnego języka programowania. Instrukcja może być niskiego poziomu napisana w asemblerze np. mov ax,bx, która po przetłumaczeniu na kod binarny nadaje się do uruchomienia przez procesor lub instrukcja wysokiego poziomu napisana np. w języku C: int a = 5;, która zostanie przetłumaczona na kilka instrukcji niskiego poziomu. Program jest tworzony jako zbiór różnych instrukcji. Instrukcja może zawierać wewnętrzne komponenty (np. wyrażenia).Język programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.

    Język wyposażony został w instrukcje strukturalne wzorowane na instrukcjach Pascala z pewnymi rozszerzeniami. Zasadnicza różnica, wywodząca się z Moduli 1, to słowo kluczowe END zamykające każdą instrukcję strukturalną, co eliminuje konieczność stosowana instrukcji grupującej (jak begin…end w Pascalu, czy {…} w języku C). Ponadto rozszerzono postać instrukcji IF i FOR oraz wprowadzono instrukcję pętli LOOP dla programowania współbieżnego.

    W programowaniu pętla to jedna z trzech podstawowych konstrukcji programowania strukturalnego (obok instrukcji warunkowej i instrukcji wyboru). Umożliwia cykliczne wykonywanie ciągu instrukcji określoną liczbę razy, do momentu zajścia pewnych warunków, dla każdego elementu kolekcji lub w nieskończoność.Kompilator – program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym) . Proces ten nazywany jest kompilacją. W informatyce kompilatorem nazywa się najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre z nich tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler.
  • instrukcja warunkowa:
  •  IF w1 THEN si1
     [ELSIF w2 THEN si2
     [ELSIF w3 THEN si3
     …]]
     [ELSE si-else]
     END
    
  • instrukcja wyboru:
  •  CASE wyr OF
     w1 : si1 |
     [w2 : si2 [ |
     …]]
     [ELSE si_else]
     END
    
  • instrukcje pętli
  •  WHILE w DO
       si
     END
    
     REPEAT
       si
     UNTIL w
    
     FOR i:=w TO w2 [BY w3] DO
       si
     END
    
     LOOP
       si
     END
    

    Współbieżność[ | edytuj kod]

    Język Modula 2 udostępnia mechanizmy do programowania procesów współbieżnych – zarówno procesów:

    Biblioteka Inżynierii Oprogramowania (BIO) to seria wydawnicza książek z zakresu informatyki i zagadnień pokrewnych, wydawana od końca lat siedemdziesiątych do początku lat dziewięćdziesiątych XX w. przez Wydawnictwa Naukowo-Techniczne (WNT).C – imperatywny, strukturalny język programowania wysokiego poziomu stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu.
  • luźno związanych (ang. loosely coupled), jak i
  • silnie związanych (ang. tightly coupled).
  • W Moduli 2 mechanizmy współbieżności oparto o rozwiązania znane z języków Modula i Concurrent Pascal. Komunikacja między procesami odbywa się za pomocą zmiennych współdzielonych i sygnałów.

    PDP-11 to historyczna seria 16-bitowych minikomputerów sprzedawanych przez firmę Digital Equipment Corporation od roku 1970 aż do lat 90.. Jakkolwiek nie był oficjalnie określany mianem następcy Digitala PDP-8 w ramach serii PDP (obie linie produktów współistniały na rynku ponad 10 lat), PDP-11 zastąpił PDP-8 w wielu zastosowaniach związanych z obliczeniami czasu rzeczywistego. Komputer posiadał wiele cech innowacyjnych i był łatwiejszy w programowaniu od swojego poprzednika. Był lubiany przez programistów, i został zastąpiony dopiero przez VAX-11 - 32-bitowe rozwinięcie PDP-11. Ostatecznie (jak inne minikomputery) został wyparty z rynku przez komputery osobiste, takie jak IBM PC i Apple II, oraz stacje robocze, w tym te wytwarzane przez Sun.Wielowątkowość (ang. multithreading) – cecha systemu operacyjnego, dzięki której w ramach jednego procesu może wykonywać kilka zadań lub jednostek wykonawczych. Nowe zadania to kolejne ciągi instrukcji wykonywane oddzielnie. Wszystkie zadania w ramach tego samego procesu współdzielą kod programu i dane.

    Inne właściwości[ | edytuj kod]

    W języku wprowadzono również dla potrzeb programowania systemowego mechanizmy niskiego poziomu pozwalające na ominięcie reguł związanych ze ścisłą kontrolą typów obowiązującą w tym języku.

    Zobacz też[ | edytuj kod]

  • Modula
  • Pascal
  • Bibliografia[ | edytuj kod]

  • Niklaus Wirth: Modula 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0828-8.




  • Warto wiedzieć że... beta

    Instrukcja blokowa – (instrukcja złożona) jako instrukcja strukturalna jest elementem składni języków programowania strukturalnego, wydzielona część kodu źródłowego programu komputerowego, stosowane np. do grupowania sekwencji instrukcji składowych (prostych lub złożonych), ujmując je w nawiasy zdaniowe.
    Moduł (pakiet, unit - ang.) – to oddzielny (względem aplikacji go wykorzystujących) twór, zawierający dostępne w nim implementacje typów wartości, zmiennych, stałych oraz treści procedur i funkcji.
    Implementacja (wdrożenie, przystosowanie, realizacja, łac.ang. implementation) – w informatyce – proces przekształcania abstrakcyjnego opisu systemu lub programu na obiekt fizyczny: komputer lub działający program zapisany w konkretnym języku programowania; także obiekt fizyczny będący efektem takiego przekształcenia, np. implementacja systemu operacyjnego (wdrożenie systemu) lub kompilatora dla konkretnego typu komputera.
    Modula to stworzony w roku 1978 język programowania. Jego autorem jest Niklaus Wirth. Modula jest ulepszoną wersją języka Pascal.

    Reklama

    Czas generowania strony: 0.014 sek.