Редактирование: МФСП, 03 семинар (от 15 сентября)

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.

Текущая версия Ваш текст
Строка 1: Строка 1:
-
В прошлый раз рассматривались типы, операции с ними, производные типы. Разобрались с функциями, константами.
+
Продолжаем изучть язык RSL
 +
 
 +
В прошлый раз рассм. типы, операции с ними, призв. типы. Разбрались с функц., кнстантами.
Сейчас: дорешать задачи про функции и перейти к множествам.
Сейчас: дорешать задачи про функции и перейти к множествам.
 +
Даны типы:
-
'''Задача.''' Даны типы:
 
'''type''' position = Real×Real;
'''type''' position = Real×Real;
'''value'''
'''value'''
-
origin : Position = (0.0, 0.0) /* начало координат */
+
origin : Position = (0.0, 0.0) # начло координат
dist : Position × Position → Real
dist : Position × Position → Real
dist((x_1, y_1), (x_2, y_2)) ≡ ((x_1 - x_2)^2.0 + (y_1 - y_2)^2.0)^0.5
dist((x_1, y_1), (x_2, y_2)) ≡ ((x_1 - x_2)^2.0 + (y_1 - y_2)^2.0)^0.5
Строка 13: Строка 15:
определить: тип circle, функцию on_circle
определить: тип circle, функцию on_circle
-
'''Решение:'''
 
'''type'''
'''type'''
Circle = Real × Position # радиус, центр
Circle = Real × Position # радиус, центр
Строка 20: Строка 21:
on_circle((r, c_0), c) ≡ (dist(c_0, c) = r)
on_circle((r, c_0), c) ≡ (dist(c_0, c) = r)
-
'''Задача.''' Описать окружность с радиусом 3 и центром в начале координат.
+
Описать окр. с радиусм 3 и центром в нач. коорд.
'''value'''
'''value'''
c_3_0_0 : Circle ≡ (3.0, Origin)
c_3_0_0 : Circle ≡ (3.0, Origin)
-
'''Задача.''' Описать точку, лежащую на этой окружности
+
Описать точку, лежащюю на этой окружности
-
'''Решение:'''
 
'''value'''
'''value'''
d_on_c_3_0_0 : Position • on_circle(c_3_0_0, d_on_c_3_0_0) = True
d_on_c_3_0_0 : Position • on_circle(c_3_0_0, d_on_c_3_0_0) = True
-
'''Задача.''' Написать функцию sqrt, возвращающую значения, отличные от корня из x не более, чем на ε.
+
Написать sqrt, взвр. знач, отл. от корня из x не более, чем н eps.
-
'''Решение:'''
 
'''value'''
'''value'''
-
sqrt : Real × Real; Real
+
sqrt : Real × Real; стрелочко с тильдой Real
sqrt(a,b) as x
sqrt(a,b) as x
-
'''post''' (abs(sqrt(a) - x) ≤ b) && (x ≥ 0)
+
'''post''' (abs(sqrt(a)-x) ≤ b) && (x ≥ 0)
-
'''pre''' (b ≥ 0) && (a ≥ 0)
+
'''pre''' (b ?ge; 0) && (a ≥ 0)
-
'''Задача.''' Дано определение:
+
Дано опр.:
'''value'''
'''value'''
-
f: Int Int
+
f: Int стрелочка с тильдой Int
f(x) ≡ f(x)
f(x) ≡ f(x)
-
Удовлетворяет ли этому определению следующее определение:
+
Удвл. ли этому опр. след. опр.:
'''value'''
'''value'''

Пожалуйста, обратите внимание, что все ваши добавления могут быть отредактированы или удалены другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. eSyr's_wiki:Авторское право).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Шаблоны, использованные на этой странице:

Личные инструменты
Разделы