Целью лабораторных работ является иллюстрация практических навыков прикладного программирования на основе теоретической части курса, а также знакомство с платформой Microsoft .NET.
Для выполнения работ в рамках раздела необходимо следующее программное обеспечение:
Код SML.NET может быть также откомпилирован на следующем программном обеспечении:
Компилятор для языка программирования SML в среде Microsoft .NET доступен по адресу:
Условия и правила использования среды разработки приложений Microsoft Visual Studio .NET доступны по адресу:
Описание основных функций языка программирования SML доступно по адресу:
Первые реализации языка SML были интерактивными. При запуске компилятора пользователь вводил выражения в режиме командной строки. Введенные SML-выражения компилировались и направлялись на выполнение, и результат отображался на экране компьютера. Ввод очередного выражения был возможен по завершении обработки предыдущего. Современная реализация языка SML в
Функции в языке SML задаются по аналогии с их математическим представлением. При этом тип может быть задан как в явном виде, например:
fun square(x:int) = x*x
так и опущен (неявно задан на этапе компиляции). int и результатом string, будет иметь тип int -> string.
Возможно также задание функции с использованием fn -выражения
val square = fn x => x * x.
bool — логический тип данных. В модуле bool над ним определены такие операции, как отрицание ( val not: bool -> bool ), преобразование к строковому типу ( val toString: bool -> string ), а также преобразование из строкового типа
( val fromString: string -> bool ).word — тип, представляющий из себя целое число без знака, и, как правило, хранящийся в форме машинного представления слова. В соответствующем модуле определены преобразования для данного типа (например, val toInt : word -> int ), а также арифметические (например, val + : word * word -> word ) и логические (например, val > : word * word -> bool ) операции.char — символьный тип данных. В модуле char также определены функции преобразования ( val toString : char -> String.string ), логические операции
( val isDigit : char -> bool ) и другие функции.real — число с плавающей точкой. В модуле real определены операции преобразования ( val toString : real -> string ), а также сравнения ( val >= : real * real -> bool ), преобразования форматирования и точности ( val maxFinite: real ).int — целочисленный тип.string — Общее описание типов данных и функций SML.NET хранится в форме файлов с описанием интерфейса в директории \src\basis целевого каталога компилятора.
Проиллюстрируем фрагмент отображения типов языка SML.NET в систему типов
| Тип .NET | Тип SML.NET |
|---|---|
System.Boolean |
bool |
System.Byte |
Word8.word |
System.Char |
char |
System.Double |
real |
System.Single |
Real32.real |
System.Int32 |
int |
System.Int64 |
Int64.int |
System.Int16 |
Int16.int |
System.Sbyte |
Int8.int |
System.String |
string |
System.UInt16 |
Word16.word |
System.UInt32 |
word |
System.UInt64 |
Word64.word |
System.Exception |
exn |
System.Object |
object |
Кроме явного указания типов, в SML.NET предусмотрены средства для ссылки на любой тип
type XMLParser = string -> System.Xml.XmlDocument
Следующая программа иллюстрирует использование типов SML и
structure builtintypes_demo = struct fun main () = ( print ( "cosh(1.2) = " ^ Real.toString( System.Math.Cosh(1.2)) ^ "\n"); print ( "System.Int32.MinValue = " ^ Int.toString( System.Int32.MinValue) ^ "\n"); print (valOf (System.Char.GetUnicodeCategory( #"Z").#ToString())) ) end
Сформулируйте формальную постановку задачи, запишите правила вывода и реализуйте программу на SML в соответствии с вариантом исполнения.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.