Редактирование: МФСП, 04 семинар (от 22 сентября)
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 35: | Строка 35: | ||
Операции со списками: | Операции со списками: | ||
- | === | + | ===Конктенация=== |
Конкатенацию можно применять только к конечным спискам, второй элемент может быть и конечным, и бесконечным. Результат соответствующего типа | Конкатенацию можно применять только к конечным спискам, второй элемент может быть и конечным, и бесконечным. Результат соответствующего типа | ||
l1^l2 | l1^l2 | ||
Строка 41: | Строка 41: | ||
Head: Первый элемент | Head: Первый элемент | ||
- | hd: T^ω | + | hd: T^ω стрелочка с волной T |
hd<> = chaos | hd<> = chaos | ||
Tail: Хвост | Tail: Хвост | ||
- | tl: T^ω | + | tl: T^ω стрелочка с волной T^ω |
tl<> = chaos | tl<> = chaos | ||
Len: длина списка | Len: длина списка | ||
- | len:T^ω | + | len:T^ω стрелочка с волной Nat |
len<n|n • is_prime> ≡ chaos | len<n|n • is_prime> ≡ chaos | ||
===elems: Элементы=== | ===elems: Элементы=== | ||
- | elems: T^ω | + | elems: T^ω стрелочка с волной T-infset |
Возвращает множество элементов списка | Возвращает множество элементов списка | ||
===inds: Индексы=== | ===inds: Индексы=== | ||
- | inds: T^ω | + | inds: T^ω стрелочка с волной Nat-infset |
inds FL={1..len FL} | inds FL={1..len FL} | ||
Строка 93: | Строка 93: | ||
case L of | case L of | ||
<> -> <> | <> -> <> | ||
- | < | + | <i>^L2 -> rev(L2)^<i> |
end | end | ||
Строка 160: | Строка 160: | ||
number_of: Word × Page → Nat | number_of: Word × Page → Nat | ||
- | number_of(w,p) → | + | number_of(w,p) → {(i,j)|(i:Nat•j:Nat; • p(i)(j)=w ∧ i∈ p ∧ ∈p(i)} |
- | === еще задачки === | ||
- | является упорядоченным? | ||
- | value isStore: Int-list &right; bool | ||
- | isStore(l)= ∀ i:int • i >= 1; ∧ i < len(l) => l(i+1) > l(i) | ||
- | |||
- | ==== длина списка ==== | ||
- | value len2: Elem-list-> Nat | ||
- | len2(E) &equal; ( if (E=<>) then 0 else 1+len2(tl E ) end ) | ||
- | |||
- | len3(E) - card inds E | ||
- | ==== удаляем заданный элем-т из списка ==== | ||
- | value del: E-list × E → E-list | ||
- | del(l, x): &equal; < E(i) | i in <1..len L > • L(i) != x > | ||
- | |||
- | ==== подсчет ==== | ||
- | value numOf: E-list × E -> Int | ||
- | NumberOf(L,x) = if ( LL=<> ) then 0 else | ||
- | if( hd(L) = x ) then NumberOf( tl L, x ) +1 else NumberOf( tl L, x) | ||
- | |||
- | ==отображения== | ||
- | <math>[3 \rightarrow , 5 \rightarrow false](1) = chaos</math> | ||
- | |||
- | операция взятия домена | ||
- | |||
- | <math>dom:(T[d] \overset{m}{\rightarrow} T[r] ) \rightarrow T[d]-infset</math> | ||
- | |||
- | <math>rng:(T[A] \overset{m}{\rightarrow} T[r] ) \rightarrow T[r]-infset</math> | ||
{{МФСП}} | {{МФСП}} | ||
{{Lection-stub}} | {{Lection-stub}} |