Понятие семантики в математике и программировании



Важнейшие работы:

§ 1960-е – Барендретт – альфа-счисление

§ 1969 – Д. Скотт предложил испытать домены

§ 1979 – М. Гордон исследовал                     денотационную семантику ЯП

§ 1964 – П. Лендин разработал семантику модели яп в форме абстр. машины на состояниях

§ 1969 – Ч. Хоар создал аксиоматический метод, моделирующий операторы яп

§ 1960-е – Р. Флойд создал метод индуктивных утверждений для формализации семантики протекания информации в прогр.

Общие сведения:

Семантика-интерпретация абстрактного синтаксиса, выраженного в терминах той или иной математической модели.

Основные подходы:

§ Ориентированы на компиляцию (множество преобразований)

§ Ориентированы на интерпретацию (множество описаний)

Виды семантики:

§ Операционные – смысл конструкций языка в терминах переходов абстр. машины из одного состояния в другое

§ Препозиционные - смысл конструкций языка в терминах множества формул описывающих состояние объектов программы

Денотационные - … в терминах абстракции функций на состояниях программы

12. Теория вычислений Д.Скотта. Семантика C#

1969 – Д. Скотт создал для формализации на основе доменов Домен - аналог множества, моделирующий самоприменимые функции и множества.

Последовательность построения теории:

· Перечисление стандартных доменов

· Определение конечных доменов с явно перечисляемыми элементами

· Определение конструкторов

Конструкторы доменов:

§ функциональное пространство

§ Декартово произведение

§ Последовательность

§ Дизьюктивная сумма

Синтаксис подмножества языка С#:

§ формализируем синтаксис

E : : = true | false | 0 | 1 | I | !E | E1==E2 | E1+E2 (выр-е)

C : : = I = E | if (E)C1 else C2 | while (E) C | C1;C2 (команда)

Порядок построения семантики вычислений:

· Определение синтаксиса доменов (ide, Exp, com)

· Определение вычислительной модели

· Определение семантических функций

Определение семантических предложений

Понятие класса и объекта. Концептуальная модель

класс - общая сущность, которая определяет как совокупность объектов

объект – представляет сущность мира

свойство – пропозициональная функция определённая на произвольном типе данных

метод– операция определённая над объектами некоторого класса

Основные работы в сфере моделирования ооп:

§ 1924 – теория простых функций

§ 1934 – лямбда – исчисление

§ 80е Скотт и Фурман – аппарат определённых дискрепций

§ 90е – схема двухуровневого моделирования объектов

Концептуализация как модель объекта:

1. модель основывается на типизированном альфа- счислении, семантика которого моделируется при помощи полных и непрерывных решёток Скотта.

2. Вводятся аппликативные структуры с приписыванием типов

3. Для формализации определений используются определённые дескрипции Скотта-Фурмана вида: I x Ф, что означает «тот единственный x для которого Ф истинно»

4. произвольный объект моделируется тройкой

      <концепт, индивид, состояние>

14. Классы, поля, методы в C#

Класс в С# - это пользовательский тип данных, который состоит из данных (часто называемых атрибутами или свойствами) и функциями для выполнения с этими данными различных действий (эти функции обычно называются методами). Классы позволяют группировать в единое целое данные и функциональность, моделируя объекты реального мира. Именно это свойство классов и обеспечивает одно из наиболее важных преимуществ объектно-ориентированных языков программирования.

Статическое поле класса— это такое поле, которое существует в оперативной памяти компьютера в единственном экземпляре, сколько бы объектов класса ни создавалось. Наиболее очевидное применение таких полей — подсчет общего количества созданных объектов класса.

Метод представляет собой блок кода, содержащий инструкцию для совершения некий действий над объектом. Статическим называется метод, который существует в классе как таковом, а не в отдельных его экземплярах. Они расположены вне конкретных экземпляров класса и не засоряют глобальное пространство приложения.

Наследование классов – это способность одного класса использовать свойства и методы, объявленные в другом классе. Класс, предоставляющий свои свойства и методы, называется базовым (или родительским), а класс, наследующий их – дочерним.

Преимущества ООП: 1)Сокращение количества межмодульных вызовов. 2)Уменьшение объема информации, передаваемой между модулями. 3)Возможность вести независимую разработку объектов программы.

Недостатки: Некоторое снижение быстродействия за счет более сложной организации программной системы


Дата добавления: 2018-04-15; просмотров: 605; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!