T11854pt2.pdf

Anuncio
¿r
?«?
n^-T"
7-KV
"ESCUELA POLITÉCNICA NACIONAL"
FACULTAD DE INGENIERÍA ELÉCTRICA
"DISEÑO SECUENCIAL SINCRÓNICO ASISTIDO POR
COMPUTADOR"
SERGIO L. CLAVTJO MORENO
QUITO, 28 DE NOVIEMBRE DE 1997
MANUAL DE USUARIO
Este manual le adiestrará en el uso del paquete computacional desarrollado para el estudio y
diseño de los sistemas Secuenciales Sincrónicos. El sistema desarrollado se lo a denominado
como DISESIAC (Diseño SEcuencial Sincrónico Asistido por Computador) del cual se
presenta la primera versión que es la 1.0
NECESIDADES DE HARDWARE PARA EL PROGRAMA DISESIAC 1.0.
DISESIAC 1.0 puede ser instalado en la mayoría de computadoras. La necesidad de
hardware de este paquete son similares alas necesidades de Windows 3.1, por lo tanto
puede ser instalado en un computador personal con un procesador 80386 o superior y 640
Kbytes de memoria convencional más 1024 Kbytes de memoria extendida con 12 Mbytes de
espacio libre en disco duro (20 Mbytes es recomendado) y un floppy disk para diskette de
1.44 Mbytes para poder instalar el programa. Cabe dejar constancia que DISESIAC 1.0
puede ser instalado en cualquier sistema en el cual se encuentre instalado una versión de
Windows 3.1 o superior.
FIGURA 1
Para la instalación del paquete únicamente es necesario tener una copia de los discos de
instalación, insertar el disco etiquetado con el número 1 y correr el programa SETUP desde
el ambiente Windows, una vez terminada la instalación se creará un icono con el nombre del
programa. En el ambiente Windows, para su ejecución será necesario únicamente un click
del ratón como se procede con cualquier aplicación bajo este entorno.
Página I
DESCRIPCIÓN DEL PROGRAMA
En tiempo de ejecución del programa DISESIAC 1.0, en principio se presenta la pantalla
mostrada en la Figura 1 en la cual con un click del ratón en [Aceptar] se ingresa al
programa y con un click en [Cancelar] se sale sin ejecutar el programa al entorno Windows.
Archivo
Figuras
DISESlAC 1.0 - [Diseño Secuencial Sincrónica Asistida por Computador]
Tutoría I Diseño Ventanas Acudas
Tablas
Salir
FIGURA 2
Luego de haber realizado un click en [Aceptar] el programa ingresa a la pantalla presentada
en la Figura 2 que es la pantalla principal de trabajo del programa. Esta figura contiene las
rutinas principales: [Archivo] para el manejo de archivos en formato de texto, la rutina
[Tutorial] describe la secuencia que debe seguir el usuario en el diseño de los diferentes
tópicos del programa, la rutina [Diseño] realiza el diseño de los diferentes tópicos que
contiene el programa, la rutina [Ventanas] despliega en forma ordenada las pantallas de
texto activas en un instante determinado y la rutina [Ayudas] presenta conceptos de la teoría
del diseño secuencial sincrónico, los mismos presentados el los capítulos uno y dos de la tesis
producto de este Software educativo. Esta figura contiene también los comandos [Figuras],
[Tablas] que presenta las figuras y las tablas en el momento que sean invocados, estas
figuras y tablas son las mismas contenidas en los capítulos I y n de la tesis teórica, además
tiene el comando [Salir] que permite salir del programa.
La rutina [Archivo] presentada en la Figura 3 contiene: la subrutina [Nuevo] que permite
realizar archivos nuevos en formato de texto, la subrutina [Abrir] permite presentar en
pantalla archivos en formato de texto existentes, la subrutina [Cerrar] permite limpiar la
ventana de texto activa, la subrutina [Guardar] permite almacenar el texto contenido en la
Página n
ventana actual, la subrutína [Imprimir] permite imprimir el texto contenido en la ventana
activa y la subrutina [Salir] cierra completamente el programa.
FIGURAS
La rutina [Tutorial] presentada en la Figura 4 contiene: la subrutina [Procedimientos de
diseño] que presenta en pantalla los procedimientos que se sugieren seguir en el diseño
secuencial sincrónico, la subrutina [Contadores sincrónicos] desarrolla la secuencia a seguir
en el diseño de los contadores sincrónicos de cualquier tipo, la subrutina [Registros de
desplazamiento] desarrolla la secuencia a seguir en. el diseño de los registros de
desplazamiento, la subrutina [Detectores de códigos] desarrolla la secuencia que se debe
realizar en el diseño de los detectores de secuencias de códigos, la subrutina [Diseño
secuencial sincrónico con ROM] presenta los pasos a seguir en el diseño de los sistemas
secuencíales sincrónicos utilizando memorias ROM.
La rutina [Diseño] presentada en la Figura 5 contiene: la subrutina [Contadores] permite al
usuario realizar el diseño de los contadores sincrónicos de cualquier número de bits, la
subrutina [Detectores de códigos] permite al usuario realizar el diseño de los detectores de
secuencias de códigos con una entrada y una salida, la subrutina [Diseño utilizando ROM]
permite realizar al usuario el diseño de los sistemas secuenciales sincrónicos mediante el uso
de memorias ROM, la subrutina [Problemas] presenta el desarrollo de un grupo de
problemas de aplicación práctica que pueden ser analizados y resueltos mediante los sistemas
secuenctales sincrónicos, la gubfutina [Minimizar] es un utilitario que se incluye como parte
del programa para que el usuario pueda realizar la simplificación de las funciones de Boole.
Página III
DISESIAC l.ft- [Dtueíiu Secuencia! Siitcruiiiuu Aüiülidu puiCúmputadur]
Tutorial
Ventanas Acudas
Procedimientos de Diseño Secuencia)
Figuras
(Contadores Sincrónicos
Registroc de Desplazamiento
Detectores de Secuencia de Códigos
Diseño Secuencia! Sincrónico cun ROM
Archivo
FIGURA 4
DISESIAC 1,0-.{Diseño Secuencial Sincrónico Asistido por Computador]
Tutorlal Diseño Ventanas Ayudas
Contadores
Figuras
Tablas
.Detectores de Códigos
Diseno Utilizando ROM
Eroblemas
Archivo
FIGURA 5
Página IV
Archiva
Figuras
DISESIAC 1.0- [Di'jeíiu Seuueiiuial Si MUÍ u ni cu Aüiülidu pui Cuiiipulaüuf]
Venta han
¿aseada
TalJlas
Sa
Horizontal
FIGURA 6
Archivo
Figuras
DISESIAC 1.0" [Disefio Strcueiicial Sniuruuico AuisUUu pur CumpulaUur]
Tutoría!
Índice
F1
Salir
Tablas
Buscar Ayuda Sobre
Preguntas y respuestas
de la
lutorialde DISESIAC 1.0
Aterüadt DISESIAC 1.0
FIGURA?
Página V
La rutina [Ventanas] presentada en la Figura 6 contiene: la subrutina [Cascada] es un
utilitario para presentar las ventanas de texto en un arreglo de cascada, la subrutina
[Horizontal] es un utilitario que permite presentar las ventanas de texto en arreglo
horizontal, la subrutina [Vertical] permite presentar las ventanas de texto en arreglo vertical.
La rutina [Ayudas] contiene: la subrutina [índice] despliega una ventana con rutinas
necesarias para el uso de las ayudas, la subrutina [Buscar ayuda sobre] despliega una
ventana con los tópicos de teoría y conceptos relacionados con el diseño secuencia!
sincrónico, la subrutina [Preguntas y respuestas] presenta un banco de preguntas con sus
respectivas respuestas como soporte teórico para el usuario, la subrutina [Uso de ayudas]
presenta sugerencias sobre el manejo de las ayudas, la subrutina [Tutorial del DISESL4C
1.0] presenta los pasos a seguir en la utilización del programa, la subrutina [Acerca del
programa] presenta los lincamientos de propiedad intelectual del desarrollador del
programa.
A continuación se presenta en la Figura 8 la pantalla de ayudas a la cual se ingresa mediante
la opción [índice] de la opción [Ayudas] del menú principal. Aquí se puede ejecutar una
serie de utilitarios relacionados con ayudas tanto del programa como de la teoría de los
sistemas secuenciales sincrónicos.
Archivo
Figuras
DISEStAC 1.0- [Diseño Secuencial
Tutorlal Diseño Ventanas A
Tablas
^.^••^...•^.^..HK.^-in^nmu...
Salir
Jlspecificar impresora
FIGURAS
Y por último como parte del menú principal tenemos a la opción [Ayudas] que se presenta
en la Figura 8, el propósito de esta opción es presentar al usuario una serie de conceptos
como elementos de ayudas de la teoría de los sistemas secuenciales sincrónicos, la teoría
Página VI
presentada aquí es la misma que se encuentra en los Capítulos I y II. También se presentan
los elementos relacionados a la propiedad intelectual del programa computacional 3' una serie
de elementos relacionados al uso del programa.
A esta pantalla también se puede ingresar presionando la tecla <F1> que es una acción
rápida de esta opción como se muestra en la Figura 7, en la opción [índice].
Dentro de ayudas también se puede imprimir los temas mostrados en la pantalla de ayudas,
también se puede especificar la impresora en la cual se desea imprimir. La opción [Ayuda]
presentada en la Figura 9 y mostrada en la pantalla de ayudas del diseño secuencial
sincrónico, es nada más que una extensión de la opción [Ayudas] del menú principal.
Archivo
D1SESIAC 1 .D - [Diseño Secuencial
TutorJal Diseño Ventanas A1 Archivo
íi,ti«fg.ni3ifaBiHifiTinfl*iigg» ~
FIGURA 9
Todas las pantallas mostradas hasta esta parte se pueden maximizar, minimizar y cambiar de
tamaño si así lo requiere el usuario. Estas pantallas tienen todas las característica de una
pantalla del entorno Windows, Para cerrar la ventana activa se la puede hacer mediante las
teclas rápidas <AIt + F4>.
Página VII
LISTADO DEL PROGRAMA
PANTALLA DE PRESENTACIÓN DEL PROGRAMA DE DISEÑO SECÜENCIAL SINCRÓNICO ASISTIDO POR
COMPOTADOR.
VERSIÓN 4.00
Begin VBJForm Presentación
Appearance = O 'Fíat
BackColor
- - &HOOFFFFOO&
BorderStyle = 3 'FbcedDialog
ClienlHeight - 4020
ClientUft
= 1605
ClíentTop
= 2310
CÜentWidíh - 7365
ControlBox - O "Falsc
FüIColor
= &HOOCOOOOO&
FillStyle
-* O 'Solid
BegínProperty Foiit
ñame
"* 'Times New Román"
*= 1
charset
weight
= 700
síze
= 12
underline
= O 'JKalse
itaüc
- -1 Truc
strikethrough •= O Talse
EndProperiy
FuutTruiispwreiiL- O "False
ForeColor
« ¿LHOOOOOOOO&
Ileight
= 4425
KcyPrcvicw - -1 Truc
Left
- 1545
LinkTopíc
- "Fonnl"
MaxButton
- O 'False
MinButton
= O Talse
ScnleHeigbt - 4020
ScaleWídth - 7365
Top
= 1965
Width
« 7485
WindowStale = 2 'Maximízed
Begín VB.ConunandButton Command2
Appearance = O 'Fíat
BackColor
= &H80000005&
Captíoo
*•* "&Cancelar"
BegiiiProper^ Font
ñame
*» 'Times New Román"
charset
= 1
weight
- 700
size
- 12
underlíne
•= O 'False
italic
— O Talse
BlrikcÜirüUgli — O 'Fulse
EndProperty
Ileíght
« 375
Lcft
- 6120
Tablndex
- 6
Top
» 63GO
Width
= 1575
End
Begin VB.CommandRiittnn Command]
Appearance
= O 'Fíat
BackCoíor
» &H80000005&
Captíon
- "ákAccptar"
BeginProperty Fonl
ñame
= 'Times New Román"
charset
= 1
weiglit
» 700
size
= 12
underline
= O 'False
¡folie
-1 O Talse
sünketlirougli = O 'False
EndProperty
Height
=375
LeJl
- 1920
Tablndex
- O
Top
- 6360
Página 1
Widíh
- 1695
End
Begin VB.Image ImageZ
Heíglit
= 4095.
Left
= 4080 * *
Strelch
= -1 Truc
Top
= 1440
Width
= 5415
End
Begin VB Jinage Imagel
Heighl
- 4095
Left
= 0
Strefch
« -1 Truc
Top
= 1440
Width
= 4095
End
Begin YBXabel LabeIS
Alignment
= 2 'Center
Appearance = O T^lat
BackColor
= &HOOFFFFOO&
BackStyle
= O Transparent
Coption
- S"TESIS-OO.irx":0000
BeginProperty Font
ñame
= "Times New Román"
charset
= 1
wetght
- 700
size
= 9.75
underline
= O 'False
¡talíc
=* O "False
strikethrou^i = O Talse
£ndProperfy
ForeColor
= &HOOOOOOOÚ&
Height
- 255
Leñ
= 600
Tablndex
— 5
Top
« 6000
Width
= 8415
End
Begin YB.Label Lobel4
AHgnment
= 2 'Center
Appearance = O 'Hat
BackColor
= &HOOEFFFOO&
BackStyle
= O Transparent
Caption
= "DISÉSIAC1.0 COPYRIGHT(C) SEPTIEMBRE-1997"
BeginProper^ Font
ñame
= 'Times New Román"
charaeí
= 1
weight
- 700
size
« 9.75
underline
= O 'Faise
ítaJíc
— O "False
striketlíTough = O "False
EndProperty
ForeColor
= &HOOOOOOOO&
Height
- 255
Lefl
= 600
Tablndex
= 4
Top
=5640
Wiaih
- S415
End
Begin VB.Label Label3
Alignment
- 2 'Ccnicr
Appearance = O 'Fiat
BackColor
= &HOOFFEFGO&
BackStyle
= O Transparent
Caption
« "DISEÑO SECÜENCIAL SINCRÓNICO ASLSTIDO POR COMPUTADOR"
ForeColor
= &HnOOflOOOO/t
Heíglit
- 375
Leñ
= 240
TabBidex
= 3
Top
« 1080
Widíh
= 9135
End
Begin VBXabel Label2
Aiignment
= 2 'Center
Appearance
— O 'Fíat
BackColor
= &HOOFEFFOO&
PágÍJia 2
BackStyle
= O Transparent
Caption
= "FACULTAD DE INGENIERÍA ELÉCTRICA"
BeginProperty Foní
nanie
= "Times New Román"
charset
z 1
weight
= 700
size
=• 13.5
underline
= O 'False
ifnJic
- O Talse
síríkeíhrougb - O 'False
EudProperly
ForeCoIor
= &HOOOOOOOO&,
Heíght
= 345
Lcfl
= 360
Tablndex
- 2
Top
= 600
Width
=8415
End
Begin VB.Label Labell
Alignment
= 2 'Center
Appearance = O 'Fíat
BackCoIor
- &HDOFFFFOO&
BackStyle
— O Transparent
Captíon
= """ESCUELA POLITÉCNICA NACIONAL"""
BeginProperty Font
naine
— "An'al"
charset
= 1
weíght
= 700
size
» 18
underline
= O Talse
itaJic
= O 'FaJse
strikethrough ~ Q 'False
EndProperó'
ForeColor
= &HOOOOOOOO&
Heíglil
- 495
Léfl
= 480
Tablndex
= 1
Top
- 120
Widíh
- 8415
End
End
Attribute VB__Name — "Presentación"
Atíríhiite VB_Creatable «False
Attribute VB_Fjqposed = False
Prívate Sub Comraandl_CIÍck()
Unload Presentación
Forml.Show
End Sub
Prívate Sub Command2_CHcK()
End
End Sub
Prívate Sub Fomi_Load()
Imagel.Picture-Ix)adPÍctiire("C:\DISF^UaTUTORlALVFIGraiA01.BMP")
3mage2.Picture = LoadPÍcture("C:\DISESIAaTUTORIAL\FIGURA02.BMP''J
End Sub
PANTALLA QUE PRESENTA EL MENÚ PRINCIPAL.
VERSIÓN 4.00
Begin VB JFonu Fonnl
Appearance
= O *Flat
AutoRedraw = -1 True
BackCoIor
» &H80000005&
Caption
=* "Diseño Secuencíai Sincrónico Asistido por Computador"
ClientHeight « 4020
CHentLeñ = 1815
ClíentTop
= 2820
ClientWídth = 7365
BeginProperty Font
ñame
= 'Times New Román"
charset
= 1
weíght
» 700
size
= 9.75
underline
= O 'False
¡talle
— -1 True
strikethrough *•» O *False
EndProperty
Página 3
ForeColor
- &H80000008&
Height
= 4710
Left
* 1755
LinkTopic
= "Forml"
MDIChild
= -1 Truc
ScaleHeight = 4020
ScoleWidth - 7365
Top
= 2190
Wídíh
- 7485
WíudowStaie = 2 'Maxímized
Begiu VB.TextBox Texll
Appearance = O *Flaí
BackColor
= &nGOi'l'I<Mü''&
BcgínPropcrty Font
ñame
« "Times New Romon"
cíiarset
= 1
weíght
- 700
size
= 12
iinderlíne
— O T^alse
italic
*- O 'False
strikethrough. = O 'False
EndProperíy
ForcColor
= &HOOOOOOOO&
Heiglit
- 3855
Lefl
= 0
MultiLíne
= -1 True
ScrollBars » 2 'Vertical
Tablhdex
- O
Top
-O
Wídth
= 6495
End
Begin MSComDlg-CoinmonDialog CommonDialogl
Left
- 6600
Top
= 2280
Aversión
= 65536
_extentx
=847
_extenty
== 847
__stockprops = O
concelerror •= -1 True
copies
=* 1
End
Begin VB JSáenu tesisa
Cnption
= "&Arciiívo"
Begin VB.Menu tesisan
Cíqjtíon
— "&Nuevo"
End
Begin YB.Menu tesísaa
Caption
- "¿kAbrir"
End
Begin VB.Menu tesisac
Caption
— "&Cermr"
End.
Begin VB.Menu íesisag
Caption
= "AGuardar''
End
Begin VB.Menu tesísall
Capfion
- "-"
End
Begiu "VB-Menu lesísaí
Caption
= "Almprimir"
End
Begin VB.Mcflu tcsisal2
Capíion
- "-"
End
Begin VBJVÍenu tesísas
Caption
- "Sa&lV1
End
End
Begín VB.Menu tesist
Caption
= "&Tutorial"
Begin VB.Menu tesistp
Caption
= "&ProcediinÍentos de Diseño Secuencial"
End
Begiii VB.Menu tesistc
Caption
— "&Contadores Sincrónicos"
End
Begín VB.Menu iesistr
Páguia A
Capíion
— "^Registros de Desplazamiento"
End
Begin VB.Memi íesistd
Captíon
» "¿¿Detectores de Secuencia de Códigos"
End
Begín VB.Menu tesisto
Caption
= "Diseño Secuencia! Sincrónico con K&OM"
End
End
Begin VB.Menu tesísd
Cupliun
« "fiDiseflu"
Begin VB.Menu tesisdc
Caption
= "&Contadores"
End
Begin VB.Menu tesisdd
Caption
— "&Detectores de Códigos"
End
Begin VBJvíenu tesísdo
Caption
= "Diseño Utilizando R&OM"
End
Begin VB.Menu tesisdp
Caption
** "ábProblemas"
End
Begin VB.Menu tesisdl
Caption
= "-"
End
Begín VB.Memi testsdm
Caption
— "&Mintmización"
End
End
Begin VB.Menu tesísv
Caption
= "AVentanas"
Begin VB,Menu íesisvc
Capíion
— "&Cascada"
End
Begin VB.Menu tesísvli
Caption
- "&I-Iorizoníal"
End
Begin VB.Menu tesisw
Caption
= "A-Vertical"
End
End
Begin VB.Memí íesísy
Captíoii
= "A&yudas"
Begín YB.Menu tesísyi
Caption
= "ftlndice"
Shortcut
- {Fl}
End
Begín VB.Menu tesísyb
Captíon
- "&Buscar Ayuda Sobre"
End
Begin VB.Menu tesísyp
Capíion
=• "&Pregunías y respuestas"
End
Begin VBJWfenu tesísyll
Caption
= "-"
End
Begin VB Jvíenu tesisyu
Capücm
— "&Uiío de la ayuda"
End
Begin YB.Menu tesisyl2
Caption
= "-"
End
Begin VBMenú ieaísyt
Cnption
- "&TutoriaI de DISESIAC 1.0"
End
Begín VB.Menu tes¡syl3
Caption
- "-"
End
Begiii VB.Menu tesisya
Captíon
= "&Acerca de DISESIAC 1.0"
End
End
End
Atíribute VBJSTame - "Forml"
Attribuíe VB_Creatable=FaIse
Atíribuíe VB^Exposed =False
Págúia 5
Dim Arch_Nuevo
Prívate Sub Fomi_Load()
Arch_Nuevo " O
EndSub
Prívate Sub Form_Resiz¿Q
Textl.Width - ScaleWÍdth
Textl.Height=- SctüeHeight
EndSub
Prívate Sub tesisaa_Clíck()
arch = »"
Nombre-""
índice = 1
Cali abrir(arch, Nombre, índice)
EndSub
Prívate Sub tesisac_Click()
MDIFornil.ActiveFonn.Textl.Text = ""
MDIForml.ActiveForra.Captioa — ""
End Sub
Prívate Sub tesisag^ClíckQ
Cali grabar
EndSub
Prívate Sub tesisai_Cl¡ck()
Textl.Text Commonddialo^l. Sho wPrínter
End Sub
Prívate Sub tesisan_Qtick()
Arch_Nuevo = Arch_Nuevo + 1
arch - " "
Titulo = "Sin Titulo(" & Arch_Nuevo &")"
Nombre = Titulo
índice = O
CaJl abrír(arch, Nombre, índice)
EndSub
Prívate Sub tesisas_CHck()
End
End Sub
Prívate Sub tesisdc_Click()
Form3.CapíJon = "Diseño de contadores"
FormS.Show
Form3.Lobel3.WÍdíh = 5000
Form3.Textl.Top = 3720
Form3.TexU.Leíl=5100
Form3.Textl.Width = 2000
Fnrm3.Command2.Top = 3720
Form3.Command2.Lefl = 7200
Form3.Command2.Widíli « 2295
Form3. Lab e!3. Visible = -1
Form3.Textl.VÍsÍble = -1
Fonn3.Couiníand2.VÍsible = -1
Form3 .Textl. SetFocus
End Sub
Prívate Sub tesisdd_Click()
Fonn5.Show
EndSub
Prívate Sub íesístc_CIick()
Form6,Show
EndSub
Prívate Sub tesistd_Click()
FormS.Show
End Sub
Prívate Sub tes¡stpMClíck()
arch = "C:\DISESIAC\TEXTOS\PROC-DIS.ASC"
Nombre ~ "Procedimientos de diseño"
CaJl abrir(arch, Nombre, índice)
EndSub
Prívate Sub tesisír_Click()
Form7.Slmw
EndSub
Prívate Sub testsvc^ClickQ
MDIForml.Arrange O
EndSub
Prívate Sub tesÍsvh_Click()
MDIForml.Arrange 1
End Sub
Prívate Sub tesifrw_C!¡ck()
MDIFonnl.Arrauge 2
EndSub
PágÍJia 6
Prívate Sub tesisya^ClickO
Acerca, Show
arch - "C:\DISESIAC\TEXTOS\AVISO.TXT "
Open arch Forüiput As #1
Acerca.Label2.Capfion=-InputS(LOF(l)f #1)
Glose #1
Knd Sub
Prívate Sub tesisyb_Click()
Buscar. Show
Buscar.Texíl. SetFocus
Eud Sub
Prívate Sub tesisy¡_Click()
Dim NuevaFormaAsNew Ayudas
ayudas. Show
WindowState « O
EndSub
PANTALLA OTJE PRESENTA LAS FIGURAS EN EL PROGRAMA
VERSIÓN 4.00
Begín VB.Form Form2
Appearance = O Tlaí
AutoRedraw = -1 Truc
BackColor
- &H8Q000005&
BorderStyle = 1 Túced Single
Caption
= "Figuras"
ClientHeight = 5055
ClientLeft = 1095
ClientTop
- 1500
ClieníWidth = 7350
BegtnProperty Font
ñame
= "Times New Román"
charset
= i
weight
- 700
sÍ2e
= 12
underliue
= O 'Falae
italic
= O Talse
strikethrough — O 'False
EndProperty
ForeColor
=• &H80000008&
Height
= 5460
Leñ
= 1035
LinkTopic
= "Form2"
MínButton
= O *FaÍse
ScaleHeight = 5055
ScaleWidth = 7350
Top
- 1155
Width
= 7470
Begin VB.ComboBox Combol
Appearance
= O *Flaí
BeginProperty Font
ñame
= 'Times New Román"
= 1
charset
weight
- 700
size
= 9.75
underííne
= O 'False
italic
= O 'False
síríkeíhrough = O 'False
EndProperty
Heiglil
* 330
Lefi
- 120
Tablndex
= 1
Tcxí
" "Haga ""Click"" en laflechaderecha para ver Figuras"
Top
= 120
Width
= 5175
End
Begin VB.CommandButton Commandl
Appearance = O 'Fíat
BackColor
= &H80000005&
Caption
- "Sa&lir"
Heighí
= 375
Left
- 5400
Tablndex
= O
Top
» 120
WidÜi
= 1815
End
Begin VB.Iniage Imagel
Págbm?
Appearance = O *Flat
Heiglit
= 4365
Left
= 0
Top
=600
Width
- 7305
End
BeginMSComDJg.CommonDiaIog CMJDínlogl
Left
= 4200
Top
= 5280
Aversión
= 65536
_exíeiiíx
•* 847
_extenty
= 847
stockprops = O
lléname
« .....(*.bmp;*.dip;*.ico"""
End
End
Attribuie YB_Name = "Form2"
Attribute YB_Creaíable = False
Atírihiite VB_ExpoBet!=False
Prívaíe Sub Combo l_Clíck()
On Error GoTo mensajcl
índice «= Combo LListlndex
SelectCaae índice
Case O
Form2.CapHon = "Figura 1.1"
toagel.PÍcüu-e=Ix)aa^Ícturt(»C:\DISESIAC\FIGÜRAS\FIGÜl-01.BMP1')
Casel
Form2.Capí¡on - "Figura 1.2"
Imagel.PÍcture^Ix)adPicture("C:\DISESrAaFIGURASVFrGUl-02.BN4P1')
Case 2
Form2.Capt¡on = "Figura 1.3"
Imagel.Picture-Ix)adPicture(»C:\DISESIAC^GtJRAS\nGül-03.BMP1')
Case3
Forai2.Cupíioii = "Figura 1.4"
Jhiagel.Picture = LoadPicture("G:\DISESIAC\En:GURAS\FrGÜl-04^MP")
Case 4
Form2.Caption="Figura 1.5"
Imagel.PÍc1ure«IxjadPÍcíure(MC;\DlSESIAaFIGÜ8ASVFIGUl-05.BMP")
Case 5
Fornú.Caption^ "Figura 1.6"
Case 6
Form2,Captton = "Figura 1.7"
foiagel J>ícture - LoadPicture("G:\DISESIAC\FIGXmAS\FlGUl-07.BMP")
Case 7
Form2.Caption •= "Figura 1.8"
BiiageLPicture - Ix>adPictire(l(C:\DISESIAC\FIGÜRAS\nGUl-08.BMP")
Case 8
Form2.Caption = "Figura 1.9"
ImageLPicíure - LoadPicfure("C:\DISESIAC\FlGURAS\FIGUl-09.BMP")
Case 9
Form2.Caption - "Figura 1.10"
Iraagel.Pictore=Ix3adPicture("C:\DISESIAaFIGÜKAS\FIGUl-10.BMP")
CaselO
Form2.Caplion= "Figura 1.11"
:faagelJicture=:UadPichtre("C:VDISE
Case 11
Form2.Cap(ioii « "Figura 1.12"
Imagel Jicture = LoadPicture("C:\DISESIACMGURAS\FIGUl-12^MP")
Casel2
Form2.Capíion « "Figura 1.13"
Casel3
Form2.Captíon - "Figura 1.14"
Imagel.Picture=Ioac^Picture("C:\DLSESrAC^^GURAS\FlGUl-14£MP")
Case 14
Form2.Caption = "Figura 1.15"
Imagel.Picture = Ix>aol>Ícture("C:\DISF^IAC\FlGURAS\FIGUl-15.BMP")
Case 15
Fonn2.Capíion - "Figura 1.16"
Bnagel .Pícture - I^adPictire(MC:\DISF^IAC^FIGIJRAS\FlGül-16.BMP1')
Casel6
Fonn2.Caption = "Fisura 1.1T'
Imagel.Pidure = lx)adPicíure(llC:VDISESIAC\FIGURASVFÍGUl-17.BMP")
Casel?
Form2.Capíion - "Figura 1.18"
Páginas
Case 18
Form2. Capí ion - "Figura 1.19"
Imagel.Picture = LoadPtctureC'CíVDISESIAOFIGURASVFIGUl-l^BMP")
Case 19
Form2.Caption = "Figura 1.20"
ImogeLPicture - LoadP¡cture("C:\DlSESlAC\í''lGURAS\KlGUl-2Ü.BMP")
Case 20
Fonn2.Caption - "Figura 1.21"
ImageLPicture = LoadPÍchjre("C:\DISESIAC\FIGURAS\FIGÜl-21.BMP")
Case 21
Form2.Caption = "Figura 1.22"
foiagel.Picture=Ix)adPÍctureC"C;VDlSESUaniGimAS\FIGÜl-22.BMP")
Case 22
Form2.Caption - "Figura 1.23"
Imagel.Picture=I^adPicture("C:\DISESlAaFIGÜRAS\FIGÜl-23^MPl))
Case 23
Form2.Caption - "Figura 1.24"
7mage1.PichB-e=TxiadPicbire("C:\DTSF*STAC\FTGTTRAS\FIGTJ1-24.BMP")
Case 24
Form2.Caption= "Figura 1.25"
Tmagel.PÍcture=IxjadPÍctin-e("C:\DISF^IAaHGfUBAS\FIGUl-25.BMP")
Case 25
Form2.Caption = "Figura 1.26"
Case 26
Form2.Caption - trFigura 1.27"
Iniagel.Picture=Ix)adPichire("C:\DISESIAaFIGIJRAS\FIGül-27.BMP11)
Case 27
Form2.Captioa = "Figura 1.28"
lmagel.Pichire-ix)adPicíure(l'C:\DlSESlAC\FlGURAS\FlGUl-28.BMl''')
Case 28
Form2.Caption - "Figura 1.29"
Case 29
Forni2.Captioft= "Figura 1.30"
Case 30
Form2.Captíon = "Figura 1.31"
Imagel.Picture=I^adPÍcture("C:VDISESIAaFIGURAS\FIGUl-31.BKlP")
Case 31
Fonn2.Caption = "Figura 1.32"
Tmagel .Picüire = LoadPictureC'CADTSF-STAaFÍGlIRASVFIGU] -32.BMP")
Case 32
Form2.Caption = "Figura 1.33"
IraageLPicture - LoadPicture ("C:\DISESIAC\FIGURASVFIGUl -3 3. BMP")
Case 33
Form2.Caption - "Figura 1.34"
ImageLPicíure - LoadPicture ("C:\DISESlAC\FIGDRAS\FIGUl-34. BMP")
Case 34
Form2.Captíon - "Figura 1.35"
Imagel.PÍcture=Ix)adPÍcture("C:\DISESlAaHGURAS\FIGUl-35.BMP")
Case 35
Form2.Captiou = "Figura 1.36"
Imagel.Picture =toadPicnire("C:\DlSESlACVFlGURAS\FlGUl-36.BMP")
Case 3 6
Form2.Capíion - "Figura 1.37*
Fomi2.Caption = "Figura 1.38"
]raagel.Picíure=;LoadPÍdure("C:toIS^
Case 3 8
Form2.Coption - "Figura 1.39"
Iraagel Jicture = LoadPicture("C:VDISESlAC\FIGURAS\FIGUl-39.BMP")
Case 39
Form2.Caption = "Figura 1.40"
Tmagel.Picnire=T^adPÍcture("C:\DTSFASJAC\FTGirRAS\FIGUl-40.BMP")
Case 40
Form2.Caption = "Figura 1.41"
ImageLPicture - LoadPicture ("C:\DISESIAC\FIGURAS\FIGU1-41.BMP")
Case 41
Fonn2.Caption = "Figura 1.42"
Imagel.Picture = U)adPichire(HC:\DISESIACVETIGURAS\FIGül-42.BMP")
Case 42
Form2.Caption == "Figura 1.43"
BuageLPicture = LoadPicture(" C:\DISESIAOFIGURAS\FIGUl-43. BMP")
Case 43
Página 9
Form2.Caption = "Figura 1.44"
IhiagelJ>ichre=Ix)adP¡chre("C;\DISESIAC\FIGURAS\HGU1^4.BMP'')
Case 44
Form2.CaptÍon = "Figura 1.45"
ImageLPicture - Ix)ad^ichire("C:\DISESIAC\FIGURAS\FIGUM5.BMP'')
Case 4 5
Form2.Caption - "Figura 1.46"
Imagel.Pictwe=Ix>adPicture("C:\DlSESIAC<\FIGURÁSVFIGi;i-Í6.BMP1')
Case 46
Form2.Caption - "Figura 1.47"
Case 4 7
Form2.Caption « "Figura 1.48"
3raogcl.Pichn-c=lx)adPicturc("C:\DISES]A(^nGtJRAS\FlGUl^S.BMP'1)
Cose 48
Form2,Caption = "Figura 1.49"
Imagel.Picture=lx)adPictiire("C:\DISESL\aFIGURAS\FTGUl-49.BMP")
Case 49
Form2,Capíion = "Figura 1.50"
ImageLPicture - LoadPicture("C:\DISESIAC\FIGURAS\FIGUl-50.BMP")
Case 50
Form2.Capüon ~ "Figura 1.51"
ImageLPicture - Ix>adPictiJre("C:\DISESIAC\FIGtmAS\FIGUl-51.BMP")
Fjid Select
FjcitSub
mensajel:
MsgBox "No se ha especificado Figura", 16
Resume Next
EndSub
Prívate Sub Commandl_ClickO
Unload Form2
FjídSub
Prívale Siib Fonu_LoudQ
Combol^ddttem "Figura 1.1"
Combol.AddItem "Figura 1.2"
ComboLAddlícm "Figura 1.3"
Combol.AddItem "Figura 1.4"
Combol.Addltem "Figura 1.5"
Combol.AddItem irFÍgural.6"
Combol.AddI(em "Figura 1.7"
Combo! . Addltem trFigura 1.8"
Combol.AddItem "Figura 1.9"
Combol.AddItem "Figura 1.10"
Combol.AddItem "Figura 1.11"
Combol.AddItem "Figura 1.12"
Cotnbol.Addltem "Figura 1.13"
Combol.AddItem "Figura 1.14"
Combol.AddItem "Figura 1.15"
ComboLAddltem "Figura 1.16"
Combol.AddItem "Figura 1.17'
Combol.AddItem irFigura 1.18"
Combol.AddItem "Figura 1.19"
Combo LAdditem "Figura 1.20"
ComboLAddltem "Figura 1.21"
ComboLAddltem "Figura 1.22"
ComboLAddliem "Figura 1.23"
ComboLAddUeiii "Figura 1.24"
Combol.AddItem "Figura 1.25"
ComboLAddltem "Figura 1.26"
ComboLAddliem "Figura 1.27"
ComboLAddliem "Figura 1.28"
ComboLAddltem "Figura 1.29"
ComboLAddltem "Figura 1.30"
CombolAddltem "Figura 1.31"
ComboLAddltem "Figura 1.32"
Combol.AddHem "Figura 1.33"
ComboLAddltem "Figura 1.34"
ComboLAddltem "Figura 1.35"
ComboLAddliem "Figura 1.36"
ComboLAddltem "Figura 1.37'
ComboLAddliem "Figura 1.38"
Combol.AddItem "Figura 1.39"
ComboLAddltem "Figura 1.40"
Combol.AddItem "Figural.41"
ComboLAddltem 'Figura 1.42"
Página 10
Combol.AddItem "Figura 1.43"
EndSub
Prívate Sub Labell_Click()
On Error GoTo mensaje
CMDialogl.il leñame = "*.bmp;*.dib;*.ico"
CMDiologl.Action = 1
Form2.Capt!on = CMDiaiogl.fi leñame
Imagel-Piciure =sLoadPicture(Form2.Capiion)
ExitSub
mensuje;
MsgEox "No se ha especificado Figura", 16
Resume Next
EndSub
PANTALLA QUE CONTIENE LA SUBRÜTINA OTTF. Bff. AT .T7.A EL DISEÑO DE LOS CONTADORES SINCRÓNICOS.
VERSIÓN 4.00
Begín YB,Form Form3
Appenrance = O "Fíat
AutoRedraw •= -1 True
BackColor
» &H80000005&
Caption
= "FormS"
ClienlHeight - 5250
CHentLeft = 1815
ClientTop
= 1710
ClientWidth = 7365
BeginProperty Font
ñame
= 'Times New Román"
charset
= 1
weight
- 700
size
« 12
underline
= O "False
iíalíc
= O 'False
sírikethrough — O 'False
EntíProperly
ForeColor
= &H80000008&
Ileight
= 5655
Lcfi
- 1755
LínkTopic
= "Form3"
MDIChild
= -1 True
ScaleHeíglií = 5250
ScaleWídth = 7365
Top
= 1365
Width
= 7485
Begin VB.CommandButíon CommandS
Appearance = O 'Fíat
BackGolor
- &H80000005&
Caption
— "&Sigu¡ente"
Heighí
= 405
Left
= 7200
Tablndex
- 15
Top
=3720
Visible
= O Talse
Widtii
= 2295
End
Begin VB.ComboBox Combo2
Appearance =* O "Fíat
Heighí
= 405
Left
•= 7200
Tablndex
= 14
Text
= 'TipodeFlipFlop"
Top
^480
Visible
- O Talse
Wídth
*- 2295
End
Begín VB.CommandButton Commandl
Appearance = O 'FlRt
BackColor
- &H80000005&
Caption
« "Sa&lir"
Height
= 405
Left
- 7200
= 13
Tablndex
Top
- 4680
Width
- 2295
End
Begin VB.ComboBox Combol
Página 11
Appearance =* O 'Fita.
Heíght
= 405
Left
= 3600
, .;
Tablhdex
=12
¿;
Text
=•= '^Estado siguiente"
Top
= 4680
Visible
- U 'False
Width
= 3495
End
Begin VB.Frame Framel
Appeunmce -=> O 'Fluí
BackColor
= &H800000Ü5&
ForeGolor
= &II80000008&
Hcight
- 975
Left
= 3600
Tablndex
- 8
Top
= 3600
= O Talse
Visible
Width
= 3495
Begin VB.OptionButton Option2
Appearance = O "Fíat
BackColor
- &H80000005&
Caption
= "No"
BeginProperty Font
ñame
= "MS Sans Serif'
charset
— 1
weight
«700
síze
=• 8.25
underh'ne
•= O 'False
¡talic
= 0 'False
sírikethrough — O 'FaJse
EndProperty
ForeCoIor
- ¿3I80000008&
Hetghí
= 255
Lell
= 2280
Tablndex
* 10
Top
= 600
Width
- 735
End
Begin VB.OptionButtoii Optionl
Appearance = O T>lat
BackColor
• «&H80000005&
Cnption
= "Si"
BeginProperty Font
ñame
= "MS Sans Serif
charset
» 1
weight
- 700
size
= 8.25
imderline
^ O 'False
italic
= O 'False
strikethrough = O 'False
EndProperty
ForeCoIor
- &H80000008&
Heigbt
= 255
JLeíl
- 480
Tablndex
- 9
Top
« 600
WidÜi
* 735
EuÜ
Begin VB.Label Label4
Alignment
= 2 'Center
Appearance = O 'Fíat
BackColor
= áiH80000005&
BorderSlyle «= 1 'Fixed Single
Caption
= "Existe el estado (0)?"
ForeCoIor
= &H80000008&
Height
= 405
Left
=0
Tablndex
=11
Top
= 120
Width
- 3495
End
End
Begin VB.TextBoxTextl
Appearance •» O
"MS Sans Serif
Página 12
charset
=* 1
weíght
= 700
size
- 8.25
uiiderlioe
= O 'False
ítalic
- O 'Faise
strikethrough = O 'False
EndProperty
Height
=405
Left
« O
MaxLength
=- 3
Tublndex
— 3
Top
« 4C80
Visible
= O 'False
•Width
- 2055
End
Begin VB.CommandButton Command-1
Appearance = O 'Fíat
BackColor
- &H80000005&
Caption
- "&Cíücnlar"
Heíghí
= 405
Left
= 7200
Tablndex
- 1
Top
= 4200
Visible
= O Talse
Width
= 2295
End
Begjn VB.CommandButton GommandZ
Appearance
— O "Fíat
BackGolor
» &H80000005&
Caption
= "&Aceptar"
Beight
« 405
Lefl
= 216*0
Toblndex
-O
Top
= 4680
Visible
^ O "Fulse
Width
- 1335
End
Ecgín VB.Labcl LabcI3
Alignraent
= 2 'Center
Appearance
= O "Fíat
BackColor
= &H80000005&
BorderStyle - 1 Tixed Single
Cspííon
= "Ingrese el nftmero de hite del contador"
ForeCobr
= &H80000008&
Heíghí
= 405
Leñ
= 0
Tablndex
= 7
Top
= 3720
Visible
= O *False
Width
= 3495
End
Begin VBXabel Label2
Alígnment
=« 2 'Center
Appearance
= O 'Fíat
BackColor
- <fcH80000005<&
BorderStyle = i 'Fi«d Single
Caption
- "ESTADO SIGUIENTE"
BegínProperty Foní
uuuie
— 'Times New Romuii"
charset
—1
weighí
= 700
sizc
«• 9.75
underlíne
= O 'False
i tal Í c
•= O 'False
stríkethrough = O T"alse
EodProperty
ForeCoIor
- &H80000008&
Heíght
- 375
Lefl
« 3600
TabBidex
= 6 .
Top
= O
Width
= 3495
End
Begiu VBXabel Labell
Alignment
= 2 'Center
Appearance
= O Tlat
BackCofor
- &H80000005«fe
Página 13
BorderStyle - 1 'Fixed Single
Caption
= "ESTADO ACTUAL"
BeginProperty Font
ñame
- "MS Saiis'Sertf'
charset
™ 1
weight
= 700
size
= 8.25
underlíne
= O *False
italic
= O Talse
strikethrough — O 'False
EndProperly
ForeColor
= &H8000ÜOÜ8&
Height
= 375
Lcfl
-O
Tablndex
* 2
Top
= O
Width
- 3495
End
BeginMSGruLGrid GrifÜ
Heigltf
= 2295
Left
= 7200
- 16
Tablndex
Top
= 1080
Visible
= O 'False
Width
= 2295
_version
= 65536
_extentx
= 4048
_extenty
= 4048
_stockprops = 77
BegínProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
ñame
= 'Times New Román"
charset
= 1
weight
- 700
size
= 9.75
uiídcrlhie
— O 'Fulse
italic
= O 'FaJse
strikethrough — O 'False
EndTropcrty
rows
= 5
cois
= 5
mouseicon
= 'TESIS-03.fi7t":0000
End
Begin MSGridGrid Gridl
Height
* 2895
Left
- 3600
=* 5
Tablndex
Top
- 480
Wídth
- 3495
_versioa
= 65536
_extenbc
— 6165
_ejrfenty
= 5106
_stockprops = 77
BeginProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
líame
= 'Times New Román"
= 1
charset
weight
= 700
size
= 9.75
underline
= O "False
itulic
= O !Fal»e
strikeíhrough - O 'False
EndProperty
rows
= 10
cois
= 8
mouseicon
- "TESIS-03.írx":QQlC
End
BegiuMSGrid.Grid Gridl
Height.
= 2895
Left
- O
Tablndex
- 4
Top
- 480
Width
- 3495
_version
= 65536
= 6165
= 5106
_síockprops «= 77
BeginProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
ñame
* 'Times New Román"
Página!
charseí
= 1
weiglit
- 700
size
- 9.75
underliiie
= O "False
¡(alie
- O 'Faíse
strikethrough = O 'False
EndProperiy
rows
= 10
cois
— 9
mouseicon
- rrTESIS-03.focJ':OÜ38
Eud
Ene! .
Aítribirte VB_Name = "Form3"
Attríbuíc VE_Crcaiablc = Falso
Atíribute VBJExposed = False
Dim Banderal, N, Filas, Colum, BinarÍol(), Binario2(), Variables()
Dim Bandera!, BinarioSQ, Total, ExcitaciQ
Dim Auxíl, AuxiZ, Ultimo, Función, N_Kuevo, Simple
Prívate Sub Combol_CIickQ
If (Banderal < Filas +1 And Bandera2 = 0) Then
IfOptionl.Valué Then
índice =Form3.Combol.ListIndex
Form3.Grid2.Row=Banderal +1
ForI=OToN-l
Form3.Grid2.Col=I+l
BÍnario2 (Banderal, I) *= B!naríol(Indice, I)
Fonn3.Gríd2.Text=Binariol(Iiidice, I)
Nextl
Banderal -Banderal +1
Htiql - "Existe ei estado (" & Banderal ¿fe ")V"
Form3 JLabel4.CaptÍon=Etiql
Form3.Combol.Text111 "Estado siguiente"
Form3.Combol.Visible = O
FormS.Optioiil.Valué - O
Forni3.Option2.Visible = -1
Form3.Option2. Valué = O
If Banderal = Filos +1 Then
Etiq2 = "Están correctos los datos"
Form3.LabeM.CaptÍQn =Etiq2
Banderal = O
BanderaZ = 1
FormS.Optionl .Valué = O
Form3.0ption2. Visible = -1
Form3.0ption2. Valué « O
Endlf
Endlf
Endlf
EndSub
Prívate Sub Combo2_ClÍck()
Forni3.Command4.Visible = -1
'selección de típo de Flip Flop y creación de la iablarespectiva
Form3.Label2. Visible = O
Form3.Labeli.Widm = 7000
Tipo •=Form3.Combo2.LÍstIndex Indicador del tipo de Flip Flop
Form3.Grid3. Visible = -1
FonuS.GridS.Col^O
ForI=lTo4
Form3.Grid3.Row=I
Form3.Grid3.Tcxí=I" 1
Form3.Grid3.ColWídth(0) ^TexíWidíh(Form3.Grid3.Text) * 1.1
Nextl
Form3.Grid3.Row = O
ForI=lTo2
TfT = 1 Tlien Variable = "Qn" Else Variable = "Qn-H "
Form3.Grid3.Col«I
Form3.Grid3.Text« Variable
ForniS.GridS.ColWidth^^TextWídthCFonnS.GridS.Text) * 1.1
Nextl
Select Case Tipo
Case 0,1
Total = 2 * N » 1
'Numero de columnas adicionales de la tabla de excitación
Columnas = 3
'Columnas de laMairiz "BinarÍo40"
Form3.Gríd3.Cols = 5 'Columnas del "Grid3"
If Tipo - O Then
Página 15
Form3.LabeU. Capí ion »» "Esta es la tabla de excitación con Flíp FIpos Tipo JK"
Form3.Grid3.Col-3
Form3.Grid3.Text = "J"
Form3.Grid3.ColWÍdÜi(3) = TextWÍdtíi(Forni3.Grid3.Text) * 2
Fonn3.Grid3.Cot=4 <
Fonn3.Grid3.Texf="K"
Form3.Grid3.ColWicíth(4) =TextVVÍdíh(Form3.Gricí3.Text) * 2
Else
Form3.Labell.Capt¡on *= "Esta es la tabla de excitación con Flip Flpos Tipo SR"
Form3.Grid3.Col = 3
Furui3.Grid3.Text- "S"
Fonu3.Grid3.ColWidíh(3) = TextWÍdth(Form3.Grid3.Text) * 2
Form3.Grtd3.Gol =4
Form3.Grid3.Tcxt = "R."
Form3.Grid3.ColWidth(4) =TextWidth(Fonn3.Grid3.Text) * 2
Endlf
Case 2,3
Total =N - 1
'Número de columnas adicionales de la tabla de excitación
Columnas = 2
'Columnas de laMatriz trBinar¡o4()tl
Form3.Grid3.Cols =* 4
If Tipo = 2 Then
'Columnas del "GridS"
Form3.Labeil.Caption = "Esta es la tabla de excitación con Flip Flpos Tipo D"
Form3.Grid3.Col« 3
Form3.Grid3.Text = "D"
Form3.Gríd3.ColWidth(3) =TextWidth(Form3.Gríd3.Text) * 2
Else
Form3.LabeU.CaptíonES"Estaes la tabla de excitación con Flíp Flpos Tipo T"
Fonn3.Grid3.Col = 3
Form3.Grid3.Text - 'T1
Form3.GrÍd3.ColWidÜi(3) =TextWidÜi(Form3.Grid3.Text) * 2
EndJf
Hnd Select
'Generación de la tabla de exitación de los Flip Flops en "Binario4()"
i_
„_____._ _____,^.__^.
,__.....___._.„.___-_
ReDiniBinario4(3í Columnas)
ForJ=OTol
Valor-O
K>2*(1-J)
K1=K
ForI=OTo3
If Kl - O And Valor - O Then
Valor=l
Kl-K
Endlf
If Kl •= O And Valor -1 Then
Valor=0
K1=K
Endlf
Binario4(l,J) = Valor
K1=K1-1
Nextl
NextJ
Select Case Tipo
Case Ü, 1
If Tipo = O Then
ForI=OTo3
ForJ=2To3
Select Case I
Case O
IfJ=2Then Valor=0 El se Volor=2
Case 1
If J- 2 Then Valor= 1 Else Valor=2
Case 2
If J = 2 Then Valor = 2 Else Valor = 1
Case 3
Tf J = 2'Then Valor = ^ Else Valor = O
End Select
Bmarío4 (1,1) = Valor
NextJ
Nextl
Else
ForI=OTo3
ForJ=2To3
Select Case I
Case O
If J = 2Then Valor-= O Else Valor - 2
Página 16
Casel
If J = 2 Theu Valor = 1 Else Valor = O
Case 2
If J = 2 Tuen Valor = O Else Valor = 1
Case 3
IfJ = 2ThenValor=2ElseValor=0
Hnd Select
Binario4(I, J) = Valor
NexíJ
Nextl
Endir
Case 2, 3
IfTÍpo = 2Then
ForI-OTo3
Select Case I
Case O
Valor=0
Case 1
Valor =1
Case 2
Valor = O
Case 3
Valor =1
End Select
Binario4(I,2)=Valor
Nextl
Else
Select Case I
Case O
Valor =ü
Case 1
Valor=l
Case 2
Valor -1
Case 3
Valor = O
End Scicct
BÍnario4(I,2)'=Valor
Nextl
Endlf
End Select
Tmpresíón
la.tnhtarfe
excitación del________
Flip Flop
seleccionado en "Grid3"
'______,.______He
_______
_______ ,__________._,_.
__.________.___-.—,__
ForI-OTo3
Form3.Gríd3.Row= I + 1
For J = O To Columnas
Form3.Grid3.Col~.r-H
If Binarío4(If J) » 2 Then Valor = "X" Else Valor - BÍnarío4(I, J)
FonnS.GridS.Text^ Valor
NextJ
Nextl
'Generación de las variables inicíales para la creación de !a tabla de
'excitación
i _____ __________ ______ __—__«___._ __________ _________ __________ _______
Form3.Grid2. Visible = O
Final = 2 * N + 1 + Total 'Número de columnas de la tabla de excitación
Form3.Gridl.Cols =Final
Furm3.Gridi.Visible--l
Form3.Gridl.Widm = 7000
FormS.Gridl.Row^- O
'Impresión de las variables del estado presente eti la tabla de excitación
ForI=lToN
Form3.Gridl.Cnl=I
Variable = "Q"&N~ I
FormS.Gridl.Text^ Variable
Form3.Grídl.ColWidth(I) =Te3rtWidthCForm3.Gridl.Text) * 1.1
Nextl
'Impresión de las variables del estado siguiente en la tabla de excitación
ForI=N+lTo2*N
Fonn3.Gridl.Col" I
Variable ~"Q I I &2* Í N -I
Página 17
Forra3. Gridl.Texí = Variable
Fonn3.Gridl.ColWidtii(I)=TextWidtíi(Fomi3.Gridl.Text) * 1,1
Nexll
'Impresión de las variables dé excitación en la tabla de excitación
!,_„_____________________,__,_~l-_ ——__-__________„— —___—
ReDünExc¡íacÍ(Q( Total)
AuxiO - ü
ForI=2*N+lToFtnal-l
Fonn3.Gridl.Col» I
If Tipo = O Then
Variable - "J" &N - Auxil
Exciíaci(0, AuxiO) — Variable
Form3.Gridl.Text= Variable
FormS.Gridl.ColWidthCO^TcxtWidthfFormS.Gridl.Tcxt) • 1.1
Variable •= "K" &N- Auxil
AuxiO — AuxiO + 1
Excitaci(0, AuxiO) — Variable
' 1=1+1
Form3.Gridl.Col=I
Form3.Gridl.Text= Variable
Fonn3.Gridl.CoIWidth(I)=TextWidthfFonn3.GrÍdl.Text) * 1.1
AuxiO = AuxíO 4- 1
Auxíl = Auxil + 1
Endlf
If Tipo =1 Then
Variable « "S" &N - Auxil
ExcitacÍ(0, AuxiO) = Variable
Form3.Gridl.Text= Variable
Form3.Gridl.ColWidth(I) = TexíWidth(Form3.Gridl.Text) * 1.1
Variable = "R" &N - Auxil
AiDtiü-AiixiO+1
Fjtcitac¡(0, AiixíÚ) = Variable
Fonn3.Gridl.Col=I
Fonii3.Gridl.Texl - Variable
Forni3.Grídl.ColWidtli(I) = TextWidth(Forra3.Gi-idl.Text) + 1.1
AuxiO = AuxiO I 1
Auxil = Auxíl + 1
Endlf
Variable « trD" &N - Airal
FjccÍtaci(0, AuxiO) = Variable
Form3 . Gri di .Text = Vari ab I e
FonnS.Gridl.ColWidthCO^TextWidthfFormS.Gridl.Text) * 1.1
AuxiO « AuxiO + 1
Auxil = Auxil + 1
Endlf
If Tipo = 3 Then
Variable^'T" &N-Auxil
Excitaci(0, AuxiO) — Variable
Form3.Gridl.Text= Variable
Form3.Gridl.ColWídth(I)=TextWidÜi(Fonu3.GrÍdl.Text) * 1.1
AuxiO - AuxiO + 1
Auxil = Auxil + 1
Endlf
Nexíl
'Generación de la tabla de excitación de losFlipFlops"Bínario3"
'__ »™ —_________^.________-,,„___________„„„.»._.______.»____
ReDiui Biutiriu3(F¡lus( Total)
'Generación de ta tabla de excitación para los FFs Tipo JK
'___—____— _~__________—_..-______™—._,_______......
If Tipo = O Then
ForI=OToFilas
ForJ=OToColum
K = 2*J
L=K+1
Tf (Binario! (T, J) » O And BinarioZO, J) = 0) Then
Bínario3(I,L)«2
Endlf
If (Binarioirr, J) « O And Bmario2(I, J) = 1) Then
BÍnario3(I,K) = l
Binario3(I,L.) = 2
Endlf
If CBinar¡ol(I, J) » 1 And B¡nario2(I, J) = 0) Then
Bmario3(I,K) = 2
Página 18
Endlf
If (Binariol(I, J) = 1 And Binario2(I, J) = l) Tlien
Binarío3(I,K) = 2
Binario3(I,L) = 0
Endlf
If (Binariol(I, J) = 2 And Binario2(I, J) = 2) Then
Binario3(I,K)=<2
Binario3(I,L) = 2
Endlf
NextJ
Nexll
Endlf
'Generación de laiablade excitación para los FFs Tipo SR
If Tipo = 1 Then
Forl-OToFilas
ForJ=OToColum
If (BinariolCI, J) - O AndBinario2(I, J) = 0) Then
BÍnario3¿K) = 0
Binario3(I,L)=:2
Endlf
If (Bínariolft J) = O And Binario2(It J) = 1) Tlien
Biuario3(I,L) = 0
Endlf
If (Binario 1 (I, J) = 1 Aiid Binai-io2(I, J) - 0) Then
Binario3(I,K)'=0
Binario3(I,LJ = l
Endlf
If (BinarioICl, J) = I And Binario2(I, J) = I) Then
Binario3 ¿K) = 2
Endlf
If (Binaríol(I, J) = 2 And Binario2(I, J) = 2) Then
BÍnario3¿K)=2
Binario3(I,L)-2
Endlf
NextJ
Nextl
Endlf
'Generación de la tabla de excitación para. IOK FFs Tipo H
t________—_„_„__________.____——».».—— __________
If Tipo ~2 Then
Forl^OToFilas
ForJ=OToColum
If (BinariolCI, J) - O And Binario2(I, J) = 0) Then
Binario3(Í J) = O
Endlf
If (Binariol(I, J) = O And ~B\nw\o2$, J) - 1) Then
BinarÍo3¿J) = l
Endlf
If (Bmariol(I, J) = 1 And Binario2(I, JJ = 0) TTien
Binario3(I,J) = 0
Endlf
If (BinarioICl, J) = 1 And SinttñoZ^I, J) - 1) Then
Binario3¿ J) = 1
Endlf
If {BinarioICl, J) = 2 And Binario2(I, J) = 2) Then
Binario3¿J) = 2
Endlf
NextJ
Nextl
Emilf
'Generación de la tabla de excitación para los FFs Tipo T
i _______________________________________________________
If Tipo » 3 Then
Forl^QToFilas
ForJ=OToColum
If (BinarioICl, J) » O And BÍnario2(I, J) = 0) Then
Binario3¿ J) = O
Endlf
If CBinariol(I, J) « O And Btnario2(I, J) = 1) Then
Endlf
If (BinarioICl, J) » 1 And Binarío2CII J) - 0) Then
Página 19
Binario3(I,J) = l
Endlf
If (BmarÍQl(I, J) « 1 And Binarío2(If J) » 1) Then
Binario3(Í,J)-0 *
Endlf
If (BinariolC, J) = 2 And Binan o2(I, J) = 2) Then
BínarioSCí, J) » 2
Endlf
NexíJ
Nextl
Eiidlf
'Impresión de toda la tabla de estado presente, siguiente y excitación
i______„_„_._____.________—._.________________.._„_________— ™ . _
Forl^OToFilas
Form3.Gridl.Ro\v=I-i-l
ForJ<=QToN-l
Form3.Gridl.Col=J + l
IfBinariolO; J) = 2 Then
Form3.Grid1.Text = "X"
Else
Form3.Gridl.Text =Binariol(I, J)
Endlf
NextJ
ForJ=NTo2*N-l
Form3.Gridl.Col = J-í-l
If Binarío2(I, J - N) = 2 Tlien
Form3.Gridl.Text» "X"
Else
Form3.Gridl.Text »Binario2(j; J - N)
Endlf
NextJ
ForJ=2*NToFinal-2
Form3.GridI.Col=J+l
If Binarios (I, J - 2 * N) « 2 Tlien
Fünii3.Grídl.Twa*"XH
Else
Forni3.Gridl.TeAt «Binario3(I, J - 2 * N)
Endlf
NextJ
Nexíl
Función - O
End Sub
Prívate Sub Commandl_ClÍckQ
Unload FormS
End Sub
Prívate Sub Comniand2_Click()
'Borrado de ialístade esíados siguiente en"Combol" si existe
AuxiO I=Form3.Combol.ListCount
If AuxiO o O Tiien
ForI=OToAuxiO- 1
Form3. Combo l.RemoveBem O
Nextl
Endlf
'Generación de la tabla de verdad de los estados actuales en "Binario !()"
i
_______________________________________________________________
If IsNumeric(Textl.Texr) Tñen
N = Texíl.Texí
Colum =N - 1
ReDím Variables(Q, Colum)
Form3.Label3.Caption - ""
Forra3.lAbel3.Visiblea O
Form3.TexÜ.Text=l"t
Form3.Textl.VÍsÍble= O
Form3.Command2.VÍsíble - O
Form3.Gridl.ColB — Colum + 2
Form3.Gridl.Rows - Filas + 2
Fonu3.Grid2.Cols = Colum + 2
Form3.Grid2.Rows "Filas + 2
For I=lTo Colum + 1
Form3.Gridl.Row - O
Form3.Gridl.Col»!
Form3.Gridl.Text- "Q" &N - 1
Página 20
Variables(0, 1 - 1) = "Q" &N - 1
Form3.Gridl.ColWidtii(I) = TextWidtíi(Fonn3.Gridl.Text) + 1.1
Form3.GrÍd2.Row= O
Form3.Gríd2.Col = I
Form3.Grid2.Text = "Q" & N - I
Fonn3.Grid2.ColWidth(I)=TextWÍdth(Fonii3.Grid2.Text) " 1.1
.Nextl
ForI=iToFiias + l
Fonn3.Gridl.Row -I
Form3.Gndl.CoI = O
Fonn3.Gridl,Texl-I-l
Forni3.Gridl.ColWÍdth(0)=TextW¡dtb(Fomi3.Gridl.Text) * 1.1
Form3.Grid2.Row = I
Form3.Grid2,Col^O
Form3.Grid2.Text=I - 1
Fonn3.Gríd2.ColWidth(0)=TextWidth(Form3.Grid2.Text) * 1.1
Nextl
ReDimBinariol(Filas, Colum)
ReDÍmBinano2(Rilas, Colimi)
ForJ=OToColum
Form3.Gridl.CoI=J+l
Valor^O
K=2A(N-J-1)
K1=K
Forl-OToFilas
If Kl = O And Valor= O Then
Valor =1
K1=K
Fjidlf
IfKl = O And Valor = 1 Then
Valor -O
K1=K
Endlf
Binariol(I, J) » Valor
Kl -Kl - 1
Form3.Grídl.Row = I+ 1
Form3.Gridl.Text - Valor
Ncxtl
NextJ
'Generación de la lista de estados siguientes en "Combol"
ForI=OToFílas
Form3.Comho1 .Atldítem T
Nextl
Else
Msg = "Ko es un dato numérico o no existe dato"
MsgBoxMsg,32
FonnS.Textl.Tejct^'"'
Form3.Textl.SetFocus
ExitSub
Fon»3.Framel. Visible — -1
Form3.Label4.Caption« "Existe el estado (0)?"
Banderal = O
Bandera2 * ü
EndSub
Prívate Sub Command3MClick()
ReDiui Ter_Miiii(Filus)
ReDim]jiiplican(Filas, Colum)
Label2.Visible = -l
If Función <~ Total Tlicn
AuxíO =Exciíaci(0I Función) & " = "
ForI«OToFilas
Ter_Mini(T) = Binario3(I, Función)
Nextl
Cali MinimízarOSr» Ter_Mnii()( TmplicanC),NJNuevn, Simple)
If Simple •= O Then
ÁuxiO ~ AuxiO & "O Lógico"
Endlf
If Simple*! Then
AuxiO - ÁuxiO & "1 LxSgico"
Endlf
If Simple = 2 Then
Filos_Nue =N_Nuevo
AuxíO =Excitaci(0, Función) & " = "
ForI»OToFÍlas_Nue
PágLm 21
ForJ = OTo Cohim
fflmplicanO, J) - O Then
AuxiO = AuxÍO;& Variabtes(0t J) & "'"
Endlf
_ .:
IflmpiicanO; J)H 1 Then
AuxiO = AuxíO & Variables(0, J)
Endlf
If ImpHcanft J) - 2 Then
AuxíO = AuxiO
Endlf
NexlJ
Hl<Fíías_NueThen
AuxiO ="AtDdO&" I "
Endlf
Nextl
Endlf
Endlf
Label2.Capíion=AuxiO
Función = Función 4- I
If Función - Total +1 Then
CominandS.Caption = >f&GK."
Endlf
If Función — Total -I- 2 Then
Unload Form3
Form3.Show
Labeí3.W¡dth=5000
Textl.Top
Textl.Left =
Textl.WÍdih«2000
Command2.Top = 3720
Command2.Left=72ÜÜ
Command2.Wldlh « 2295
Label3.Visible»-l
Textl. Visible = -1
Cüiiniiarid2.Visibltí ^ -1
Textl.SeíFocus
Endlf
EndSub
Prívate Sub Command4_Click()
Combo2.Visible = 0
Grid3.Yisible = 0
Command4.VÍBÍhle = O
Label2.Leíl=0
Labe!2.Top = 3720
LabeI2.WÍdth«7000
Label2.VisibIe«-l
GomniandS.Visíble = -1
Gommand4.Visible = O
ReDim Ter_Mini(Filas)
ReDimJnqjlicanQFilas, Colum)
ForI = OToFÍlas
Ter Mini(I)«Binario3(r, Función)
Nexíf
CnJI Miniraízai^N, Ter_Mini(), ImpIicanQ, N^Nuevo, Simple)
Fi Ias__Nue ~ N_Nuevo
Form3.LabeÍ2.Visible - -1
AuxiO =Exciíaci(Q, Función) & " = "
If Simple ^GTlieii
AuxiO = AuxiO & "O Lógico"
Endlf
If Simple-1 Then
AuxiO »AuxíO & "1 Ló^co"
Endlf
If Simple «2 Then
Forl^OToFilasJNue
ForJ = OToColnm
IfImpUcan(I, J) - O Tlien
AuxiO = AuxiO & Variables(0, J) & "'"
Endlf
JfImplicrm(I, J) -1 Tlien
AuxiO = AuxíO & Variables(0( J)
Endlf
IfBnplican(r, J) = 2 Then
AuxiO=-AuxiO
Endlf
NextJ
Págúia 22
If I < Fílas_Nue Then
AuxiO=AuxÍO&"-f "
Endlf
Nextl
Endlf
Form3.Label2.Caption - AuxíO
Función — Función -f-1
EndSub
Prívate Sub Form_GUck()
Gis
EndSub
Privaíc Sub Form_LoadO
Cambo2.AddItem "FF JK"
Combo2.AddItem "FF SR"
Combo2.Ad(Dtem "FFD"
Combo2.Adctttem "FFT"
Kiif! Sub
Prívate Sub minterQ
EndSub
Prívate Sub Optionl_Click()
Form3.0ption2.Visible - O
If Bandera2 - O Then
FormS.Combol. Visible = -1
Else
Form3.Opiionl. Valué = O
Form3.Option2.Visible - -1
Form3.Optíon2. Valué = O
FormS.Framel. Visible - ü
Form3.Combo2.Visible « -i
Endlf
EndSub
Prívate Sub OptioH2_CUck()
If (Bandera! < Filas -I-1 And Bandera2 = 0) Then
If Opíion2.Valuc Then
Form3.Gridl.Rovv=Banderal +1
Form3.Grid2.Row=Banderal +1
ForI = O T o N - l
Form3.Gridl.Col =1+1
Form3.Grid2.Col='T+l
Binariol (Bandera!, 1) - 2
Bínario2(Banderal, I) = 2
Fonn3.Gridl.Text«"X"
Form3.Grid2.Text = "X"
Nextl
Bandera! = Bandera! + 1
Etiql = "Existe el estado (" &Banderal & ")?"
Form3.Label4.Captíon = Etiql
Fonn3.Opíion2.Valué - O
If Bandera! «Filas + 1 Then
Etiq2 = "Están correctos los datos"
Form3.Labe J4. Capitón =Etiq2
Bandera! = O
Bandera2=l
Exit Sub
Elidir
Endlf
Endlf
If Bandera! •=• O Then
ForJ=OToColum
Fonn3.Gridl.Col=J+l
Forni3.Grid2.Col = J4-1
Valor = O
ForI=OToFilas
If Kl - O And Valor - O Then
Valor = 1
K1=K
Fjidlf
IfK! = O And Valor= 1 Then
Valor - O
Endlf
Página 23
BÍnariol(I,J)=Vu|or
K1=K1-1
Form3.Gridl.Row*-J+ 1
Form3.Gridl.Tejrt = Valor
Form3,Grid2.RowHr + 1
Forni3.Grid2.Text»'111
Nextl
NextJ
Eíiql = "Exísíe el estado (" &BHnderal & ")?"
Form3.Label4.Caption =* Eííql
Fonn3.OplÍun2. Valué — O
Bandera2 - O
EndJf
EndSub
Prívate SubTextl_KeyDovm(KeyCodeAsMeger, ShiftAsInteger)
IfKeyCode=13Tlien
Cali Command2 Click
RndTf
Eiid Sub
PANTALLA QUE PRESENTA LAS TABLA EN EL PROGRAMA
VERSIÓN 4.00
Begin VB.Fonn Forra4
Appearance = O T"let
BackColor
= &H80000005&
Capíion
- "Tablas"
ClientHeiglit - 4050
ClíentLeft
- 1680
ClientTop
- 1905
ClientWidíh - 7455
BeginProperty Font
ñame
— "MS Sans Serif'
charset
= 1
wcigbí
- 700
size
— 3.25
underlíne
= O TTalse
italic
^ O 'Faltfc
strikethrou^i *= O 'Folse
EndProperfy
ForeCoIor
« &H8Q000008&
Height
= 4455
T^ft
- 1620
LbkTopic
= "Fonn4"
ScaJeHeíght = 5 4 0
ScaleWidth = 540
Top
« 1560
Width
= 7575
Begín VB.CornmandButíon Commandl
Appearance
— O *Flat
BackColor
= &H80000005&
Caption
= "Sa&lir"
BeginProperty Font
naine
= "Times New Román"
charset
= 1
weight
= 700
size
=12
underlíne
— O 'False
ilulic
- O 'False
strikethrough = O 'False
EndProperty
Height
- 375
Left
- 5760
Tablndex
» 1
Top
= O
Width
* 1575
Knd
Begin VB.ComboBox Combol
Appearance
= O "Fíat
BeginProperty Font
ñame
= 'Times New Román"
cliarset
= 1
weight
= 700
size
= 11.25
underline
= O ^False
italic
= O Talse
Págbia 24
sfrikeíhrough = O 'False
EndProperty
Height
» 375
Lefi
= 120
Tablhdex
= O
Text
= "Haga""Clic"" enílechaderecliaparaverlastablas"
Top
= ü
Width
= 5415
End
Begin VB.Image ünagel
Appeanuice — O 'Fluí
Height
= 3495
Left
=0
Top
-» 480
Width
= 7455
End
End
Attribute VBJNarae - "Fonn4"
Aítrihiite VB_Creaíahle - False
Attribute VB_Exposed = False
Prívate Sub Combol_ClíckO
On Error GoTo mensajel
índice = Combol.L¡stIndex
Select Case índice
Case O
Coption= "Tabla 1.1"
&iiagel.Picture=LoadPicture('lC:VDISESIAC\TABLAS\TABLl--01.BMP11)
Casel
Caption ='Tabla 1.2"
Imagel.i)¡cture=LoadPicíure(l'G:\DlSESIAC\TABLAS\TABU-ü2.BMP")
Case 2
Caption = 'Tabla 1.3"
Iniagel.Picture = LoadP¡ciure(''C:\DLSESIAC\TABLAS\TABLl-03.BMPlt)
Cas<¿3
Ca|>tÍoti= 'Tabla 1.4"
Imagel.Picture = LoadPÍcture(»C:\DISESIAC\TÁBLAS\TABLl-04.BlvíP")
Case 4
Caption ='Tabla 1.5"
ünagel Jicture = LoadPÍcíure("C:\DISESIAC\TABLAS\TABLl-05.BMP")
Case 5
Caption = 'Tabla 1.6"
ImageJ .Piciiire = TxiadPichire("C:\nifíKSÍAC\TARLAS\TABU -Ofi.BMP")
Case 6
Caption ='Tabla 1.7"
Imagel.Picture - Ix)adPicture("C:\DISESIAC\TABLAS\TABLl-07.BMPl()
Case 7
Caption ='Tabla 1.8"
ImageLPicture = ^adPi(rture("C:\DISESIACVrABLAS\TABLl-08,BMP'')
Case 8
Captíon ='Tabla 1.9"
ImageLPicture = LoadPicture(" C:\DISESIAC\TABLAS\TABL1-0 9.BMP")
Case 9
Caption ='Tabla 1.10"
OmageLPicüre - ix)adPicture(" C:\DISES1AC\TABLAS\TABL1-1U.BMP")
CaselO
Caption ='Tabla Lll"
Imagel.Picture=LoadPÍcture("C:\DISESIAC\TABLAS\TABLl-ll.BMP'')
Case 11
Caption = 'Tablal.l2"
foiageLPichre = LoadPicíure("C:\DISEfíIAC\TABLAS\TABLl-12.BMP")
Case 12
Caption ='Tabla 1.13"
ImaselJ>icíure=I^adPicture("C:\DISESIAaTABLAS\TABLl-13JBK£P1')
CaselS
CaptÍon = 'Tabla 1.14"
Tmagel .Picüire = T^fulPictiire("C:\r)TSF^TAC\TABTAí?\TABT,1 -14.BMP")
Case 14
Caption ='Tabla 1.15"
Imagel.Picture - LoadPicture("C:\DISESIAC\TABLAS\TABLl-15.BMP")
Case 15
Caption ='Tabla 1.16"
Imagel.Picti4re=Ix)adPicture("C:VDISES]AC\TABLAS\TABLl-16.BMP")
Case 16
Captton= 'Tabla 1.17"
Bnagel.Pichire=Ix)adPicture(''C:\DISESIAC\TABLAS\TABLl-17.BMP")
End Select
Página 25
Exit Sub
mensa} el:
MsgBox "No se ha especificado Figura", 16
ResumeNext
.'* - 4
End Sub
**
Prívate Sub Commandl_CJ¡ck()
Un load Form4
End Sub
Prívate Sub FoniiJLoudQ
ComboLAdeUtem 'Tabla 1.1"
Combol.Addlíem "Tabla 1.2"
Combol.Addlícm "Tabla 1.3"
Combol.Addltem 'Tabla 1.4"
Couibol.Addlíem 'Tabla 1.5"
Combol.Addltem 'Tabla 1.6"
CombolAdcfflem 'Tabla 1,7'
Combo! .Addítem 'Tabla 1.8"
CoraboLAddltem 'Tabla 1.9"
Combol.Addlíem 'Tabla 1,10"
Combol.Addltem 'Tabla 1.11"
Combol.Addltem 'Tabla 1.12"
ComboLAddltem 'Tabla 1.13"
ComboLAddltem 'Tabla 1.14"
Combol.AddItem'Tabla 1.15"
Combol.Addltem 'Tabla 1.16"
Combol.AddItem 'Tabla 1.17"
End Sub
PANTALLA QUE CONTIENE LA SUBRUTINA PARA REALIZAR EL DISEÑO DE LOS DETECTORES DE SECUENCIAS
DE CÓDIGOS.
VERSIÓN 4.00
Begin VB.Form FormS
Appearance = O TFlat
BíickColor
- &H80000005&
Captíon
= "Diseño de detectores de secuencias de códigos"
Clientlleigbt = 5595
ClicntLcft - 1890
ClientTop
- 1545
ClieniWídtb = 7605
BeginProperty Font
ñame
= 'Times New Román"
charset
— 1
weighí
=700
size
= 12
underline
= O "False
italic
= -1 True
strikethrou^i = O 'False
F-ndProperty
ForeColor
- &H80000008&
Height
= 6000
Left
= 1830
LínkTopic
= "Form5"
MDIChild
= -1 True
ScaJeHeight = 54Ü
ScaieWidth = 540
Top
= 1200
Width
= 7725
Begiii VB.Fraiiie Fnune4
BackColor
- «&HOOFFFFFF&
Heigbt
= 1575
Lcft
- 6360
Tablndex
= 28
Top
= '1800
Visible
= O "False
WidÜi
- 3015
Begín VB.OptionButton Option6
BackColor
= &HOOFFFFFF&
Caption
= 'Tabla de implicación"
BeginProperty Font
ñame
— 'Times New Román"
cbarset
= 1
weight
= 700
size
= 12
underline
= O "False
Página 26
iíalic
= O 'False
striketlirough = O 'False
EndProperty
Heigíit
= 375
Left
= 120
Tablndex
- 30
Top
- 1080
Width
= 2295
End
Begín VB.OptionButioD OptíouS
BuckCulur
- &HOÜFFFFFF&
Caption
= "Pailic iones"
BeginProperty Font
ñame
-*• "Times New Román"
charset
= 1
weigbt
= 700
size
= 12
underline
= O 'False
¡talle
— O Talse
strikethrough = O Talse
EndProperty
Height
= 375
Left
= 120
Tabfodex
- 29
Top
- 720
Width
= 2295
End
Begin VB.Labe! Labe!5
BackColor
- &HOOFFFFFF&
BorderStyle = 1 Tneed Single
Caption
= "Método de simplificación"
BeginProperty Font
ñame
» "Times New Román"
charseí
= 1
weigíil
*- 700
size
= 12
underline
** O 'False
italic
— O 'Falsc
striketfarou^i "=• O 'False
EndProperty
Height
= 375
Left
» 120
TahTnrlex
= 31
Top
= 240
Width
= 2775
End
End
Begín VB.Frame Framel
Appearance = Q *Flat
BackColor
= &H80000005&
BegíiiProperty Font
ñame
= "MS Sans Serif'
charset
— I
weíght
= 700
size
-« «.25
underline
= O Talse
italic
- O "False
strikethrough — O *False
EndProperty
ForeColor
= &H80000008&.
Ileight
= 3015
Lcft
- 1440
Tablhdex
= 15
Top
- 120
Visible
= O 'False
Wídth
- 4815
Begin VB.CommfindBiitinti Commnndfi
Appearance = O 'Fíat
BackColor
- &H80000005&
Caption
« "&Aceptar"
BeginProperty Font
ñame
= 'Times New Román"
charset
=* 1
weight
= 700
size
= 12
underline
= O 'False
italic
— O "False
Página 27
strikethrough = O 'False
EndProperty
Height
» 375 .:
Left
= 2760 H
Tablndex
27* t
Top
= 240
Width
- 1935
End
Begin VB.Frame Frame3
Appearance = O Tlat
BuukColor
- &H80000005&
Capííon
= "Entrada X=l"
BeginProperty Poní
ñame
= "MS Sans Scrif '
charset
= 1
weíght
« 700
size
= 8.25
underline
— O "False
ítalíc
= O ^alse
strikethrough = O 'False
EndProperty
ForeCoIor
- &H80000008&
Heíghí
=- 2200
Left
= 2450
Tablndex
=18
Top
- 720
Width
= 2250
Begin VB.HScro!lBarHScroll2
Height
=300
Letí
« 120
Mnx
•= 1
Tablndex
« 26
Top
- 1800
Wídth
= 2000
Eiid
Begin VB.TextBox Text4
Appearance = O 'Fíat
BcginFropcrfy Font
ñame
= "MS Sans Serif '
charset
= 1
weighí
— 700
size
— 8.25
underline
= O Valse
italic
= O "False
stríkethrou^i = O 'False
EndProperty
= 375
Height
Left
= 120
Tablndex
= 25
Top
= 1305
Width
- 2000
End
Begin VB.OptionButíon Opíion4
Appearance = O 'Fíat
BackCotor
= ¿4H80ÜOOOÜ5&
Caption
- "Salida Z=l»
BegínProperty Font
nanie
= "MS Sans Serif'
cliurset
—1
weíglit
= 700
size
= 8,25
underline
— O 'False
italic
= O "False
strikethrough = O 'False
FjidProperty
ForeCoIor
= &H80000008&
Height
= 375
LefL
- 120
Tablndex
= 24
Top
- 720
Width
= 1800
End
Begin VB.OptionBuíton OpíionS
Appearance = O 'Fíat
BackCoIor
- &H80000005&
Caption
= "Sa!idaZ=0"
BegínFroper^ Font
Página 28
ñame
= "MS Sans Seríf'
cbarset
— 1
weight
- 700
size
= 8.25
underline
*=* O Talse
italic
= O 'False
sfrikeíhrough = O 'FaJse
EndProperty
ForeCoIor
- &H80000008&
Heighi
= 375
Lcll
- 120
Tablndex
= 23
Top
= 360
Width
- 1800
End
End
Begin VB.Frarae Frame2
Appearance
= O Tlat
BackColor
- &H80000005&
Caption
= "Entrada X= O"
BeginProperty Font
ñame
» "MS Sans Serif'
charset
= 1
weíght
- 700
síze
~ 8.25
underline
— O 'FaJse
italíc
«= O Talse
striketlirough - O *False
EndProperty
ForeCoIor
= &H80000008&
Beight
« 22ÜO
Lefl
« 120
Tablndex
=17
Top
= 720
•WidÜi
- 2250
Begin VBJHScrollBar HScrolíl
Ileight
=300
Lcft
-> 120
Max
- 1
Tablndex
= 22
Top
» 1800
Width
= 2000
Km!
Begin VB.TextBoxText3
Appearance
~ O "Fíat
BeginProperty Font
ñame
» "MS Sans Serif'
charset
= 1
weíght
« 700
size
= 8.25
underline
= O Taíse
italic
= O 'False
strikethrough = O "FaJse
EndProperty
Heíght
- 375
Left
= 120
Tablndex
« 21
Top
= 1300
WidÜi
- 2000
End
Begin VB.OptíonBuíton Option2
Appearance
™ O 'Fíat
BackGolor
- &H80000005&
Caption
- "SalidaZ-l"
BeginProperty Font
ñame
= "MS Sans Serif'
charset
— 1
weight
- 700
size
= 8.25
underline
= O Talse
Halle
= O "False
striketlirough = O 'False
EndProperíy
ForeCoIor
= &H80000008&
Height
- 375
Left
= 120
Tablndex
- 20
Página 29
Top
= 720
Width
= 1800,
End
;
Begin VB.Opt¡onButíót£Opt¡onl
Appearance = O *FIaí
BackColor
= &B80000005&
Coption
= "Salida2 = 0"
BeginProperty Font
ñame
= "MS Sans Serif'
charset
= 1
Weigbt
- 700
size
= 8.25
underline
= O TTalse
iíalic
« O "Falsc
sirikethrough = O 'False
EndProperty
ForeColor
» &H80000008&
Height
=375
Left
= 120
Tablndex
= 19
Top
=360
Width
= 1800
End
End
Begin VB.Label Labe!4
Appearance = O *FIat
BackColor
» &H80000005&
BorderStyle = 1 Tixed Single
BeginProperty Font
naine
= "Times New Román"
churset
—1
weight
= 700
size
- 9.75
underlíne
= O 'False
itulic
^ O Talse
striketíirough = O 'False
EndProperty
ForeColor
-= &H80000008&
Heíght
- 375
Lefi
= 120
Tablndex
=16
Top
« 240
Wiflth
= 2505
End
End
Begin VB.TexíBoxTexi2
Appearance
= O 'FJat
BeginProperty Font
ñame
- "MS Sans Seríf
charset
= 1
weight
— 700
stze
= 8.25
underl íne
= O IFalse
italic
= O "False
strikethrough = O 'False
EndProperry
Heigbt
- 495
Left
- 6600
Tiibludex
— 14
Top
= 3240
Visible
« O líalse
Width
- 2655
End
Begin YB.CommandButton Command?
Appearance
= O Tlat
BackColor
« &H80000005&
Captinn
— "S&igniente"
BegíriProperty Font
ñame
~ "Tímes New Román"
charset
= 1
weight
« 700
size
= 12
underline
™ O Talse
italic
= O ^alse
stríkethrou^i — O 'False
EndProperty
Height
- 495
Págjjia 30
Left
- 8040
Tablndex:
= 13
Top
« 3960
= O "False
Visible
Width
- 1455
End
Begin VB.CommandButton Command6
Áppearance - O TI al
BackColor
= &H80000005&
Caption
= "Calc&ular"
BegiuProperty Ftml
nanie
= 'Tunes New Román"
charset
= 1
wctght
- 700
size
= 12
underlíne
= O 'False
italíc
= O 'False
strikethrough — O Talse
KndProperty
Heigbt
= 495
Lefi
« 6480
Tablndex
= 12
Top
- 3960
Visible
= O 'False
Wídth
= 1455
End
Begin VB.ComboBox Combol
Áppearance
= O 'Fíat
BeginProperty Font
oame
= 'Tínies New Román"
charset
= 1
weíght
= 700
size
= 12
underlioe
= O Talse
iUdic
-
O Tbüse
striketlu-ough = O 'False
EndProperiy
Hcight
-^405
Left
- 6480
Tablndex
= 10
Test
= 'TipodeFlípFlop"
Top
- 120
Visible
= O T^alse
Width
= 2535
End
Begin VB.CommandButton Command5
Áppearance
» O 'F! ai
BackColor
= &H80000005&
Caption
= "&CalcuIar"
BegiriProper^ Font
ñame
— 'Times New Román"
charset
= 1
weight
=700
size
= 12
underlíne
= O 'False
italic
= O 'False
siríkethrough = O *False
EndProperiy
Heigljl
- 495
Lefi
= 2400
Tablndex
- 7
Top
- 5400
= O 'False
Visible
Width
- 1575
End
Begin VB.CommandButton Command4
Áppearance =* O "Fíat
BackColor
- &H80000Q05&
Caption
= "&Acepíar"
BeginProperty Font
ñame
= "Times New Román"
charseí
- 1
weight
= 700
size
= 12
\inder!íne
™ O *False
ítalic
= O "False
strikethrough " O 'False
Página 31
EndProperty
Heíght
=495 : ;
Left
» 4680
.,
Tablndex
= 6
¿^
Top
- 4680 I*
Wídlb
= 1575
End
Begín VB.CommandBulton CommandS
Appearance "= O 'Fíat
BackColor
= &H80000005&
Cuplíun
— "obAcepUir"
BeginProperty Font
ñame
•= 'TimesNewIloman"
charsct
~ 1
weight
- 700
size
= 12
underline
= O Talse
ííaJic
- O 'False
strjkethroiigh = O 'Fnlse
EndProperty
Height
- 495
Lefi
« 4680
Tablndex
- 5
Top
= 3960
Width
- 1575
End
Begin VB.CommandButton Command2
Appearance
= O 'Flal
BnckCoIor
= &H80000005&
Captíon
= "&SimpÜíicar"
BeginProperíy Font
ñame
~ 'Times New Román"
charscí
==" 1
weighí
=700
size
— 12
underline
= O 'False
italic
= O "False
sírikcthrough ™ O 'False
EndProperíy
Height
=495
Left
= 4680
Tablndex
= 4
Top
- 5400
Visible
= O 'False
Width
= 1575
Fjid
Begín VB.TextBoxTextl
Appearance
= O 'Fíat
BeginProperty Foní
ñame
— 'Times New Román"
charset
= 1
weiglit
« 700
size
- 12
underiine
— O "False
italic
— O 'False
striketlirough = O 'FaJse
EndProperty
Height
=495
Leil
« 3720
Tablndex
= 2
Top
= 3240
Visible
-* O 'Falso
Width
= 2535
End
Begín VB.CommandButíon Commandl
Appearance
= O Tlat
BnckCoIor
= &H80000005.&
Caption
- "Sa&lír"
BeginProperty Font
ñame
™ 'Times New Román"
charset
«* 1
weíght
= 700
size
= 12
underline
= O {False
italic
- O 'False
strikethrough = O 'False
EncIProperty
PágJJia 32
Height
= 495
Left
« 120
Tablndex
= O
Top
- 5400
Width
- 1575
End
Begin VB,Label Label3
Appearance — O 'Fíat
BackColor
- &H80000005&
BorderSryle = 1 "Fixed Single
Caplion
— "Diseílü medíanle el diagrama de estados"
BeginProperíy Font
ñame
*** "Times New Román"
charsct
~ 1
weight
- 700
size
= 12
underline
= O "False
italic
- O Talse
strikethroiigh = O "Früse
EndProperty
ForeColor
= &H80000008&
Height
= 495
Left
- 120
Tablndex
= 9
Top
= 4680
Width
= 4335
End
Begín VBXebel Label2
Appearance = O 'Flaí
BackColor
« «SkH80000005&
BorderSfyle = 1 'Fixed Single
Caption
= "Diseüo medíante el ingreso del código"
BegínProperty Font
ñame
= "Times New Román"
charsel
—1
weight
= 700
síze
= 12
underline
~ O Talsc
italic
= O "False
strikemrough = O ^alae
EntlProperty
ForeColor
= &H80000008&
Height
= 495
Left
« 120
Tablndex
= 8
Top
= 3960
Width
= 4335
End
Begin VBXabel Labell
Alígnnient
= 2 'Center
Appearance = O 'Fíat
BackColor
= &H80000005&
BorderStyle - 1 'Ftxed Single
Caption
— "Ingrese el código de la secuencia"
BegínProperíy Foní
ñame
= "Times New Román"
charset
= 1
weight
= 700
size
-= 12
underline
= O 'False
italic
« O 'False
sírikctítrough ~ O Talsc
EndPropertj'
ForeColor
- &H80000008&
Height
= 495
Left
= 120
TahTndex
= 1
Top
- 3240
Visible
= O "False
Width
« 3495
End
Begín MSGrid.Gríd Grid2
Height
= 1935
Left
= 6480
Tablndex
=11
Top
- 720
Visible
- O False
Página 33
Width
= 2535
_versíon
= 65536 . .
_extentx
= 4471 • ;
_extenty
= 3413 • ,
_slockprops = 7 7 ! *
BeginProperty Ibnt {FB8IJ0823-0164-101B-84ED-08002B2EC713}
ñame
— 'Times New Román"
charset
= 1
weight
— 700
size
= 12
uuderlnie
— O 'Fulse
ítalic
= O 'False
strikeíhrough « O "False
EndPropcrty
rows
= 5
cois
= 5
mouseícon
» 'TESIS-05.fc":QOGO
End
Begin MSGrirLGrirf Grid]
Height
= 3015
Left
= 120
Tablndex
» 3
Top
= 120
Visible
= O "FaJse
Wídih
* 1215
__verBÍon
= 65536
_exíenlx
= 2143
_extenty
= 5318
_síockprops = 77
BeginProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
ñame
*= 'Times New Román"
charset
= 1
weight
= 700
size
= 9.75
iniderline
— O "Fulse
italic
= O Talse
sírikemrough •* O 'J?alse
EndPropcrty
cois
= 6
mouseicon
= 'TESIS-05.frx":OOlC
End
End
Attrihute VBJsTame = "Form5"
Aítribute VB_Creatable « False
Atíribuie YB_Exposed = False
Dim Largo, N, Código, Bandera, Contador, DigítoQ
Dím EstadosC), DisenO, Filas, Colurn, Auxiliar
DimBÍnariol()íBinario20,BÍnario3()í SalidaO, Control
Dím Función, Ter_MinÍ(),Impl!can(), Simple,N_Nuevo
Dim VariablesQ, ExcitaciQ» Total
DimNum^Esta, EstadoO, Estadol, SalídaO, Salidal
Dim Est_AuxÍ(), Vec_Part(), AuxiO, Auxil, Esíados_Equiv()
Dim Equiv__Prúi(), Equiv_Auxí()
Sub Sim_liiiplO
findSub
Sub SÍm_PBrt()
J£ Control = 2 Tlien
ReDim Vec_Purt(FÍllis)
ReDím Esí_Auxi(F¡las, 4)
ForI=OTo Filas
Vcc Parí(I)--l
Nextl
Bandera = O
AuxiO = O
'Determinación de las particiones iniciales de más de un estado
ForI«OToFilas
IfVec Part(I)=-lT¿en
For"j«I+lTo Filas
IfVec_Parí(J)--lThen
ForK=3To4
If Esíados(I, K) - Estadoa(J, K) Then
Bandera=Bandera + 1
Endlf
NextK
IfB andera =• 2 Then
Página 34
Vec_Part(I)=AuxiÜ
Vec_Part(J)=AuxiO
Bandera= O
Else
Bandera5* O
Eudlf
HndJf
NextJ
IfVec_Part(I) = Vec PartCÓ =
Elidir"
AuxiO = AuxtO + 1
Endlf
Ncxíl
'Generación de una matriz auxiliar de particiones iniciales
i
ForI=OToFÍlas
ForJ=ÜTo4
TfJ = OTheti
Est Auxi(I,J)=Vec Partfl)
Endlf
IfJ=lOrJ=2Then
ForK>OToFilas
If Estados(I, J) = Estados(K, 0) Then
Est^AuxíO; J) = Vec_Part(K)
ExilFor
Endlf
NextK
Endlf
IfJ=30rJ = 4Then
Est_Aux¡(l, J) =Estados(J, J)
Endlf
NextJ
Nextl
Forl-OToFihis
GrÍdlJRow-I+1
ForJ=GTo4
Gridl.Col-J+1
Gridl.Text - Esi_Auxi(I( J)
NextJ
Nextl
Control - 3
Exít Suh
Endlf
•Determinación del número máximo de particiones con estados equivalentes
'.„..,„__—
._...™__™—,—
.____.._.._._.,.
Bandera=0
If Control = 3 Then
Auxil = 0
Tiiicíalizo vector de particiones
ForI=OToFilas
Vec_Part(I)--l
Nextl
'Generación de un vector con el nuevo número de particiones
Forl^OToFilas
IfVec PartOO^
ForJ-I+lToFiliu
IfVec-Part(J)--liIhen
If Est_Aicd(I, K) -Est_Auxí(J, K) Ihcn
Bondera^Banderu-l- 1
Endlf
KextK
IfBandera =
VecPart(J)
Bandera= O
Else
Bandera" O
Endlf
NextJ
If Vec Part(I) - -1 Then
Endlf
Página 35
Auxil—Auxil + 1 .
Endlf
P
Nextl
tk
'Geiteración de uti vectorjauxiliar de estados coo las nuevas particiones
'„„_.„
„_______
„_____„
ForI=OToFilas
For J - ü To 4
IfJ^ÜThen
Est Auxi(LJ)=Vec Parf(I)
Endíf
ITJ-10rJ-2Tíi-ii
ForK=OTo Filas
If Estados(I, J) - Estados(K, 0) Then
Est_Auxi(I, J) - Vcc_Part(K)
ExítFor
Endlf
NexíK
Endlf
If.T=30rJ=4Then
Est_Auxi(I, J) = Estados(I, J)
Endlf
NexíJ
Nextl
ForI=OToFilas
Gridl.Row-I+1
ForJ=OTo4
Grldl.Col-J+1
Gridl.Text=Est_Aux¡(I, J)
NextJ
Nexíl
If Auxíü — Auxil Tíien
Control = 4
Else
AiKÍO= Auxil
Exit Sub
Endlf
Endlf
If Control" 4 Thcn
ReDim Estados_Eí]uiv(AuxíO -1)
ForI=OToAuxiO-i
Equiv = O
ForJ=OTo Filas
lfEst_AiU!¡(J,0)=-TTlien
Equi V23 Equív +1
NextJ
ForJ=OToFüas
IfEsí_AuxÍ(JfQ)-IThen
IfK-Equtv-lThen
Estados_Equiv(I) •= Estados_Equiv(I) & Equiv_Prin(J)
Else
Estados Equiv(I)=Estados_Equiv(l)&Equiv Prin(J) &.","
Endlf
K-K+1
Endlf
NextJ
Letra =Chr$(97+I)
Estados Eqiiiv(I)-^Ltlra&."-"&.Esliiüos_EquivCO
Nextl
Tresentacíón del número máximo de particiones en pantalla
For I = O To AuxíO - 1
Letra =Chr$(97-H)
ForK=OToFÍlas
TfEst_AiKÍ(KíJ)=IThen
Est_Auxí(Kr J) « Letra
Endlf
NextK
NextJ
Nextl
Gridl.Rows *• Filas -f- 2
For 1 = O To Filas
Gridl.Row = I + l
ForJ=OTo4
Gridl.Col=J+l
Página 36
Gridl.Text = Est_Auxí(I, J)
NextJ
Nextl
Control - 5
ExitSub
Endlf
Vec_Part(I) = -1
Nextl
Bandera=0
FurI^OTüFüas-1
IfVec_Part(I)=-lThen
ForJ = I l ITo Filas
IfVcc_Part(J)---lThcn
ForK>OTo4
IfEsí_Auxi(I, K) =EsLAuxi(Jf K) Then
Bandera=Bandera-i- 1
Endlf
NextK
IfBandera=5Then
Vec_Part(J) = O
Bandera = O
Else
Bandera = O
Endlf
Endlf
NextJ
Endlf
Nextl
ReDim Estados(Aux¡0 - 1, 4)
JC~0
ForI = ÜTo Filas
m/ec_Parí(I) = -1 Then
ForJ=OTo4
NexíJ
K=K I I
Endlf
Nexíl
Filas ~ AuxiO - 1
GridlJlows^FiÍQs + 2
ForI=OToFilas
ForJ=OTo4
Grídl.Col^J+1
NextJ
Nextl
Gridl.Cois = 7
Gridl.Co!=6
Gridl.Row=0
Gridl.Text= "Equivalencia"
Gridl.Co! Width(6) « TextWídth(Grídl.Text)
ForI=OToAuxiO-l
Gridl,Row-l + l
Gridl.Text = Estados EquÍv(I)
NexíJ
Labell.Caption = "Esta es la tabla de estados simplificada"
Control — 6
EndSub
Prívate Sub Combol_Click()
Command6.Visible == -1
'selección de tipo deFIipFlop y creacióu de latablarespectiva
f__________________„„_.„______________—__„.___ _______________
'Form3.Label2.VisÍble= O
'FnrmS.Laben .Widíh - 7000
Tipo « CombolXisÜhdex 'Indicador del tipo de Flip Flop
Gríd2.Vis¡ble = -l
Grid2.Col - O
For]>lTo4
Grid2.Row = I
Grid2.Text = I - l
Grid2.ColWidth(0) =TextWidtb(Grid2.Text) * 1.5
Nextl
Grid2.Row=0
ForI-lTo2
Página 37
ff I»1 Then Variable ~ "Qn" Else Variable « "Qn+1"
Gríd2.Col=I
*.;
Grid2.Text = Variable H
Gnd2.ColWidtíi(I) = Texróidth(Grid2.Text) * 1.1
Nexíl
H
Select Case Tipo
Case Ü, 1
Total = 2 * N - 3
'Número de columnas adicionales de la tabla de excitación
Columnas = 3
'Columnas de laMaíriz MBinario4()"
Grid2.Cols * 5
'Columnas del "Grid2"
If Tipo - O Tlieii
LabelLCaption = "Esta es la tabla de excitación con Flip Flpos Tipo JK"
Grid2.Col = 3
Grid2,Tcxt^"J"
Grid2.ColWídíh(3) -TextWídth(Grid2.Text) * 2
Grid2.Col=4
Grid2.Text="K"
TextW¡dth(GrÍd2.Text) + 2
Labell.Captíon - "Esta es latabla de excitación con Flip Pipos Tipo SR"
Grid2.Col = 3
Grid2.Text="S"
Gríd2.ColWÍdíh(3) -TextWidth(Grid2.Texí) * 2
Grid2.Col=4
Gríd2.Texí="R"
Grid2.ColWidtíi(4)«TextWidm(Gríd2.Text) + 2
Endlf
Case 2, 3
Total = N - 2
húmero de columnas adicionales de la tabla de excitación
Columnas = 2
'Columnas de la Matriz HBinario4()"
Grid2.CoIs=*4
'Columnas del "Grid2"
If Tipo = 2 Then
LabelLCapüon = "Esta es la tabla de excitación con Flip Flpos Tipo D"
Grid2.Col = 3
Grid2.T«cl-"D"
Grid2.ColWÍdth(3) «=TextWidth(Grid2.Text) + 2
Else
Labcll.Capíion ~ "Esta es la tabla de excitación con Flip Flpos Tipo T1
Grid2.Col=3
GrÍd2.Text="T"
Grid2.ColWidth(3)=TextWÍdÜi(Grid2.Text) * 2
Endlf
End vSelect
'Generación de latabla de exitación de los Flip Flops en "BÍnario4()"
!___,__
_, __
_„_
ReDimBinario4(3, Columnos)
ForJ = OTol
Valor = O
K1=K
ForI«OTo3
IfKl = O And Valor - O Then
Valor"!
Endlf
IfKl - O And Valor »1 Then
Valor=0
K1=K
Eudlf
BÍnarÍo4(I, J) = Valor
K1=K1-1
Ncxíl
NextJ
Select Case Tipo
Case 0,1
If Tipo - O Then
For T = O To 3
ForJ-2To3
Select Case I
Case O
If J = 2 Then Valor = O Else Valor = 2
Casel
If J» 2 Then Valor» 1 Else Valor= 2
Case 2
If J - 2 Then Valor - 2 Else Valor » 1
Case 3
IfJ-2 Then Valor=2Else VaJor=0
Págbia 38
End Select
Binan o4(I,J)= Valor
NextJ
Nextl
Else
ForI=OTo3
Select Case I
Case O
IfJ = 2Then Valor=0 Else Valor = 2
Cusel
If J = 2 Tlien Valor = 1 Else Valor = O
Case 2
If J = 2 Thcn Valor - O Else Valor - 1
Case 3
JfJ = 2ThenValor=2ElseValor=0
Ead Select
Bmarío4(I, J) = Valor
NextJ
Nextl
Endlf
Case 2, 3
IfTipo = 2Then
ForI=OTo3
Select Case I
Case O
Valor = O
Case 1
Valor =1
Case 2
VaJor=0
Case 3
Valor=l
End Select
Bimirío4(I,2)-=Valor
Nextl
Else
ForI-OTo3
Select Case I
Case O
Valor = O
Casel
Valor =1
Case 2
Valor =1
Case 3
Vaior=0
End Select
Binan 04(1, 2) - Valor
Nextl
Endlf
End Select
Impresión de la tabla de excitación del Flip Flop seleccionado en "Grid2"
i___________ _________ _______ __ ___ __ _____„__„„_„„...,_.„.„„. „„_....____
Forl-OTo3
Grid2.Row=I+l
For J = O To Columnas
Grid2.Col = J+l
IfBÍnnrío4(I, J) - 2 TUeii Valor ^ "X" Else Vtdur^Bmnriu4(rf J)
Gi-id2.Text = Valor
NextJ
Nextl
'Generación de las variables inicíales para la creación de latablade
'excitación
'..-,_™™H.___-__- _ _ _ - _ -_____________________________________ _ _ _ _ _ _ _ _
Final = 2 * N + 2 + Total Nfimero de columnas de la tabla de excitación
Crridl, Cois - Final
Gridl.Visible = -l
Auxíl = 2
GridLRow - O
Impresión
de las variables del estado
presente en la tabla____..__
de excitación
i______,________„____„„_„__„_.„___
___________________________
•ForI=lToN
' Form3.Gridl.Col=I
1
Variable ^''Q-'&N- 1
1
Fonn3.Gridl.Text = Variable
1 Form3.Gridl.ColWidth(I)i=Text'VVidth(Form3.Gridl.Texí) * l.l
Página 39
"Nextl
Impresión de las variablesídel estado siguiente en la tabla de excitación
I _„„_„_..„__________________1J_________.-—.—— _„_„__.___„_„____
f ForI=N-MTo2*N
i*
' Form3.Gridl.Col=I \]
Variable = "Q"& 2 *NFonn3.Gridl.Text- Variable
' Form3.Gridi.ColWidth(I) =TextWidth(Form3.Gndl.Text) * 1.1
"Nexíl
1
Impresión de las variables de excitación en lu labia de excitación
lUDim Excitaci(0, Total)
AuxíO - O
Gridl.Col=I
If Tipo = O Then
Variable - "J" &N - Auxil
Exc¡fnci(0, AiDtiO) = Variable
Gridl.Text = Variable
Gridl.ColWidth(I) =TextWidth(Grídl.Text) * 1.1
Variable - "K" &N - Auxil
AuxiO - AuxiO + 1
Excitaci(0, AuxíO) = Variable
1 = 1+1
Gridl.Col=I
Gridl.Text- Variable
Gridl.CoIWidtíi(I)=TextWidth(Gridl.Text) + 1.1
AuxíO = AuxiO + 1
Aiixil=Auxil + 1
HndJf
If Tipo = 1 Then
Variable - "S" &N - Auxil
ExciiacÍ(0, AuxiO) — Variable
Gridl.Texl -= Variable
Gi-idl.Col\Vidth(I)=TextWidth(Gridl.Texí) * 1.1
Variable = "R" &N - Auxil
AuxiO •" AuxiO +1
Excitaci(0, AuxiO) — Variable
Gridl.Col=I
Gridl.Text = Variable
GrÍdl.ColWidth(I)=Texí.Width(Gridl.Text) * 1.1
AuxiO = AuxíO 4- 1
Auxíl = Auxil + 1
If Tipo = 2 Then
Variable = "D" &N - Auxil
Excitaci(0, AuxiO) = Variable
Gridl.Text^Variable
Gridl.ColWidth(I) =TextWidíh(Gridl.Text) * 1.1
Anvin =
= AuxiO
Ainrín4-1
AuxiO
4- 1
Auxil = Auxil + 1
.
Endlf
If Tipo « 3 Then
Variable = "T" &N - Auxíl
íjtcitac¡(0, AuxiO) = Variable
Grídl.Text= Variable
Grull.ColWidlli(I) =TexLWidÜi(Gridl.Texl) * 1.1
AuxiO = AuxiO + 1
Auxil - Auxil I 1
Endlf
Nexíl
de la tabla de excitación de los Flip
"BinarioS"
i'Generación
_______________________-__„________„._________..___
__Flops
„„ _______
ReDimBinarÍo3(Filas, Toial)
'Generación de la tabla de excitación para tos FFs Tipo JK
lfTipo = OThen
Forl^OToFilas
If (BinariolCI, J+ 1) = O And Binario2(I, J) - 0) Tlien
Binario3¿,K) = 0
Binario3(ItL)=:2
Endlf
Pághia
If (Biciiriolft J + 1) = O And Bínario2(I, J) = 1) Then
BÍnario3(I, K) = 1
Binario3(I,Ií)==2
Endlf
If (Binariol(I, J+ 1) = 1 And Binario2(I, J) = 0) Tfaen
Bínario3(IíK) = 2
Binario3(l,.L)=a
Endlf
If (BinariolO; J+ 1) = 1 And Binario2(I, J) - 1) Then
Binario3 (Í K) = 2
BinurioS (I, I/) — O
Endlf
If (Binariolfr J M) = 2 And Binario2(I, J) = 2) Then
Binarios (I, K)- 2
Binan o3$, L) - 2
Endlf
NestJ
Nextl
Endíf
'Generación de la tabla de excitación para los FFs Tipo SR
)
___________
_______^_______
______________________________
:
If Tipo = 1 Then
Forl^OToFilas
ForJ = O T o N - 2
K=2+J
H" (BinarioiOt J+ 1) = O And Binar!o2(I, J) = 0) Then
Binario3¿K) = 0
Binario3(I,L)=2
Endlf
Jf (BinariolQ. J + 1) = O And £^^¡02(1, J) - 1) Then
Binario3(I, K) = 1
Binario3(I,L) = 0
Endlf
ir(Bmanul(I, J + 1) - 1 Aiid BínurioZft J) - 0) Theii
BÍnai-Ío3(I,IC) = 0
Binario3(ItL) = l
Endlf
If (Bbariol(I, J+ 1) - 1 And Binario2(I, J) «- 1) Then
Binario3¿K) = 2
Bmario3(I,L) = 0
Endlf
7f (Binario! (T, J -f- 1) = 2 And Rinarío2(T( J) = 2) Ttien
Binarios (I, K) = 2
Binario3(IíL) = 2
Endlf
NextJ
Nextl
Endlf
'Generación de la tabla de excitación para los FFs Tipo D
'_._-_— _»—— —————— ———___—___- _______
If Tipo = 2 Then
Forl^OToFilas
ForJ=OToN-2
if (Binariol(l, J + 1) » ü And Binario2(l, J) = U) Then
Binario3¿J) = 0
Endlf
If (BinarioICI, J+ 1) = O And Binar^ft J) = 1) Then
Biuario3(It J) — 1
Endlf
If (Binaríol(If J 1 1) = 1 And Binario2(If J) = 0) Then
Binario3 (I, J) ^ O
Endlf
If (Binariol(I, J + 1) = 1 And Binario2(I, J) - 1) Then
BÍnario3(I,J) = l
Endlf
Tf (Binario! (T, J + 1 ) = 2 And BinarioSCT, J) - 2) Then
BinarÍo3¿J) = 2
Endlf
NextJ
Nextl
Endlf
'Generación de la tabla de excitación para los FFs TípoT
<________„„„„„__„„_„„„„.„„._____________________„
If Tipo =3 Then
Forl-OToFilas
= OToN-2
Página 41
If (Binaríol(I, J + 1) = O And Binarío2(I, J) - 0) Then
Bínario3(I,J) = 0
Ehdlf
;,
If (Binaríolft J + í)^= O And Btnario2(I, J) = 1) Then
Endlf
If (BinariolO, J + I) = 1 And Binario2(It J) - 0) Then
Binario3(If J) = I
Endlf
If (Binariol(I, J+l) - 1 And 6111^102(1, J) = 1) Then
BúiurioSft J) - O
Endlf
If(Binariol(I,J I 1) = 2 AndBinarío2(If J) = 2)Then
Binarios ¿J)~ 2
Endlf
NextJ
Nextl
Endlf
'Impresión
de todalafahtade
estado
presente,
excitación
i_________„_»___
_______ ___„_„...___
________
_____„„_,KÍgiiientey
_______ _________
ForI=OToFilas
GridlJ.ow-I+1
ForJ = 2*KToFinal-2
Gridl.Col = J+l
If BinarioSft J - 2 * N) = 2 Then
Gridl.Text="X»
Else
Grídl.Text=BinEirJo3(I, J - 2 *N)
Endlf
NextJ
Nextl
Función - O
EndSub
PrivHÍe Sub Cüimiiuiidl_ClÍck()
Unload Form5
EndSub
Prívate Sub Comraand2_Click()
If Control = 1 Then
Cali Símplifícar
Endlf
If Control = O Then
Command2. Visible = O
Frame4.Top = 3860
Frame4Xeft=2000
Frarae4. Visible = -1
Endlf
If Conlrol = 2 Or Control = 3 Or Control « 4 Or Conlrol - 5 Then
Cali SimJPart
Endlf
If Control = 6 Then
Command2.Visible = O
Command5.Top = 3960
Gridl.Widíh = 7500
Command5. Visible — -1
Control = O
Endlf
EndSub
Prívate Sub CommandS Click()
Labell.Visible = -l
Te«tl.VÍBÍblc™-l
Textl.SeíFocus
Label2.Visible = O
Labd3.Visible = 0
CommandS. Visible ~ O
Command4.Visible = fl
Command5.Visible «=* O
Commandl.Top - 3960
Command2.Top - 3960
DiseoO = O
EndSub
Prívate Sub Command4 CÜck()
Labell.VisÍble = -l
Textl.VÍsible = 0
Text2.Left =
PágLia 42
Text2.Height
Text2.Top =
Texí2. Visible = -1
Labell.Caption = "Ingrese el Número de estados"
LabelZ. Visible-O
Labeí3.Visible = 0
CommandS. Visible =° ü
CommancM. Visible — O
Commandl.Top =3960
Command2.Top = 3960
ConiruHiid5.Top — 3960
DisenO -1
EndSub
Privóte Sub Gomraand5_Click()
Command2. Visible = O
Gridl.WJdth=6135
Auxil = O
'Determinamos el numero cíe variables
If Control » O Then
AuxÍO« Filas
DoWhileAuxiO>=l
AuxiO = AuxiO/2
Auxil = Auxíl + 1
Loop
N- Auxíl + 1
Control - 1
Endlf
'Inicial
izamos
las columnas
délas
matrices
i____________
__,_______
_____________
______
Columl=N-l
Colum2-N-2
'Assigiiucióii
de valores
binarios
a los eslatlos
i_ _______ __..__..__.._
__________
_ __ ________~___
ForI=OToFilas
ForJ=lTo2
AuxÍO=Estados(I,0)
ForK=OToFilas
If AaxiO =Esíados(K, J) TTien
Estados(K,J)-I
KndTf
NextK
NextJ
Estados(I,0)=I
Nextl
'Cambio de valores de las variables a valorea generales
'y redimensionaraienío de las matrices con valores generales
i _________________________________________________________
AuxiO=FÍIas
Mítad-2 A (N-l)-l
ReDimBinariol(Filas, Columl)
KeDimBinario2(Filas( Colum2)
ReDim Salida(Filas)
ReDim BÍnarÍo3(Filas, CoJum3)
'Generación de la tabla de verdad "BinariolQ" de la asignación de estados
ForJ= OTo Columl
Valor=0
K- 2 * (Columl -J)
L=K
ForI- OTo Filas
IfL = O And Valor = O ITien
Valor=l
T, = K
Endlf
IfL=OAndValor=l'nien
Valoreo
L=K
Endlf
BinarÍol(I,J)= Valor
L=L-1
Nextl
NextJ
'Generación de la tabla de verdad "Binar!o2()" de los estados siguientes
Página 43
'y la salida con valores aceptables únicamente
i
_
__
_Lt.
„
' Í
ForI=OToAiKÍO
<¡
J = Estados(I,l)
í
ForK=-OToColum2
-^
Binario2(I, K) =Bmariol(Jt K+ 1)
NextK
SaIida(I)=Estados(Ií3)
Nexll
ForI=Aux¡0 + 1 To Mitad
ForK^OToColiunZ
Binario2(], K) = 2
NextK
For K^ O To Columl
NexíK
Salida(I)=2
Nextl
M=Mitiul + 1
P = M + AuxiO
ForI=MToP
L-I-M
ForK=OToColum2
BÍnarío2(I, K) - B!nariol(J, K + 1)
NextK
Salida(I) » Esfados(L, 4)
Nexíl
ForI=»P-f ITo Filas
ForK=OToColuin2
Binano2(l, K) = 2
NextK
ForK=OToCoÍuml
Binario! (It K) = 2
NexlK
Salída(I) = 2
Nextl
Col_par - Columl + Colum2 + 2
ReDimTabla_pnr(FÍIas, Gol_par)
Gridl.Cols = Col_par-í-2
GridLRows - Filas + 1
Gridl.Col = O
ForT=OTo"Filas
Gridl.Row^I+1
Grídl.Text-I
Gridl.ColWidth(0)=TextWÍdth(GfrÍdl.Text) * 1.5
Nextl
ReDim Varíables(0, N - 1)
Gridl.Row = O
ForI=OToN-l
Grídl.Col =1+1
IfI=OTlien
Gridl.Texl = "X"
Gridl.ColWidÜi(I+l)=TextWÍdíh(Gridl.Text) 1.5
Vnriables(U, 1) - "X"
Else
Celda="Q"&N-I-l
Gridl.Text= Celda
Grídl.ColWidUi(I+ l)-TexlWiíJUi(Gridl.Texl) * 1.5
Variabíes(0, 1) « Celda
Endlf
Nextl
Gridl.Col = 1+1
Gridl.Text = "Q" &N + Colum2 -1
Gridl.ColWidth(I+ l) = TextWidth(Gridl.Text) * 1.5
NextT
Gridl.Col -=TSÍ + Colum2 + 2
Gridl.Text="Z"
Gridl.ColWidth(N + Colum2 + 2) = TextWÍdra(Gridl.Text) * 1.5
Total =N + Colum2
ForI=OToFilas
For J= O To Columl
TabIa_par(I, J) =Binariol(Ií J)
NexíJ
For J=NTo Total
Tabla_por(I, J) -Binar¡o2(I, J -N)
Página 44
NextJ
Tabia_par(I, Col_par) - SaJída(I)
Nextl
ForI=OToFilas
Gridl.Row=I-t-l
ForJ=OToCol_par
GricU.Col-J+1
If Tabla_parCI, J) = 2 Toen
Gridl.Texí = "X"
Else
GriiU.Texí -^Tabla__pHr(I, J)
Endlf
NextJ
Ncxíl
Gommand5. Visible — O
Combol. Visible = -1
Grid2.Visible = -l
EndSub
Prívate Sub Conimandí>_Click()
Combol.Visíble = O
GridZ.Visible = 0
Command 7. Visible = -1
'Form3.Lobell.Widíh = 3500
'FormS.LabelZ. Visible =-1
•ForraS. Command3. Vis ¡ble = -1
Commaad6. Visible = O
Colum=N-l
ReDim Ter_Mini(Fiías)
ReDim 3mplican(Filas, Colum)
ForI=OToFÍlas
Ter_MiiiÍCl) - Sulida(I)
Nextl
Cali MinimÍEar(N, Ter_MinÍ()( LnplícanOfN^uevo, Simple)
FüasJNuc "NJNucvo
LobeÍ2.Visible = -l
Label2.Left=1800
AuxiO = "Z="
If Simple = O Then
AiKÍO = AiixiO & "O Wgico"
Endlf
If Simple = liben
AicdO = AuxiO & "1 Lógico"
Endlf
If Simple = 2 Tben
For I = O To Filas_Nue
ForJ=OToColum
If Implicanp; J) = O Hien
AuxiO = AuxiO &Variables(0, J) &"'"
Endlf
If ]mplican(I, J) = 1 TTien
Auxiü - AuxiO & Variabf es(0, J)
Endlf
If ]mplican(I, J) = 2 Then
AuxiO = AuxiO
Eiidlf
NextJ
IfKFilas_NueThen
AuxíO-Aux¡0&" + "
Endlf
Nextl
Endlf
Label2.Caption — AuxiO
Fimcion — O
EodSub
Prívate Sub Command7MClÍck()
ReDim Ter_Mini(Filas)
ReDira Implican(Fílas, N - 1)
Label2. Visible = -1
If Función <^ Total Theu
AuxíO - Excitoci(0, Función) & " = "
ForI = OToFilas
Ter_Míni(I) = Binario3(It Función)
Nextl
Cali MÍnÍmÍzar(N, TerJvíiniQ, Bnplican()íNJNiievof Simple)
If Simple = O Then
¡AuxiD = AuxiO & "O ¿tfgíco"
Endlf
fí
If Simple =1 Then
AiixiÜ - AuxiÜ & "1 lógico"
Endlf
If Simple = 2 Then
FüasJtsTue=N_Nuevo
AuxiO ^Exciiiici(0, FUIICIUII) & " -* "
ForI=OToFilas_Núe
OToN-l
nft J) = O Then
AuxiO = AuxiO & VariablesfO, J) & "'"
Endlf
If Implican^ J) » 1 Then
AuxiO = AuxiO & Variabtes(0, J)
EndTf
If Implican(I, J) « 2 Then
AuxiO = AuxiO
Endlf
NextJ
IfKEilasJSTueThen
AuxiO ="AuxiO& H + »
Endlf
Nextl
Endlf
Endlf
Label2.Caption = AuxiO
Función =Funcion 4-1
If Función=Total + I Then
Command7.Caption= "&OK"
Endlf
IfFuuciüii^Tülal +2Tlien
Unload Fornií
FormS.Show
Endlf
EndSub
Prívate Sub Command8_Click()
If Contador <=Num_Esta- 1 Then
ForT=1 To4If I = 1 Then EstadosíContador, I) - Estados(EstadoO, 0)
If I = 2 Then Estados(Contadorf I) = EstadosíEstadol, 0)
Ifl= 3 ThenEstados(Contador, I) = SalidaQ
If I = 4 Then Estados(Contador, I) - Salídai
Nextl
Grídl Jlow = Contador+1
Forl= 1 To4
Gridl.Col«I+l
Gridl.Text = Estados(Contadorf I)
Nextl
Contador = Contador +1
If Contador <= NiunJSsta - 1 Then
LabeW.Caption = "Estado Actual = " &Estados(Contador, 0)
Endlf
Else
Fnunel.Visible — O
Comniaud2. Visible = -1
Endlf
Eud Sub
Prívate Sub Form_Load()
Bandera= O
Contad or= O
Control -1
Combol .Addttem "FF JK"
Combol.AddItem "FF SR"
Combol. Addltem "FFD"
Combo IJVddltem "FF P1
End Sub
Prívate Sub HScrolll_Change()
EstadoO =Hscrolll.Value
Eti» "Estado siguiente » " &Estados(EstaíloO, 0)
Text3.Text = Eti
EndSub
Página 46
Prívate SubHScroll2_ChangeO
Estadol =Hscrol!2. Valué
Eíi = "Estado siguiente = " & Estados(Estadol, 0)
Texí4.Text = Eti
EndSub
Prívate Sub Optionl_Click()
SalidnO - O
EndSub
Prívate Sub OptÍon2_Click()
SalidaO = l
EndSub
Prívate Sub Option3_GHck{)
Salídal - O
End Sub
Prívate Sub Option4_Click()
Salida! = 1
EndSub
Prívate Sub SimplificarQ
Auxiliarlo
Contador = O
ReDim Equiv(Fílas)
ForI=OToFilas
Equiv(I) - O
Nextl
'.Rutina para la determinación de los estados
'equivalentes por simple inspección
i
:
ForI=OToFÍlas-l
IfEquivCO -= O Tlien
ForJ=I+lTo Filas
Bandera=0
IfEquÍv(J) ~ O Tlicn
ForK>lTo4
IfEstados(I, K) =Estados(J, K) Then
Bandera= Bandera*1
Endlf
NextK
Endlf
'Sí Bandera= 4 se procede a "Borrar" el Estadop) y a
'reemplazar el Estado Borrado por su Estado equivalente
!„_
-_—.™__
-__™-_^_______
IfBandera= 4 Then
Auxiliar =1
Contador = Contador +1
Equiv(J) = 1
ForL=OToFilas
ForM=lTo2
IfEsíados(L, M) - Estados(J, 0) Then
Esíados(L, M) - Estados(lf U)
Endlf
NexíM
NexíL
Equív_Príu(I)-E([uiv_Prúi(I)&","&EqiJÍv_PriiiCJ)
Endlf
NextJ
Endlf
Nexíl
Termina !a rutina de simplificación sí el Contador =• O
'___—„___
___™—
_»-_——
_™
If Contador = O Iten
Control «• O
ExitSub
Else
Endlf
'Agrupación de los estados validos en las filas iniciales
'de )a matriz de estados si es que se eliminó algún estado
!__
___„._„_
_____„__
.
-_—w™
'Generación de una matriz auxiliar con estados validos únicamente
>_„_
_—»„__
___,„.,___.
Filas_Nuevas ^Fílas - Contador
ReDim Estados_Aux¡(FUas_Nuevas, 4)
Página 47
ReDÍmEqu¡Y_Aux¡(Filas_Nuevas)
K=0
¡/
Forl^OToFilas
Ii
IfEquiv(I)« O Then
{*
ForJ = OTo4
Estados_Auxi(K, J) «EstadosCI, J)
NwctJ
Equiv Auxi(K)=EquÍv_Prin(I)
K-K+1
Endlf
Nextl
'Generación de la matriz de estados con estados validos únicamente
»_______
___,________„___,._____. ——, —
Filas — FUas_Nucvas
ReDimEstadosCFilas, 4)
ReDim Equiv_Prin(Filas)
ForI=OToFilos
For J - O To 4
Estados(l, J) =F,fiíado8MAiixi(T> J)
NextJ
Equiv_Prin(I) = Equ¡v_Áuxi(I)
Nextl
•Presentación de la tabla con estados validos en pantalla
i
Gridl.Rows - Filas + 2
For I = O To Filas
Gridl.Row-I+1
ForJ=OTo4
Gridl.Col-J+1
Qridl.Tejtt-EstadosftJ)
NextJ
Nextl
LabeU.Caption = "Esta es la tabla de estados setní simplificada"
End Sub
Prívate Sub Option5_Click()
Command2.Visíbic = -1
Frame4. Visible = O
Control» 2
End Sub
Pnvate Sub Optionfí^OlickQ
Cali Sim_Impl
End Sub
Prívate Sub Textl_ KeyDown(KeyCode As lateger, Shift As Iníeger)
'Bigreso de dígitos válidos (Dígito)
If KeyCode = 96 Or KeyCode - 97 Then
Código ^KeyCode
ReDím Preserve DisÍto(Coníador)
If Código =96 Then
Digito(Contador) = O
Bise
Digito(Contador) = i
Endlf
Contador — Contador +1
Endlf
'Generación de la tabla de estados en función de los dígito de entrada
i__
__.___. __„„
,_._._
__™.___
If KeyCode o 96 And KeyCode o 97 Thcn
If KeyCode -13 Then
IfIsNumerÍc(Textl.Text) Then
Código -Textl.Text
Largo *Len(Fonn5.T«xtl.Text)
7f l^rgo = 1 Tlien
mensaje *•* "Se necesitan como mínimo dos dígitos"
MsgBox mensaje, 32
ExítSub
Endlf
Textl. Visible-O
Command2. Visible •= -1
Command2.Caption ~ "ASiiuplificar"
Gridl.Wichh - 6135
Gridl. Visible = -1
GridLCols - 6
Págijm 48
Gridl.Rows =• Largo + 2
Labell.WÍdth = 6135
Labell.Capt¡on=altEstaes latablade estados"
Filas - Largo
Bandera13 O
Colum = 4
KorJ^üToColum
GrÍdl.Row = 0
Gridl.Col~I + l
If I - O Then Variable = "Actual"
in - 1 Tlieu Variable - "Siguiente/X-0"
If I = 2 Then Variable = "Siguiente/X=a "
If I = 3 Then Variable = "SalÍda/X=0"
If I - 4 Thcn Variable - "SaHda/X-1"
Gridl.Text=Variable
Gridl.ColWidíh(I+ 1) = TextWÍdth(Gndl.Texí)
Nextl
ForI=lTo Filas + 1
Gridl.Col = 0
Gridl.Tttct-I-1
Gridl.ColWidth(O) =TextWÍdth(GrÍdl.Text) * 1.5
Nextl
'Generación de la tabla de estados iniciales
!______„_______________.„_______-„___ _____
ReDim Estados(Filas( 4)
ReDlm Equiv_Prin(FiIas)
Letra_BiÍctal = 65
Gridl.Col - 1
ForI=OToFilas
Letra *= Chr$(Letra_In¡cial +1)
Estadosp, 0) = Letra
Equiv_PrinÓ) -Estadosft 0)
Gridl.Row = I+l
Gridl.Texi» Estados^ 0)
Nextl
'Generación de estados directos y estados indirectos
ForI=OToFilas-l
Auxil = LeñS(Codigo, I)
Aux¡2 =LellS(Codigot I +1)
IfDigito(I) = O Then
Codigo_AiDC=Auxií &"1"
Auxil - Auxíl & "O"
If Aintíl = Auxi2 Then
Estados(1,1} - Estados(I +1, 0)
If I - Filas -1 Then
Estados(I,3)=l
Else
EstadosCf, 3) = O
Endlf
Endlf
Else
Codigo_Aux = Auxil &"0"
Auxil-Auxil &"1"
If Auxil = Auxi2 Then
Estados(1,2) - Estados(I + ], 0)
ffl-Filas-lThen
Esludosg, 4) -1
Else
Esíados(Ií4) = 0
Endlf
Endlf
Endlf
'Generación del estado indirecto
T,= 0
ForJ=OToI
Auxil =RíghtS(Codigo_Aux, I - J)
Auxi2 = Left$(Codigot f - J)
L-I-J
If Auxi 1 = AuxÍ2 Then Exit For
NextJ
If Auxil = "" And Auxi2 = "" Theii
IfDigito(I) = OThen
Estados(I, 2)=Estados(0, 0)
Estados(1,4) - O
Página 49
Else
EstadosQ, l)=Estados(0( 0)
Estados(I,3j4o
Endlf
;|
Else
'"
IfD¡gito(I) = OThen
Ksíados(l, 2} - Estados(L, U)
Estadosft 4) = O
Else
Estados^ 1) «EstadosCU 0)
EsUtdos(I, 3) - O
Endlf
Endlf
Ncxtl
'Generación de laúltimafilade latablade estados
i__
.. ™™™_
___....„__
___........_
ForI=OTol
Código Aux= Código & I
L=0
ForJ=OToFilas
Auxil=Kight$(Codigo_AuxI Filas-J)
Aux¡2 = Lefl$(Codigo, Filas - J)
L=FÍ!as-J
If Auxíl = Aux¡2 Then Exit For
NextJ
If Auxil = "" And Aux¡2 = "" Tben
If 1=0 Then
Esíados(FÍlas, 1) =Estados(0, 0)
Estados(Fi!as,3) = 0
Else
Estados(Filas, 2) -Estados(ü, ü)
Estados(Filas,4) = 0
Endlf
Bise
Ifl-OTlieii
Estados(Filas, 1) = EstadosfL, 0)
Esíados(Filasf 3) = O
Else
EstodosCFilas^^EstodosíL, 0)
Estados(Filast<1) = 0
Endlf
Endlf
Nextl
'Impresión de la tabla de estados
ForI=DToFÍIas
GridlJí.ow=I+l
ForJ=lTo4
Gridl.Col=J+l
Gridl.Text = Estados(T, J)
NextJ
Nextl
Exit Sub
Else
mensaje =* "No ha ingresado ningún doto o el daío no es un número"
MsgBox mensaje, 32
TexU.SeíFocus
ExüSub
Eiidlf
Endlf
If Contador = O Thcn
mensaje =• "Yano se puede borrar más datos"
MsgBox mensaje, 32
Textl.SetFocus
Else
Contador = Contador - 1
Endlf
Exit Sub
Fjidlf
Contador = Contador + 1
mensaje = "Los dígitos válidos son 1 y O"
MsgBox mensaje, 32
Endlf
EndSub
Prívate Sub Te3rf2_KeyDown(KeyCode As Jhteger, Shift As Intcger)
Página 50
'Generación de lafablade estados eniuncíón del número de estados
•_™ ™ ™™ _™ ™ _ _ — _____________—._.»„_-.___. __
If KeyCode = 13 Then
insNumericCrext2.Texr) Then
Num_Esta= Text2.Text
Gridl.Width=6135
Gridl.Vístble--l
Colum = 4
Filas = Num_Esta - 1
'Generación de lurefereuciade las columnas
ForI=OToCoium
Gridl.Row^O
Gridl.Col =1+1
If I = O TTien Variable = "Actual"
If I = 1 Then Variable = "SiguÍente/X=0"
Ifl= 2 Then Variable = "Siguienfe/X=l"
Tf T = 3 Then Variable = ptSaIida/X=0"
. IfI = 4ThenVariabIe= ll Salida/X=l tP
Gridl.Text=Variable
Gridl.ColW¡dífa(H-1) -TextWidth(Gridl.Text)
Nextl
'Generación de la referencia de las Filas
Gridl.Rows =Filas + 2
For 1=1 To Filas + 1
Gridl.Row=I
Gridl.Col - O
Gridl.Text = I - l
Gr¡dl.CoÍWidth(0)=TextWidth(GrÍdl.Text) * 1.5
Nextl
'Generación de los estados iniciales
ReDim&!Íados(Nuui_Esla- 1, 4)
ReDím Equiv_Prin(F¡las)
Letra_Biic¡al = 65
Gridl.Col = 1
ForI» O ToNumJEsta- 1
Letra=air$(Letra_Inicial+I)
Estados(I, 0) = Letra
EqwY_Prin(I) = Letra
Gridl.Row = T + l
Gridl.Text^Estadosft 0)
Nextl
Labell.Visible-0
Text2. Visible» O
Framel.Top = 3240
Framel.Left=3700
Frauiel.VisÍble = -l
nscrollLMax^NnraJEsta- 1
Hscroll2.Max=Num_Esta- 1
Labe!4.Captíon - "EsTado Actual « A"
Text3.Text = "Estado siguiente = A"
TexW.Text — "Estado siguiente » A"
Optionl.Value--l
Opüon3. Valué — -1
SaíídaO = 0
Salida!-^0
Contador = O
Else
IfTcxi2.Tcxt='""Thcn
mensaje => "No ha ingresado ningún dato"
Elae
mensaje = '^El dato no es un valor numérico"
Endtf
MsgBox mensaje, 32
Text2.SetFocus
Exit Sub
Endlf
Endlf
If KeyCode = 8 Then
IfText2.Text=""Then
mensaje = "No se puede suprimir más caracteres"
MsgBox mensaje, 32
Text2.SetFocus
Else
Página 51
Endlf
Exit Sub
Endlf
End Sub
;
*I
^'
PANTAT.T.AOUE CONTIENE LA SUBRUTINA DEL TÜTORIALPE CONTADORES SINCRÓNICOS.
VERSIÓN 4.00
Begin YB.Form Fonnfi
Appearance = O 'Flaí
BackColor
= &H80000005&
BurderStyle - 3 Textil Diulog
Caption
= "FormC"
Clientlleignt « 5115
ClicntLcft
- 1890
ClientTop
« 1545
ClientWidth = 7365
ControIBox - O 'FaJse
FillColor
= &HOOCOOOQO&
ReginProperty Font
ñame
= 'Tunes New Román"
charset
= 1
weight
•= 700
síze
= 12
underl ine
= 0 'False
itaiic
= -1 Truc
strikethrough — O 'False
EndProperty
ForeCoIor
- &H80000008&
Heighí
- 5520
Leu
= 1830
Unkl'opic
- "Korm5"
MaxButton
= O Talse
MinBuííon
- O "Faíse
ScaleHeight = 5115
ScuJeWidÜi - 7365
Top
= 1200
Width
= 7485
WindowStatc ™ 2 Ivíaxiniizcd
Begin YB.Frame Franlel
Appearance
= 'O 'Fíat
BackColor
= ¿0I80000005&
Caption
- 'TIPODEFLIP-FLOP"
BegínProperfy Font
ñame
= 'Times New Román"
charset
= 1
weight
» 700
síze
— 9,75
underl ine
= O 'False
ítalíc
= O Talse
strikethrougíi = O 'False
EndProperty
ForeCoIor
= &HOOOOOOOO&
Heíght
- 1215
Left
= 120
'l'ablndex
= 6
Top
= 5040
Visible
= O Talse
Width
- 4095
Begin VB.OpíioiiBulton Opliori4
Appearance
= O 'Fíat
BackColor
» &n80000005&
Caption
-* 'T1
BeginProperty Font
ñame
« 'Times New Román"
charset
= 1
weiglit
» 700
size
* 9.75
underlíne
« O 'FaJse
¡talic
=* O 'False
strikethrough « O 'False
EndProperty
ForeCoIor
= &H80000008&
Heíght
=300
Left
- 2000
Tablndex
=10
Top
» 800
Págijia 52
Widíh
* 1200
End
Begin VB.OptionButton OpiionS
Appearance = O *Flat
BackColor
= &H80000005&
Captiotí
= "D"
BeginProperty Font
ñame
= 'Times New Román"
charseí
** 1
weight
= 700
size
« 9.75
underline
= O "False
italic
= O 1?alse
sírikcthrough ~ O "Falsc
EndProperty
ForeCoIor
- &H8QQ00008&
Height
=300
Lefl
= 2000
TabTndex
= 9
Top
- 400
Widíh
= 1200
End
Begin YB.OptionButíon OptÍon2
Appearance
= O 'Fíat
BackGolor
- &H80000005&
Caption
= "SR"
BeginProperty Font
ñame
— "Times New Román"
charseí
= 1
weight
- 700
size
- 9.75
underlíne
= O 'False
italic
*- O "False
Sftrikeíhrough = O *False
EndPruperly
ForeCoIor
- &H80000008&
II«¡ght
=300
Lcñ
« 200
Tablndex
- 8
Top
= 800
Wídíh
= 1200
End
Begín VB.OptinnButton Optlonl
Appearance
= O 'Fíat
BackColor
- &HQOFFFFFF&
Caption
= "JK"
BeginProperty Font
ñame
= 'Times New Román"
charseí
—1
weíght
= 700
size
- 9.75
undcrlíne
= O Talse
ilaííc
= O 'False
strikeíhrough = O Talse
EndProperfy
ForeCoIor
= &H80000008&
Height
- 300
Lefl
- 200
Tubiidex
« 7
Top
= 400
Wídíh
- 1200
End
End
Begin YB.CommandButton Coimnand'l
Appearance
— O 'Fíat
BackColor
- &H80000005&
Caption
= "ATnstniccioneR"
BeginProperty Font
ñame
= 'Times New Román"
charset
= 1
weighí
= 700
size
- 12
underlíne
= O 'FaJse
ítalic
= O Talse
strikethrongh = O *FaIse
EndProperty
Height
^ 400
Página 53
Lefl
= 1800
Tablndex
=5 '
Top
- 6360 ; •
Width
= 1500j|
End
*?
Begin VB.CommandButton Cominand3
Appeanmce =• O 'Fíat
BackColor
= &H80000005&
Caption
- "&Ant«rior"
BeginProperty Font
muñe
— "Times New Román"
charset
*= 1
weight
= 700 aizc
-= 12
underline
** O Tolse
italic
= O T"aJse
strikethrough = O "False
EndPropeiiy
Height
* 400
Left
= 3480
Tablndex
~ 2
Top
- 6360
Visible
= O "False
Wídth
= 1500
End
Begin VB.CoimnandButíon Corainand2
Appearaoce = O 'Fíat
BackColor
= &H80000005&
Captíon
= "ASiguiente"
BeginProperty Font
ñame
D 'Times New Román"
= JL
charset
weight
= 700
size
= 12
tnidcHme
— O 'FuJse
¡talic
= O 'False
strikethrough = O 'FaJse
EndPropcrí)'
Height
- 400
Lefi
= 5160
Tablhdex
= 1
Top
« 6360
Widíh
= 1500
End
Begin VB.TextBoxTextl
Appearance ™ O 'Fíat
BeginProperfy Font
ñame
= 'Times New Román"
— 1
charset
weiglit
= 700
sizc
= 12
underline
= O 'FaJse
iídic
— O 'FaJse
strikeíhrough = O Talse
HndProperfy
Height
= 4575
Lefí
- 4680
MultiLine
~ -1 Truc
ScrollBure « 2 'Veríicid
Tablndex
= 3
Top
= O
Visible
™ O 'Falsc
Width
= 4815
Fjid
Begin VB.CommandButton Commandl
Appearance *= O "Fíat
BackColor
= AHSOOOOOO.^
Captíon
- "Sa&lir"
Default
= -1 Truc
BeginProperty Font
ñame
- 'Times New Román"
charset
= 1
weight
= 700
size
= 12
underline
- O 'False
italic
= 0 'False
sírikethrough — O 'False
Página 54
EndProperiy
Heiglit
= 400
Left
- 120
Tablndex
= O
Top
= 6360
WidÜi
= 1500
Knd
Begín VB.Image Image2
Appeorance = O *Flaí
BorderStyle = 1 Ttxed Single
Hei^il
~ 1095
Lefl
= 4680
Top
= 4920
Visible
— O "Falsc
Width
= 4815
End
Begin VB.Iraage Ihiagel
Appearance = O 'Fíat
BorderStyle « 1. 'Fíxed Single
Heíght
= 3375
Leñ
= 120
Top
= 600
"Width
- 4095
End
Begín VB.Label Labell
Alignment
— 2 'Center
Appearance = O 'Flaí
BackColor
» &H80000005&
BorderStyle - 1 "Fixed Single
BeginProperty Font
ñame
= 'Times New Román"
cliarset
—1
weight
- 700
síze
= 12
tuiderline
— O 'Falsse
italic
- O 'False
stríkeÜiroiigh = O Talse
EndPropcrty
ForeColor
- &H80000008&
HeJghí
« -195
Left
- 120
Tabliidex
= 4
Top
= O
Visible
= O 'False
Width
« 4095
End
End
Attríbute VB_Name = "Form6"
Attribute VB_Creaíabíe =Faise
Attribute VB_Exposed = False
Dira Contador, Tipo
Prívate Sub Commandl_CIÍck()
Unload Form6
End Sub
Prívate Sub Command2_CHck()
Contador = Contador + 1
If Conlador > O Theii
Cominand3. Visible = -1
Command4. Visible = O
Elsc
Command3.Visíble = O
Command'I.Visible = -1
Endlf
Select Case Contador
Ctutel
Imagel.Picture = Ix)adPicture(p'C:\DlSF^IAC\TüTORIAL\LCSIN-01.BMP11)
Labell. Captíon — "Diagrama de estados"
Labell.Width
Labell.V¡sible = -l
Texíl.Height = 6255
Twrtl.Wídth«4815
Textl.Top = O
arch = "C:\DISESIAC\TDTORIAL\LCSIN-01.ASC"
Open arch Forlnput As #1
Página 55
Textl.Texí - InputS(LQF(l), #1)
Glose #1
Texíl.VÍsibIe = -l
Case 2
Textl.Visible = 0
Optíonl.Value — -1
Framel.Widíh «ImageLWidfh
Framel.Visible = -I
Image2.Top = O
Image2.Lefi = 4680
iiiage2.Piclire-l^udPic(ure(plC:\DISESIAaTUTORIALVLCSIN-02.BMPt()
Image2.V¡sible — -1
Textl.Top = 3500
TcxÜ.Lcfl-4680
Textl.Height-2755
TMtJL.Widih-Iinaee2.Widih
arch = "C:\DISESIAC\TUT03UAL\LCSIN-02.ASC11
Open arch For Input As #1
Textl.Tejct=Tnpiit$(LOF(1 )> #1)
Glose #1
Texll. Visible = -1
Case 3
Framel. Visible = O
Labell,VÍsÍble = 0
Image2.VisibIe= O
Textl.Vistble = 0
IfOptíonl.Valué «-1 Then Tipo = 1
If OptÍon2. Valué » -1 Tben Tipo = 2
IfOptionS.Valué - -1 Then Tipo = 3
If Option4. Valué ** ~l Then Tipo » 4
Jmage2.Leíl-120
Bnage2.Top=4200
SeJecí Case Tipo
Case 1
Lubell.Cupltoii" 'Tublw de exciüición con Flip-Flops JK"
ImageLPicture = LoadPicture("G:\DISESIAC\TÜTORIAL\LCSlN-J3.BMP")
ímage2.PÍcaire = IxjadPicüreC'CiVDISESIACVnGTIRASVniFF-JKnMP1')
Case 2
Labell,Capíion ='Tabla de excitación conFlip-Flops SR"
ImageLPÍcture = Ix>adPicture(l'C:\DISESUaTUTORIAL\LCSIN--S3,BKC)'1)
ImBge2.Picture «Ix)adPÍcture(l'C:\DISESMC\FIGÜRASVrEFF-SR.BMPp')
Case 3
Labell.Caption = 'Tablade excitación conFlip-FlopsD"
Imagel.picture = Ix)adPÍcüu-e("C:\DISESIAaTUTORIAL\LCSIN-D3.BMP")
Jmage2.Picture^LoadPicture(p'C:\DlSESIAC^FrGURAS\TEriF-D.BMP11)
Case 4
Labell.captíon = 'Tablade excitación con Flip-Flops T"
Imagel.picture = Ix)adPicujre(»C:\DISESIAaTÜTORIALVLCSIN-T3.BMPP1)
Image2.Pícture - Ix>adPicture(plC:\DISESIAC\FIGURAS\TEFF-T.BMP11)
End Seiect
Labell.Width-Imagel.Widlh
Labell,Visibie=-l
Image2.Visible»-l
Textl.Top=4200
Textl.Height-2ÜÜÜ
Tcxtliefl =]Jnage2.Widdi -t-100 -f-120
TexÜ.Widíh*íhiagel.Width-3mage2.Widfh-100
arch = "C:\DISESIAC\TUTORIAL\LCSIN-03.ASC»
Open arch Forlnpiil As #1
Textl.Text=Jtaput$(LOF(l), #1)
Glose #1
Twdl. Visible ~-l
Case 4
Textl.Text=""
Textl.Visible = 0
foiage2.VÍsible=0
Lnbell.Visible «O
Labell.Capüon = "Mapas Ky líuiciones lógicas de los excitaciones"
Selecí Case Tipo
Case 1
Labell.captíon = "Mapas K y funciones lógicas de las excitaciones J y K"
Imagel.Picnire = Ix)adPich^e(»C:\DISF^IAaTOTORIAL\LCSIN-J4.BMP")
Case 2
LabeU.Caption = "MapasKyiünciones lógicas de las excitaciones S y R"
ImageLPicture - Ix)adPichre("C:\DISESIAaTtrrORIAL\LCSIN-S4.BMP'')
Case 3
Labell.Cnption*1 "Mapas Kyfiínciones lógicas de tas excitaciones D"
Página 56
Imagel.Picture = LoadPicture(llC:\DISESIAaTÜTORIAL\LCSIN-D4.BMP1')
Case 4
Labell.Capfion*5 "Mapas K y ¿unciones lógicas de ías excitaciones P1
Bnagel.PÍcture=Ix>adPicture('(G:\DISESIAaTOTORIAL\LCSIN-T4.BMPIF)
End Select
Labell.Widtti - Biiagel.Wídft
JLabell. Visible"-!
Case 5
Labell.VÍsible = 0
Select Case Tipo
Cuse!
Labell.Captiou - "Diagrama Lógico con Flip-FIops JK"
Case 2
Labell.Caption = lfDiagramaLógíco conFlip-Flops SR"
ImagelJiciure=I^adPicfajre(''C:\DISESIAaTÜTORIAL\LCS]N-S5.BMP'')
Case 3
Labell.Captíon="DiagramaLógico conFlip-FIopsD"
Case 4
Labell.Caption = "Diagrama Lógico con Flíp-FIops T"
lmagel.PÍcture=IxjatlPichire(l'C:\DISESIAaTtJTOIUAL\LCSlN-T5.BJvíP'1)
End Select
Labell.Width = Imagel.Width
Labell.VÍsíble = -l
End Select
If Contador^ 5 Then
Comraand2. Visible = O
Else
Comniand2, Visible = -1
EndJf
End Sub
Prívate Sub Coinmand3_ClickO
Contador — Coulmlur - 1
If Contador < 5 Then
CommandZ. Visible = -1
Endlf
Select Cnse Contador
Case O
Labell.Caption = ""
Labell.Visible=0
Textl.Visible = 0
Imagel. Visible = -1
Snagel.Pícture * IxjadPictureC'C^ISESIAaTOTORIALVLCSIN-OO.BMP1')
Casel
Framel.VÍsible = 0
Image2,VÍsible=0
Imasel.Picture = LoadPÍcture("C:\DISESIAaTOTORIAL\LCSIN-01.BMP")
Labell.Caption *= "Diagrama de estados"
Labell.Width = Imagel.Widíh
Labell.V¡sible = -l
TextlJIeJght=6255
Textl.WidÜi
Textl.Lefi =
Textl.Top - O
arch = "C:\DISESIACVTUTORIAL\LCSIN-01.ASC"
Opeu urch Forlnput Aa tíl
Textl.Text=InputS(LOF(l)t #1)
Cióse #1
Tcxü.Visiblc— 1
Case 2
Textl.Visible = O
Image2. Visible = O
Labell.Visible = 0
Tmagel .Pichire - LoadPichu-e("C:\DISEflTACVniTORTAT,\T,CSTN-01 .BMP")
Labell.Caption «"Diagrama de estados"
Labell.Widíh = Jmagel.Width
Framel.Width = Snagel.Width
Optíonl.Value = -1
LabeIl.Visib!e = -l
Framel.Visible = -1
Bnage2.Top = O
Image2.Left-4680
Image2.PÍcture = LoadPictire('lC:\DISESIAaTUTOiaALVLCSIN-02.BMP")
]bnnge2.VisÍble=!-l
Págbia 57
Texü.Top =
Textl.Left =
Textl.Height =
¿
TextLWidtii =Ünage2^Vidth
arch - "C:>DISESIAC\TÜTOJUAL\LCSIN-02.ASC"
Open arch For Inpul As #1
Textl.Text - lnpufS(LOF(l), #1)
Cióse #1
Texfl.VisibIe = -l
Case 3
Lubell. Visible -O
Iniage2.Visible = 0
Textl.V¡sible = 0
Imagc2.Lcft-12Q
Image2.Top = 4200
Select Case Tipo
Casel
Labell.Caption= "Tabla de excitación conFlip-Flops JK"
Image2,Picture - LoadPicture(t'C:\DISESIAC\EIGURAS\TEEF-JK.BMP11)
Case 2
Labell.Caption = "Tabla de excitación con FHp-Flops SR"
!&Tiagel,PÍchire=;UadPicture("C:YDISESU^
&nage2,Picture = LoadPichire("C:\DISESIAC\nGURAS\TEEF-SR.BMP(')
Case 3
Labell.Caption = "Tabla de excitación con FItp-Flops D"
Imagel.Picíure « Ix>adPicíure(»C:\DISESUC^TUTORIAL\LCSIN-D3.BMPlt)
Image2.PÍcture = I^adPicture^C^ISESIAOFIGURASVrEFF-D.BMP1')
Case 4
Labell. Capitón •= "Tabla de excitación con Flíp-Flops T'
Irnagel.Pichire - LoadPicture("C:\DlSESIAC\TÜTORJAL\LCSlN-U-3,BMl)")
Iinafie2.P¡cture = LoadPicture(l'C:\DISESIAC\FIGURAS\TEFF-T.BMP1')
End Select
LabelLWidth =Imagel.WÍdíh
Iniage2.Visible =» -1
TexU.Top=4200
Tcxtl.HcÍght-2000
TextlXeft - ünage2.Widíh + 100 + 120
Texíl.Width = Imafiel.WídÜi - Image2.Width - 100
tirch » "C:\DISESIAaTÜTORIAL\LCSIN-03.ASC"
Open arch For Ihput As #1
Textl .Text = Tnpuí$(r,OF(1 )( #1 )
Cióse #1
TexU.Visible--!
Case 4
Labell.Visíble«0
Isabel l.Captíon= "Mapas K y funciones loicas de las excitaciones"
Select Case Tipo
Case 1
Labell.Caplton- "Mapas K y funciones lógicas de las excitaciones J y K"
ImageLPicture - LoadPicture("C:^DISESIAaTÜTORIAL\LCSIN-J4.BMP")
Cese 2
Labell. Capííon = "Mapas K y funciones lógicas de las excitaciones S y R"
Jmagel.PÍcture=JLoodPichre("C:\DISI^MCATÜ'roiUAL\U:SlN-S4.BMP")
Case 3
Labelí.Caption=1"MapasKy funciones lógicos de Jas excitaciones!)"
ImageLPicture = LoadPicfure(HC:\DISESIAC\TUTORIAL\LCSIN--D4.BMPM)
Case 4
Labell.Caption = "Mapas Ky funciones lógicas de las excitaciones T1
Imagel.Picture = LoacPicnre(»C:\DISBS^
E«d Select
Labell.Width "Imagel.Wídtli
Labell.VÍsib!e = "l
End Select
If Contador = O Then
CommandS. Visible = fl
Cotnmand4.VÍsible = -1
Else
CommandS. Visible = -1
Comraand4. Visible = O
Endlf
EndSUb
Prívate Sub Command4_CIickO
Instruc.Show
End Sub
Págbia 58
Prívate Sub FormJLoadQ
Formó.GBption-'TÜTORIAL-Coníadores Sincrónicos"
Imasel.Picture=LoadPÍcture(''C:\DJSESIAaTOTORIALVlXSm-OO.BMP'')
Contador = O
Bandera! = O
BanderaZ =* U
End Sub
SIJBRüTINA PARA REALIZAR LA BÚSQUEDA DE LOS TEMAS PE AYUDA CONTENIDOS EN EL PROGRAMA.
VERSIÓN 4.00
Begin VB.Forní Buscar
Áppearance = O 'Fíat
BackCoíor
- &HS0000005&
Caption
= "Buscar Ayuda Sobre"
ClieníHeight = '1020
CHentLeA - 975
CHeniTop
* 2850
CUentWidth = 7365
BeginProperty Font
ñame
= 'Times New Román"
charset
= 1
weight
- 700
size
=12
underlíne
= O 'False
italíc
= O Talse
sfríkefhrough = O ^False
EndProperty
ForeColor
= &H80000008&
Heíght
= 4425
Lefl
-915
LinkTopic
= "Formfi"
MaxButíon
=» O "False
MinBuííon
= O 'False
SeaJeHeighl - 4020
ScaleWidtíi = 73tí5
Top
= 2505
Wídth
- 7485
Begin VB.TextBox Textl
Áppearance = O "Fíat
ñame
- "MS Sans Serif '
charset
= 1.
weiglit
size
= 700
= 8.25
underline
= O 'False
italic
- O Talse
stríketíirough = O 'False
EndProperty
Heíght
= 495
Le/l
=720
Tablhdex
= 2
Top
- 360
Widíli
= 4215
End
Begin VB.ListBoxListl
Áppearance
"* O Tlat
BeginProperty Foní
iiauíe
*- "MS SKIIS Serif '
charset
—1
weight
= 700
size
- 8.25
underline
— O 'Fnlse
italic
= O 'False
strikethrough = O 'False
EndProperty
Hetght
= 2760
Left
- 720
Tablndex
= 1
Top
- 1080
Wídth
- 6015
End
Begin VB.CommandButton Commandl
Áppearance = O 'Fíat
BackCoíor
- &H80000005&
Caption
= "&Aceptar"
Página 59
Heíght
= 495
Left
= 5160 (
Tablndex
~ O -i.
Top
= 360 i ="
Width
- 1575 i
End
Knd
Attribute VBjName = "Buscar"
AHribute VB_CreaiabIe=»Fa]se
Attribute YB_Exposed « False
Dim índice, Nombre
Prívate Sub Commandl^ClickQ
índice — Euscar.Lisíl.Ltstbidcx
Unload Buscar
ayudas.Show
Select Case índice
Case O
arch = MC:\DISESTACVTEXTOSÜNTRODUC.ASC"
Nombre = "Introducción a los Sistemas Digitales Secuenciales"
CaJl Abrirl (arch, Nombre)
Casel
arch - "C:\D1SESIAC\TEXTOSVELEMENTO.ASC"
Nombre - "Elementos biestables (Flip - Flops)"
Cali Abrirl(arch, Nombre)
Case 2
arch = "C:\DISESIAC\TEXTOS\OR-BASLASC'1
Nombre = "Circuito Básico de un Flip - Flop (RS)"
Cali Abrirlfarch, Nombre)
Case 3
arch - "C:\DlSES£ACVrHXl'OS\FF-TEMPÜ. ASC"
Nombre = "Flip - Flop Tipo RS temporizado"
CaJl Abrírl(arch, Nombre)
Case 4
ardí - "C;\DISESIACVrEXTOS\FnPO-D.ASC"
Nombre = "Flip - Flop Tipo D"
CaJl Abrirl(arch, Nombre)
Case 5
arch - "C:\DISESIAC\TEXTOS\FTIPO-JK.ASC"
Nombre = "Flip - Flop Tipo JK"
CaJl Abrirl(arcli, Nombre)
Case 6
arch = "C:\DISKSTAaTEXTOS\FTTPO-T.ASC"
Nombre = "Flip - Flop Tipo T"
CaJl Abrirl(arch,Nombre)
Case?
arch = "C:\DISESlAC\TE)CrOS\DISPARO.ASC"
Nombre = "Disparo de los Flip - Flop"
Cali Abrirl(arch, Nombre)
Case 8
arch » "C:\DISESIAC\TEXrOS\FF-MAEST.ASC"
Nombre = "Flip - Flop Maestro Esclavo"
Cali Abrirl(archJ Nombre)
Case 9
arch - "C:\D1SES1AC\TEXTOSU'-F-FLANC.ASC"
Nombre = "Flip - Flop Disparado por Flanco"
CaJl Abr¡rl(arch, Nombre)
CaselO
urdí« "C:\DISESIAaTEXTOS\SIDISECU.ASC"
Nombre = "Sistemas Digitales Secuenciales"
Cali Abrirlíarch, Nombre)
Case 11
arch = "C:\DISESIAC\TEXTOS\DISE-ASI.ASC"
Nombre = "Dísefío Secuencial Asincrónico"
CaJl Abrirlfarcli, Nombre)
End Select
Knd Sub
Prívate Sub Form_LoadO
Listl.AddKem "üitroducción"
Lisíl.Adcfitem "Elementos Biestables (Flip _ Flops)"
Listl.Addlíem "Circuito Básico de un Flip - Flop (SR)"
Lístl.Addltem "Flip - Flop SR temporizado"
LisíLAdcffiem "Flip -Flop Tipo D"
Listl.Addltem "Flip -Flop Tipo JK"
Listl.Addltem "Flip - Flop Tipo T"
Lisfl.Addltem "Disparo de los Flip - Flops"
Página 60
LÍsíl.AddItem "Flíp - Flop Maestro Esclavo"
Lístl.AddZtem "Flip - Flop Disparado por Flanco"
Lístl.Addltem "Sistemas Digitales Secuencia!es"
Listl.Addlteoí "Diseño Secuencial Asincrónico"
Listl.Addítem "DiseÑo Secuencial Sincrónico"
LisU.Áddltem "Introducción"
Listl.Addlíem "Elementos Biestnbles"
Listl.Addítem "Sistemas Digitales Secuencíales"
Listl.Addítem "Diseño Secuencial Asincrónico"
Listl.Addítem "DiseÑo Secuencial Sincrónico"
LisU.AddItcui '^ilrodufcióii"
ListLAddltem "Elementos Bíestables"
Lisíl.Addlíem "Sistemas Digitales Secuencial es"
LÍsíl.AddIicm "Disefio Secuencial Asincrónico"
Listl-Addlíem 'T)iséÑo Secuencial Sincrónico"
Ead Sub
Prívate Sub Lisil_Click()
índice — Listl -UstTndex
Variable =Listl.List(IndÍce)
TexU.Text=Variable
End Sub
SUBRÜTJNA PE INSTRUCCIONES PB NAVEGACIÓN POR EL TUTORIALEN LOS DISTINTOS TUTORIALES.
VERSIÓN 4.00
Begin VB.Form Instruc
Appearance *» O "Fíat
BackColor
= &H80000005&
BorderStyle « 3 'FíxedDíalog
GlieníHeight = 4170
GlientLeft
- 2175
ClientTop
= 1965
ClientWidth - 6090
ClipGontrols = O 'False
CoiilrolBox - O "False
DrawWídtli
= 2
FíllColor
= &I100FFOOFF&
FíllStylc
- O 'Solid
BeginProper^1 Font
ñame
= "MS Sans Serif'
charset
= 1
weight
= 700
sixe
= 8.25
underlíne
= O Talse
italic
= O 'Faise
strikeüVough ^= O 'False
EndProperty
ForeColor
= &H80000008&
Heighí
= 4575
Lefi
« 2115
LinkTopic
- "FormS"
MaxButton
- O "False
MinButton
= O Talse
ScaleHeight = 4170
ScoJeWidth - 6090
Top
- 1620
Width
=6210
Begin VB.CoramandBution Command4
Appeurauce — O 'Fluí
BackColor
= &H80000005&.
Caption
= "Sa&Hr"
EcginPropcrty Font
ñame
•» "Times"NFe\vRomán"
cfaarset
= 1
weight
= 700
size
=12
underline
= O 'False
italic
= O 'False
strikethrough = O 'False
EndProperty
Height
=300
Left
= 900
Tablndex
« 3
Top
- 2900
Width
« 1200
End
Págijia 61
Begin VB.CommandButton CommandS
Appearance = O Tfljií
BackColor
= &H8¿000005&
Caption
= "&Anfefior"
BegínPrapertyFont • :
ñame
— "Times New Román"
charset
= 1
weight
- 700
size
= 12
underlíne
*= O 'False
¡(alio
- O 'FaJüe
striketiu-ough = O 'False
EndProperty
Hcighí
- 300
Left
= 900
Tablndex
= 6
Top
» 2400
Widtfa
= 1200
Kncl
Begin YB.CommandButton Coramand2
Appearance = O 'Fiat
BackColor
- &H80000005&
Caption
» "&Síguiente"
BegínProperty-Font ;
ñame
= "Times New Román"
charset
= 1
weighl
« 700
síze
= 12
«nderi ine
— O *FaJse
iíalic
- O 'False
stríkeíhrough - O 'False
EndProperty
Heíght
=300
Lefi
= 900
Twblndex
« 9
Top
- 1900
Wídíh
= 1200
Fjid
Begín YB.CommandButton Commandl
Appearance
= O 5*lat
BackColor
= &H80000005&
Caption
= "&Regresar al Tutorial"
BeginProperiy Font
ñame
= "Times New Román"
charset
= 1
weight
« 700
size
= 12
underlíne
— O 'False
iíalíc
=» O (False
strtkethrough = O 'False
EndProperty
Heigbt
=400
Left
- 3480
Tablhdex
= 12
Top
- 3360
Wtdth
= 2400
End
Begin YB.Label Labe!12
Appeanuice — O "Fluí
BackColor
= ákH80000005&
Caption
= "Cuando hayaterminado de leer esta pantalla..."
BeginPropcriy Font
ñame
= "Times New Román"
= 1
charset
weight
= 700
size
= 12
iinderline
= O 'False
italic
— O Valse
strikethrough - O "False
EndProperty
ForeCoIor
= &H80000008&
Heígfit
- 615
Left
= 240
TabBidex
= 11
Top
- 3360
Width
= 3000
End
Página 62
BeginVBXabelLabelll
Appearance - O 'Fíat
BackColor
- &H80000005&
Caption
= "para salir de Tutoría! cuando quiera"
BegínProperfy Font
ñame
~t 'Times New Román"
charset
=- 1
weight
= 700
size
— 11
underline
= O 'False
iíuJic
- O Talse
striketlirough = O Talse
FJidProperty
ForcColor
~ &H80000008&
Height
= 300
Leil
= 2300
Tablndex
=10
Top
= 2900
Widfli
» 3600
End
Begín YB.Label Label9
Appearance
*= O Tlat
BackColor
- &H8000Q005&
Caption
= "Usar"
BeginProperty Font
ñame
= 'Times New Román"
charset
= 1
weiglit
= 700
size
= 12
underline
= O Talse
iíalic
= O 'False
strikethrough ~ O Talse
EndProperiy
ForeColor
«- &H80000008&
Heígíil
-= 300
Lefi
« 240
Tablndex
» 8
Top
- 2900
Witlth
- 600
End
Begin VB.Label LabelS
Appearance = O 'Fíat
BackColor
= &H80000005A
Caption
= "para retroceder una pantalla"
BeginProperty Font
ñame
=* 'Times New Román"
charset
= 1
weight
" 700
size
= 12
underline
- O 'False
iíalic
— O 'False
striketlirough = O Talse
EndProperty
ForeColor
= &H80000008&
Height
- 300
Lefl
* 2300
Tablndex
= 7
Top
= 2400
Widlh
- 3600
F-nd
Begin YBXabel Label6
Appcarancc — O Tlaí
BackColor
« &H80000005&
Cnpüon
— "Usar"
BeginProperty Font
ñame
= 'Times New Román"
chnrset
= ]
weight
= 700
size
= 12
underline
» O 'False
italic
— O Talse
strikethrough - O Talse
FjidProperty
ForeColor
-* &H80000008&
Heíghí
« 300
Left
= 240
Tablndex
» 5
Página 63
Top
- 2400
Wídíh
=* 600 ,
End
Begín VB.LabeI Label5 . .
Appearonce = O 'Fíat
BackCoIor
= &H8Ó000005&
Capiion
** "paraavanzar alasiguientepantalla"
BeginProperty Fotit
ñame
** 'Times New Román"
charaet
= 1
weighl
-* 700
size
= 12
«nderline
= O Talse
tialic
« O "Falsc
strikethrough =* O 'False
EndProperty
ForeColor
= &H8000Q008&
Height
= 375
Left
= 2300
Tablndex
= 4
Top
= 1900
Width
« 3600
End
Begin VB.Label LabeIS
Appearance = O 'Fíat
BackCoIor
« &H80000005&
Caption
= "Usar"
BegínProper^ Font
ñame
= 'Times New Román"
chareet
= 1.
wei'ghí
- 700
size
= 12
imderiine
^ O 'False
iíalic
« O l?alse
slríkeÜiruugh — O 'Falsc
EndProperty
ForeColor
« &II80000008&
Hcighí
- 300
Lefl
« 240
Tablndex
» 2
Top
= 1900
Width
» 600
Knd
Begin VBXabel Label2
Appearance
= O 'Fíat
BackCoIor
= &H80000005&
Caption
- $'TESIS-97.irx":0000
BeginProperty Font
ñame
« 'Times New Román"
cliarset
= 1
weight
= 700
size
= 12
underline
= O 'False
¡talic
= O 'False
strikethrough •= O 'False
EndProperry
ForeColor
= &H80000008&
Height
= 615
Lefl
- 240
Tablndex
= 1
Top
= 1080
Width
- 5655
End
Begin YBÜne Linel
BorderWidtli = 3
XI
= 240
X2
= 5880
Yl
- 840
Y2
» 840
End
Begin VB.Label Labell
Appearance - O 'Fíat
BackCoior
=» &H80000005&
Caption
= "Instrucciones"
BeginProperry Font
ñame
= 'Times New Román"
charset
** 1
Página 64
weight
=700
size
— 24
underüne
=" O 'False
itaiic
= O 'False
síríkethrough "= O Talse
EndProperty
ForeColor
« &H8ÜÜ00008&
Height
- 615
Left
- 240
Tablndex
= O
Top
- 120
Widtii
= 3375
End
End
Attribute VBJMame - "Instruc"
Attribuíe VB_Creaíable - False
Attribute VBJExposed = False
Prívate Sub Commandl_Click()
TTnloñd Instnic
End Sub
StJBRtrriNA OUE REALÍZALA MrMMT7AC!TÓN DE LAS FUNCIONES DE BOOLE
Attribute VBJName » "Módulo4"
Dim N, Ter_MinÍO, finplícan(), N_Nuevo, Simple
Sub Minim¡zar(N( Ter_Mini(), JhiplicanQ, N_Kuevo, Simple)
'Número de fílas de la matriz de elementos binarios
'Numero de columnas de Id matriz de elementos binarlos
!„____ _____ _____ _______ ______„.„, _____________-_„.,„
Colum=N-l
ReDim Preserve Ter_Mini(F¡las)
'Generución de lalublade verdiul o tabhi de elemeiilus bimirio
'para "N" variables en la matriz BinariolQ
RcDim Binan oí (Filas, Colum)
ForI=OToColum
Valor=0
J = 2 n (Colum-I)
J = OAndValor=OThen
Yalor=l
Endlf
IfJ=OAndVaIor=l'nien
Valor = O
J» AiudO
Endlf
Binariol(K,I) = Valor
J»J-1
NextK
Nexíl
'Ihicialización de la matriz de implicantes "ImplÍcanO"coü valorea
'no
aceptables
(_______
__„.____________„._„..___________________________________
ReDiiii IrijplicuiiCFilas, Culuui)
ForI=OToFilas
ForJ = OToGolum
3Jnptícan(I, J) — 5
NextJ
Nextl
'Generación de unamatríz de elementos binarios que son únicamente
'términos mínimos en "BÍn_TMinQ" y determinación de eí número
'mínimo de elementos
"Míním"_________ ____________
'___-_._______—_
__________binarios
___._*__„..__..____
K=0
ForI>OToFilas
If Ter_Min¡a) =
K=K+1
Endlf
Nextl
Minim^K.
IfMim'm=OTlien
Página 65
Simple « O
Exit Sub
Endlf
ReDímBin TMin(Minim -&í Colum)
K=0
Korl-OTo Filas
If TerJvfini(I) - i Tlien
ForJ=OToCoíum
Bln TMin(K, J) -BíhariolQ, J)
Nextf
Endff
Ncxtl
'Generación del vector "TMíJNCerQ", Este apunta alos términos mínimos
'y condiciones no importa Aquí también se determina el máximo número de
'términos mínimos y condiciones no importa en "Maxim
KeDimTMi
K=0
ForI=OTo Filas
If TerJVÍini(I) o O Then
TMí NCer(I) = 1
K=K+1
Endlf
Nextl
Maxim = K
Jf Maxim =*Fil as + 1 Then
Simple = 1
Exit Sub
Endlf
Simple = 2
Taso de elementos binarios considerados en Binariol() a Bínario2()
'pura ÍIIÍCÍHT el proceso de iiiiiiimizución con lénuinos válidos
i
________________________________
,
____________________
lleDimBÍnarÍo2(MajcÍm - 1, Colum)
K>0
OToFilas
ForJ = OToColum
Binario2(K, J) = BÍnariol(I, J)
NextJ
Endlf
Nextl
'Datoa iniciales para el proceso repetitivo. "Ultím" es el contador
'del número de filas o elementos de producto que contendrá lamaíriz
'de ímplinantes "ImplicanQ". "Bande" es la bandera que condiciona
'y chequead proceso repetitivo
!__„___________„_.___-„____„___-„_„_____—.„____—.-».______
Ultim = O
Bande = O
'Aquí de inicia el proceso repetitivo
Do"WhüeBande = 0
IniciaJización del vector "ConsíderO" que detírmínará
'que elementos han sido considerados en la simplificación
'de los elementos de Jaiimír!iBÍuurio2().
>__MI_
__„._..., __„_
UeDim Consider(Maxim -1)
For 1>0 To Maxim - 1
Consíder(l) » O
Nextl
'Suma algebraica de los elementos (filas) de lamaíriz
rBinario20. Esta suma se determina en el vector "Sum_B'm2Q"
ReDím Sum_Bin2.(Maxim - 1)
ForI=OToMaxim-l
SumaO = 0
ForJ=OToGolum
IfBÍnario2(I, J) «• 1 Then
SumaO = SumaO +1
Endlf
KextJ
Kexíl
Página 66
T)etermÍnacÍón de la sumamáxima y suma mínima de iaSuin_Bin2()
'—K™.—
.__»™—
. __-_ ™—..
_._»—™i
Suma_Min = O
Suma_Max — O
For I™ O To Maxim-1
If Sum_Bin2(I) < Suma_Min Then
Suma Mín = Sum_Bin2(I)
Endlf "
If SumJ3Ín2(I) > Sumajvfax Then
Suma__Max - Sum_Bin2(I)
Elidir
Nextl
'Rutina para determinar el número de simplificaciones que
'se puede realizar en los elementos de la matriz "Binano2()
L=0
For M = Suma_Mín To Suma_Max - 1
ForI=DTo Maxim -I
= OToMnx¡m-l
O
If Sum_Bin2(I)=M And Sum_Bín2(J) =M+ 1 Then
ForK>OToCo!urn
If Rayas < 2 Then
AuxiO -BinarK^ftK) XorBinario2(JtK)
If AuxiO > O Then
Rayas = Rayas + 1
Endlf
Else
ExkFor
Endlf
NextK.
If Rayas = I Then
L=
Endlf
Bidlf
NextJ
Nextl
NcxtM
'Rutina para realizar las simplificaciones de los elementos
'de lamaíriz "Binario2() si esto es posible y almacenarlos
'en la matriz auxiliar "Bin_Auxi()"
IfMaxíJSTue > O Tben
ReDimBÍn_Auxi(Maxi Nue - 1, Colum)
L=0
For M » Siima_Min To Suma _Max - 1
ForI=OToMaxim-l
ForJ=OToMax!m-l
Rayas = O
If Sum_Bin2(I) = M And Sum_jBin2(J) - M + 1 Then
ForK=OToColum
If Rayas < 2 Then
AuxiO = BÍnarÍo2(I, K) Xor Binario2(J, K)
lfAuxiü>ü 'llien
Rayas = Rayas + 1
Endlf
Else
ExilFor
Endlf
NextK
If Rayas •* 1 Then
Gonsider(I)=-l
Consider(J) = 1
ForK>OToColum
If Binario2(I, K) - Binario2(J, K) Then
Bin_Anx¡CU K) ^BinnrioafT, K)
Else
If Binario2(I, K) o 2 And Binario2(J, K) o 2 Then
Bin Auxi(L l K) EI 2
Endlf"
Endlf
NextK
L = L-i-l
Endlf
Endlf
NextJ
Página 67
Nextl
NextM
'Grabación de elemntos no considerados para la simplificación
'de lamatríz "Binarío2J)f( a ía matriz de implicantes primos
'"EmplicanO"
íi ____________________________________________________
K-Ullim
For 1= O To Maxim -Í
If Consider(I) o 1 Tlien
For J = O To Colum
Iinplictui(K, J) — Biimrio2(I, J)
NertJ
K =K I 1
Endlf
Nextl
•Rutina para determinar los elementos repetidos en "Bin_AuxÍ()ir
'y determina el nuevo número de elementos generados para la
'nuevaKÍmplificRctón,
"Maxim"
»_ _______ ___„__.. _______ _____,.___.
_______ __„___ ______ _____™._
ReDim Repetido(Maxi_Nue - 1)
For I - O To Maxi_Ñue - 1
Repetidofl) - O
Nextl
L=0
For I = O To Maxí_Nue - 2
For J » I -f- 1 To Maxi JNue - 1
IfRepetído(I) = O Áñd RepetÍdo(J) - O Then
AuxtO = O
ForK=OToCol«m
If Bin_Aira(I, K) « Bin_Auxi(J, K) Ulien
AuxiO =AuxÍ(H-l
Else
ExitFor
Eiidlf
NextK
If AuxiO = Colum I 1 Then
Rcpcíido(J) ^ 1
Endlf
Eiidlf
NextJ
TSTextl
Maxím = Maxi_Nue - L
'Grabación de los elementos no repetidos en "Bin^AuxiQ"
'aBinarioZf)
i_________™._,..,_ _________.„_».____________-™ — ______
ReDim Binar! o2(Maxím - 1, Colum)
L=0
For I - O To MaxTNue - 1
IfRepetido(I) ="o Tlien
ForK = OToCohim
Binario2(L, K) = Bm_Auci(); K)
NextK
Endlf
Nexíl
Else
'Aliona hacemos el caso para cuando ya no existan más
'simplificaciones en "Dmarío2() y el paso de estos
'cimcntos a la matriz de implicantes primos "ImpHcanO"
!„______________________„„_______________„___________
K-Ultim
ForI=OToMaKÍm-l
ForJ = OToCoIum
Tmplican(K, J) —Binírioip, J)
NextJ
Nextl
tntim = K
Bande = 1
N_Nuevo=K-l
Endlf
Loop
'¡Segunda parte del programa de mínimización j
Página 68
Inicial izacíón con valores no aceptables el vector "MarcasQ"
'que es el indicador del número de varibles sin efecto en los
'implicantes primos de laMaíriz de implicantes "ImplicnnQ"
ReDim Marcas(Ultím - 1)
ForI=OToUltim-l
Marcas(I) = -1
Nextl
'Deleniriniicióu del numero de vuriubles que no existen en c»da
'implicante primo de la solución de la matriz "
ForI-OToUlíim-1
Rayas = O
ForJ=OToColum
inmplican(I, J) = 2 Then
Rayas =* Rayas + 1
KndTf
NextJ
Marcasfl) = Rayas
Nextl
'Generación de laMatriz"CnicesQ", cruces entre lamaírizde
'implicantes primos "Implicanf)" y los términos mínimos "BÍn_TMÍnQ"
i______„__„_____________________________„-„.—_—_— ____________
ReDim Cruces(Ultim - 1, Minim - 1)
ForI = OToUltim-l
If Marcas(I) = O Then
ForJ=OToMÍnim-l
Igual = O
ForK-OToColum
If Implican(I, K) = BinJIMinCJ, K) Tlien
Igual01 Igual + 1
Endlf
NextK
If Igual = Colum + 1 Tlien
Cruces(I, J) = 1
Endlf
NextJ
Endlf
Nextl
•Descomposición de los implicantes primos en la matriz "Implican_Auxi()"
'para, determinar los cruces deestadeRcompoKÍcíAn con los términos
'mínimos en la matriz "CrucesO"
i____„„.„_„_____________.._______»_—_—______________________» —_.^.
= OToUltim-l
If Marcas(I) o O Then
Rayas = Marcas(I)
ReDim Implican_Auxi(W, Colum)
S =0
ForK = OToColum
If Implican(If K) - 2 Then
Valor=0
T=2 n (Rayas-l-S)
TI=T
ForL=OTo\
If T - O And Valor = O TTien
Vulor-1
T=T1
Endlf
If T - O And Valor - 1 Thcn
Valor=0
T-=T1
Endlf
ImplÍcan_Auxi(L, K) = Valor
T-T- 1
NextL
S«S+1
Endlf
NextK
ForD = OToColum
If Implican(I, D) o 2 Then
ForJ=OToW
Implican_Auxi(J, D) = Iraplican(I, D)
NextJ
Endlf
Página 69
NextD
ForF = OToW
ForJ«OToMinmi-¿l
Igual =0
5;
ForK-GToColum
inmplican_Aúxi(F, K) = B¡nJIMin(J, K) Then
Igual «* Igual +1
Endlf
NexlK
If Igual = Colum+ 1 Then
Crucesft J) -1
Endlf
NextJ
NcxíF
Endlf
Nwctl
'Generación de un vector "ImpIícan_JEsenQ" que apunta a los
'implicantes primos esenciales de la matriz "ImplicanQ"
1 _.„.,.
_____
.._-_
————
—_
ReDíra lmpUcan_Esen(Ultim -1)
ForI=OToUÍtim-l
SnplÍcan_Esen(I) ™ O
Nextl
ForI=OToMÍníra- 1
Num__Cruces =" O
Forj"=OToUltim-l
IfCnices(J,I) = lThen
Nuni_Cnices=Nuni Cruces+ 1
Endlf
NextJ
Jf Num^Cruces = 1 "ílien
ForH=OTotntim-l
IfCruces(H,I) = lThen
Suplican F^en^EJ) -1
Eudlf
NextH
Endlf
Ncxtl
'Generación del vector "Mas_Mnrcos()" que apunta alos términos
'mínimos cubiertos por los implicantes primos esenciales
!___
____.___.
_________
ReDim Mas_Marcas(Minim -1)
FnrI = OToMinim- 1
Mas_Marcas(I) = O
Nextl
ForI^OToMÍuÍm-1
Num_Cruces ™ O
ForJ = OToUItim-l
IfCruces(J,I)«lThen
Num_Cruces =Num_Cruces +1
Endlf
NextJ
IfNum_Cruces = 1 Then
ForJ=OToUltim-l
JfCruces(J,j;) = lThen
ForK=OToMinim-J.
IfCruces(J,K)-=lThen
lvfes_Marcas(K) = 1
Endlf
NextK
Endlf
NcxíJ
Endlf
Nexíl
'Verificación si existe algún termino mínimo que no ha sido cubierto
'todaviay generación de los implicantes primos esenciales secundarios
ForI=OToMinim-l
If Mas_-v!arcas(I) = O Then
ForJ=OToUlt¡m-l
Jf CrucesfJ, I) -1 Then
ForK=OToMinim-l
If Cruces(J, K) «1 And Mas_Marcas(K) - O And Mas_Marcas(I) - O And I o K Then
Mas_Marcas(I) = i
Mas_Marcas(K) = 1
Implican Eseu(J) = l
Endlf
Página 70
NextK
EndlT
NextJ
Endlf
Nextl
'Verificación si existe algúu íenuino mínimo que todaviano ha sido
'cubierto todavía y generación de los implicantes primos esenciaJes
'secundarios adicionales
»_____. ___ „._„___________________________™™_____™____—_.. __
ForI=OToMinim-l
If MHS_Maruas(I) - O Tlieii
ForJ=OToUltim-l
If Cruces(J, I) « 1 Then
ForK^OToMim'm-1
If Cnices(J, K) « 1 And Mas_Marcas(I) - O And I o K Then
Mas_Marcas(I) — 1
L»plÍcan_Esen(J) = 1
Endlf
NexíK
Endlf
MextJ
Endlf
Nextl
K=0
ForI=OToUltira-l
Ifímplican_Esen(I) = 1 Tlien
Endlf
Nexíl
N_Nuevo=K-l
ReDimJmplÍcan_Auxi(N Nuevo, Colum)
K>0
ForI-OToÜJü'm-1
IflmpHcan "Esen(l) = 1 Then
níI, J)
NextJ
K-K+1
Endlf
Nextl
ReD¡mImpIican(N_Nuevo, Colum)
For I = O To NJSÍuevo
ForJ = OToColiim
Bnplican(I, J)— Implican Auxi(I,J)
NexíJ
Nextl
EndSub
SUBRUTINA QUE REALIZA LA APERTURA DE LOS ARCHIVOS EN FORMATO TEXTO
Atíribute VB_Narae « "MóduIoS"
Sub Abrirl(archf Nonbre)
Open archFor!nputAs#l
ayudas.Textl.Text=Iiiput$(LOF(l)( #1)
ayudas. Captíon ™ Nombre
Glose #1
EndSub
SUBRUTINA OUE REALIZA LA GRABACIÓN DE LOS ARCHIVOS
Attribute VB_Name = "Módulo2"
Sub grabarQ
On JEiror GoTo mensaje
MDZForml.AcüveForm,CommonDialogl.íilename « "*.*"
CommonD i al ogl.il! ename
arch = MDIForml.ActÍYeFoniL CMDialogl.fi leñame
Open arch For Qutput As #2
Print#2, MDlForml.ActiveFonn.Textl.Text
MDIForml.Act¡veForm.Caption = arcb
Glose #2
Exit Sub
mensaje:
MsgBox"No se ha especificado archivo"
Resume Next
Pághia 71
EndSub
SUBRUTINA ACERDA DE^DISESIAC 1.0
VERSIOW4.00
Begín VB.Form Acerca
Appearance = O 'Fíat
BackColor
* &H8Ü000005&
Caption
= "Acerca de DISESIAC 1.0"
CHenfHeight =* 3450
ClieníLefi = 1500
ClieiitTop
•=> 2385
CüentWídth = 6555
BeginProperty Font
ñame
~ "Times New Román"
charset
~ 1
weight
= 700
size
= 12
underline
= O Talse
ifnlic
= O 'False
striketiirough = O 'False
EndProperty
= &H80000008&
ForeColor
Height
= 3855
Left
= 1440
LinkTopic
= "Form6"
MaxButtou
= O 'False
MínButton
= O Talse
ScaleHeiglit = 3450
ScaleWidih = 6555
Top
« 2040
Widíh
- 6675
Begin VB.CommandButton Commandl
™ O "Fíat
Appearance
BackColor
« &H80000005&
Cuplion
•» "¿kAceplur"
Hetght
= 400
Left
= 5280
Tablndcx
—1
Top
=360
Width
= 1200
End
Begin VBXabel Label4
Alignment
=» 2 'Center
Appearance *» O "Fíat
BackColor
= éiH80000005&
Caption
= "Copyright (c) 1997 E.P.N. Quito-Ecuador"
BegihProperty Font
ñame
— "MS Sans Serif'
chorset
= 1
weight
= 700
size
— 8.25
= O 'False
underline
italic
= O TaJse
striketlirough = O "False
HndProperty
ForeColor
= «&H80000008&
Height
= 255
Lefi
= 720
Tiibiidex
— 4
Top
= 1440
Wídth
= 4575
End
Begin VBXabel LabelS
Alignment
= 2 'Center
Appearance = O Tlat
BackColor
= &H80000005&
Capüou
— "Copyright (c) 1996-1997 Sergio Clavijo Moreno"
BeginProperty Font
ñame
- "MS Sans Serif
charset
= 1
weight
- 700
size
= 8.25
underline
= O 'False
italic
= O 'FaUe
strikethrough "= O *False
EndProperty
Página 72
ForeColor
= &H8Ü000008&
Heíght
= 255
Lcfl
» 720
Tabüidex
= 3
Top
- 1080
Width
- 4455
Knd
Begin VB.LabeI Label2
Appearance = O "Fíat
BackColor
« &H80000005&
BeginProperty Font
ñame
= 'Times New Román"
charset
*= 1
wcight
- 700
size
- 9.75
uiiderline
= O 'False
italic
= O 'False
strikethrough — O Talse
EndProperfy
ForeColor
»- &HOOFFOOOO&
Height
- 1455
Left
- 240
Tablndex
= 2
Top
= 1920
Width
= 6135
End
Begin VB.Labcl Labell
AJigninent
= 2 'Center
Appearance = O 'Flaí
BackColor
« &H80000005&
Caption
- $'T£SlS-95í.frx":OOOü
ForeColor
= &H80000008&
Heiglit
= 615
Left
= 840
Tublridex
-O
Top
= 240
Width
= 4215
End
Begin VBJmage Imagel
Appearance
= O 'Fíat
Height
= 480
Left
* 120
Pichire
= "TESTS-99.frx":0045
Top
» 240
Width
= 480
End
End
Alíribute VBJSTame = "Acerca"
Aííribute VB_Creaíable=False
Attribute VBJExposed = False
Prívaie Sub Commandl_ClickQ
Unload Acerca
End Sub
SUBRÜTÍNA BÜSCAK AYUÜA SOBRE
VERSIÓN 4.00
Begín YB J-'orm Buscar
AppcHrunce — O ^Flal
BackColor
= &H80000005&
Caption
= "Buscar AyudaSobre"
ClicntHcighí - 4020
ClieníLeft
- 975
ClientTop
« 2850
ClientWidth = 7365
BegiáProperty Font
ñame
— 'Times New "Román"
charset
=• 1
weíght
= 700
size
=- 12
underline
= O 'False
italic
» O 'False
sfrikethrough = O Talse
EndProperty
ForeColor
- &H80000008&
Heiglit
= 4425
Página 73
Left
= 915
LiiikTopic
=
MaxButton
= O Talsé
MíiiButton
- O 'Falsa
ScaleHeight « 4020
ScaleWídth = 7365
Top
- 2505
Width
- 7485
Begín YB.TextBox Texll
Appearance = O 'Fíat
BegiuProperty Font
ñame
- "MS Sans Serif"
charset
= 1
wcight
- 700
size
= 8.25
underline
— O "False
italjc
= O "False
strikethrough = O 'False
EndProperty
Heíght
= 495
Left
= 720
Tablndex
- 2
Top
=360
Width
- 4215
Fjid
Begin VBXistBoxListl
Appearance = O 'Fíat
BeginProperty Font
ñame
= "MS Sans Serif'
charset
— 1
weight
- 700
size
= 8.25
underline
« O Talse
ííaiic
= O 'False
slnkelhrougii =• O "False
EndPropeily
Ileight
= 2760
Lcfl
- 720
Tablndex
= 1
Top
- 1080
Widíh
= 6015
End
Begín VB.CoinrnandButtíin Commandl
Appearance
= O 'Fíat
BackColor
= &H80000005&
Caption
= "&Aceptar"
Height
- 495
Left
= 5160
Tablndex
*O
Top
= 360
Width
- 1575
End
End
Attribute VB_Nauie = "Buscar"
Attribute VB^Creatable «False
Attribute VBJExposed = False
Dim índice, Nombre
Prívate Sub Comniandl_Click()
índice "Buscar.Listl.Listlndcx
Unlood Buscar
ayudas. Show
Select Case índice
Case O
firch = "C:\DTSESTACVTEXTOS\IMTRODXTC.ASG"
"Nombre *= "Introducción a los Sistemas Digitales Secuencíales"
Cali Abrirl(arch,Nombre)
Casel
arch - "CíVDISF^IACVrEXTOSVELEMENTO.ASC11
Nombre « "Elementos biestables (Flip - Flops)"
Cali Abrírl(arch,Nombre)
Case 2
arch - "C:\DISESIAC\TEXTOS\CIR-BASI.ASC"
Nombre = "Circuilo Básico de un Flip - Flop (RS)"
Cali Abrirl(arch, Nombre)
Página 74
Case 3
arch = "C:\DISESIACVrEXrOS\FF-TEMPO.ASC"
Nombre = "Flip - Flop Tipo RS temporizado"
Cali Abrirlíarch, Nombre)
Case 4
arch = "C:\DISESIAOTEXTOS\FTIPO-D.ASC'1
Nombre » "Flip - Flop Tipo D"
Cali Abrirl(arch, Nombre)
Case 5
arch « "C:\DISESIAC\TEXTOS\FnPO-JK.ASC"
Nombre — "Flip - Flop Tipo JK"
Cali Abr¡rl(arch, Nombre)
Case 6
arch - "C:\DISESIAC\TEXrOS\FTIPO-T.ASC"
Nombre = "Flip - Flop Tipo T"
Cali Abrtrlfarch, Nombre)
Cose?
arch = "C:\DISESIAC\TEXTOS\DISP AB.O.ASC"
Nombre = "Disparo ríe los Flip - Flop"
Cali AbrÍrl(arch, Nombre)
Case 8
arch * "C:\DISESlAaTEXTOSVFF-MAEST. ASC"
Nombre = "Flip - Flop Maestro Esclavo"
Cali Abrirlíarch, Nombre)
Case 9
arch = "C:\DISESIAC\TEXTOSVFF-FLANC. ASC"
Nombre = "Flip - Flop Disparado por Flanco"
Cali Abrirl(arch, Nombre)
Case 10
arch = "C;\DISESIAC\TEXTOS\SIDISECU.ASC"
Nombre =• "Sistemas Digitales Secuenciales"
Cali Abríri (arch, Nombre)
Case 11
arch = "C:\DISESIAC\TEXTOS\DISE-ASLASC"
Nombre « "Diseño Secuencia! Asincrónico"
Cali Abrirlfarch, Nombre)
End Select
EndSub
Prívate Sub Form_Load()
Listl.Addltem "Introducción"
Lístl.AddIíem "Elementos Bíestables (Flip _ Flops)"
Listl.Addltem "Circuito Básico de un Flip - Flop (SR)"
Listl.Ado*Item "Flip - Flop SR temporizado"
Listl.Addltem "Flip - Flop Tipo D"
Listl.AddItem "Flip - Flop Tipo JK"
ListLAddltem "Flip - Flop Tipo T"
Listl.Addltem "Disparo de los Flip - Fíops"
LislLAddltein "Flip - Flop Maestro Esclavo"
Lístl.AddItem "Flip - Flop Disparado por Flanco"
Listl.Addltem "Sistemas Digitales Secuenciales"
Listl.Addltem "Diseño Secuencia! Asincrónico"
Lisíl.Addlíem "DiseÑo Secuencia! Sincrónico"
Lisíl.Addliem 'Thtroducción"
Listl.Addlleii] "Elementos Bieslubles"
Listl.Addltem "Sistemas Digitales Secuenciales"
LÍstl.ÁddItem "Diseño Secuencia! Asincrónico"
ListLAddltem "DiscÑo Secuencia! Sincrónico"
LístLAddlíem "Introducción"
LisÜ.AddItem "Elementos Biestables"
Listl.Addltem "Sistemas Digitales Secuenciales"
Llstl.Addltem "Díseflo Secuencial Asincrónico"
T,istl.Addíí.em "DíseÑo ñecuencial Sincrónico"
EndSub
Privafe Sub Listl ClÍck()
índice =Listl.ListIndex
Variable =L¡stl.List(Ihdice)
Te?rfl.Text« Variable
EndSub
Págiim 75
Descargar