Podstawy Symulacji 1

Podstawy Symulacji

MODSIM II
-jeden moduł główny(MAIN MODULE)

-dowolna liczba par modulow skojarzonych w osobnych plikach(DEFINITION MODULE – same definicje, IMPLEMENTATION MODULE – implementujemy z definicyjnego)

-el importowane w DEFINITION nie sa widoczne w IMPLEMENTATION

-nie można importować z MAIN

-do importowania sluzy IMPORT np. FROM dupa IMPORT kupa;

-sekwencja FROM .. IMPORT musi być na początku modulu

-nie można importować całej biblioteki, tylko konkretne elementy

-nazewnictwo:
*MAIN MODULE – Mnazwa mmnazwa.mod
*DEFINITION MODULE nazwa …

Identyfikatory

-Nazwy zdefiniowanych przez usera elementów programowych np. modulow, stalych zmiennych, typow, porcedur.

-Wymagania
*nierozdzielony ciag znakow(bez spacji myslinkow itp.)
*pierwszy znak – litera
*rozróżnia wielkość liter

Deklaracje

-blok programowy polozony w module definicyjnym lub przed czescia kodu wykonywalnego w pozostałych modulach lub podprogramach zaczynających się od jednego ze slow kluczowych: CONST, TYPE, VAR

-opisuje def przez użytkownika nowe typu danych oraz wyrażenia przyjmujące stale i zmienne wartości

-np. CONST MaxLiczbaPacjentow = 30;
-np. TYPE Dni Wolne = (Sobota, Niedziela);
-np. TYPE DynamicznaTAblica ARRAY OF REAL

-np. VAR liczbaPacjentow : INTEGER;
-np. VAR tablica : DynamicznaTablica(zmienne referencyjna);

UWAGA – nie ma zmiennych wskaźnikowych, tylko referencje.

Automatyczna Inicjalizacja -> analogicznie jak w innych jezykach.

-łańcuchy znakowe(dynamicznie lancuchy znakow – automatyczne zarzadzanie) String, np. „DUPA”

OPERATORY:

:= przypisanie
+,-,*,/ działania matematyczne
DIV dzielenie calkowito liczbowe
MOD – modulo

ACHTUNG: NIE ma niejasnej konwersji wartości.

OPERATORY RELACJI LOGICZNYCH

= równy
<> nierówny
< mniejszy niż
<=
>

OR suma logiczna
AND iloczyn logiczny
NOT przeczenie

UWAGA Operandy musza być boolowskie(0 i 1 nie zamienia się w boolean)

INSTRUKCJE STERUJACE
-IF

ID wyrazenieLogiczne
Sekwencja działań
[ELSIF wyrazanieLogiczne
Sekwencja]
[ELSE

Sekwencja działań]
END IF;

-brak słowa THEN
-END wystepuje w parze z IF

-CASE

CASE[typ_prosty| string]

WHEN a..e,m: sekwncja
WHEN p: sekwencja
[OTHERWISE sekwncja]

END CASE;

-WHILE

WHILE wyrażenie
Sekwencje dzialan
END WHILE;

-LOOP

LOOP
Sekwencje dzialan
END LOOP

-REPEAT

REPEAT
Sekwencja dzialan
UNTIL wyrażenie logiczne;

-FOR

FOR ident:=wyraźnie TO|DOWNTO wyrażenie [BY wyrażenie - - tzn co ile]
Sekwencja dzialan
END FOR;

-FOREACH

FOREACH obiekt IN GROUP
Sekwencja dzialan
END FOREACH;
- Instrukcja natychmiastowego opuszczenia petli : EXIT

PODPROGRAMY – nazwana ograniczona kluczowymi słowami czesc kodu programowego dostepna z innych części programu poprzez nazwe realizujaca określone operacje
TYPY
*funkcje – zwracają wartość
*procedury….

Deklaracja
PROCEDURE Nazwa (IN w1: W1; INOUT w2: W2; OUT w3:W3)[TypZwracanejWartosci];
CONST
TYPE…
VAR…
BEGIN

[RETURN…}

END

-wywolanie procedury
[w:=] NazwaProcedury(…,..,…);

STANDARDOWE PROCEDURY WEJ/WYJ
-INPUT - wczytanie N ciagow znakow z klawiatury oraz zinterpretowane zgodnie z typami
-OUTPUT

Złożone TYPY DANYCH

-struktury statyczne
*FIXED ARRAY – uporządkowany skończony zbior elementow jednego typu
-ustalony rozmiar
-nie mogą być przekazywane jako parametr
*FIXED RECORD

COSTAM = FIXED RECORD;
typ:…
END RECORD;

-struktury dynamiczne
-ARRAY: dynamiczna tablica(jawnie powolywana) i usuwana przez procedury wbudowane NEW oraz DISPOSE np.
VAR kolejka : ARRAY INTEGER, INTEGER OF BOOLEAN;
k: INTEGER
BEGIN
NEW(kolejka, 1…6);
-w przypadku tablicy wielowymiarowej nalezy pamietac o oddzielnym powolaniu jej pol
-procedura DISPOSE można zwalniac tylko wcześniej zaalokowane obszary pamięci

-dla RECORDu predefiniowane sa
NILREC wartosce zminnej typu record do zainicjowania pamieci
ANYREC

OBIETK
-deklaracja składowych klasy i opcjonalne listy dziediczenie
_blok definicji metod klasy(wszystkich zadeklarowanych w bloku wyżej)

FORWARD – stanowi zapowiedziedz pelnej definicji typu lub procedury w dalszej części modulu umozliwijac wcześniejsze wykorzystanie zapowiadanego elementu przy definicji innego

METODA jest lisciel zwiazana z obiektem i może być wywolana jedynie poprzez wyslanie komunikatu do tego obiektu z zadaniem wykonania określonej moetody

ASK – działanie natychmiastowe ( z punktu widzenia czasu symulacji), podobnie do działania procedury lub funkcji – nie wytraca czasu symulacji
ASK METHOD nazwa[parametry]

Wywolanie:S ASK object[TO] nazwa metody[parametry]

TELL – zwiazana z upływem czasu symulacji. Metoda realizujaca asynchronicznie (wspolbieznie, samodzielnie) proces symulacyjny. W jednej chwili symulacyjnej może być wykonywanych kilka metod TELL tego samego lub roznych instancji obiektu

WAITFOR – zwiazana jest z upływem czasu symulacji. Metoda realizujaca synchronicznie proces symulacyjny ( podproces składowy innego procesu). W jednej chwili może być wykonywanie kilka metod WAITFOR

ACHTUNG: nie ma obiektow statycznych.

SELF – stala referencyjna
Może być wykorzystywana przy odwołaniu się obiektu do własnych pol i metod
TELL SELF TO move(); .
-Do pol obiektu można się odowlac na 3 sposoby:
*speedValues:=ASK movingObject [TO] speed;
*speedV…


Wyszukiwarka

Podobne podstrony:
egzamin 00, WAT, SEMESTR V, podstawy symulacji, psy, symulacja, symulacja egzamin
Podstawy Symulacji sprawko
bank-program, WAT, SEMESTR V, podstawy symulacji, projekty, PS, PSym
2008-Laboratorium-zadania, WAT, SEMESTR V, podstawy symulacji, projekty, PS, PSym
Podstawy Symulacji sprawko
PSy - Sprawozdanie, WAT, SEMESTR V, podstawy symulacji, 17 moj
I9G2S1 Wegrecki sprawozdanie, WAT, SEMESTR V, podstawy symulacji
podstawy symulacji projekt
zadania laboratoryjne, WAT, SEMESTR V, podstawy symulacji, projekty, PS, RURKU, psy lrm-20091111, la
Sprawozdanie z podstaw symulacji Konrad Czupryn
Turlewicz Paulina podstawy symulacji
burduk,podstawy zarządzania,motywowanie i symulacja
smalec,podstawy automatyzacji L,?dania symulacyjne elementów automatyki w środowisku Matlab Simulink
podstawowe pojęcia prognozowania i symulacji na podstawie mo, Ekonometria
Symulacja układów sterowania z wykorzystaniem pakietu MATLAB, PWr W9 Energetyka stopień inż, III Sem

więcej podobnych podstron