lection 8 (Электронные лекции)
Описание файла
Файл "lection 8" внутри архива находится в папке "Электронные лекции". PDF-файл из архива "Электронные лекции", который расположен в категории "". Всё это находится в предмете "методы формальных спецификаций программ" из 8 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
1Лекция № 8Порождение процессов.2Должен быть стимул, который заставит процесс перейти из одного состояния в другое, т.е.вот это не пройдет:Работа.( task, действие )Условный выбор.Таймер срабатывает – посылка сигнала timer.3Процедуры.Типы данных.Употребление данных в SDL.Все типы – абстрактные: следовательно недоступна информация о реализации.Изменить их можно только при помощи операторов.• Boolean• Integer• Real• Character• Charstring• PID• Time• Duration( разница между двумя моментами времени )“ = = ” : Typename, Typename Æ Boolean“ ! = ” : Typename, Typename Æ BooleanОпределение типа:Booleannewtype Booleanliterals True, False,operators “ not ” : Boolean Æ Boolean,4“ and ” : Boolean, Boolean Æ Boolean,“ or ” : Boolean, Boolean Æ Boolean,“ xor ” : Boolean, Boolean Æ Boolean,“ => ” : Boolean, Boolean Æ Booleanendnewtype Boolean•••literalsoperatorsaxiomsCharacternewtype Characteroperators“ > ” : Character, Character Æ Boolean,“ < ” : Character, Character Æ Boolean,“ >= ” : Character, Character Æ Boolean,“ <= ” : Character, Character Æ Boolean,Chr : Integer Æ Character,Num: Character Æ IntegerEndnewtype CharacterCharstringnewtype Charstringliterals nameclass “” ( ‘_’ : ‘~’ ) * “”operatorsmkstring : Character Æ Charstring,length : Charstring Æ Integer,first: Charstring Æ Char,last: Charstring Æ Char,“|”: Charstring, Charstring Æ Charstring,( конкатенация )substring : Charstring, Integer, Integer Æ Charstring,extract! : Charstring, Integer Æ Character,( символ из строки по индексу )modify! : Charstring, Charstring, Integer, Character Æ Charstring ( изменяет символ )( если операция помечена “ ! ” – тогда явно операция не вызывается )endnewtype CharstringIntegernewtype Integerliterals nameclass ‘ – ‘ ? ( ‘0’ : ‘9’ ) +operators“–“: Integer Æ Integer,“ + ” : Integer, Integer Æ Integer,“ – “ : Integer, Integer Æ Integer,“ * ” : Integer, Integer Æ Integer,“/”: Integer, Integer Æ Integer,“ mod ” : Integer, Integer Æ Integer,“ rem ” : Integer, Integer Æ Integer,“ > ” : Integer, Integer Æ Boolean,“ < ” : Integer, Integer Æ Boolean,“ >= ” : Integer, Integer Æ Boolean,5“ <= ” : Integer, Integer Æ Boolean,float: Integer Æ Real,fix : Real Æ Integer,endnewtype IntegerRealnewtype Realliterals nameclass ‘ – ‘ ? ( ‘0’ : ‘9’ ) + or ‘ – ‘ ? ( ( ‘0’ : ‘9’ ) + ‘.’( ‘0’ : ‘9’ ) + )operators“–““+”“*”“/”“<”“>”“ <= ”“ >= ”endnewtype RealTimenewtype Timetime! : Real Æ Time,“+”:“+”:“–“:“–“:“<”:“>”:“ >= ” :“ <= ” :endnewtype TimeDurationnewtype DurationoperatorsDuration! : Real Æ Duration,endnewtype DurationPIDnewtype PIDNULLoperatorsunique! : PID Æ PIDгенерируется динамическиself, parent, off spring, senderможет храниться в переменной, если не NULLможет указываться при посылке сигнала( to )6Генераторы. Множество Массив Строка StringМножествоgenerator Powerset( type Elementtype )literals empty:opearators“ in ” : Elementtype, Powerset Æ Boolean,incl : Elementtype, Powerset Æ Powerset,del : Elementtype, Powerset Æ Powerset,“ and ” : Powerset, Powerset Æ Powerset,“ or ” : Powerset, Powerset Æ Powerset,“<” :“>” :“ >= ” :“ <= ” :newtype IntsetPowerset( Integer )Endnewtype IntsetСтрокаgenerator String( type Eltype, literals empty String )literals empty Stringoperatorsmkstring : Eltype Æ String,length : Eltype Æ Integer,first :last :substring :extract! :modify! :Массивgenerator Array( type Indextype, type Eltype )operatorsmake! : Eltype Æ Array, ( заполнение массива одним значением )extract! : Array, Indextype, Eltype Æ Array,endgenerator Array;newtype myprocessesArray( charstring, PID );endnewtype myprocesses;.