Subido por JOSE CARLOS MEJIA HUAYHUA

AFVE-Lab06-Mejia Huayhua Jose Carlos

Anuncio
Universidad Nacional de San Agustin
Facultad de Produccion y Servicios
Escuela Profesional de Ingeniería de Sistemas
ASPECTOS FORMALES DE VERIFICACIÓN
Y ESPECIFICACIÓN
Estudiante:
Mejia Huayhua, Jose Carlos
Grupo: D
Septiembre de 2021
I.
Ejercicios
1. Indique el resultado de los siguientes mappings de forma manual
a. { i**2|-> i/2 |i in set {1,2,4,5} }
En la parte de dominio, irían los números que tomara i pero elevados al
cuadrado, ya que esa notación que parece doble multiplicación es
potenciacion, y en el rango irían los valores de i divididos entre 2, lo cual nos
quedaría:
{(1^2,½),(2^2,2/2),(3^2,3/2),(4^2,4/2),(5^2,5/2)}
resolviendo:
{(1,0.5),(4,1),(9,1.5),(16,2),(25,2.5)}
b. {i**2|-> i/2 |i in set {1,2,4,5} & i<1}
Saldría un map vacío, ya que la restricción dice que el valor de i debe ser
menor a 1, pero los valores que puede tomar i serán desde 1 a 5, así que no
podría tomar ningún valor..
{}
2. Valide en el intérprete su respuesta
a. { i**2|-> i/2 |i in set {1,2,4,5} }
b. {i**2|-> i/2 |i in set {1,2,4,5} & i<1}
3.
A usted se le dan dos tipos de mapping m1 y m2.
a. Indique el tipo de dato de cada uno de ellos
m1 : map PAIS to nat
Tipo: Naturales 0, 1, 2, 3………
Type PAIS = <France> | <Denmark> | <SouthAfria> | <SaudiArabia>
Tipo: Quote
m2 : map nat to nat
Tipo: Naturales 0, 1, 2, 3……..
b. Analice el comportamiento de las operaciones: dom, rng, m1 y ++ del tipo
MAP
Para analizar ese código procedió a ejecutarlo desde la consola de vdm, para
validar las respuestas
imprimiendo ambos maps
Hallando dominio y rango del primer map: dom=dominio, rng=rango
MUnión del primer map con otro (de un solo elemento):munion=unión de
maps
++ del primer map con otro(de dos elementos):++=adicion de mapas
Los resultados son los esperados.
c. Indique el resultado de las siguientes operaciones
i. dom {|->}
II.
ii.
dom {3 |-> <Apple>, 4 |-> <Apple>}
iii.
rng {3 |-> <Apple>, 4 |-> <Apple>}
iv.
dom {3 |-> <Apple>} union rng {3 |->4}
Actividades
A. Dado el código(del laboratorio 4, Purse and System),
analice el uso y comportamiento del tipo MAP
1. Identifique qué operaciones fueron utilizadas
a) Se hizo uso del map en la clase System
private Purses: map Purse'CardId to Purse;
donde se utilizó la función obtener número de
tarjeta para el dominio y la lista de purset para
el rango, todo eso para instanciar la variable
Purses.
También encontramos las operaciones de
dominio y rango típicas del map.
public System: set of
System(PurseSet)
Purse ==> System
==
Purses := {p.GetCardNo() |-> p | p in set Purset}
pre forall p,q in set
PurseSet & p <> q =>
p.GetCardNo() <> q.GetCardNo();
2. Proponga un diagrama de clases para el modelo
dado.
Descargar