-
Notifications
You must be signed in to change notification settings - Fork 0
/
TP1.st
665 lines (488 loc) · 19.9 KB
/
TP1.st
1
Object subclass: #AlgoVid instanceVariableNames: 'personas burbujas colegios' classVariableNames: '' package: 'TP1'!!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/8/2021 21:58'!estaVacunadx: unNombre ^ (self obtenerPersona: unNombre) estaVacunadx! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/8/2021 21:59'!puedeCircular: unNombre ^ (self obtenerPersona: unNombre) puedeCircular .! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:51'!nuevoColegio: nombreDeColegio colegios agregarColegio: (Colegio conNombre: nombreDeColegio).! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:51'!obtenerPersona: unNombre ^(personas obtenerPersona: unNombre) .! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 22:40'!esPersonaDeRiesgo: nombreDePersona (self obtenerPersona: nombreDePersona) esPersonaDeRiesgo .! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:51'!nuevaBurbuja: nombreDeBurbuja burbujas agregarBurbujaPorNombre: nombreDeBurbuja .! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/8/2021 22:50'!diagnosticoDe: unNombre ^ ((self obtenerPersona: unNombre ) diagnostico).! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:51'!nuevaPersona: unNombre personas agregarPersonaPorNombre: unNombre .! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:51'!obtenerBurbuja: nombreDeBurbuja ^(burbujas obtenerBurbuja: nombreDeBurbuja).! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/11/2021 00:37'!agregarSintoma: unSintoma a: nombreDePersona | persona | persona := (self obtenerPersona: nombreDePersona) . persona agregarSintoma: unSintoma .! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 02:47'!agregarA: nombreDePersona aLaBurbuja: nombreDeBurbuja (self obtenerBurbuja: nombreDeBurbuja) agregarPersona: (self obtenerPersona: nombreDePersona).! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 22:33'!burbujaPinchada: nombreDeBurbuja ^(self obtenerBurbuja: nombreDeBurbuja) estaPinchada .! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:50'!clasesPresencialesEn: nombreDeColegio ^(colegios obtenerColegio: nombreDeColegio) tieneClasesPresenciales.! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 21:15'!esPersonalEsencial: nombreDePersona ^(self obtenerPersona: nombreDePersona ) esPersonalEsencial.! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:50'!agregarA: nombreDeBurbuja alColegio: nombreDeColegio (colegios obtenerColegio: nombreDeColegio) agregarBurbuja: (burbujas obtenerBurbuja: nombreDeBurbuja).! !!AlgoVid methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 22:08'!contactoEstrechoEntre: nombreDePersona1 y: nombreDePersona2 (self obtenerPersona: nombreDePersona1) contactoEstrechoCon: (self obtenerPersona: nombreDePersona2).! !!AlgoVid methodsFor: 'initialization' stamp: 'NazaQuintero 5/19/2021 17:51'!initialize personas := Personas new. burbujas := Burbujas new. colegios := Colegios new.! !Object subclass: #Burbuja instanceVariableNames: 'nombre personas' classVariableNames: '' package: 'TP1'!!Burbuja methodsFor: 'initialization' stamp: 'NazaQuintero 5/19/2021 17:49'!initialize personas := Personas new.! !!Burbuja methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 01:17'!nombre ^ nombre.! !!Burbuja methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 02:50'!agregarPersona: unaPersona personas agregarPersona: unaPersona .! !!Burbuja methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 01:43'!estaPinchada |hayCasoPositivo| hayCasoPositivo := personas hayPersonaConCasoPositivo. hayCasoPositivo ifTrue: [ personas denegarCirculacionATodxsLasPersonas ]. ^hayCasoPositivo .! !!Burbuja methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 02:36'!setNombre: unNombre nombre := unNombre .! !"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!Burbuja class instanceVariableNames: ''!!Burbuja class methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 02:35'!conNombre: nombreDeBurbuja |unaBurbuja| unaBurbuja := self new. unaBurbuja setNombre: nombreDeBurbuja . ^unaBurbuja .! !Error subclass: #BurbujaNoEncontradaException instanceVariableNames: '' classVariableNames: '' package: 'TP1'!Object subclass: #Burbujas instanceVariableNames: 'burbujas' classVariableNames: '' package: 'TP1'!!Burbujas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 02:19'!initialize burbujas := Dictionary new.! !!Burbujas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 01:23'!agregarBurbuja: unaBurbuja burbujas at: (unaBurbuja nombre asUppercase) put: unaBurbuja .! !!Burbujas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 11:28'!cantidad ^burbujas size.! !!Burbujas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 01:21'!agregarBurbujaPorNombre: nombreDeBurbuja burbujas at: (nombreDeBurbuja asUppercase) put: (Burbuja conNombre: nombreDeBurbuja).! !!Burbujas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 23:38'!obtenerBurbuja: nombreDeBurbuja [ burbujas at: (nombreDeBurbuja asUppercase) ] on: KeyNotFound do: [ BurbujaNoEncontradaException signal ]. ^(burbujas at: (nombreDeBurbuja asUppercase)).! !!Burbujas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 22:34'!cantidadQueNoPuedenCircular ^(burbujas count: [ :burbuja | burbuja estaPinchada ]).! !!Burbujas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 21:53'!hayClasesPresenciales ^[(((self cantidadQueNoPuedenCircular * 100) / (self cantidad)) < 40)] on: ZeroDivide do: [ ^false ] .! !Object subclass: #Circulable instanceVariableNames: '' classVariableNames: '' package: 'TP1'!Circulable subclass: #Circula instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Circula methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 15:48'!valor ^true.! !!Circula methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 23:59'!puedeCircular ^true.! !Object subclass: #Colegio instanceVariableNames: 'nombre burbujas' classVariableNames: '' package: 'TP1'!!Colegio methodsFor: 'initialization' stamp: 'NazaQuintero 5/19/2021 17:52'!initialize burbujas := Burbujas new.! !!Colegio methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 01:07'!nombre ^ nombre.! !!Colegio methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:52'!agregarBurbuja: unaBurbuja burbujas agregarBurbuja: unaBurbuja.! !!Colegio methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:52'!agregarBurbujaPorNombre: unaBurbuja burbujas agregarBurbujaPorNombre: unaBurbuja.! !!Colegio methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:52'!tieneClasesPresenciales ^(burbujas hayClasesPresenciales).! !!Colegio methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 00:58'!setNombre: unNombre nombre := unNombre .! !"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!Colegio class instanceVariableNames: ''!!Colegio class methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 00:58'!conNombre: nombreDeColegio ^(self new) setNombre: nombreDeColegio .! !Error subclass: #ColegioNoEncontradoException instanceVariableNames: '' classVariableNames: '' package: 'TP1'!Object subclass: #Colegios instanceVariableNames: 'colegios' classVariableNames: '' package: 'TP1'!!Colegios methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 01:03'!initialize colegios := Dictionary new.! !!Colegios methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 01:07'!agregarColegio: unColegio colegios at: (unColegio nombre asUppercase) put: unColegio .! !!Colegios methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 20:41'!obtenerColegio: nombreDeColegio [ colegios at: (nombreDeColegio asUppercase) ] on: KeyNotFound do: [ ColegioNoEncontradoException signal ]. ^(colegios at: (nombreDeColegio asUppercase)).! !Object subclass: #CreadorDeSintoma instanceVariableNames: 'sintomas' classVariableNames: '' package: 'TP1'!!CreadorDeSintoma methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:53'!crearSintoma: nombreDeSintoma [ sintomas at: (nombreDeSintoma asUppercase) ] on: KeyNotFound do: [ SintomaDesconocidoException signal ]. ^(sintomas at: (nombreDeSintoma asUppercase)).! !!CreadorDeSintoma methodsFor: 'initialization' stamp: 'NazaQuintero 5/17/2021 21:06'!initialize sintomas := Dictionary new. sintomas at: 'TOS' put: Tos new. sintomas at: 'FIEBRE' put: Fiebre new. sintomas at: 'CANSANCIO' put: Cansancio new. sintomas at: 'DOLOR DE CABEZA' put: DolorDeCabeza new. sintomas at: 'DOLOR DE GARGANTA' put: DolorDeGarganta new. sintomas at: 'DIARREA' put: Diarrea new. sintomas at: 'PÉRDIDA DEL GUSTO' put: PerdidaDelGusto new.! !Object subclass: #Diagnostico instanceVariableNames: '' classVariableNames: '' package: 'TP1'!Circulable subclass: #NoCircula instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!NoCircula methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 15:53'!valor ^false.! !!NoCircula methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 23:27'!puedeCircular ^false.! !Object subclass: #Permiso instanceVariableNames: 'permiso' classVariableNames: '' package: 'TP1'!!Permiso methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 23:40'!valor ^permiso .! !!Permiso methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 23:40'!esPersonalEsencial permiso := Circula new.! !!Permiso methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 23:40'!puedeCircular ^ permiso puedeCircular.! !!Permiso methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 23:40'!estaVacunadx permiso := Circula new.! !!Permiso methodsFor: 'initialization' stamp: 'NazaQuintero 5/18/2021 23:40'!initialize permiso := NoCircula new.! !Object subclass: #Persona instanceVariableNames: 'nombre tipo permiso sintomas' classVariableNames: '' package: 'TP1'!!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 00:00'!esPersonaDeRiesgo tipo := PersonaDeRiesgo new.! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 00:19'!obtenerPermisoDadoLosSintomasDeOtraPersona: otraPersona permiso := otraPersona obtenerPermiso.! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 00:16'!denegarCirculacion permiso := NoCircula new.! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 23:53'!esPersonalEsencial permiso esPersonalEsencial.! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:54'!obtenerPermiso ^sintomas diagnostico.! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:53'!diagnostico ^(sintomas diagnostico) valor.! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/8/2021 21:34'!setNombre: unNombre nombre := unNombre .! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 21:45'!contactoEstrechoCon: otraPersona self obtenerPermisoDadoLosSintomasDeOtraPersona: otraPersona .! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:54'!agregarSintoma: nombreDeSintoma sintomas agregarSintoma: nombreDeSintoma .! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 22:27'!estaVacunadx permiso estaVacunadx.! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/11/2021 00:52'!cantidadDeSintomas ^ sintomas cantidad .! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/8/2021 21:50'!nombre ^ nombre! !!Persona methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 17:54'!puedeCircular ^(tipo puedeCircularCon: permiso yCon: sintomas ).! !!Persona methodsFor: 'initialization' stamp: 'NazaQuintero 5/19/2021 17:54'!initialize sintomas := Sintomas new. tipo := Comun new. permiso := Permiso new.! !"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "!Persona class instanceVariableNames: ''!!Persona class methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 23:16'!conNombre: unNombre ^(self new) setNombre: unNombre .! !Error subclass: #PersonaNoEncontradaException instanceVariableNames: '' classVariableNames: '' package: 'TP1'!Object subclass: #Personas instanceVariableNames: 'personas' classVariableNames: '' package: 'TP1'!!Personas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 00:57'!hayPersonaConCasoPositivo ^(personas anySatisfy: [ :persona | (persona diagnostico) = 'Positivo' ]).! !!Personas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 02:55'!agregarPersona: unaPersona personas at: ((unaPersona nombre)asUppercase) put: unaPersona . ! !!Personas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 16:01'!denegarCirculacionATodxsLasPersonas personas do: [ :persona | persona denegarCirculacion ].! !!Personas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 02:54'!agregarPersonaPorNombre: nombreDePersona personas at: (nombreDePersona asUppercase) put: (Persona conNombre: nombreDePersona). ! !!Personas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 19:58'!obtenerPersona: nombreDePersona [ personas at: (nombreDePersona asUppercase) ] on: KeyNotFound do: [ PersonaNoEncontradaException signal ]. ^(personas at: (nombreDePersona asUppercase)).! !!Personas methodsFor: 'initialization' stamp: 'NazaQuintero 5/17/2021 22:23'!initialize personas := Dictionary new.! !Diagnostico subclass: #Positivo instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Positivo methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/14/2021 23:37'!valor ^'Positivo'.! !!Positivo methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/14/2021 23:37'!puedeCircular ^false.! !Diagnostico subclass: #SinDiagnostico instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!SinDiagnostico methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/14/2021 22:00'!valor ^'Sin diagnostico'.! !!SinDiagnostico methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/14/2021 22:18'!puedeCircular ^ true.! !Object subclass: #Sintoma instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Sintoma methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 00:35'!tipo ^SubclassResponsibility .! !Sintoma subclass: #Cansancio instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Cansancio methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 00:36'!tipo ^'Habitual'.! !!Cansancio methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 18:49'!nombre ^'Cansancio'.! !Sintoma subclass: #Diarrea instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Diarrea methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 20:40'!tipo ^'NoHabitual'.! !!Diarrea methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 18:51'!nombre ^'Diarrea'.! !Sintoma subclass: #DolorDeCabeza instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!DolorDeCabeza methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 20:40'!tipo ^'NoHabitual'.! !!DolorDeCabeza methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 18:53'!nombre ^'Dolor de cabeza'.! !Sintoma subclass: #DolorDeGarganta instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!DolorDeGarganta methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 20:40'!tipo ^'NoHabitual'.! !!DolorDeGarganta methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 18:52'!nombre ^'Dolor de garganta'.! !Sintoma subclass: #Fiebre instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Fiebre methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 00:35'!tipo ^'Habitual'.! !!Fiebre methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 18:41'!nombre ^'Fiebre'.! !Sintoma subclass: #PerdidaDelGusto instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!PerdidaDelGusto methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 20:40'!tipo ^'NoHabitual'.! !!PerdidaDelGusto methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 18:58'!nombre ^'Pérdida del gusto'.! !Error subclass: #SintomaDesconocidoException instanceVariableNames: '' classVariableNames: '' package: 'TP1'!Object subclass: #Sintomas instanceVariableNames: 'creadorDeSintomas sintomas diagnostico' classVariableNames: '' package: 'TP1'!!Sintomas methodsFor: 'initialization' stamp: 'NazaQuintero 5/19/2021 23:53'!initialize creadorDeSintomas := CreadorDeSintoma new. sintomas := Dictionary new. diagnostico := SinDiagnostico new.! !!Sintomas methodsFor: 'accessing' stamp: 'NazaQuintero 5/14/2021 19:30'!cantidad ^sintomas size.! !!Sintomas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 00:16'!haySintomaHabitual ^(sintomas anySatisfy: [ :sintoma | sintoma tipo = 'Habitual' ]).! !!Sintomas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/11/2021 00:44'!agregar: nombreDeSintoma sintomas add: (creadorDeSintomas crearSintoma: nombreDeSintoma ) .! !!Sintomas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 00:29'!diagnosticar diagnostico := Sospechoso new. (self esPositivo) ifTrue: [ diagnostico := Positivo new ] . ! !!Sintomas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 21:00'!esPositivo ^(self cantidad > 3 | ((self cantidad = 3) & (self haySintomaHabitual)) ).! !!Sintomas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 22:35'!puedeCircular ^diagnostico puedeCircular.! !!Sintomas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/18/2021 00:42'!diagnostico ^diagnostico .! !!Sintomas methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/19/2021 23:53'!agregarSintoma: nombreDeSintoma sintomas at: (nombreDeSintoma asUppercase) put: (creadorDeSintomas crearSintoma: nombreDeSintoma) . self diagnosticar.! !Diagnostico subclass: #Sospechoso instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Sospechoso methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/14/2021 22:15'!valor ^ 'Sospechoso'.! !!Sospechoso methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/14/2021 22:19'!puedeCircular ^false .! !Object subclass: #Tipo instanceVariableNames: '' classVariableNames: '' package: 'TP1'!Tipo subclass: #Comun instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Comun methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/16/2021 00:12'!esDeRiesgo ^false.! !!Comun methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 00:44'!puedeCircularCon: unPermiso yCon: sintomas ^(unPermiso puedeCircular & sintomas puedeCircular).! !Tipo subclass: #PersonaDeRiesgo instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!PersonaDeRiesgo methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 23:01'!esDeRiesgo ^true.! !!PersonaDeRiesgo methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/17/2021 00:45'!puedeCircularCon: unPermiso yCon: sintomas ^false.! !!PersonaDeRiesgo methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 23:49'!puedeCircular ^false.! !Sintoma subclass: #Tos instanceVariableNames: '' classVariableNames: '' package: 'TP1'!!Tos methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 00:35'!tipo ^'Habitual'.! !!Tos methodsFor: 'as yet unclassified' stamp: 'NazaQuintero 5/15/2021 18:48'!nombre ^'Tos'.! !