Ответы к экзамену 1
.0.pdf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
) |
( |
) |
( ) (
( )
( |
) ( |
( |
) |
( )
i
( ) ( ))
( ( ))
( ) ( ))
( ) ( )
|
( ) |
( ( ) |
( )) |
( ) { |
( ) если ( |
) опре елено и не равно ло ь |
|
в противном случае |
|
( |
) ( ( ) |
|
( )) |
||
( ) { |
( |
) если |
( |
) опре |
елено |
( |
) если |
( |
) опре |
елено |
( |
) ( ̅ ) |
data ListOfNat {
Nat = c_null + Nat.c_succ;
ListOfNat = c_nil + (Nat * ListOfNat).c_cons;
}
data List[‘t] {
List= c_nil + (‘t * List[‘t]).c_cons;
}
// Определение типов данных data ListOfNat {
Nat = c_null + Nat.c_succ;
ListOfNat = c_nil + (Nat * ListOfNat).c_cons;
}
//Система функциональных уравнений scheme Length {
Length = ~c_nil -> 0 + ~c_cons -> (~c_cons.[2].Length * 1).add;
}
//Описание выполняемой программы
application
list = (c_null.c_succ * (c_nil * c_null).c_cons).c_cons; % Length(list)
( |
) |
|
|
|
|
|
( ) |
||||||
( |
) |
|
|
|
|
|
( ) |
|
ср( |
) |
|
|
|
|
|
|
|
|
|
|
|
|
( |
) |
( |
) |
( |
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
| |
( |
( |
)) |
| |
|
|
|
|
|
|
|
|
|
( |
( |
)) |
|
|
|
|
|
|
|
|
( ) |
( )( ( ) |
|
|
( )) |
|
|
|
|
|
|
||
|
|
( )( |
( )) |
|||||||||
( |
) |
( ) |
|
|
( |
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|