¿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
¿r? « ?
n^ -T "7 - K V
"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 ydiseño de los sistemas Secuenciales Sincrónicos. El sistema desarrollado se lo a denominadocomo DISESIAC (Diseño SEcuencial Sincrónico Asistido por Computador) del cual sepresenta 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 dehardware de este paquete son similares alas necesidades de Windows 3.1, por lo tantopuede ser instalado en un computador personal con un procesador 80386 o superior y 640Kbytes de memoria convencional más 1024 Kbytes de memoria extendida con 12 Mbytes deespacio libre en disco duro (20 Mbytes es recomendado) y un floppy disk para diskette de1.44 Mbytes para poder instalar el programa. Cabe dejar constancia que DISESIAC 1.0puede ser instalado en cualquier sistema en el cual se encuentre instalado una versión deWindows 3.1 o superior.
FIGURA 1
Para la instalación del paquete únicamente es necesario tener una copia de los discos deinstalación, insertar el disco etiquetado con el número 1 y correr el programa SETUP desdeel ambiente Windows, una vez terminada la instalación se creará un icono con el nombre delprograma. En el ambiente Windows, para su ejecución será necesario únicamente un clickdel 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 pantallamostrada en la Figura 1 en la cual con un click del ratón en [Aceptar] se ingresa alprograma y con un click en [Cancelar] se sale sin ejecutar el programa al entorno Windows.
DISESlAC 1.0 - [Diseño Secuencial Sincrónica Asistida por Computador]Archivo Tutoría I Diseño Ventanas Acudas
Figuras Tablas Salir
FIGURA 2
Luego de haber realizado un click en [Aceptar] el programa ingresa a la pantalla presentadaen la Figura 2 que es la pantalla principal de trabajo del programa. Esta figura contiene lasrutinas 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 diferentestópicos del programa, la rutina [Diseño] realiza el diseño de los diferentes tópicos quecontiene el programa, la rutina [Ventanas] despliega en forma ordenada las pantallas detexto activas en un instante determinado y la rutina [Ayudas] presenta conceptos de la teoríadel diseño secuencial sincrónico, los mismos presentados el los capítulos uno y dos de la tesisproducto 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, estasfiguras y tablas son las mismas contenidas en los capítulos I y n de la tesis teórica, ademástiene el comando [Salir] que permite salir del programa.
La rutina [Archivo] presentada en la Figura 3 contiene: la subrutina [Nuevo] que permiterealizar archivos nuevos en formato de texto, la subrutina [Abrir] permite presentar enpantalla archivos en formato de texto existentes, la subrutina [Cerrar] permite limpiar laventana 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 ventanaactiva y la subrutina [Salir] cierra completamente el programa.
FIGURAS
La rutina [Tutorial] presentada en la Figura 4 contiene: la subrutina [Procedimientos dediseño] que presenta en pantalla los procedimientos que se sugieren seguir en el diseñosecuencial sincrónico, la subrutina [Contadores sincrónicos] desarrolla la secuencia a seguiren el diseño de los contadores sincrónicos de cualquier tipo, la subrutina [Registros dedesplazamiento] desarrolla la secuencia a seguir en. el diseño de los registros dedesplazamiento, la subrutina [Detectores de códigos] desarrolla la secuencia que se deberealizar en el diseño de los detectores de secuencias de códigos, la subrutina [Diseñosecuencial sincrónico con ROM] presenta los pasos a seguir en el diseño de los sistemassecuencíales sincrónicos utilizando memorias ROM.
La rutina [Diseño] presentada en la Figura 5 contiene: la subrutina [Contadores] permite alusuario realizar el diseño de los contadores sincrónicos de cualquier número de bits, lasubrutina [Detectores de códigos] permite al usuario realizar el diseño de los detectores desecuencias 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 usode memorias ROM, la subrutina [Problemas] presenta el desarrollo de un grupo deproblemas de aplicación práctica que pueden ser analizados y resueltos mediante los sistemassecuenctales sincrónicos, la gubfutina [Minimizar] es un utilitario que se incluye como partedel programa para que el usuario pueda realizar la simplificación de las funciones de Boole.
Página III
ArchivoDISESIAC l.ft- [Dtueíiu Secuencia! Siitcruiiiuu Aüiülidu puiCúmputadur]
Tutorial Ventanas Acudas
Figuras Procedimientos de Diseño Secuencia)(Contadores SincrónicosRegistroc de DesplazamientoDetectores de Secuencia de CódigosDiseño Secuencia! Sincrónico cun ROM
FIGURA 4
DISESIAC 1,0-.{Diseño Secuencial Sincrónico Asistido por Computador]DiseñoArchivo Tutorlal Ventanas Ayudas
Figuras Tablas Contadores.Detectores de CódigosDiseno Utilizando ROMEroblemas
FIGURA 5
Página IV
ArchivaDISESIAC 1.0- [Di'jeíiu Seuueiiuial Si MUÍ u ni cu Aüiülidu pui Cuiiipulaüuf]
Venta han
Figuras TalJlas Sa¿aseadaHorizontal
FIGURA 6
DISESIAC 1.0" [Disefio Strcueiicial Sniuruuico AuisUUu pur CumpulaUur]Archivo Tutoría!
Figuras Tablas SalirÍndiceBuscar Ayuda SobrePreguntas y respuestas
F1
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 unutilitario 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 arreglohorizontal, la subrutina [Vertical] permite presentar las ventanas de texto en arreglo vertical.
La rutina [Ayudas] contiene: la subrutina [índice] despliega una ventana con rutinasnecesarias para el uso de las ayudas, la subrutina [Buscar ayuda sobre] despliega unaventana 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 susrespectivas 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 DISESL4C1.0] presenta los pasos a seguir en la utilización del programa, la subrutina [Acerca delprograma] presenta los lincamientos de propiedad intelectual del desarrollador delprograma.
A continuación se presenta en la Figura 8 la pantalla de ayudas a la cual se ingresa mediantela opción [índice] de la opción [Ayudas] del menú principal. Aquí se puede ejecutar unaserie de utilitarios relacionados con ayudas tanto del programa como de la teoría de lossistemas secuenciales sincrónicos.
DISEStAC 1.0- [Diseño SecuencialArchivo Tutorlal Diseño Ventanas A
Figuras Tablas Salir
.̂̂ ••̂ ...•̂ .̂ ..HK.̂ -in^nmu...
Jlspecificar impresora
FIGURAS
Y por último como parte del menú principal tenemos a la opción [Ayudas] que se presentaen la Figura 8, el propósito de esta opción es presentar al usuario una serie de conceptoscomo 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 presentanlos elementos relacionados a la propiedad intelectual del programa computacional 3' una seriede elementos relacionados al uso del programa.
A esta pantalla también se puede ingresar presionando la tecla <F1> que es una acciónrá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 secuencialsincrónico, es nada más que una extensión de la opción [Ayudas] del menú principal.
D1SESIAC 1 .D - [Diseño SecuencialArchivo 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 detamaño si así lo requiere el usuario. Estas pantallas tienen todas las característica de unapantalla del entorno Windows, Para cerrar la ventana activa se la puede hacer mediante lasteclas rápidas <AIt + F4>.
Página VII
LISTADO DEL PROGRAMA
PANTALLA DE PRESENTACIÓN DEL PROGRAMA DE DISEÑO SECÜENCIAL SINCRÓNICO ASISTIDO PORCOMPOTADOR.
VERSIÓN 4.00Begin VBJForm Presentación
Appearance = O 'FíatBackColor - - &HOOFFFFOO&BorderStyle = 3 'FbcedDialogClienlHeight - 4020ClientUft = 1605ClíentTop = 2310CÜentWidíh - 7365ControlBox - O "FalscFüIColor = &HOOCOOOOO&FillStyle -* O 'SolidBegínProperty Foiit
ñame "* 'Times New Román"charset *= 1weight = 700síze = 12underline = O 'JKalseitaüc - -1 Trucstrikethrough •= O Talse
EndProperiyFuutTruiispwreiiL- O "FalseForeColor « ¿LHOOOOOOOO&Ileight = 4425KcyPrcvicw - -1 TrucLeft - 1545LinkTopíc - "Fonnl"MaxButton - O 'FalseMinButton = O TalseScnleHeigbt - 4020ScaleWídth - 7365Top = 1965Width « 7485WindowStale = 2 'MaximízedBegín VB.ConunandButton Command2
Appearance = O 'FíatBackColor = &H80000005&Captíoo *•* "&Cancelar"BegiiiProper^ Font
ñame *» 'Times New Román"charset = 1weight - 700size - 12underlíne •= O 'Falseitalic — O TalseBlrikcÜirüUgli — O 'Fulse
EndPropertyIleíght « 375Lcft - 6120Tablndex - 6Top » 63GOWidth = 1575
EndBegin VB.CommandRiittnn Command]
Appearance = O 'FíatBackCoíor » &H80000005&Captíon - "ákAccptar"BeginProperty Fonl
ñame = 'Times New Román"charset = 1weiglit » 700size = 12underline = O 'False¡folie -1 O Talsesünketlirougli = O 'False
EndPropertyHeight =375LeJl - 1920Tablndex - OTop - 6360
Página 1
Widíh - 1695EndBegin VB.Image ImageZ
Heíglit = 4095.Left = 4080 * *Strelch = -1 TrucTop = 1440Width = 5415
EndBegin VB Jinage Imagel
Heighl - 4095Left = 0Strefch « -1 TrucTop = 1440Width = 4095
EndBegin YBXabel LabeIS
Alignment = 2 'CenterAppearance = O T^latBackColor = &HOOFFFFOO&BackStyle = O TransparentCoption - S"TESIS-OO.irx":0000BeginProperty Font
ñame = "Times New Román"charset = 1wetght - 700size = 9.75underline = O 'False¡talíc =* O "Falsestrikethrou^i = O Talse
£ndProperfyForeColor = &HOOOOOOOÚ&Height - 255Leñ = 600Tablndex — 5Top « 6000Width = 8415
EndBegin YB.Label Lobel4
AHgnment = 2 'CenterAppearance = O 'HatBackColor = &HOOEFFFOO&BackStyle = O TransparentCaption = "DISÉSIAC1.0 COPYRIGHT(C) SEPTIEMBRE-1997"BeginProper^ Font
ñame = 'Times New Román"charaeí = 1weight - 700size « 9.75underline = O 'FaiseítaJíc — O "FalsestriketlíTough = O "False
EndPropertyForeColor = &HOOOOOOOO&Height - 255Lefl = 600Tablndex = 4Top =5640Wiaih - S415
EndBegin VB.Label Label3
Alignment - 2 'CcnicrAppearance = O 'FiatBackColor = &HOOFFEFGO&BackStyle = O TransparentCaption « "DISEÑO SECÜENCIAL SINCRÓNICO ASLSTIDO POR COMPUTADOR"ForeColor = &HnOOflOOOO/tHeíglit - 375Leñ = 240TabBidex = 3Top « 1080Widíh = 9135
EndBegin VBXabel Label2
Aiignment = 2 'CenterAppearance — O 'FíatBackColor = &HOOFEFFOO&
PágÍJia 2
BackStyle = O TransparentCaption = "FACULTAD DE INGENIERÍA ELÉCTRICA"BeginProperty Foní
nanie = "Times New Román"charset z 1weight = 700size =• 13.5underline = O 'FalseifnJic - O Talsesíríkeíhrougb - O 'False
EudProperlyForeCoIor = &HOOOOOOOO&,Heíght = 345Lcfl = 360Tablndex - 2Top = 600Width =8415
EndBegin VB.Label Labell
Alignment = 2 'CenterAppearance = O 'FíatBackCoIor - &HDOFFFFOO&BackStyle — O TransparentCaptíon = """ESCUELA POLITÉCNICA NACIONAL"""BeginProperty Font
naine — "An'al"charset = 1weíght = 700size » 18underline = O TalseitaJic = O 'FaJsestrikethrough ~ Q 'False
EndProperó'ForeColor = &HOOOOOOOO&Heíglil - 495Léfl = 480Tablndex = 1Top - 120Widíh - 8415
EndEndAttribute VB__Name — "Presentación"Atíríhiite VB_Creatable «FalseAttribute VB_Fjqposed = FalsePrívate Sub Comraandl_CIÍck()Unload PresentaciónForml.Show
End SubPrívate Sub Command2_CHcK()
EndEnd SubPrí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.00Begin VB JFonu Fonnl
Appearance = O *FlatAutoRedraw = -1 TrueBackCoIor » &H80000005&Caption =* "Diseño Secuencíai Sincrónico Asistido por Computador"ClientHeight « 4020CHentLeñ = 1815ClíentTop = 2820ClientWídth = 7365BeginProperty Font
ñame = 'Times New Román"charset = 1weíght » 700size = 9.75underline = O 'False¡talle — -1 Truestrikethrough *•» O *False
EndProperty
Página 3
ForeColor - &H80000008&Height = 4710Left * 1755LinkTopic = "Forml"MDIChild = -1 TrucScaleHeight = 4020ScoleWidth - 7365Top = 2190Wídíh - 7485WíudowStaie = 2 'MaxímizedBegiu VB.TextBox Texll
Appearance = O *FlaíBackColor = &nGOi'l'I<Mü''&BcgínPropcrty Font
ñame « "Times New Romon"cíiarset = 1weíght - 700size = 12iinderlíne — O T^alseitalic *- O 'Falsestrikethrough. = O 'False
EndProperíyForcColor = &HOOOOOOOO&Heiglit - 3855Lefl = 0MultiLíne = -1 TrueScrollBars » 2 'VerticalTablhdex - OTop - OWídth = 6495
EndBegin MSComDlg-CoinmonDialog CommonDialogl
Left - 6600Top = 2280Aversión = 65536_extentx = 8 4 7_extenty == 847__stockprops = Oconcelerror •= -1 Truecopies =* 1
EndBegin VB JSáenu tesisa
Cnption = "&Arciiívo"Begin VB.Menu tesisan
Cíqjtíon — "&Nuevo"EndBegin YB.Menu tesísaa
Caption - "¿kAbrir"EndBegin VB.Menu tesisac
Caption — "&Cermr"End.Begin VB.Menu íesisag
Caption = "AGuardar''EndBegin VB.Menu tesísall
Capfion - "-"EndBegiu "VB-Menu lesísaí
Caption = "Almprimir"EndBegin VB.Mcflu tcsisal2
Capíion - "-"EndBegin VBJVÍenu tesísas
Caption - "Sa&lV1
EndEndBegín VB.Menu tesist
Caption = "&Tutorial"Begin VB.Menu tesistp
Caption = "&ProcediinÍentos de Diseño Secuencial"EndBegiii VB.Menu tesistc
Caption — "&Contadores Sincrónicos"EndBegín VB.Menu iesistr
Páguia A
Capíion — "^Registros de Desplazamiento"EndBegin VB.Memi íesistd
Captíon » "¿¿Detectores de Secuencia de Códigos"EndBegín VB.Menu tesisto
Caption = "Diseño Secuencia! Sincrónico con K&OM"End
EndBegin VB.Menu tesísd
Cupliun « "fiDiseflu"Begin VB.Menu tesisdc
Caption = "&Contadores"EndBegin VB.Menu tesisdd
Caption — "&Detectores de Códigos"EndBegin VBJvíenu tesísdo
Caption = "Diseño Utilizando R&OM"EndBegin VB.Menu tesisdp
Caption ** "ábProblemas"EndBegin VB.Menu tesisdl
Caption = "-"EndBegín VB.Memi testsdm
Caption — "&Mintmización"End
EndBegin VB.Menu tesísv
Caption = "AVentanas"Begin VB,Menu íesisvc
Capíion — "&Cascada"EndBegin VB.Menu tesísvli
Caption - "&I-Iorizoníal"EndBegin VB.Menu tesisw
Caption = "A-Vertical"End
EndBegin VB.Memí íesísy
Captíoii = "A&yudas"Begín YB.Menu tesísyi
Caption = "ftlndice"Shortcut - {Fl}
EndBegín VB.Menu tesísyb
Captíon - "&Buscar Ayuda Sobre"EndBegin VB.Menu tesísyp
Capíion =• "&Pregunías y respuestas"EndBegin VBJWfenu tesísyll
Caption = "-"EndBegin VB Jvíenu tesisyu
Capücm — "&Uiío de la ayuda"EndBegin YB.Menu tesisyl2
Caption = "-"EndBegin VBMenú ieaísyt
Cnption - "&TutoriaI de DISESIAC 1.0"EndBegín VB.Menu tes¡syl3
Caption - "-"EndBegiii VB.Menu tesisya
Captíon = "&Acerca de DISESIAC 1.0"End
EndEndAtíribute VBJSTame - "Forml"Attribuíe VB_Creatable=FaIseAtíribuíe VB^Exposed =False
Págúia 5
Dim Arch_NuevoPrívate Sub Fomi_Load()Arch_Nuevo " O
EndSub -Prívate Sub Form_Resiz¿Q
Textl.Width - ScaleWÍdthTextl.Height=- SctüeHeight
EndSubPrívate Sub tesisaa_Clíck()
arch = »"Nombre-""índice = 1Cali abrir(arch, Nombre, índice)
EndSubPrívate Sub tesisac_Click()MDIFornil.ActiveFonn.Textl.Text = ""MDIForml.ActiveForra.Captioa — ""
End SubPrívate Sub tesisag^ClíckQ
Cali grabarEndSubPrívate Sub tesisai_Cl¡ck()Textl.Text Commonddialo^l. Sho wPrínter
End SubPrívate Sub tesisan_ Qtick()
Arch_Nuevo = Arch_Nuevo + 1arch - " "Titulo = "Sin Titulo(" & Arch_Nuevo &")"Nombre = Tituloíndice = OCaJl abrír(arch, Nombre, índice)
EndSubPrívate Sub tesisas_CHck()
EndEnd Sub SPrívate Sub tesisdc_Click() JForm3.CapíJon = "Diseño de contadores"FormS.ShowForm3.Lobel3.WÍdíh = 5000 íForm3.Textl.Top = 3720 ¡Form3.TexU.Leíl=5100Form3.Textl.Width = 2000Fnrm3.Command2.Top = 3720Form3.Command2.Lefl = 7200Form3.Command2.Widíli « 2295Form3. Lab e!3. Visible = -1Form3.Textl.VÍsÍble = -1Fonn3.Couiníand2.VÍsible = -1Form3 .Textl. SetFocus
End SubPrívate Sub tesisdd_Click()Fonn5.Show
EndSubPrívate Sub íesístc_CIick()Form6,Show
EndSubPrívate Sub tesistd_Click()FormS.Show
End SubPrívate Sub tes¡stpMClíck()
arch = "C:\DISESIAC\TEXTOS\PROC-DIS.ASC"Nombre ~ "Procedimientos de diseño"
CaJl abrir(arch, Nombre, índice)EndSubPrívate Sub tesisír_Click()Form7.Slmw
EndSubPrívate Sub testsvc^ClickQMDIForml.Arrange O
EndSubPrívate Sub tesÍsvh_Click()MDIForml.Arrange 1
End SubPrívate Sub tesifrw_C!¡ck()MDIFonnl.Arrauge 2
EndSub
PágÍJia 6
Prívate Sub tesisya^ClickOAcerca, Showarch - "C:\DISESIAC\TEXTOS\AVISO.TXT "Open arch Forüiput As #1Acerca.Label2.Capfion=-InputS(LOF(l)f #1)Glose #1
Knd SubPrívate Sub tesisyb_Click()Buscar. ShowBuscar.Texíl. SetFocus
Eud SubPrívate Sub tesisy¡_Click()Dim NuevaFormaAsNew Ayudasayudas. ShowWindowState « O
EndSub
PANTALLA OTJE PRESENTA LAS FIGURAS EN EL PROGRAMA
VERSIÓN 4.00Begín VB.Form Form2
Appearance = O TlaíAutoRedraw = -1 TrucBackColor - &H8Q000005&BorderStyle = 1 Túced SingleCaption = "Figuras"ClientHeight = 5055ClientLeft = 1095ClientTop - 1500ClieníWidth = 7350BegtnProperty Font
ñame = "Times New Román"charset = iweight - 700sÍ2e = 12underliue = O 'Falaeitalic = O Talsestrikethrough — O 'False
EndPropertyForeColor =• &H80000008&Height = 5460Leñ = 1035LinkTopic = "Form2"MínButton = O *FaÍseScaleHeight = 5055ScaleWidth = 7350Top - 1155Width = 7470Begin VB.ComboBox Combol
Appearance = O *FlaíBeginProperty Font
ñame = 'Times New Román"charset = 1weight - 700size = 9.75underííne = O 'Falseitalic = O 'Falsesíríkeíhrough = O 'False
EndPropertyHeiglil * 330Lefi - 120Tablndex = 1Tcxí " "Haga ""Click"" en la flecha derecha para ver Figuras"Top = 120Width = 5175
EndBegin VB.CommandButton Commandl
Appearance = O 'FíatBackColor = &H80000005&Caption - "Sa&lir"Heighí = 375Left - 5400Tablndex = OTop » 120WidÜi = 1815
EndBegin VB.Iniage Imagel
Págbm?
Appearance = O *FlatHeiglit = 4365Left = 0Top = 6 0 0Width - 7305
EndBeginMSComDJg.CommonDiaIog CMJDínlogl
Left = 4200Top = 5280Aversión = 65536_exíeiiíx •* 847_extenty = 847
stockprops = Olléname « ..... (*.bmp;*.dip;*.ico"""
EndEndAttribuie YB_Name = "Form2"Attribute YB_Creaíable = FalseAtírihiite VB_ExpoBet!=False
Prívaíe Sub Combo l_Clíck()On Error GoTo mensajclíndice «= Combo LListlndexSelectCaae índice
Case OForm2.CapHon = "Figura 1.1"toagel.PÍcüu-e=Ix)aa^Ícturt(»C:\DISESIAC\FIGÜRAS\FIGÜl-01.BMP1')
CaselForm2.Capí¡on - "Figura 1.2"Imagel.PÍcture^Ix)adPicture("C:\DISESrAaFIGURASVFrGUl-02.BN4P1')
Case 2Form2.Capt¡on = "Figura 1.3"Imagel.Picture-Ix)adPicture(»C:\DISESIAC^GtJRAS\nGül-03.BMP1')
Case3Forai2.Cupíioii = "Figura 1.4"Jhiagel.Picture = LoadPicture("G:\DISESIAC\En:GURAS\FrGÜl-04^MP")
Case 4Form2.Caption="Figura 1.5"Imagel.PÍc1ure«IxjadPÍcíure(MC;\DlSESIAaFIGÜ8ASVFIGUl-05.BMP")
Case 5Fornú.Caption^ "Figura 1.6"
Case 6Form2,Captton = "Figura 1.7"foiagel J>ícture - LoadPicture("G:\DISESIAC\FIGXmAS\FlGUl-07.BMP")
Case 7Form2.Caption •= "Figura 1.8"BiiageLPicture - Ix>adPictire(l(C:\DISESIAC\FIGÜRAS\nGUl-08.BMP")
Case 8Form2.Caption = "Figura 1.9"ImageLPicíure - LoadPicfure("C:\DISESIAC\FlGURAS\FIGUl-09.BMP")
Case 9Form2.Caption - "Figura 1.10"Iraagel.Pictore=Ix3adPicture("C:\DISESIAaFIGÜKAS\FIGUl-10.BMP")
CaselOForm2.Caplion= "Figura 1.11":faagelJicture=:UadPichtre("C:VDISE
Case 11Form2.Cap(ioii « "Figura 1.12"Imagel Jicture = LoadPicture("C:\DISESIACMGURAS\FIGUl-12^MP")
Casel2Form2.Capíion « "Figura 1.13"
Casel3Form2.Captíon - "Figura 1.14"Imagel.Picture=Ioac^Picture("C:\DLSESrAC^^GURAS\FlGUl-14£MP")
Case 14Form2.Caption = "Figura 1.15"Imagel.Picture = Ix>aol>Ícture("C:\DISF^IAC\FlGURAS\FIGUl-15.BMP")
Case 15Fonn2.Capíion - "Figura 1.16"Bnagel .Pícture - I^adPictire(MC:\DISF^IAC^FIGIJRAS\FlGül-16.BMP1')
Casel6Fonn2.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 18Form2. Capí ion - "Figura 1.19"Imagel.Picture = LoadPtctureC'CíVDISESIAOFIGURASVFIGUl-l^BMP")
Case 19Form2.Caption = "Figura 1.20"ImogeLPicture - LoadP¡cture("C:\DlSESlAC\í''lGURAS\KlGUl-2Ü.BMP")
Case 20Fonn2.Caption - "Figura 1.21"ImageLPicture = LoadPÍchjre("C:\DISESIAC\FIGURAS\FIGÜl-21.BMP")
Case 21Form2.Caption = "Figura 1.22"foiagel.Picture=Ix)adPÍctureC"C;VDlSESUaniGimAS\FIGÜl-22.BMP")
Case 22Form2.Caption - "Figura 1.23"Imagel.Picture=I^adPicture("C:\DISESlAaFIGÜRAS\FIGÜl-23^MPl))
Case 23Form2.Caption - "Figura 1.24"7mage1.PichB-e=TxiadPicbire("C:\DTSF*STAC\FTGTTRAS\FIGTJ1-24.BMP")
Case 24Form2.Caption= "Figura 1.25"Tmagel.PÍcture=IxjadPÍctin-e("C:\DISF^IAaHGfUBAS\FIGUl-25.BMP")
Case 25Form2.Caption = "Figura 1.26"
Case 26Form2.Caption - trFigura 1.27"Iniagel.Picture=Ix)adPichire("C:\DISESIAaFIGIJRAS\FIGül-27.BMP11)
Case 27Form2.Captioa = "Figura 1.28"lmagel.Pichire-ix)adPicíure(l'C:\DlSESlAC\FlGURAS\FlGUl-28.BMl''')
Case 28Form2.Caption - "Figura 1.29"
Case 29Forni2.Captioft= "Figura 1.30"
Case 30Form2.Captíon = "Figura 1.31"Imagel.Picture=I^adPÍcture("C:VDISESIAaFIGURAS\FIGUl-31.BKlP")
Case 31Fonn2.Caption = "Figura 1.32"Tmagel .Picüire = LoadPictureC'CADTSF-STAaFÍGlIRASVFIGU] -32.BMP")
Case 32Form2.Caption = "Figura 1.33"IraageLPicture - LoadPicture ("C:\DISESIAC\FIGURASVFIGUl -3 3. BMP")
Case 33Form2.Caption - "Figura 1.34"ImageLPicíure - LoadPicture ("C:\DISESlAC\FIGDRAS\FIGUl-34. BMP")
Case 34Form2.Captíon - "Figura 1.35"Imagel.PÍcture=Ix)adPÍcture("C:\DISESlAaHGURAS\FIGUl-35.BMP")
Case 35Form2.Captiou = "Figura 1.36"Imagel.Picture =toadPicnire("C:\DlSESlACVFlGURAS\FlGUl-36.BMP")
Case 3 6Form2.Capíion - "Figura 1.37*
Fomi2.Caption = "Figura 1.38"]raagel.Picíure=;LoadPÍdure("C:toIS^
Case 3 8Form2.Coption - "Figura 1.39"Iraagel Jicture = LoadPicture("C:VDISESlAC\FIGURAS\FIGUl-39.BMP")
Case 39Form2.Caption = "Figura 1.40"Tmagel.Picnire=T^adPÍcture("C:\DTSFASJAC\FTGirRAS\FIGUl-40.BMP")
Case 40Form2.Caption = "Figura 1.41"ImageLPicture - LoadPicture ("C:\DISESIAC\FIGURAS\FIGU1-41.BMP")
Case 41Fonn2.Caption = "Figura 1.42"Imagel.Picture = U)adPichire(HC:\DISESIACVETIGURAS\FIGül-42.BMP")
Case 42Form2.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 44Form2.CaptÍon = "Figura 1.45"ImageLPicture - Ix)ad^ichire("C:\DISESIAC\FIGURAS\FIGUM5.BMP'')
Case 4 5Form2.Caption - "Figura 1.46"Imagel.Pictwe=Ix>adPicture("C:\DlSESIAC<\FIGURÁSVFIGi;i-Í6.BMP1')
Case 46Form2.Caption - "Figura 1.47"
Case 4 7Form2.Caption « "Figura 1.48"3raogcl.Pichn-c=lx)adPicturc("C:\DISES]A(^nGtJRAS\FlGUl^S.BMP'1)
Cose 48Form2,Caption = "Figura 1.49"Imagel.Picture=lx)adPictiire("C:\DISESL\aFIGURAS\FTGUl-49.BMP")
Case 49Form2,Capíion = "Figura 1.50"ImageLPicture - LoadPicture("C:\DISESIAC\FIGURAS\FIGUl-50.BMP")
Case 50Form2.Capüon ~ "Figura 1.51"ImageLPicture - Ix>adPictiJre("C:\DISESIAC\FIGtmAS\FIGUl-51.BMP")
Fjid SelectFjcitSubmensajel:MsgBox "No se ha especificado Figura", 16Resume Next
EndSub
Prívate Sub Commandl_ClickOUnload Form2
FjídSub
Prívale Siib Fonu_LoudQCombol^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 mensajeCMDialogl.il leñame = "*.bmp;*.dib;*.ico"CMDiologl.Action = 1Form2.Capt!on = CMDiaiogl.fi leñameImagel-Piciure =sLoadPicture(Form2.Capiion)ExitSubmensuje;MsgEox "No se ha especificado Figura", 16Resume Next
EndSub
PANTALLA QUE CONTIENE LA SUBRÜTINA OTTF. Bff. AT .T7.A EL DISEÑO DE LOS CONTADORES SINCRÓNICOS.
VERSIÓN 4.00Begín YB,Form Form3
Appenrance = O "FíatAutoRedraw •= -1 TrueBackColor » &H80000005&Caption = "FormS"ClienlHeight - 5250CHentLeft = 1815ClientTop = 1710ClientWidth = 7365BeginProperty Font
ñame = 'Times New Román"charset = 1weight - 700size « 12underline = O "Falseiíalíc = O 'Falsesírikethrough — O 'False
EntíProperlyForeColor = &H80000008&Ileight = 5655Lcfi - 1755LínkTopic = "Form3"MDIChild = -1 TrueScaleHeíglií = 5250ScaleWídth = 7365Top = 1365Width = 7485Begin VB.CommandButíon CommandS
Appearance = O 'FíatBackGolor - &H80000005&Caption — "&Sigu¡ente"Heighí = 405Left = 7200Tablndex - 15Top = 3 7 2 0Visible = O TalseWidtii = 2295
EndBegin VB.ComboBox Combo2
Appearance =* O "FíatHeighí = 405Left •= 7200Tablndex = 14Text = 'TipodeFlipFlop"Top ^ 4 8 0Visible - O TalseWídth *- 2295
EndBegín VB.CommandButton Commandl
Appearance = O 'FlRtBackColor - &H80000005&Caption « "Sa&lir"Height = 405Left - 7200Tablndex = 13Top - 4680Width - 2295
EndBegin VB.ComboBox Combol
Página 11
Appearance =* O 'Fita.Heíght = 405Left = 3600 , .;Tablhdex = 1 2 ¿ ;Text =•= '^Estado siguiente"Top = 4680Visible - U 'FalseWidth = 3495
EndBegin VB.Frame Framel
Appeunmce -=> O 'FluíBackColor = &H800000Ü5&ForeGolor = &II80000008&Hcight - 975Left = 3600Tablndex - 8Top = 3600Visible = O TalseWidth = 3495Begin VB.OptionButton Option2
Appearance = O "FíatBackColor - &H80000005&Caption = "No"BeginProperty Font
ñame = "MS Sans Serif'charset — 1weight « 7 0 0síze =• 8.25underh'ne •= O 'False¡talic = 0 'Falsesírikethrough — O 'FaJse
EndPropertyForeCoIor - ¿3I80000008&Hetghí = 255Lell = 2280Tablndex * 10Top = 600Width - 735
EndBegin VB.OptionButtoii Optionl
Appearance = O T>latBackColor • «&H80000005&Cnption = "Si"BeginProperty Font
ñame = "MS Sans Serifcharset » 1weight - 700size = 8.25imderline ^ O 'Falseitalic = O 'Falsestrikethrough = O 'False
EndPropertyForeCoIor - &H80000008&Heigbt = 255JLeíl - 480Tablndex - 9Top « 600WidÜi * 735
EuÜBegin VB.Label Label4
Alignment = 2 'CenterAppearance = O 'FíatBackColor = áiH80000005&BorderSlyle «= 1 'Fixed SingleCaption = "Existe el estado (0)?"ForeCoIor = &H80000008&Height = 405Left = 0Tablndex =11Top = 120Width - 3495
EndEndBegin VB.TextBoxTextl
Appearance •» O
IIIIIIII1II
"MS Sans Serif
Página 12
charset =* 1weíght = 700size - 8.25uiiderlioe = O 'Falseítalic - O 'Faisestrikethrough = O 'False
EndPropertyHeight = 4 0 5Left « OMaxLength =- 3Tublndex — 3Top « 4C80Visible = O 'False•Width - 2055
EndBegin VB.CommandButton Command-1
Appearance = O 'FíatBackColor - &H80000005&Caption - "&Cíücnlar"Heíghí = 405Left = 7200Tablndex - 1Top = 4200Visible = O TalseWidth = 2295
EndBegjn VB.CommandButton GommandZ
Appearance — O "FíatBackGolor » &H80000005&Caption = "&Aceptar"Beight « 405Lefl = 216*0Toblndex - OTop = 4680Visible ^ O "FulseWidth - 1335
EndEcgín VB.Labcl LabcI3
Alignraent = 2 'CenterAppearance = O "FíatBackColor = &H80000005&BorderStyle - 1 Tixed SingleCspííon = "Ingrese el nftmero de hite del contador"ForeCobr = &H80000008&Heíghí = 405Leñ = 0Tablndex = 7Top = 3720Visible = O *FalseWidth = 3495
EndBegin VBXabel Label2
Alígnment =« 2 'CenterAppearance = O 'FíatBackColor - <fcH80000005<&BorderStyle = i 'Fi«d SingleCaption - "ESTADO SIGUIENTE"BegínProperty Foní
uuuie — 'Times New Romuii"charset — 1weighí = 700sizc «• 9.75underlíne = O 'Falsei tal Í c •= O 'Falsestríkethrough = O T"alse
EodPropertyForeCoIor - &H80000008&Heíght - 375Lefl « 3600TabBidex = 6 .Top = OWidth = 3495
EndBegiu VBXabel Labell
Alignment = 2 'CenterAppearance = O TlatBackCofor - &H80000005«fe
Página 13
BorderStyle - 1 'Fixed SingleCaption = "ESTADO ACTUAL"BeginProperty Font
ñame - "MS Saiis'Sertf'charset ™ 1weight = 700size = 8.25underlíne = O *Falseitalic = O Talsestrikethrough — O 'False
EndProperlyForeColor = &H8000ÜOÜ8&Height = 375Lcfl - OTablndex * 2Top = OWidth - 3495
EndBeginMSGruLGrid GrifÜ
Heigltf = 2295Left = 7200Tablndex - 16Top = 1080Visible = O 'FalseWidth = 2295_version = 65536_extentx = 4048_extenty = 4048_stockprops = 77BegínProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
ñame = 'Times New Román"charset = 1weight - 700size = 9.75uiídcrlhie — O 'Fulseitalic = O 'FaJsestrikethrough — O 'False
EndTropcrtyrows = 5cois = 5mouseicon = 'TESIS-03.fi7t":0000
EndBegin MSGridGrid Gridl
Height * 2895Left - 3600Tablndex =* 5Top - 480Wídth - 3495_versioa = 65536_extenbc — 6165_ejrfenty = 5106_stockprops = 77BeginProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
líame = 'Times New Román"charset = 1weight = 700size = 9.75underline = O "Falseitulic = O !Fal»estrikeíhrough - O 'False
EndPropertyrows = 10cois = 8mouseicon - "TESIS-03.írx":QQlC
EndBegiuMSGrid.Grid Gridl
Height. = 2895Left - OTablndex - 4Top - 480Width - 3495_version = 65536
= 6165= 5106
_síockprops «= 77BeginProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
ñame * 'Times New Román"
Página!
IIIIIIIIIIIIIIIIIIII
charseí = 1weiglit - 700size - 9.75underliiie = O "False¡(alie - O 'Faísestrikethrough = O 'False
EndProperiyrows = 10cois — 9mouseicon - rrTESIS-03.focJ':OÜ38
EudEne! .Aítribirte VB_Name = "Form3"Attríbuíc VE_Crcaiablc = FalsoAtíribute VBJExposed = FalseDim Banderal, N, Filas, Colum, BinarÍol(), Binario2(), Variables()Dim Bandera!, BinarioSQ, Total, ExcitaciQDim Auxíl, AuxiZ, Ultimo, Función, N_Kuevo, Simple
Prívate Sub Combol_CIickQIf (Banderal < Filas +1 And Bandera2 = 0) Then
IfOptionl.Valué Theníndice =Form3.Combol.ListIndexForm3.Grid2.Row=Banderal +1ForI=OToN-l
Form3.Grid2.Col=I+lBÍnario2 (Banderal, I) *= B!naríol(Indice, I)Fonn3.Gríd2.Text=Binariol(Iiidice, I)
NextlBanderal -Banderal +1Htiql - "Existe ei estado (" & Banderal ¿fe ")V"Form3 JLabel4.CaptÍon=EtiqlForm3.Combol.Text111 "Estado siguiente"Form3.Combol.Visible = OFormS.Optioiil.Valué - OForni3.Option2.Visible = -1Form3.Option2. Valué = OIf Banderal = Filos +1 Then
Etiq2 = "Están correctos los datos"Form3.LabeM.CaptÍQn =Etiq2Banderal = OBanderaZ = 1FormS.Optionl .Valué = OForm3.0ption2. Visible = -1Form3.0ption2. Valué « O
EndlfEndlf
EndlfEndSub
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 = OForm3.Labeli.Widm = 7000Tipo •=Form3.Combo2.LÍstIndex Indicador del tipo de Flip FlopForm3.Grid3. Visible = -1FonuS.GridS.Col^OForI=lTo4
Form3.Grid3.Row=IForm3.Grid3.Tcxí=I" 1Form3.Grid3.ColWídth(0) ̂ TexíWidíh(Form3.Grid3.Text) * 1.1
NextlForm3.Grid3.Row = OForI=lTo2
TfT = 1 Tlien Variable = "Qn" Else Variable = "Qn-H "Form3.Grid3.Col«IForm3.Grid3.Text« VariableForniS.GridS.ColWidth^^TextWídthCFonnS.GridS.Text) * 1.1
NextlSelect Case Tipo
Case 0,1Total = 2 * N » 1 'Numero de columnas adicionales de la tabla de excitaciónColumnas = 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-3Form3.Grid3.Text = "J"Form3.Grid3.ColWÍdÜi(3) = TextWÍdtíi(Forni3.Grid3.Text) * 2Fonn3.Grid3.Cot=4 <Fonn3.Grid3.Texf="K"Form3.Grid3.ColWicíth(4) =TextVVÍdíh(Form3.Gricí3.Text) * 2
ElseForm3.Labell.Capt¡on *= "Esta es la tabla de excitación con Flip Flpos Tipo SR"Form3.Grid3.Col = 3Furui3.Grid3.Text- "S"Fonu3.Grid3.ColWidíh(3) = TextWÍdth(Form3.Grid3.Text) * 2Form3.Grtd3.Gol =4Form3.Grid3.Tcxt = "R."Form3.Grid3.ColWidth(4) =TextWidth(Fonn3.Grid3.Text) * 2
EndlfCase 2,3
Total =N - 1 'Número de columnas adicionales de la tabla de excitaciónColumnas = 2 'Columnas de laMatriz trBinar¡o4()tl
Form3.Grid3.Cols =* 4 'Columnas del "GridS"If Tipo = 2 Then
Form3.Labeil.Caption = "Esta es la tabla de excitación con Flip Flpos Tipo D"Form3.Grid3.Col« 3Form3.Grid3.Text = "D"Form3.Gríd3.ColWidth(3) =TextWidth(Form3.Gríd3.Text) * 2
ElseForm3.LabeU.CaptíonES"Estaes la tabla de excitación con Flíp Flpos Tipo T"Fonn3.Grid3.Col = 3Form3.Grid3.Text - 'T1
Form3.GrÍd3.ColWidÜi(3) =TextWidÜi(Form3.Grid3.Text) * 2EndJf
Hnd Select
'Generación de la tabla de exitación de los Flip Flops en "Binario4()"i_ „_____._ _____,^.__^. ,__.....__- _._.„.___-_ReDiniBinario4(3í Columnas)ForJ=OTol
Valor-OK>2*(1-J)K1=KForI=OTo3
If Kl - O And Valor - O ThenValor=lKl-K
EndlfIf Kl •= O And Valor -1 Then
Valor=0K1=K
EndlfBinario4(l,J) = ValorK1=K1-1
NextlNextJSelect Case Tipo
Case Ü, 1If Tipo = O Then
ForI=OTo3ForJ=2To3
Select Case ICase O
IfJ=2Then Valor=0 El se Volor=2Case 1
If J- 2 Then Valor= 1 Else Valor=2Case 2
If J = 2 Then Valor = 2 Else Valor = 1Case 3
Tf J = 2'Then Valor = ^ Else Valor = OEnd SelectBmarío4 (1,1) = Valor
NextJNextl
ElseForI=OTo3
ForJ=2To3Select Case I
Case OIf J = 2Then Valor-= O Else Valor - 2
Página 16
CaselIf J = 2 Theu Valor = 1 Else Valor = O
Case 2If J = 2 Tuen Valor = O Else Valor = 1
Case 3IfJ = 2ThenValor=2ElseValor=0
Hnd SelectBinario4(I, J) = Valor
NexíJNextl
EndirCase 2, 3
IfTÍpo = 2ThenForI-OTo3
Select Case ICase O
Valor=0Case 1
Valor =1Case 2
Valor = OCase 3
Valor =1End SelectBinario4(I,2)=Valor
NextlElse
Select Case ICase O
Valor =üCase 1
Valor=lCase 2
Valor -1Case 3
Valor = OEnd ScicctBÍnario4(I,2)'=Valor
NextlEndlf
End SelectTmpresíón He la.tnhtarfe excitación del Flip Flop seleccionado en "Grid3"'______, .______ _ _ _ _ _ _ _ _______ ,__________._,_. ________ __ .________ .___- .—,__
ForI-OTo3Form3.Gríd3.Row= I + 1For J = O To Columnas
Form3.Grid3.Col~.r-HIf Binarío4(If J) » 2 Then Valor = "X" Else Valor - BÍnarío4(I, J)FonnS.GridS.Text^ Valor
NextJNextl'Generación de las variables inicíales para la creación de !a tabla de'excitacióni _____ __________ ______ __—__«___._ __________ _________ __________ _______
Form3.Grid2. Visible = OFinal = 2 * N + 1 + Total 'Número de columnas de la tabla de excitaciónForm3.Gridl.Cols =FinalFurm3.Gridi.Visible--lForm3.Gridl.Widm = 7000
FormS.Gridl.Row^- O
'Impresión de las variables del estado presente eti la tabla de excitación
ForI=lToNForm3.Gridl.Cnl=IVariable = "Q"&N~ IFormS.Gridl.Text^ VariableForm3.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*NFonn3.Gridl.Col" IVariable ~"QII&2*ÍN -I
Página 17
Forra3. Gridl.Texí = VariableFonn3.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» IIf Tipo = O Then
Variable - "J" &N - AuxilExciíaci(0, AuxiO) — VariableForm3.Gridl.Text= VariableFormS.Gridl.ColWidthCO^TcxtWidthfFormS.Gridl.Tcxt) • 1.1Variable •= "K" &N- AuxilAuxiO — AuxiO + 1Excitaci(0, AuxiO) — Variable
' 1=1+1Form3.Gridl.Col=IForm3.Gridl.Text= VariableFonn3.Gridl.CoIWidth(I)=TextWidthfFonn3.GrÍdl.Text) * 1.1AuxiO = AuxíO 4- 1Auxíl = Auxil + 1
EndlfIf Tipo =1 Then
Variable « "S" &N - AuxilExcitacÍ(0, AuxiO) = VariableForm3.Gridl.Text= VariableForm3.Gridl.ColWidth(I) = TexíWidth(Form3.Gridl.Text) * 1.1Variable = "R" &N - AuxilAiDtiü-AiixiO+1Fjtcitac¡(0, AiixíÚ) = Variable
Fonn3.Gridl.Col=IFonii3.Gridl.Texl - VariableForni3.Grídl.ColWidtli(I) = TextWidth(Forra3.Gi-idl.Text) + 1.1AuxiO = AuxiO I 1Auxil = Auxíl + 1
Endlf
Variable « trD" &N - AiralFjccÍtaci(0, AuxiO) = VariableForm3 . Gri di .Text = Vari ab I eFonnS.Gridl.ColWidthCO^TextWidthfFormS.Gridl.Text) * 1.1AuxiO « AuxiO + 1Auxil = Auxil + 1
EndlfIf Tipo = 3 Then
Variable^'T" &N-AuxilExcitaci(0, AuxiO) — VariableForm3.Gridl.Text= VariableForm3.Gridl.ColWídth(I)=TextWidÜi(Fonu3.GrÍdl.Text) * 1.1AuxiO - AuxiO + 1Auxil = Auxil + 1
EndlfNexí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=OToFilasForJ=OToColum
K = 2*JL=K+1Tf (Binario! (T, J) » O And BinarioZO, J) = 0) Then
Bínario3(I,L)«2EndlfIf (Binarioirr, J) « O And Bmario2(I, J) = 1) Then
BÍnario3(I,K) = lBinario3(I,L.) = 2
EndlfIf CBinar¡ol(I, J) » 1 And B¡nario2(I, J) = 0) Then
Bmario3(I,K) = 2
Página 18
EndlfIf (Binariol(I, J) = 1 And Binario2(I, J) = l) Tlien
Binarío3(I,K) = 2Binario3(I,L) = 0
EndlfIf (Binariol(I, J) = 2 And Binario2(I, J) = 2) Then
Binario3(I,K)=<2Binario3(I,L) = 2
EndlfNextJ
NexllEndlf'Generación de laiablade excitación para los FFs Tipo SR
If Tipo = 1 ThenForl-OToFilas
ForJ=OToColum
If (BinariolCI, J) - O AndBinario2(I, J) = 0) ThenBÍnario3¿K) = 0Binario3(I,L)=:2
EndlfIf (Bínariolft J) = O And Binario2(It J) = 1) Tlien
Biuario3(I,L) = 0EndlfIf (Binario 1 (I, J) = 1 Aiid Binai-io2(I, J) - 0) Then
Binario3(I,K)'=0Binario3(I,LJ = l
EndlfIf (BinarioICl, J) = I And Binario2(I, J) = I) Then
Binario3 ¿K) = 2
EndlfIf (Binaríol(I, J) = 2 And Binario2(I, J) = 2) Then
BÍnario3¿K)=2Binario3(I,L)-2
EndlfNextJ
NextlEndlf'Generación de la tabla de excitación para. IOK FFs Tipo Ht _______ _—_„_„_ _________ .____——».».—— __________If Tipo ~2 Then
Forl^OToFilasForJ=OToColum
If (BinariolCI, J) - O And Binario2(I, J) = 0) ThenBinario3(Í J) = O
EndlfIf (Binariol(I, J) = O And ~B\nw\o2$, J) - 1) Then
BinarÍo3¿J) = lEndlfIf (Bmariol(I, J) = 1 And Binario2(I, JJ = 0) TTien
Binario3(I,J) = 0EndlfIf (BinarioICl, J) = 1 And SinttñoZ^I, J) - 1) Then
Binario3¿ J) = 1EndlfIf {BinarioICl, J) = 2 And Binario2(I, J) = 2) Then
Binario3¿J) = 2Endlf
NextJNextl
Emilf'Generación de la tabla de excitación para los FFs Tipo Ti _______________________________________________________
If Tipo » 3 ThenForl^QToFilas
ForJ=OToColumIf (BinarioICl, J) » O And BÍnario2(I, J) = 0) Then
Binario3¿ J) = OEndlfIf CBinariol(I, J) « O And Btnario2(I, J) = 1) Then
EndlfIf (BinarioICl, J) » 1 And Binarío2CII J) - 0) Then
Página 19
Binario3(I,J) = lEndlfIf (BmarÍQl(I, J) « 1 And Binarío2(If J) » 1) Then
Binario3(Í,J)-0 *EndlfIf (BinariolC, J) = 2 And Binan o2(I, J) = 2) Then
BínarioSCí, J) » 2Endlf
NexíJNextl
Eiidlf'Impresión de toda la tabla de estado presente, siguiente y excitacióni ____ __„_„_._____. ______ __—._._____ ______ _____.._„___ ______ — ™ . _Forl^OToFilas
Form3.Gridl.Ro\v=I-i-lForJ<=QToN-l
Form3.Gridl.Col=J + lIfBinariolO; J) = 2 Then
Form3.Grid1.Text = "X"Else
Form3.Gridl.Text =Binariol(I, J)Endlf
NextJForJ=NTo2*N-l
Form3.Gridl.Col = J-í-lIf Binarío2(I, J - N) = 2 Tlien
Form3.Gridl.Text» "X"Else
Form3.Gridl.Text »Binario2(j; J - N)Endlf
NextJForJ=2*NToFinal-2
Form3.GridI.Col=J+lIf Binarios (I, J - 2 * N) « 2 Tlien
Fünii3.Grídl.Twa*"XH
ElseForni3.Gridl.TeAt «Binario3(I, J - 2 * N)
EndlfNextJ
NexílFunción - OEnd Sub
Prívate Sub Commandl_ClÍckQUnload FormSEnd Sub
Prívate Sub Comniand2_Click()'Borrado de ialístade esíados siguiente en"Combol" si existe
AuxiO I=Form3.Combol.ListCountIf AuxiO o O Tiien
ForI=OToAuxiO- 1Form3. Combo l.RemoveBem O
NextlEndlf
'Generación de la tabla de verdad de los estados actuales en "Binario !()"i _______________________________________________________________
If IsNumeric(Textl.Texr) TñenN = Texíl.Texí
Colum =N - 1ReDím Variables(Q, Colum)Form3.Label3.Caption - ""Forra3.lAbel3.Visiblea OForm3.TexÜ.Text=l"t
Form3.Textl.VÍsÍble= OForm3.Command2.VÍsíble - OForm3.Gridl.ColB — Colum + 2Form3.Gridl.Rows - Filas + 2Fonu3.Grid2.Cols = Colum + 2Form3.Grid2.Rows "Filas + 2For I=lTo Colum + 1
Form3.Gridl.Row - OForm3.Gridl.Col»!Form3.Gridl.Text- "Q" &N - 1
Página 20
Variables(0, 1 - 1) = "Q" &N - 1Form3.Gridl.ColWidtii(I) = TextWidtíi(Fonn3.Gridl.Text) + 1.1Form3.GrÍd2.Row= OForm3.Gríd2.Col = IForm3.Grid2.Text = "Q" &N-IFonn3.Grid2.ColWidth(I)=TextWÍdth(Fonii3.Grid2.Text) " 1.1
.NextlForI=iToFiias + l
Fonn3.Gridl.Row -IForm3.Gndl.CoI = OFonn3.Gridl,Texl-I-lForni3.Gridl.ColWÍdth(0)=TextW¡dtb(Fomi3.Gridl.Text) * 1.1Form3.Grid2.Row = IForm3.Grid2,Col^OForm3.Grid2.Text=I - 1Fonn3.Gríd2.ColWidth(0)=TextWidth(Form3.Grid2.Text) * 1.1
NextlReDimBinariol(Filas, Colum)ReDÍmBinano2(Rilas, Colimi)ForJ=OToColum
Form3.Gridl.CoI=J+lValor^OK=2 A (N-J -1)K1=KForl-OToFilas
If Kl = O And Valor= O ThenValor =1K1=K
FjidlfIfKl = O And Valor = 1 Then
Valor -OK1=K
EndlfBinariol(I, J) » ValorKl -Kl - 1Form3.Grídl.Row = I+ 1Form3.Gridl.Text - Valor
NcxtlNextJ'Generación de la lista de estados siguientes en "Combol"
ForI=OToFílasForm3.Comho1 .Atldítem T
NextlElse
Msg = "Ko es un dato numérico o no existe dato"MsgBoxMsg,32FonnS.Textl.Tejct^'"'Form3.Textl.SetFocusExitSub
Fon»3.Framel. Visible — -1Form3.Label4.Caption« "Existe el estado (0)?"Banderal = OBandera2 * üEndSub
Prívate Sub Command3MClick()ReDiui Ter_Miiii(Filus)ReDim]jiiplican(Filas, Colum)Label2.Visible = -lIf Función <~ Total Tlicn
AuxíO =Exciíaci(0I Función) & " = "ForI«OToFilas
Ter_Mini(T) = Binario3(I, Función)NextlCali MinimízarOSr» Ter_Mnii()( TmplicanC),NJNuevn, Simple)If Simple •= O Then
ÁuxiO ~ AuxiO & "O Lógico"EndlfIf Simple*! Then
AuxiO - ÁuxiO & "1 LxSgico"EndlfIf Simple = 2 Then
Filos_Nue =N_NuevoAuxíO =Excitaci(0, Función) & " = "ForI»OToFÍlas_Nue
PágLm 21
ForJ = OTo CohimfflmplicanO, J) - O Then
AuxiO = AuxÍO;& Variabtes(0t J) & "'"Endlf _ .:IflmpiicanO; J)H 1 Then
AuxiO = AuxíO & Variables(0, J)EndlfIf ImpHcanft J) - 2 Then
AuxíO = AuxiOEndlf
NexlJHl<Fíías_NueThen
AuxiO ="AtDdO&" I "Endlf
NextlEndlf
EndlfLabel2.Capíion=AuxiOFunción = Función 4- IIf Función - Total +1 Then
CominandS.Caption = >f&GK."EndlfIf Función — Total -I- 2 Then
Unload Form3Form3.ShowLabeí3.W¡dth=5000Textl.TopTextl.Left =Textl.WÍdih«2000Command2.Top = 3720Command2.Left=72ÜÜCommand2.Wldlh « 2295Label3.Visible»-lTextl. Visible = -1Cüiiniiarid2.Visibltí ̂ -1Textl.SeíFocus
EndlfEndSubPrívate Sub Command4_Click()
Combo2.Visible = 0Grid3.Yisible = 0Command4.VÍBÍhle = OLabel2.Leíl=0Labe!2.Top = 3720LabeI2.WÍdth«7000Label2.VisibIe«-lGomniandS.Visíble = -1Gommand4. Visible = OReDim Ter_Mini(Filas)ReDimJnqjlicanQFilas, Colum)ForI = OToFÍlas
Ter Mini(I)«Binario3(r, Función)NexífCnJI Miniraízai^N, Ter_Mini(), ImpIicanQ, N^Nuevo, Simple)Fi Ias__Nue ~ N_NuevoForm3.LabeÍ2.Visible - -1AuxiO =Exciíaci(Q, Función) & " = "If Simple ̂ GTlieii
AuxiO = AuxiO & "O Lógico"EndlfIf Simple-1 Then
AuxiO »AuxíO & "1 Ló^co"EndlfIf Simple «2 Then
Forl^OToFilasJNueForJ = OToColnm
IfImpUcan(I, J) - O TlienAuxiO = AuxiO & Variables(0, J) & "'"
EndlfJfImplicrm(I, J) -1 Tlien
AuxiO = AuxíO & Variables(0( J)EndlfIfBnplican(r, J) = 2 Then
AuxiO=-AuxiOEndlf
NextJ
Págúia 22
If I < Fílas_Nue ThenAuxiO=AuxÍO&"-f "
EndlfNextl
EndlfForm3.Label2.Caption - AuxíOFunción — Función -f-1EndSub
Prívate Sub Form_GUck()GisEndSub
Privaíc Sub Form_LoadOCambo2.AddItem "FF JK"Combo2.AddItem "FF SR"Combo2.Ad(Dtem "FFD"Combo2.Adctttem "FFT"Kiif! SubPrívate Sub minterQEndSub
Prívate Sub Optionl_Click()Form3.0ption2.Visible - OIf Bandera2 - O Then
FormS.Combol. Visible = -1Else
Form3.Opiionl. Valué = OForm3.Option2.Visible - -1Form3.Optíon2. Valué = OFormS.Framel. Visible - üForm3.Combo2.Visible « -i
EndlfEndSub
Prívate Sub OptioH2_CUck()If (Bandera! < Filas -I-1 And Bandera2 = 0) Then
If Opíion2.Valuc ThenForm3.Gridl.Rovv=Banderal +1Form3.Grid2.Row=Banderal +1ForI = OToN-l
Form3.Gridl.Col =1+1Form3.Grid2.Col='T+lBinariol (Bandera!, 1) - 2Bínario2(Banderal, I) = 2Fonn3.Gridl.Text«"X"Form3.Grid2.Text = "X"
NextlBandera! = Bandera! + 1Etiql = "Existe el estado (" &Banderal & ")?"Form3.Label4.Captíon = EtiqlFonn3.Opíion2.Valué - OIf Bandera! «Filas + 1 Then
Etiq2 = "Están correctos los datos"Form3.Labe J4. Capitón =Etiq2Bandera! = OBandera2=lExit Sub
ElidirEndlf
EndlfIf Bandera! •=• O Then
ForJ=OToColumFonn3.Gridl.Col=J+lForni3.Grid2.Col = J4-1Valor = O
ForI=OToFilasIf Kl - O And Valor - O Then
Valor = 1K1=K
FjidlfIfK! = O And Valor= 1 Then
Valor - O
Endlf
Página 23
BÍnariol(I,J)=Vu|orK1=K1-1Form3.Gridl.Row*-J+ 1Form3.Gridl.Tejrt = ValorForm3,Grid2.RowHr + 1Forni3.Grid2.Text»'111
NextlNextJEíiql = "Exísíe el estado (" &BHnderal & ")?"Form3.Label4.Caption =* EííqlFonn3.OplÍun2. Valué — OBandera2 - O
EndJfEndSub
Prívate SubTextl_KeyDovm(KeyCodeAsMeger, ShiftAsInteger)IfKeyCode=13Tlien
Cali Command2 ClickRndTfEiid Sub
PANTALLA QUE PRESENTA LAS TABLA EN EL PROGRAMA
VERSIÓN 4.00Begin VB.Fonn Forra4
Appearance = O T"letBackColor = &H80000005&Capíion - "Tablas"ClientHeiglit - 4050ClíentLeft - 1680ClientTop - 1905ClientWidíh - 7455BeginProperty Font
ñame — "MS Sans Serif'charset = 1wcigbí - 700size — 3.25underlíne = O TTalseitalic ^ O 'Faltfcstrikethrou^i *= O 'Folse
EndProperfyForeCoIor « &H8Q000008&Height = 4455T^ft - 1620LbkTopic = "Fonn4"ScaJeHeíght = 5 4 0ScaleWidth = 540Top « 1560Width = 7575Begín VB.CornmandButíon Commandl
Appearance — O *FlatBackColor = &H80000005&Caption = "Sa&lir"BeginProperty Font
naine = "Times New Román"charset = 1weight = 700size = 1 2underlíne — O 'Falseilulic - O 'Falsestrikethrough = O 'False
EndPropertyHeight - 375Left - 5760Tablndex » 1Top = OWidth * 1575
KndBegin VB.ComboBox Combol
Appearance = O "FíatBeginProperty Font
ñame = 'Times New Román"cliarset = 1weight = 700size = 11.25underline = O ^Falseitalic = O Talse
Págbia 24
sfrikeíhrough = O 'FalseEndPropertyHeight » 375Lefi = 120Tablhdex = OText = "Haga""Clic"" enílechaderecliaparaverlastablas"Top = üWidth = 5415
EndBegin VB.Image ünagel
Appeanuice — O 'FluíHeight = 3495Left = 0Top -» 480Width = 7455
EndEndAttribute VBJNarae - "Fonn4"Aítrihiite VB_Creaíahle - FalseAttribute VB_Exposed = False
Prívate Sub Combol_ClíckOOn Error GoTo mensajelíndice = Combol.L¡stIndexSelect Case índice
Case OCoption= "Tabla 1.1"&iiagel.Picture=LoadPicture('lC:VDISESIAC\TABLAS\TABLl--01.BMP11)
CaselCaption ='Tabla 1.2"Imagel.i)¡cture=LoadPicíure(l'G:\DlSESIAC\TABLAS\TABU-ü2.BMP")
Case 2Caption = 'Tabla 1.3"Iniagel.Picture = LoadP¡ciure(''C:\DLSESIAC\TABLAS\TABLl-03.BMPlt)
Cas<¿3Ca|>tÍoti= 'Tabla 1.4"Imagel.Picture = LoadPÍcture(»C:\DISESIAC\TÁBLAS\TABLl-04.BlvíP")
Case 4Caption ='Tabla 1.5"ünagel Jicture = LoadPÍcíure("C:\DISESIAC\TABLAS\TABLl-05.BMP")
Case 5Caption = 'Tabla 1.6"ImageJ .Piciiire = TxiadPichire("C:\nifíKSÍAC\TARLAS\TABU -Ofi.BMP")
Case 6Caption ='Tabla 1.7"Imagel.Picture - Ix)adPicture("C:\DISESIAC\TABLAS\TABLl-07.BMPl()
Case 7Caption ='Tabla 1.8"ImageLPicture = ̂ adPi(rture("C:\DISESIACVrABLAS\TABLl-08,BMP'')
Case 8Captíon ='Tabla 1.9"ImageLPicture = LoadPicture(" C:\DISESIAC\TABLAS\TABL1-0 9.BMP")
Case 9Caption ='Tabla 1.10"OmageLPicüre - ix)adPicture(" C:\DISES1AC\TABLAS\TABL1-1U.BMP")
CaselOCaption ='Tabla Lll"Imagel.Picture=LoadPÍcture("C:\DISESIAC\TABLAS\TABLl-ll.BMP'')
Case 11Caption = 'Tablal.l2"foiageLPichre = LoadPicíure("C:\DISEfíIAC\TABLAS\TABLl-12.BMP")
Case 12Caption ='Tabla 1.13"ImaselJ>icíure=I^adPicture("C:\DISESIAaTABLAS\TABLl-13JBK£P1')
CaselSCaptÍon = 'Tabla 1.14"Tmagel .Picüire = T^fulPictiire("C:\r)TSF^TAC\TABTAí?\TABT,1 -14.BMP")
Case 14Caption ='Tabla 1.15"Imagel.Picture - LoadPicture("C:\DISESIAC\TABLAS\TABLl-15.BMP")
Case 15Caption ='Tabla 1.16"Imagel.Picti4re=Ix)adPicture("C:VDISES]AC\TABLAS\TABLl-16.BMP")
Case 16Captton= 'Tabla 1.17"Bnagel.Pichire=Ix)adPicture(''C:\DISESIAC\TABLAS\TABLl-17.BMP")
End Select
Página 25
IExit Submensa} el: •MsgBox "No se ha especificado Figura", 16ResumeNext .'* -4
End Sub * *
Prívate Sub Commandl_CJ¡ck()Un load Form4End Sub
Prívate Sub FoniiJLoudQComboLAdeUtem '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 SECUENCIASDE CÓDIGOS.
VERSIÓN 4.00Begin VB.Form FormS
Appearance = O TFlatBíickColor - &H80000005&Captíon = "Diseño de detectores de secuencias de códigos"Clientlleigbt = 5595ClicntLcft - 1890ClientTop - 1545ClieniWídtb = 7605BeginProperty Font
ñame = 'Times New Román"charset — 1weighí = 7 0 0size = 12underline = O "Falseitalic = -1 Truestrikethrou^i = O 'False
F-ndPropertyForeColor - &H80000008&Height = 6000Left = 1830LínkTopic = "Form5"MDIChild = -1 TrueScaJeHeight = 54ÜScaieWidth = 540Top = 1200Width = 7725Begiii VB.Fraiiie Fnune4
BackColor - «&HOOFFFFFF&Heigbt = 1575Lcft - 6360Tablndex = 28Top = '1800Visible = O "FalseWidÜi - 3015Begín VB.OptionButton Option6
BackColor = &HOOFFFFFF&Caption = 'Tabla de implicación"BeginProperty Font
ñame — 'Times New Román"cbarset = 1weight = 700size = 12underline = O "False
Página 26
IIIIII\
III1IIIII
iíalic = O 'Falsestriketlirough = O 'False
EndPropertyHeigíit = 375Left = 120Tablndex - 30Top - 1080Width = 2295
EndBegín VB.OptionButioD OptíouS
BuckCulur - &HOÜFFFFFF&Caption = "Pailic iones"BeginProperty Font
ñame -*• "Times New Román"charset = 1weigbt = 700size = 12underline = O 'False¡talle — O Talsestrikethrough = O Talse
EndPropertyHeight = 375Left = 120Tabfodex - 29Top - 720Width = 2295
EndBegin VB.Labe! Labe!5
BackColor - &HOOFFFFFF&BorderStyle = 1 Tneed SingleCaption = "Método de simplificación"BeginProperty Font
ñame » "Times New Román"charseí = 1weigíil *- 700size = 12underline ** O 'Falseitalic — O 'Falscstriketfarou^i "=• O 'False
EndPropertyHeight = 375Left » 120TahTnrlex = 31Top = 240Width = 2775
EndEndBegín VB.Frame Framel
Appearance = Q *FlatBackColor = &H80000005&BegíiiProperty Font
ñame = "MS Sans Serif'charset — Iweíght = 700size -« «.25underline = O Talseitalic - O "Falsestrikethrough — O *False
EndPropertyForeColor = &H80000008&.Ileight = 3015Lcft - 1440Tablhdex = 15Top - 120Visible = O 'FalseWídth - 4815Begin VB.CommfindBiitinti Commnndfi
Appearance = O 'FíatBackColor - &H80000005&Caption « "&Aceptar"BeginProperty Font
ñame = 'Times New Román"charset =* 1weight = 700size = 12underline = O 'Falseitalic — O "False
Página 27
= 2760 H27* t
strikethrough = O 'FalseEndPropertyHeight » 375 .:LeftTablndexTop = 240Width - 1935
EndBegin VB.Frame Frame3
Appearance = O TlatBuukColor - &H80000005&Capííon = "Entrada X=l"BeginProperty Poní
ñame = "MS Sans Scrif 'charset = 1weíght « 700size = 8.25underline — O "Falseítalíc = O ^alsestrikethrough = O 'False
EndPropertyForeCoIor - &H80000008&Heíghí =- 2200Left = 2450Tablndex = 1 8Top - 720Width = 2250Begin VB.HScro!lBarHScroll2
Height = 3 0 0Letí « 120Mnx •= 1Tablndex « 26Top - 1800Wídth = 2000
EiidBegin VB.TextBox Text4
Appearance = O 'FíatBcginFropcrfy Font
ñame = "MS Sans Serif 'charset = 1weighí — 700size — 8.25underline = O Valseitalic = O "Falsestríkethrou^i = O 'False
EndPropertyHeight = 375Left = 120Tablndex = 25Top = 1305Width - 2000
EndBegin VB.OptionButíon Opíion4
Appearance = O 'FíatBackCotor = ¿4H80ÜOOOÜ5&Caption - "Salida Z=l»BegínProperty Font
nanie = "MS Sans Serif'cliurset — 1weíglit = 700size = 8,25underline — O 'Falseitalic = O "Falsestrikethrough = O 'False
FjidPropertyForeCoIor = &H80000008&Height = 375LefL - 120Tablndex = 24Top - 720Width = 1800
EndBegin VB.OptionBuíton OpíionS
Appearance = O 'FíatBackCoIor - &H80000005&Caption = "Sa!idaZ=0"BegínFroper^ Font
I
Página 28
ñame = "MS Sans Seríf'cbarset — 1weight - 700size = 8.25underline *=* O Talseitalic = O 'Falsesfrikeíhrough = O 'FaJse
EndPropertyForeCoIor - &H80000008&Heighi = 375Lcll - 120Tablndex = 23Top = 360Width - 1800
EndEndBegin VB.Frarae Frame2
Appearance = O TlatBackColor - &H80000005&Caption = "Entrada X= O"BeginProperty Font
ñame » "MS Sans Serif'charset = 1weíght - 700síze ~ 8.25underline — O 'FaJseitalíc «= O Talsestriketlirough - O *False
EndPropertyForeCoIor = &H80000008&Beight « 22ÜOLefl « 120Tablndex = 1 7Top = 720•WidÜi - 2250Begin VBJHScrollBar HScrolíl
Ileight = 3 0 0Lcft -> 120Max - 1Tablndex = 22Top » 1800Width = 2000
Km!Begin VB.TextBoxText3
Appearance ~ O "FíatBeginProperty Font
ñame » "MS Sans Serif'charset = 1weíght « 700size = 8.25underline = O Taíseitalic = O 'Falsestrikethrough = O "FaJse
EndPropertyHeíght - 375Left = 120Tablndex « 21Top = 1300WidÜi - 2000
EndBegin VB.OptíonBuíton Option2
Appearance ™ O 'FíatBackGolor - &H80000005&Caption - "SalidaZ-l"BeginProperty Font
ñame = "MS Sans Serif'charset — 1weight - 700size = 8.25underline = O TalseHalle = O "Falsestriketlirough = O 'False
EndProperíyForeCoIor = &H80000008&Height - 375Left = 120Tablndex - 20
Página 29
Top = 720Width = 1800,
End ;Begin VB.Opt¡onButíót£Opt¡onl
Appearance = O *FIaíBackColor = &B80000005&Coption = "Salida2 = 0"BeginProperty Font
ñame = "MS Sans Serif'charset = 1Weigbt - 700size = 8.25underline = O TTalseiíalic « O "Falscsirikethrough = O 'False
EndPropertyForeColor » &H80000008&Height =375Left = 120Tablndex = 19Top = 3 6 0Width = 1800
EndEndBegin VB.Label Labe!4
Appearance = O *FIatBackColor » &H80000005&BorderStyle = 1 Tixed SingleBeginProperty Font
naine = "Times New Román"churset — 1weight = 700size - 9.75underlíne = O 'Falseitulic ^ O Talsestriketíirough = O 'False
EndPropertyForeColor -= &H80000008&Heíght - 375Lefi = 120Tablndex = 1 6Top « 240Wiflth = 2505
EndEndBegin VB.TexíBoxTexi2
Appearance = O 'FJatBeginProperty Font
ñame - "MS Sans Serífcharset = 1weight — 700stze = 8.25underl íne = O IFalseitalic = O "Falsestrikethrough = O 'False
EndProperryHeigbt - 495Left - 6600Tiibludex — 14Top = 3240Visible « O líalseWidth - 2655
EndBegin YB.CommandButton Command?
Appearance = O TlatBackColor « &H80000005&Captinn — "S&igniente"BegíriProperty Font
ñame ~ "Tímes New Román"charset = 1weight « 700size = 12underline ™ O Talseitalic = O ^alsestríkethrou^i — O 'False
EndPropertyHeight - 495
IIi
Págjjia 30
Left - 8040Tablndex: = 13Top « 3960Visible = O "FalseWidth - 1455
EndBegin VB.CommandButton Command6
Áppearance - O TI alBackColor = &H80000005&Caption = "Calc&ular"BegiuProperty Ftml
nanie = 'Tunes New Román"charset = 1wctght - 700size = 12underlíne = O 'Falseitalíc = O 'Falsestrikethrough — O Talse
KndPropertyHeigbt = 495Lefi « 6480Tablndex = 12Top - 3960Visible = O 'FalseWídth = 1455
EndBegin VB.ComboBox Combol
Áppearance = O 'FíatBeginProperty Font
oame = 'Tínies New Román"charset = 1weíght = 700size = 12underlioe = O TalseiUdic - O Tbüsestriketlu-ough = O 'False
EndProperiyHcight - ^ 4 0 5Left - 6480Tablndex = 10Test = 'TipodeFlípFlop"Top - 120Visible = O T^alseWidth = 2535
EndBegin VB.CommandButton Command5
Áppearance » O 'F! aiBackColor = &H80000005&Caption = "&CalcuIar"BegiriProper^ Font
ñame — 'Times New Román"charset = 1weight = 7 0 0size = 12underlíne = O 'Falseitalic = O 'Falsesiríkethrough = O *False
EndProperiyHeigljl - 495Lefi = 2400Tablndex - 7Top - 5400Visible = O 'FalseWidth - 1575
EndBegin VB.CommandButton Command4
Áppearance =* O "FíatBackColor - &H80000Q05&Caption = "&Acepíar"BeginProperty Font
ñame = "Times New Román"charseí - 1weight = 700size = 12\inder!íne ™ O *Falseítalic = O "Falsestrikethrough " O 'False
Página 31
EndPropertyHeíght =495 : ;Left » 4680 . ,Tablndex = 6 ¿^Top - 4680 I*Wídlb = 1575
EndBegín VB.CommandBulton CommandS
Appearance "= O 'FíatBackColor = &H80000005&Cuplíun — "obAcepUir"BeginProperty Font
ñame •= 'TimesNewIloman"charsct ~ 1weight - 700size = 12underline = O TalseííaJic - O 'Falsestrjkethroiigh = O 'Fnlse
EndPropertyHeight - 495Lefi « 4680Tablndex - 5Top = 3960Width - 1575
EndBegin VB.CommandButton Command2
Appearance = O 'FlalBnckCoIor = &H80000005&Captíon = "&SimpÜíicar"BeginProperíy Font
ñame ~ 'Times New Román"charscí ==" 1weighí = 7 0 0size — 12underline = O 'Falseitalic = O "Falsesírikcthrough ™ O 'False
EndProperíyHeight = 4 9 5Left = 4680Tablndex = 4Top - 5400Visible = O 'FalseWidth = 1575
FjidBegín VB.TextBoxTextl
Appearance = O 'FíatBeginProperty Foní
ñame — 'Times New Román"charset = 1weiglit « 700size - 12underiine — O "Falseitalic — O 'Falsestriketlirough = O 'FaJse
EndPropertyHeight =495Leil « 3720Tablndex = 2Top = 3240Visible -* O 'FalsoWidth = 2535
EndBegín VB.CommandButíon Commandl
Appearance = O TlatBnckCoIor = &H80000005.&Caption - "Sa&lír"BeginProperty Font
ñame ™ 'Times New Román"charset «* 1weíght = 700size = 12underline = O {Falseitalic - O 'Falsestrikethrough = O 'False
EncIProperty
PágJJia 32
Height = 495Left « 120Tablndex = OTop - 5400Width - 1575
EndBegin VB,Label Label3
Appearance — O 'FíatBackColor - &H80000005&BorderSryle = 1 "Fixed SingleCaplion — "Diseílü medíanle el diagrama de estados"BeginProperíy Font
ñame *** "Times New Román"charsct ~ 1weight - 700size = 12underline = O "Falseitalic - O Talsestrikethroiigh = O "Früse
EndPropertyForeColor = &H80000008&Height = 495Left - 120Tablndex = 9Top = 4680Width = 4335
EndBegín VBXebel Label2
Appearance = O 'FlaíBackColor « «SkH80000005&BorderSfyle = 1 'Fixed SingleCaption = "Diseüo medíante el ingreso del código"BegínProperty Font
ñame = "Times New Román"charsel — 1weight = 700síze = 12underline ~ O Talscitalic = O "Falsestrikemrough = O ^alae
EntlPropertyForeColor = &H80000008&Height = 495Left « 120Tablndex = 8Top = 3960Width = 4335
EndBegin VBXabel Labell
Alígnnient = 2 'CenterAppearance = O 'FíatBackColor = &H80000005&BorderStyle - 1 'Ftxed SingleCaption — "Ingrese el código de la secuencia"BegínProperíy Foní
ñame = "Times New Román"charset = 1weight = 700size -= 12underline = O 'Falseitalic « O 'Falsesírikctítrough ~ O Talsc
EndPropertj'ForeColor - &H80000008&Height = 495Left = 120TahTndex = 1Top - 3240Visible = O "FalseWidth « 3495
EndBegín MSGrid.Gríd Grid2
Height = 1935Left = 6480Tablndex =11Top - 720Visible - 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 = 1weight — 700size = 12uuderlnie — O 'Fulseítalic = O 'Falsestrikeíhrough « O "False
EndPropcrtyrows = 5cois = 5mouseícon » 'TESIS-05.fc":QOGO
EndBegin MSGrirLGrirf Grid]
Height = 3015Left = 120Tablndex » 3Top = 120Visible = O "FaJseWídih * 1215__verBÍon = 65536_exíenlx = 2143_extenty = 5318_síockprops = 77BeginProperty font {FB8F0823-0164-101B-84ED-08002B2EC713}
ñame *= 'Times New Román"charset = 1weight = 700size = 9.75iniderline — O "Fulseitalic = O Talsesírikemrough •* O 'J?alse
EndPropcrtycois = 6mouseicon = 'TESIS-05.frx":OOlC
EndEndAttrihute VBJsTame = "Form5"Aítribute VB_Creatable « FalseAtíribuie YB_Exposed = FalseDim Largo, N, Código, Bandera, Contador, DigítoQDím EstadosC), DisenO, Filas, Colurn, AuxiliarDimBÍnariol()íBinario20,BÍnario3()í SalidaO, ControlDím Función, Ter_MinÍ(),Impl!can(), Simple,N_NuevoDim VariablesQ, ExcitaciQ» TotalDimNum^Esta, EstadoO, Estadol, SalídaO, SalidalDim Est_AuxÍ(), Vec_Part(), AuxiO, Auxil, Esíados_Equiv()Dim Equiv__Prúi(), Equiv_Auxí()Sub Sim_liiiplOfindSub
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)--lNextlBandera = OAuxiO = O'Determinación de las particiones iniciales de más de un estado
ForI«OToFilasIfVec Part(I)=-lT¿en
For"j«I+lTo FilasIfVec_Parí(J)--lThen
ForK=3To4If Esíados(I, K) - Estadoa(J, K) Then
Bandera=Bandera + 1Endlf
NextKIfB andera =• 2 Then
Página 34
Vec_Part(I)=AuxiÜVec_Part(J)=AuxiOBandera= O
ElseBandera5* O
EudlfHndJf
NextJIfVec_Part(I) = -
Vec PartCÓ =
Elidir"AuxiO = AuxtO + 1
EndlfNcxíl'Generación de una matriz auxiliar de particiones inicialesi
ForI=OToFÍlasForJ=ÜTo4
TfJ = OThetiEst Auxi(I,J)=Vec Partfl)
EndlfIfJ=lOrJ=2Then
ForK>OToFilasIf Estados(I, J) = Estados(K, 0) Then
Est^AuxíO; J) = Vec_Part(K)ExilFor
EndlfNextK
EndlfIfJ=30rJ = 4Then
Est_Aux¡(l, J) =Estados(J, J)Endlf
NextJNextlForl-OToFihis
GrÍdlJRow-I+1ForJ=GTo4
Gridl.Col-J+1Gridl.Text - Esi_Auxi(I( J)
NextJNextlControl - 3Exít Suh
Endlf•Determinación del número máximo de particiones con estados equivalentes'.„..,„__— ._...™__™—,— .____.._.._._.,.Bandera=0If Control = 3 Then
Auxil = 0Tiiicíalizo vector de particiones
ForI=OToFilasVec_Part(I)--l
Nextl'Generación de un vector con el nuevo número de particiones
Forl^OToFilasIfVec PartOO^
ForJ-I+lToFiliuIfVec-Part(J)--liIhen
If Est_Aicd(I, K) -Est_Auxí(J, K) IhcnBondera^Banderu-l- 1
EndlfKextKIfBandera =
VecPart(J)Bandera= O
ElseBandera" O
Endlf
NextJIf Vec Part(I) - -1 Then
Endlf
Página 35
Auxil—Auxil + 1 .Endlf P
Nextl t k'Geiteración de uti vectorjauxiliar de estados coo las nuevas particiones'„„_.„ „_______ „_____„ForI=OToFilas
For J - ü To 4IfJ^ÜThen
Est Auxi(LJ)=Vec Parf(I)EndífITJ-10rJ-2Tíi-ii
ForK=OTo FilasIf Estados(I, J) - Estados(K, 0) Then
Est_Auxi(I, J) - Vcc_Part(K)ExítFor
EndlfNexíK
EndlfIf.T=30rJ=4Then
Est_Auxi(I, J) = Estados(I, J)Endlf
NexíJNextlForI=OToFilas
Gridl.Row-I+1ForJ=OTo4
Grldl.Col-J+1Gridl.Text=Est_Aux¡(I, J)
NextJNexílIf Auxíü — Auxil Tíien
Control = 4Else
AiKÍO= AuxilExit Sub
EndlfEndlfIf Control" 4 Thcn
ReDim Estados_Eí]uiv(AuxíO -1)ForI=OToAuxiO-i
Equiv = OForJ=OTo Filas
lfEst_AiU!¡(J,0)=-TTlienEqui V23 Equív +1
NextJ
ForJ=OToFüasIfEsí_AuxÍ(JfQ)-IThen
IfK-Equtv-lThenEstados_Equiv(I) •= Estados_Equiv(I) & Equiv_Prin(J)
ElseEstados Equiv(I)=Estados_Equiv(l)&Equiv Prin(J) &.","
EndlfK-K+1
EndlfNextJLetra =Chr$(97+I)Estados Eqiiiv(I)-^Ltlra&."-"&.Esliiüos_EquivCO
NextlTresentacíón del número máximo de particiones en pantalla
For I = O To AuxíO - 1Letra =Chr$(97-H)
ForK=OToFÍlasTfEst_AiKÍ(KíJ)=IThen
Est_Auxí(Kr J) « LetraEndlf
NextKNextJ
NextlGridl.Rows *• Filas -f- 2For 1 = O To Filas
Gridl.Row = I+lForJ=OTo4
Gridl.Col=J+l
Página 36
Gridl.Text = Est_Auxí(I, J)NextJ
NextlControl - 5ExitSub
Endlf
Vec_Part(I) = -1NextlBandera=0FurI^OTüFüas-1
IfVec_Part(I)=-lThenForJ = I l ITo Filas
IfVcc_Part(J)---lThcnForK>OTo4
IfEsí_Auxi(I, K) =EsLAuxi(Jf K) ThenBandera=Bandera-i- 1
EndlfNextKIfBandera=5Then
Vec_Part(J) = OBandera = O
ElseBandera = O
EndlfEndlf
NextJEndlf
NextlReDim Estados(Aux¡0 - 1, 4)JC~0ForI = ÜTo Filas
m/ec_Parí(I) = -1 ThenForJ=OTo4
NexíJK=K I I
EndlfNexílFilas ~ AuxiO - 1GridlJlows^FiÍQs + 2ForI=OToFilas
ForJ=OTo4Grídl.Col^J+1
NextJNextlGridl.Cois = 7Gridl.Co!=6Gridl.Row=0Gridl.Text= "Equivalencia"Gridl.Co! Width(6) « TextWídth(Grídl.Text)ForI=OToAuxiO-l
Gridl,Row-l + lGridl.Text = Estados EquÍv(I)
NexíJLabell.Caption = "Esta es la tabla de estados simplificada"Control — 6EndSub
Prívate Sub Combol_Click()Command6.Visible == -1'selección de tipo deFIipFlop y creacióu de latablarespectivaf ___________ _______„„_.„_ ____________ _—__„.___ _______________
'Form3.Label2.VisÍble= O'FnrmS.Laben .Widíh - 7000Tipo « CombolXisÜhdex 'Indicador del tipo de Flip FlopGríd2.Vis¡ble = -lGrid2.Col - OFor]>lTo4
Grid2.Row = IGrid2.Text = I-lGrid2.ColWidth(0) =TextWidtb(Grid2.Text) * 1.5
NextlGrid2.Row=0ForI-lTo2
Página 37
ff I»1 Then Variable ~ "Qn" Else Variable « "Qn+1"Gríd2.Col=I *.;Grid2.Text = Variable HGnd2.ColWidtíi(I) = Texróidth(Grid2.Text) * 1.1
Nexíl HSelect Case Tipo
Case Ü, 1Total = 2 * N - 3 'Número de columnas adicionales de la tabla de excitaciónColumnas = 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 = 3Grid2,Tcxt^"J"Grid2.ColWídíh(3) -TextWídth(Grid2.Text) * 2Grid2.Col=4Grid2.Text="K"
TextW¡dth(GrÍd2.Text) + 2
Labell.Captíon - "Esta es latabla de excitación con Flip Pipos Tipo SR"Grid2.Col = 3Grid2.Text="S"Gríd2.ColWÍdíh(3) -TextWidth(Grid2.Texí) * 2Grid2.Col=4Gríd2.Texí="R"Grid2.ColWidtíi(4)«TextWidm(Gríd2.Text) + 2
EndlfCase 2, 3
Total =N-2 húmero de columnas adicionales de la tabla de excitaciónColumnas = 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 = 3Grid2.T«cl-"D"Grid2.ColWÍdth(3) «=TextWidth(Grid2.Text) + 2
ElseLabcll.Capíion ~ "Esta es la tabla de excitación con Flip Flpos Tipo T1
Grid2.Col=3GrÍd2.Text="T"Grid2.ColWidth(3)=TextWÍdÜi(Grid2.Text) * 2
EndlfEnd vSelect'Generación de latabla de exitación de los Flip Flops en "BÍnario4()"!___,__ _, __ _„_
ReDimBinario4(3, Columnos)ForJ = OTol
Valor = O
K1=KForI«OTo3
IfKl = O And Valor - O ThenValor"!
EndlfIfKl - O And Valor »1 Then
Valor=0K1=K
EudlfBÍnarÍo4(I, J) = ValorK1=K1-1
NcxílNextJSelect Case Tipo
Case 0,1If Tipo - O Then
For T = O To 3ForJ-2To3
Select Case ICase O
If J = 2 Then Valor = O Else Valor = 2Casel
If J» 2 Then Valor» 1 Else Valor= 2Case 2
If J - 2 Then Valor - 2 Else Valor » 1Case 3
IfJ-2 Then Valor=2Else VaJor=0
Págbia 38
IIIIII
End SelectBinan o4(I,J)= Valor
NextJNextl
ElseForI=OTo3
Select Case ICase O
IfJ = 2Then Valor=0 Else Valor = 2Cusel
If J = 2 Tlien Valor = 1 Else Valor = OCase 2
If J = 2 Thcn Valor - O Else Valor - 1Case 3
JfJ = 2ThenValor=2ElseValor=0Ead SelectBmarío4(I, J) = Valor
NextJNextl
EndlfCase 2, 3
IfTipo = 2ThenForI=OTo3
Select Case ICase O
Valor = OCase 1
Valor =1Case 2
VaJor=0Case 3
Valor=lEnd SelectBimirío4(I,2)-=Valor
NextlElse
ForI-OTo3Select Case I
Case OValor = O
CaselValor =1
Case 2Valor =1
Case 3Vaior=0
End SelectBinan 04(1, 2) - Valor
NextlEndlf
End SelectImpresión de la tabla de excitación del Flip Flop seleccionado en "Grid2"i __ ___ __ _ __ _ _________ _ _____ _ __ ___ __ _____„__„„_„„...,_.„.„„. „„_....____
Forl-OTo3Grid2.Row=I+lFor J = O To Columnas
Grid2.Col = J+lIfBÍnnrío4(I, J) - 2 TUeii Valor ̂ "X" Else Vtdur^Bmnriu4(rf J)Gi-id2.Text = Valor
NextJNextl'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ónCrridl, Cois - FinalGridl.Visible = -lAuxíl = 2GridLRow - OImpresión de las variables del estado presente en la tabla de excitacióni ______ ,________„____„„_„__„_.„___ ___________________________ ____..__
•ForI=lToN' Form3.Gridl.Col=I1 Variable ̂ ''Q-'&N- 11 Fonn3.Gridl.Text = Variable1 Form3.Gridl.ColWidth(I)i=Text'VVidth(Form3.Gridl.Texí) * l.l
Página 39
"NextlImpresión de las variablesídel estado siguiente en la tabla de excitaciónI _„„_„_..„ __________________ 1J_ ________ .-—.—— _„_„__.___„_„____
fForI=N-MTo2*N i*' Form3.Gridl.Col=I \]1 Variable = "Q"& 2 *N-
Fonn3.Gridl.Text- Variable I' Form3.Gridi.ColWidth(I) =TextWidth(Form3.Gndl.Text) * 1.1"Nexíl
Impresión de las variables de excitación en lu labia de excitación
lUDim Excitaci(0, Total)AuxíO - O
Gridl.Col=IIf Tipo = O Then
Variable - "J" &N - AuxilExc¡fnci(0, AiDtiO) = VariableGridl.Text = VariableGridl.ColWidth(I) =TextWidth(Grídl.Text) * 1.1Variable - "K" &N - AuxilAuxiO - AuxiO + 1Excitaci(0, AuxíO) = Variable1 = 1+1Gridl.Col=IGridl.Text- VariableGridl.CoIWidtíi(I)=TextWidth(Gridl.Text) + 1.1AuxíO = AuxiO + 1Aiixil=Auxil + 1
HndJfIf Tipo = 1 Then
Variable - "S" &N - AuxilExciiacÍ(0, AuxiO) — VariableGridl.Texl -= VariableGi-idl.Col\Vidth(I)=TextWidth(Gridl.Texí) * 1.1Variable = "R" &N - AuxilAuxiO •" AuxiO +1Excitaci(0, AuxiO) — Variable
III1II
Gridl.Col=IGridl.Text = VariableGrÍdl.ColWidth(I)=Texí.Width(Gridl.Text) * 1.1AuxiO = AuxíO 4- 1Auxíl = Auxil + 1
If Tipo = 2 ThenVariable = "D" &N - AuxilExcitaci(0, AuxiO) = VariableGridl.Text^Variable
II
Gridl.Text^Variable flGridl.ColWidth(I) =TextWidíh(Gridl.Text) * 1.1 IAnvin = Ainrín4-1 "
II
AuxiO = AuxiO 4- 1Auxil = Auxil + 1 .
EndlfIf Tipo « 3 Then
Variable = "T" &N - Auxílíjtcitac¡(0, AuxiO) = VariableGrídl.Text= VariableGrull.ColWidlli(I) =TexLWidÜi(Gridl.Texl) * 1.1AuxiO = AuxiO + 1Auxil - Auxil I 1
EndlfNexíl'Generación de la tabla de excitación de los Flip Flops "BinarioS"i _________ ______________-__„________„._________..___ __ „„ _______
ReDimBinarÍo3(Filas, Toial)'Generación de la tabla de excitación para tos FFs Tipo JK
lfTipo = OThenForl^OToFilas
If (BinariolCI, J+ 1) = O And Binario2(I, J) - 0) TlienBinario3¿,K) = 0Binario3(ItL)=:2
Endlf
II
Pághia
If (Biciiriolft J + 1) = O And Bínario2(I, J) = 1) ThenBÍnario3(I, K) = 1Binario3(I,Ií)==2
EndlfIf (Binariol(I, J+ 1) = 1 And Binario2(I, J) = 0) Tfaen
Bínario3(IíK) = 2Binario3(l,.L)=a
EndlfIf (BinariolO; J+ 1) = 1 And Binario2(I, J) - 1) Then
Binario3 (Í K) = 2BinurioS (I, I/) — O
EndlfIf (Binariolfr J M) = 2 And Binario2(I, J) = 2) Then
Binarios (I, K)- 2Binan o3$, L) - 2
EndlfNestJ
NextlEndíf'Generación de la tabla de excitación para los FFs Tipo SR) ___________ _______^_______ ______________________________ :
If Tipo = 1 ThenForl^OToFilas
ForJ = OToN-2K = 2 + J
H" (BinarioiOt J+ 1) = O And Binar!o2(I, J) = 0) ThenBinario3¿K) = 0Binario3(I,L)=2
EndlfJf (BinariolQ. J + 1) = O And £^ ¡̂02(1, J) - 1) Then
Binario3(I, K) = 1Binario3(I,L) = 0
Endlfir(Bmanul(I, J + 1) - 1 Aiid BínurioZft J) - 0) Theii
BÍnai-Ío3(I,IC) = 0Binario3(ItL) = l
EndlfIf (Bbariol(I, J+ 1) - 1 And Binario2(I, J) «- 1) Then
Binario3¿K) = 2Bmario3(I,L) = 0
Endlf7f (Binario! (T, J -f- 1) = 2 And Rinarío2(T( J) = 2) Ttien
Binarios (I, K) = 2Binario3(IíL) = 2
EndlfNextJ
NextlEndlf'Generación de la tabla de excitación para los FFs Tipo D'_._-_— _»—— —————— ——— ___ — ___ - _______If Tipo = 2 Then
Forl^OToFilasForJ=OToN-2
if (Binariol(l, J + 1) » ü And Binario2(l, J) = U) ThenBinario3¿J) = 0
EndlfIf (BinarioICI, J+ 1) = O And Binar^ft J) = 1) Then
Biuario3(It J) — 1EndlfIf (Binaríol(If J 1 1) = 1 And Binario2(If J) = 0) Then
Binario3 (I, J) ̂ OEndlfIf (Binariol(I, J + 1) = 1 And Binario2(I, J) - 1) Then
BÍnario3(I,J) = lEndlfTf (Binario! (T, J + 1 ) = 2 And BinarioSCT, J) - 2) Then
BinarÍo3¿J) = 2Endlf
NextJNextl
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) ThenBínario3(I,J) = 0
Ehdlf ; ,If (Binaríolft J + í)^= O And Btnario2(I, J) = 1) Then
EndlfIf (BinariolO, J + I) = 1 And Binario2(It J) - 0) Then
Binario3(If J) = IEndlfIf (Binariol(I, J+l) - 1 And 6111̂ 102(1, J) = 1) Then
BúiurioSft J) - OEndlfIf(Binariol(I,J I 1) = 2 AndBinarío2(If J) = 2)Then
Binarios ¿J)~ 2Endlf
NextJNextl
Endlf'Impresión de todalafahtade estado presente, KÍgiiientey excitacióni _____ ____„_»___ _______ ___„_„... ___ _ _______ _____„„_, _______ _________
ForI=OToFilasGridlJ.ow-I+1ForJ = 2*KToFinal-2
Gridl.Col = J+lIf BinarioSft J - 2 * N) = 2 Then
Gridl.Text="X»Else
Grídl.Text=BinEirJo3(I, J - 2 *N)Endlf
NextJNextlFunción - OEndSub
PrivHÍe Sub Cüimiiuiidl_ClÍck()Unload Form5EndSubPrívate Sub Comraand2_Click()If Control = 1 Then
Cali SímplifícarEndlfIf Control = O Then
Command2. Visible = OFrame4.Top = 3860Frame4Xeft=2000Frarae4. Visible = -1
EndlfIf Conlrol = 2 Or Control = 3 Or Control « 4 Or Conlrol - 5 Then
Cali SimJPartEndlfIf Control = 6 Then
Command2.Visible = OCommand5.Top = 3960Gridl.Widíh = 7500Command5. Visible — -1Control = O
EndlfEndSub
Prívate Sub CommandS Click()Labell.Visible = -lTe«tl.VÍBÍblc™-lTextl.SeíFocusLabel2. Visible = OLabd3.Visible = 0CommandS. Visible ~ OCommand4.Visible = flCommand5. Visible «=* OCommandl.Top - 3960Command2.Top - 3960DiseoO = OEndSub
Prívate Sub Command4 CÜck()Labell.VisÍble = -lTextl.VÍsible = 0Text2.Left =
I
III1IIIIIIII1I
PágLia 42
Text2.HeightText2.Top =Texí2. Visible = -1Labell.Caption = "Ingrese el Número de estados"LabelZ. Visible-OLabeí3.Visible = 0CommandS. Visible =° üCommancM. Visible — OCommandl.Top =3960Command2.Top = 3960ConiruHiid5.Top — 3960DisenO -1EndSub
Privóte Sub Gomraand5_Click()Command2. Visible = OGridl.WJdth=6135Auxil = O'Determinamos el numero cíe variables
If Control » O ThenAuxÍO« FilasDoWhileAuxiO>=l
AuxiO = AuxiO/2Auxil = Auxíl + 1
LoopN- Auxíl + 1Control - 1
Endlf'Inicial izamos las columnas délas matricesi ____ ________ __ , _______ _____________ ______
Columl=N-lColum2-N-2
'Assigiiucióii de valores binarios a los eslatlosi_ _______ __..__..__.._ __________ _ __ ________~___
ForI=OToFilasForJ=lTo2
AuxÍO=Estados(I,0)ForK=OToFilas
If AaxiO =Esíados(K, J) TTienEstados(K,J)-I
KndTfNextK
NextJEstados(I,0)=I
Nextl'Cambio de valores de las variables a valorea generales'y redimensionaraienío de las matrices con valores generalesi _________________________________________________________AuxiO=FÍIas
Mítad-2A(N-l)-lReDimBinariol(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 ColumlValor=0K- 2 * (Columl -J)L=KForI- OTo Filas
IfL = O And Valor = O ITienValor=lT, = K
EndlfIfL=OAndValor=l'nien
ValoreoL=K
EndlfBinarÍol(I,J)= ValorL=L-1
NextlNextJ'Generación de la tabla de verdad "Binar!o2()" de los estados siguientes
Página 43
1'y la salida con valores aceptables únicamentei _ __ _Lt. „
' Í
ForI=OToAiKÍO < ¡J = Estados(I,l) íForK=-OToColum2 - ^
Binario2(I, K) =Bmariol(Jt K+ 1)NextKSaIida(I)=Estados(Ií3)
NexllForI=Aux¡0 + 1 To Mitad
ForK^OToColiunZBinario2(], K) = 2
NextKFor K^ O To Columl
NexíKSalida(I)=2
NextlM=Mitiul + 1P=M + AuxiOForI=MToP
L-I-M
ForK=OToColum2BÍnarío2(I, K) - B!nariol(J, K + 1)
NextKSalida(I) » Esfados(L, 4)
NexílForI=»P-f ITo Filas
ForK=OToColuin2Binano2(l, K) = 2
NextKForK=OToCoÍuml
Binario! (It K) = 2NexlKSalída(I) = 2
NextlCol_par - Columl + Colum2 + 2ReDimTabla_pnr(FÍIas, Gol_par)Gridl.Cols = Col_par-í-2GridLRows - Filas + 1Gridl.Col = OForT=OTo"Filas
Gridl.Row^I+1Grídl.Text-IGridl.ColWidth(0)=TextWÍdth(GfrÍdl.Text) * 1.5
NextlReDim Varíables(0, N - 1)Gridl.Row = OForI=OToN-l
Grídl.Col =1+1IfI=OTlien
Gridl.Texl = "X"Gridl.ColWidÜi(I+l)=TextWÍdíh(Gridl.Text)Vnriables(U, 1) - "X"
ElseCelda="Q"&N-I-lGridl.Text= CeldaGrídl.ColWidUi(I+ l)-TexlWiíJUi(Gridl.Texl) * 1.5Variabíes(0, 1) « Celda
EndlfNextl
1.5
Gridl.Col = 1+1Gridl.Text = "Q" &N + Colum2 -1Gridl.ColWidth(I+ l) = TextWidth(Gridl.Text) * 1.5
NextTGridl.Col -=TSÍ + Colum2 + 2Gridl.Text="Z"Gridl.ColWidth(N + Colum2 + 2) = TextWÍdra(Gridl.Text) * 1.5Total =N + Colum2ForI=OToFilas
For J= O To ColumlTabIa_par(I, J) =Binariol(Ií J)
NexíJFor J=NTo Total
Tabla_por(I, J) -Binar¡o2(I, J -N)
Página 44
NextJTabia_par(I, Col_par) - SaJída(I)
NextlForI=OToFilas
Gridl.Row=I-t-lForJ=OToCol_par
GricU.Col-J+1If Tabla_parCI, J) = 2 Toen
Gridl.Texí = "X"Else
GriiU.Texí -^Tabla__pHr(I, J)Endlf
NextJNcxílGommand5. Visible — OCombol. Visible = -1Grid2.Visible = -l
EndSub
Prívate Sub Conimandí>_Click()
Combol.Visíble = OGridZ.Visible = 0Command 7. Visible = -1'Form3.Lobell.Widíh = 3500'FormS.LabelZ. Visible =-1•ForraS. Command3. Vis ¡ble = -1Commaad6. Visible = OColum=N-lReDim Ter_Mini(Fiías)ReDim 3mplican(Filas, Colum)ForI=OToFÍlas
Ter_MiiiÍCl) - Sulida(I)NextlCali MinimÍEar(N, Ter_MinÍ()( LnplícanOfN^uevo, Simple)FüasJNuc "NJNucvoLobeÍ2.Visible = -lLabel2.Left=1800AuxiO = "Z="If Simple = O Then
AiKÍO = AiixiO & "O Wgico"EndlfIf Simple = liben
AicdO = AuxiO & "1 Lógico"EndlfIf Simple = 2 Tben
For I = O To Filas_NueForJ=OToColum
If Implicanp; J) = O HienAuxiO = AuxiO &Variables(0, J) &"'"
EndlfIf ]mplican(I, J) = 1 TTien
Auxiü - AuxiO & Variabf es(0, J)EndlfIf ]mplican(I, J) = 2 Then
AuxiO = AuxiOEiidlf
NextJIfKFilas_NueThen
AuxíO-Aux¡0&" + "Endlf
NextlEndlfLabel2.Caption — AuxiOFimcion — OEodSub
Prívate Sub Command7MClÍck()ReDim Ter_Mini(Filas)ReDira Implican(Fílas, N - 1)Label2. Visible = -1If Función <^ Total Theu
AuxíO - Excitoci(0, Función) & " = "ForI = OToFilas
Ter_Míni(I) = Binario3(It Función)
NextlCali 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"EndlfIf Simple = 2 Then
FüasJtsTue=N_NuevoAuxiO ̂ Exciiiici(0, FUIICIUII) & " -* "ForI=OToFilas_Núe
O T o N - lnft J) = O Then
AuxiO = AuxiO & VariablesfO, J) & "'"EndlfIf Implican^ J) » 1 Then
AuxiO = AuxiO & Variabtes(0, J)EndTfIf Implican(I, J) « 2 Then
AuxiO = AuxiOEndlf
NextJIfKEilasJSTueThen
AuxiO ="AuxiO&H + »Endlf
NextlEndlf
EndlfLabel2.Caption = AuxiOFunción =Funcion 4-1If Función=Total + I Then
Command7.Caption= "&OK"EndlfIfFuuciüii^Tülal +2Tlien
Unload ForniíFormS.Show
EndlfEndSub
Prívate Sub Command8_Click()If Contador <=Num_Esta- 1 Then
ForT=1 To4-If I = 1 Then EstadosíContador, I) - Estados(EstadoO, 0)If I = 2 Then Estados(Contadorf I) = EstadosíEstadol, 0)Ifl= 3 ThenEstados(Contador, I) = SalidaQIf I = 4 Then Estados(Contador, I) - Salídai
NextlGrídl Jlow = Contador+1Forl= 1 To4
Gridl.Col«I+lGridl.Text = Estados(Contadorf I)
NextlContador = Contador +1If Contador <= NiunJSsta - 1 Then
LabeW.Caption = "Estado Actual = " &Estados(Contador, 0)Endlf
ElseFnunel.Visible — OComniaud2. Visible = -1
EndlfEud Sub
Prívate Sub Form_Load() 1Bandera= O IContad or= OControl -1Combol .Addttem "FF JK"Combol.AddItem "FF SR"Combol. Addltem "FFD"Combo IJVddltem "FF P1
End Sub |Prívate Sub HScrolll_Change() 1EstadoO =Hscrolll.Value •Eti» "Estado siguiente » " &Estados(EstaíloO, 0)Text3.Text = EtiEndSub
IIIIIIIIIIIIIII
IPágina 46
i
Prívate SubHScroll2_ChangeOEstadol =Hscrol!2. ValuéEíi = "Estado siguiente = " & Estados(Estadol, 0)Texí4.Text = EtiEndSub
Prívate Sub Optionl_Click()SalidnO - OEndSub
Prívate Sub OptÍon2_Click()SalidaO = lEndSub
Prívate Sub Option3_GHck{)Salídal - OEnd Sub
Prívate Sub Option4_Click()Salida! = 1EndSub
Prívate Sub SimplificarQAuxiliarloContador = OReDim Equiv(Fílas)ForI=OToFilas
Equiv(I) - ONextl'.Rutina para la determinación de los estados'equivalentes por simple inspeccióni :
ForI=OToFÍlas-lIfEquivCO -= O Tlien
ForJ=I+lTo FilasBandera=0IfEquÍv(J) ~ O Tlicn
ForK>lTo4IfEstados(I, K) =Estados(J, K) Then
Bandera= Bandera*1Endlf
NextKEndlf'Sí Bandera= 4 se procede a "Borrar" el Estadop) y a'reemplazar el Estado Borrado por su Estado equivalente!„_ -_—.™__ -__™-_^_______
IfBandera= 4 ThenAuxiliar =1Contador = Contador +1Equiv(J) = 1ForL=OToFilas
ForM=lTo2IfEsíados(L, M) - Estados(J, 0) Then
Esíados(L, M) - Estados(lf U)Endlf
NexíMNexíLEquív_Príu(I)-E([uiv_Prúi(I)&","&EqiJÍv_PriiiCJ)
EndlfNextJ
EndlfNexílTermina !a rutina de simplificación sí el Contador =• O'___—„___ ___™— _»-_—— _™
If Contador = O ItenControl «• OExitSub
ElseEndlf'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 - ContadorReDim Estados_Aux¡(FUas_Nuevas, 4)
Página 47
ReDÍmEqu¡Y_Aux¡(Filas_Nuevas)K=0 ¡/Forl^OToFilas I i
IfEquiv(I)« O Then {*ForJ = OTo4
Estados_Auxi(K, J) «EstadosCI, J)NwctJEquiv Auxi(K)=EquÍv_Prin(I)K-K+1
EndlfNextl'Generación de la matriz de estados con estados validos únicamente»_______ ___,________„___,._____- . ——, —Filas — FUas_NucvasReDimEstadosCFilas, 4)ReDim Equiv_Prin(Filas)ForI=OToFilos
For J - O To 4Estados(l, J) =F,fiíado8MAiixi(T> J)
NextJEquiv_Prin(I) = Equ¡v_Áuxi(I)
Nextl•Presentación de la tabla con estados validos en pantallaiGridl.Rows - Filas + 2For I = O To Filas
Gridl.Row-I+1ForJ=OTo4
Gridl.Col-J+1Qridl.Tejtt-EstadosftJ)
NextJNextl
LabeU.Caption = "Esta es la tabla de estados setní simplificada"End Sub
Prívate Sub Option5_Click()Command2.Visíbic = -1Frame4. Visible = OControl» 2End Sub
Pnvate Sub Optionfí^OlickQCali Sim_ImplEnd 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 ThenCódigo ^KeyCodeReDím Preserve DisÍto(Coníador)If Código =96 Then
Digito(Contador) = OBise
Digito(Contador) = iEndlfContador — Contador +1
Endlf'Generación de la tabla de estados en función de los dígito de entradai__ __.___. __„„ ,_._._ __™.___If KeyCode o 96 And KeyCode o 97 Thcn
If KeyCode -13 ThenIfIsNumerÍc(Textl.Text) Then
Código -Textl.TextLargo *Len(Fonn5.T«xtl.Text)7f l^rgo = 1 Tlien
mensaje *•* "Se necesitan como mínimo dos dígitos"MsgBox mensaje, 32ExítSub
EndlfTextl. Visible-OCommand2. Visible •= -1Command2.Caption ~ "ASiiuplificar"Gridl.Wichh - 6135Gridl. Visible = -1GridLCols - 6
Págijm 48
Gridl.Rows =• Largo + 2Labell.WÍdth = 6135Labell.Capt¡on=altEstaes latablade estados"Filas - LargoBandera13 OColum = 4KorJ^üToColum
GrÍdl.Row = 0Gridl.Col~I + lIf 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=VariableGridl.ColWidíh(I+ 1) = TextWÍdth(Gndl.Texí)
NextlForI=lTo Filas + 1
Gridl.Col = 0Gridl.Tttct-I-1Gridl.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 = 65Gridl.Col - 1ForI=OToFilas
Letra *= Chr$(Letra_In¡cial +1)Estadosp, 0) = LetraEquiv_PrinÓ) -Estadosft 0)Gridl.Row = I+lGridl.Texi» Estados^ 0)
Nextl'Generación de estados directos y estados indirectos
ForI=OToFilas-lAuxil = 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)=lElse
EstadosCf, 3) = OEndlf
EndlfElse
Codigo_Aux = Auxil &"0"Auxil-Auxil &"1"If Auxil = Auxi2 Then
Estados(1,2) - Estados(I + ], 0)ffl-Filas-lThen
Esludosg, 4) -1Else
Esíados(Ií4) = 0Endlf
EndlfEndlf'Generación del estado indirecto
T,= 0ForJ=OToI
Auxil =RíghtS(Codigo_Aux, I - J)Auxi2 = Left$(Codigot f - J)L-I-JIf Auxi 1 = AuxÍ2 Then Exit For
NextJIf Auxil = "" And Auxi2 = "" Theii
IfDigito(I) = OThenEstados(I, 2)=Estados(0, 0)Estados(1,4) - O
Página 49
ElseEstadosQ, l)=Estados(0( 0)Estados(I,3j4o
Endlf ;|Else ' "
IfD¡gito(I) = OThenKsíados(l, 2} - Estados(L, U)Estadosft 4) = O
ElseEstados^ 1) «EstadosCU 0)EsUtdos(I, 3) - O
EndlfEndlf
Ncxtl'Generación de laúltimafilade latablade estadosi__ .. ™™™_ ___....„__ ___........_ForI=OTol
Código Aux= Código & IL=0ForJ=OToFilas
Auxil=Kight$(Codigo_AuxI Filas-J)Aux¡2 = Lefl$(Codigo, Filas - J)L=FÍ!as-JIf Auxíl = Aux¡2 Then Exit For
NextJIf Auxil = "" And Aux¡2 = "" Tben
If 1=0 ThenEsíados(FÍlas, 1) =Estados(0, 0)Estados(Fi!as,3) = 0
ElseEstados(Filas, 2) -Estados(ü, ü)Estados(Filas,4) = 0
EndlfBise
Ifl-OTlieiiEstados(Filas, 1) = EstadosfL, 0)Esíados(Filasf 3) = O
ElseEstodosCFilas^^EstodosíL, 0)Estados(Filast<1) = 0
EndlfEndlf
Nextl'Impresión de la tabla de estados
ForI=DToFÍIasGridlJí.ow=I+lForJ=lTo4
Gridl.Col=J+lGridl.Text = Estados(T, J)
NextJNextlExit Sub
Elsemensaje =* "No ha ingresado ningún doto o el daío no es un número"MsgBox mensaje, 32TexU.SeíFocusExüSub
EiidlfEndlf
If Contador = O Thcnmensaje =• "Yano se puede borrar más datos"MsgBox mensaje, 32Textl.SetFocus
ElseContador = Contador - 1
EndlfExit Sub
FjidlfContador = Contador + 1mensaje = "Los dígitos válidos son 1 y O"MsgBox mensaje, 32
EndlfEndSub
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) ThenNum_Esta= Text2.TextGridl.Width=6135Gridl.Vístble--l
Colum = 4Filas = Num_Esta - 1'Generación de lurefereuciade las columnas
ForI=OToCoiumGridl.Row^OGridl.Col =1+1If 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=llSalida/X=ltP
Gridl.Text=VariableGridl.ColW¡dífa(H-1) -TextWidth(Gridl.Text)
Nextl'Generación de la referencia de las Filas
Gridl.Rows =Filas + 2For 1=1 To Filas + 1
Gridl.Row=IGridl.Col - OGridl.Text = I-lGr¡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 = 65Gridl.Col = 1ForI» O ToNumJEsta- 1
Letra=air$(Letra_Inicial+I)Estados(I, 0) = LetraEqwY_Prin(I) = LetraGridl.Row = T + lGridl.Text^Estadosft 0)
NextlLabell.Visible-0Text2. Visible» OFramel.Top = 3240Framel.Left=3700Frauiel.VisÍble = -lnscrollLMax^NnraJEsta- 1Hscroll2.Max=Num_Esta- 1Labe!4.Captíon - "EsTado Actual « A"Text3.Text = "Estado siguiente = A"TexW.Text — "Estado siguiente » A"Optionl.Value--lOpüon3. Valué — -1SaíídaO = 0Salida!-^0Contador = O
ElseIfTcxi2.Tcxt='""Thcn
mensaje => "No ha ingresado ningún dato"Elae
mensaje = '^El dato no es un valor numérico"EndtfMsgBox mensaje, 32Text2.SetFocusExit Sub
EndlfEndlfIf KeyCode =8 Then
IfText2.Text=""Thenmensaje = "No se puede suprimir más caracteres"MsgBox mensaje, 32Text2.SetFocus
Else
Página 51
EndlfExit Sub ;
Endlf * IEnd Sub ^ '
PANTAT.T.AOUE CONTIENE LA SUBRUTINA DEL TÜTORIALPE CONTADORES SINCRÓNICOS.
VERSIÓN 4.00Begin YB.Form Fonnfi
Appearance = O 'FlaíBackColor = &H80000005&BurderStyle - 3 Textil DiulogCaption = "FormC"Clientlleignt « 5115ClicntLcft - 1890ClientTop « 1545ClientWidth = 7365ControIBox - O 'FaJseFillColor = &HOOCOOOQO&ReginProperty Font
ñame = 'Tunes New Román"charset = 1weight •= 700síze = 12underl ine = 0 'Falseitaiic = -1 Trucstrikethrough — O 'False
EndPropertyForeCoIor - &H80000008&Heighí - 5520Leu = 1830Unkl'opic - "Korm5"MaxButton = O TalseMinBuííon - O "FaíseScaleHeight = 5115ScuJeWidÜi - 7365Top = 1200Width = 7485WindowStatc ™ 2 IvíaxiniizcdBegin YB.Frame Franlel
Appearance = 'O 'FíatBackColor = ¿0I80000005&Caption - 'TIPODEFLIP-FLOP"BegínProperfy Font
ñame = 'Times New Román"charset = 1weight » 700síze — 9,75underl ine = O 'Falseítalíc = O Talsestrikethrougíi = O 'False
EndPropertyForeCoIor = &HOOOOOOOO&Heíght - 1215Left = 120'l'ablndex = 6Top = 5040Visible = O TalseWidth - 4095Begin VB.OpíioiiBulton Opliori4
Appearance = O 'FíatBackColor » &n80000005&Caption -* 'T1
BeginProperty Fontñame « 'Times New Román"charset = 1weiglit » 700size * 9.75underlíne « O 'FaJse¡talic =* O 'Falsestrikethrough « O 'False
EndPropertyForeCoIor = &H80000008&Heíght = 3 0 0Left - 2000Tablndex = 1 0Top » 800
Págijia 52
Widíh * 1200EndBegin VB.OptionButton OpiionS
Appearance = O *FlatBackColor = &H80000005&Captiotí = "D"BeginProperty Font
ñame = 'Times New Román"charseí ** 1weight = 700size « 9.75underline = O "Falseitalic = O 1?alsesírikcthrough ~ O "Falsc
EndPropertyForeCoIor - &H8QQ00008&Height = 3 0 0Lefl = 2000TabTndex = 9Top - 400Widíh = 1200
EndBegin YB.OptionButíon OptÍon2
Appearance = O 'FíatBackGolor - &H80000005&Caption = "SR"BeginProperty Font
ñame — "Times New Román"charseí = 1weight - 700size - 9.75underlíne = O 'Falseitalic *- O "FalseSftrikeíhrough = O *False
EndPruperlyForeCoIor - &H80000008&II«¡ght = 3 0 0Lcñ « 200Tablndex - 8Top = 800Wídíh = 1200
EndBegín VB.OptinnButton Optlonl
Appearance = O 'FíatBackColor - &HQOFFFFFF&Caption = "JK"BeginProperty Font
ñame = 'Times New Román"charseí — 1weíght = 700size - 9.75undcrlíne = O Talseilaííc = O 'Falsestrikeíhrough = O Talse
EndProperfyForeCoIor = &H80000008&Height - 300Lefl - 200Tubiidex « 7Top = 400Wídíh - 1200
EndEndBegin YB.CommandButton Coimnand'l
Appearance — O 'FíatBackColor - &H80000005&Caption = "ATnstniccioneR"BeginProperty Font
ñame = 'Times New Román"charset = 1weighí = 700size - 12underlíne = O 'FaJseítalic = O Talsestrikethrongh = O *FaIse
EndPropertyHeight ^ 400
Página 53
Lefl = 1800Tablndex = 5 'Top - 6360 ; •Width = 1500j|
End * ?Begin VB.CommandButton Cominand3
Appeanmce =• O 'FíatBackColor = &H80000005&Caption - "&Ant«rior"BeginProperty Font
muñe — "Times New Román"charset *= 1weight = 700 -aizc -= 12underline ** O Tolseitalic = O T"aJsestrikethrough = O "False
EndPropeiiyHeight * 400Left = 3480Tablndex ~ 2Top - 6360Visible = O "FalseWídth = 1500
EndBegin VB.CoimnandButíon Corainand2
Appearaoce = O 'FíatBackColor = &H80000005&Captíon = "ASiguiente"BeginProperty Font
ñame D 'Times New Román"charset = JLweight = 700size = 12tnidcHme — O 'FuJse¡talic = O 'Falsestrikethrough = O 'FaJse
EndPropcrí)'Height - 400Lefi = 5160Tablhdex = 1Top « 6360Widíh = 1500
EndBegin VB.TextBoxTextl
Appearance ™ O 'FíatBeginProperfy Font
ñame = 'Times New Román"charset — 1weiglit = 700sizc = 12underline = O 'FaJseiídic — O 'FaJsestrikeíhrough = O Talse
HndProperfyHeight = 4575Lefí - 4680MultiLine ~ -1 TrucScrollBure « 2 'VeríicidTablndex = 3Top = OVisible ™ O 'FalscWidth = 4815
FjidBegin VB.CommandButton Commandl
Appearance *= O "FíatBackColor = AHSOOOOOO.^Captíon - "Sa&lir"Default = -1 TrucBeginProperty Font
ñame - 'Times New Román"charset = 1weight = 700size = 12underline - O 'Falseitalic = 0 'Falsesírikethrough — O 'False
Página 54
EndProperiyHeiglit = 400Left - 120Tablndex = OTop = 6360WidÜi = 1500
KndBegín VB.Image Image2
Appeorance = O *FlaíBorderStyle = 1 Ttxed SingleHei^il ~ 1095Lefl = 4680Top = 4920Visible — O "FalscWidth = 4815
EndBegin VB.Iraage Ihiagel
Appearance = O 'FíatBorderStyle « 1. 'Fíxed SingleHeíght = 3375Leñ = 120Top = 600"Width - 4095
EndBegín VB.Label Labell
Alignment — 2 'CenterAppearance = O 'FlaíBackColor » &H80000005&BorderStyle - 1 "Fixed SingleBeginProperty Font
ñame = 'Times New Román"cliarset — 1weight - 700síze = 12tuiderline — O 'Falsseitalic - O 'FalsestríkeÜiroiigh = O Talse
EndPropcrtyForeColor - &H80000008&HeJghí « -195Left - 120Tabliidex = 4Top = OVisible = O 'FalseWidth « 4095
EndEndAttríbute VB_Name = "Form6"Attribute VB_Creaíabíe =FaiseAttribute VB_Exposed = FalseDira Contador, Tipo
Prívate Sub Commandl_CIÍck()Unload Form6End Sub
Prívate Sub Command2_CHck()Contador = Contador + 1If Conlador > O Theii
Cominand3. Visible = -1Command4. Visible = O
ElscCommand3.Visíble = OCommand'I.Visible = -1
EndlfSelect Case Contador
CtutelImagel.Picture = Ix)adPicture(p'C:\DlSF^IAC\TüTORIAL\LCSIN-01.BMP11)Labell. Captíon — "Diagrama de estados"Labell.WidthLabell.V¡sible = -lTexíl.Height = 6255Twrtl.Wídth«4815
Página 55
Textl.Top = Oarch = "C:\DISESIAC\TDTORIAL\LCSIN-01.ASC"Open arch Forlnput As #1
Textl.Texí - InputS(LQF(l), #1)Glose #1Texíl.VÍsibIe = -l
Case 2Textl.Visible = 0Optíonl.Value — -1Framel.Widíh «ImageLWidfhFramel. Visible = -IImage2.Top = OImage2.Lefi = 4680iiiage2.Piclire-l^udPic(ure(plC:\DISESIAaTUTORIALVLCSIN-02.BMPt()Image2.V¡sible — -1Textl.Top = 3500TcxÜ.Lcfl-4680Textl.Height-2755TMtJL.Widih-Iinaee2.Widiharch = "C:\DISESIAC\TUT03UAL\LCSIN-02.ASC11
Open arch For Input As #1Textl.Tejct=Tnpiit$(LOF(1 )> #1)Glose #1Texll. Visible = -1
Case 3Framel. Visible = OLabell,VÍsÍble = 0Image2.VisibIe= OTextl.Vistble = 0IfOptíonl.Valué «-1 Then Tipo = 1If OptÍon2. Valué » -1 Tben Tipo = 2IfOptionS.Valué - -1 Then Tipo = 3If Option4. Valué ** ~l Then Tipo » 4Jmage2.Leíl-120Bnage2.Top=4200SeJecí Case Tipo
Case 1Lubell.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 2Labell,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 3Labell.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 4Labell.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 SeiectLabell.Width-Imagel.WidlhLabell,Visibie=-lImage2.Visible»-lTextl.Top=4200Textl.Height-2ÜÜÜTcxtliefl =]Jnage2.Widdi -t-100 -f-120TexÜ.Widíh*íhiagel.Width-3mage2.Widfh-100arch = "C:\DISESIAC\TUTORIAL\LCSIN-03.ASC»Open arch Forlnpiil As #1Textl.Text=Jtaput$(LOF(l), #1)Glose #1Twdl. Visible ~-l
Case 4Textl.Text=""Textl.Visible = 0foiage2.VÍsible=0Lnbell.Visible «OLabell.Capüon = "Mapas Ky líuiciones lógicas de los excitaciones"Selecí Case Tipo
Case 1Labell.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 2LabeU.Caption = "MapasKyiünciones lógicas de las excitaciones S y R"ImageLPicture - Ix)adPichre("C:\DISESIAaTtrrORIAL\LCSIN-S4.BMP'')
Case 3Labell.Cnption*1 "Mapas Kyfiínciones lógicas de tas excitaciones D"
Página 56
iI
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 SelectLabell.Widtti - Biiagel.WídftJLabell. Visible"-!
Case 5Labell.VÍsible = 0Select Case Tipo
Cuse!Labell.Captiou - "Diagrama Lógico con Flip-FIops JK"
Case 2Labell.Caption = lfDiagramaLógíco conFlip-Flops SR"ImagelJiciure=I^adPicfajre(''C:\DISESIAaTÜTORIAL\LCS]N-S5.BMP'')
Case 3Labell.Captíon="DiagramaLógico conFlip-FIopsD"
Case 4Labell.Caption = "Diagrama Lógico con Flíp-FIops T"lmagel.PÍcture=IxjatlPichire(l'C:\DISESIAaTtJTOIUAL\LCSlN-T5.BJvíP'1)
End SelectLabell.Width = Imagel.WidthLabell.VÍsíble = -l
End SelectIf Contador^ 5 Then
Comraand2. Visible = OElse
Comniand2, Visible = -1EndJfEnd Sub
Prívate Sub Coinmand3_ClickOContador — Coulmlur - 1If Contador < 5 Then
CommandZ. Visible = -1EndlfSelect Cnse Contador
Case OLabell.Caption = ""Labell.Visible=0
Textl.Visible = 0Imagel. Visible = -1Snagel.Pícture * IxjadPictureC'C^ISESIAaTOTORIALVLCSIN-OO.BMP1')
CaselFramel.VÍsible = 0Image2,VÍsible=0Imasel.Picture = LoadPÍcture("C:\DISESIAaTOTORIAL\LCSIN-01.BMP")Labell.Caption *= "Diagrama de estados"Labell.Width = Imagel.WidíhLabell.V¡sible = -lTextlJIeJght=6255Textl.WidÜiTextl.Lefi =Textl.Top - Oarch = "C:\DISESIACVTUTORIAL\LCSIN-01.ASC"Opeu urch Forlnput Aa tílTextl.Text=InputS(LOF(l)t #1)Cióse #1Tcxü.Visiblc— 1
Case 2Textl.Visible = OImage2. Visible = OLabell.Visible = 0Tmagel .Pichire - LoadPichu-e("C:\DISEflTACVniTORTAT,\T,CSTN-01 .BMP")Labell.Caption «"Diagrama de estados"Labell.Widíh = Jmagel.WidthFramel.Width = Snagel.WidthOptíonl.Value = -1LabeIl.Visib!e = -lFramel.Visible = -1Bnage2.Top = OImage2.Left-4680Image2.PÍcture = LoadPictire('lC:\DISESIAaTUTOiaALVLCSIN-02.BMP")]bnnge2.VisÍble=!-l
Págbia 57
Texü.Top =Textl.Left =Textl.Height = ¿TextLWidtii =Ünage2^Vidtharch - "C:>DISESIAC\TÜTOJUAL\LCSIN-02.ASC"Open arch For Inpul As #1Textl.Text - lnpufS(LOF(l), #1)Cióse #1Texfl.VisibIe = -l
Case 3Lubell. Visible -OIniage2.Visible = 0Textl.V¡sible = 0Imagc2.Lcft-12QImage2.Top = 4200Select Case Tipo
CaselLabell.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 3Labell.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 4Labell. 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 SelectLabelLWidth =Imagel.WÍdíh
Iniage2. Visible =» -1TexU.Top=4200Tcxtl.HcÍght-2000TextlXeft - ünage2.Widíh + 100 + 120Texíl.Width = Imafiel.WídÜi - Image2.Width - 100tirch » "C:\DISESIAaTÜTORIAL\LCSIN-03.ASC"Open arch For Ihput As #1Textl .Text = Tnpuí$(r,OF(1 )( #1 )Cióse #1TexU.Visible--!
Case 4Labell.Visíble«0Isabel l.Captíon= "Mapas K y funciones loicas de las excitaciones"Select Case Tipo
Case 1Labell.Caplton- "Mapas K y funciones lógicas de las excitaciones J y K"ImageLPicture - LoadPicture("C:^DISESIAaTÜTORIAL\LCSIN-J4.BMP")
Cese 2Labell. 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 3Labelí.Caption=1"MapasKy funciones lógicos de Jas excitaciones!)"ImageLPicture = LoadPicfure(HC:\DISESIAC\TUTORIAL\LCSIN--D4.BMPM)
Case 4Labell.Caption = "Mapas Ky funciones lógicas de las excitaciones T1
Imagel.Picture = LoacPicnre(»C:\DISBS^E«d SelectLabell.Width "Imagel.WídtliLabell.VÍsib!e = "l
End SelectIf Contador = O Then
CommandS. Visible = flCotnmand4.VÍsible = -1
ElseCommandS. Visible = -1Comraand4. Visible = O
EndlfEndSUb
Prívate Sub Command4_CIickOInstruc.ShowEnd Sub
Págbia 58
Prívate Sub FormJLoadQFormó.GBption-'TÜTORIAL-Coníadores Sincrónicos"Imasel.Picture=LoadPÍcture(''C:\DJSESIAaTOTORIALVlXSm-OO.BMP'')Contador = OBandera! = OBanderaZ =* UEnd Sub
SIJBRüTINA PARA REALIZAR LA BÚSQUEDA DE LOS TEMAS PE AYUDA CONTENIDOS EN EL PROGRAMA.
VERSIÓN 4.00Begin VB.Forní Buscar
Áppearance = O 'FíatBackCoíor - &HS0000005&Caption = "Buscar Ayuda Sobre"ClieníHeight = '1020CHentLeA - 975CHeniTop * 2850CUentWidth = 7365BeginProperty Font
ñame = 'Times New Román"charset = 1weight - 700size =12underlíne = O 'Falseitalíc = O Talsesfríkefhrough = O ^False
EndPropertyForeColor = &H80000008&Heíght = 4425Lefl -915LinkTopic = "Formfi"MaxButíon =» O "FalseMinBuííon = O 'FalseSeaJeHeighl - 4020ScaleWidtíi = 73tí5Top = 2505Wídth - 7485Begin VB.TextBox Textl
Áppearance = O "Fíat
ñame - "MS Sans Serif 'charset = 1.weiglit = 700size = 8.25underline = O 'Falseitalic - O Talsestríketíirough = O 'False
EndPropertyHeíght = 495Le/l =720Tablhdex = 2Top - 360Widíli = 4215
EndBegin VB.ListBoxListl
Áppearance "* O TlatBeginProperty Foní
iiauíe *- "MS SKIIS Serif 'charset — 1weight = 700size - 8.25underline — O 'Fnlse
italic = O 'Falsestrikethrough = O 'False
EndPropertyHetght = 2760Left - 720Tablndex = 1Top - 1080Wídth - 6015
EndBegin VB.CommandButton Commandl
Áppearance = O 'FíatBackCoíor - &H80000005&Caption = "&Aceptar"
Página 59
Heíght = 495Left = 5160 (
Tablndex ~ O - i .Top = 360 i ="Width - 1575 i
EndKndAttribute VBjName = "Buscar"AHribute VB_CreaiabIe=»Fa]seAttribute YB_Exposed « FalseDim índice, Nombre
Prívate Sub Commandl^ClickQíndice — Euscar.Lisíl.LtstbidcxUnload Buscarayudas.ShowSelect Case índice
Case Oarch = MC:\DISESTACVTEXTOSÜNTRODUC.ASC"Nombre = "Introducción a los Sistemas Digitales Secuenciales"CaJl Abrirl (arch, Nombre)
Caselarch - "C:\D1SESIAC\TEXTOSVELEMENTO.ASC"Nombre - "Elementos biestables (Flip - Flops)"Cali Abrirl(arch, Nombre)
Case 2arch = "C:\DISESIAC\TEXTOS\OR-BASLASC'1Nombre = "Circuito Básico de un Flip - Flop (RS)"Cali Abrirlfarch, Nombre)
Case 3arch - "C:\DlSES£ACVrHXl'OS\FF-TEMPÜ. ASC"Nombre = "Flip - Flop Tipo RS temporizado"CaJl Abrírl(arch, Nombre)
Case 4ardí - "C;\DISESIACVrEXTOS\FnPO-D.ASC"Nombre = "Flip - Flop Tipo D"CaJl Abrirl(arch, Nombre)
Case 5arch - "C:\DISESIAC\TEXTOS\FTIPO-JK.ASC"Nombre = "Flip - Flop Tipo JK"CaJl Abrirl(arcli, Nombre)
Case 6arch = "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 8arch » "C:\DISESIAC\TEXrOS\FF-MAEST.ASC"Nombre = "Flip - Flop Maestro Esclavo"Cali Abrirl(archJ Nombre)
Case 9arch - "C:\D1SES1AC\TEXTOSU'-F-FLANC.ASC"Nombre = "Flip - Flop Disparado por Flanco"CaJl Abr¡rl(arch, Nombre)
CaselOurdí« "C:\DISESIAaTEXTOS\SIDISECU.ASC"Nombre = "Sistemas Digitales Secuenciales"Cali Abrirlíarch, Nombre)
Case 11arch = "C:\DISESIAC\TEXTOS\DISE-ASI.ASC"Nombre = "Dísefío Secuencial Asincrónico"CaJl Abrirlfarcli, Nombre)
End SelectKnd Sub
Prívate Sub Form_LoadOListl.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 -UstTndexVariable =Listl.List(IndÍce)TexU.Text=VariableEnd Sub
SUBRÜTJNA PE INSTRUCCIONES PB NAVEGACIÓN POR EL TUTORIALEN LOS DISTINTOS TUTORIALES.
VERSIÓN 4.00Begin VB.Form Instruc
Appearance *» O "FíatBackColor = &H80000005&BorderStyle « 3 'FíxedDíalogGlieníHeight = 4170GlientLeft - 2175ClientTop = 1965ClientWidth - 6090ClipGontrols = O 'FalseCoiilrolBox - O "FalseDrawWídtli = 2FíllColor = &I100FFOOFF&FíllStylc - O 'SolidBeginProper^1 Font
ñame = "MS Sans Serif'charset = 1weight = 700sixe = 8.25underlíne = O Talseitalic = O 'FaisestrikeüVough ^= O 'False
EndPropertyForeColor = &H80000008&Heighí = 4575Lefi « 2115LinkTopic - "FormS"MaxButton - O "FalseMinButton = O TalseScaleHeight = 4170ScoJeWidth - 6090Top - 1620Width =6210Begin VB.CoramandBution Command4
Appeurauce — O 'FluíBackColor = &H80000005&.Caption = "Sa&Hr"EcginPropcrty Font
ñame •» "Times"NFe\vRomán"cfaarset = 1weight = 700size = 1 2underline = O 'Falseitalic = O 'Falsestrikethrough = O 'False
EndPropertyHeight = 3 0 0Left = 900Tablndex « 3Top - 2900Width « 1200
End
Págijia 61
Begin VB.CommandButton CommandSAppearance = O TfljiíBackColor = &H8¿000005&Caption = "&Anfefior"BegínPrapertyFont • :
ñame — "Times New Román"charset = 1weight - 700size = 12underlíne *= O 'False¡(alio - O 'FaJüestriketiu-ough = O 'False
EndPropertyHcighí - 300Left = 900Tablndex = 6Top » 2400Widtfa = 1200
KnclBegin YB.CommandButton Coramand2
Appearance = O 'FiatBackColor - &H80000005&Caption » "&Síguiente"BegínProperty-Font ;
ñame = "Times New Román"charset = 1weighl « 700síze = 12«nderi ine — O *FaJseiíalic - O 'Falsestríkeíhrough - O 'False
EndPropertyHeíght = 3 0 0Lefi = 900Twblndex « 9Top - 1900Wídíh = 1200
FjidBegín YB.CommandButton Commandl
Appearance = O 5*latBackColor = &H80000005&Caption = "&Regresar al Tutorial"BeginProperiy Font
ñame = "Times New Román"charset = 1weight « 700size = 12underlíne — O 'Falseiíalíc =» O (Falsestrtkethrough = O 'False
EndPropertyHeigbt = 4 0 0Left - 3480Tablhdex = 12Top - 3360Wtdth = 2400
EndBegin YB.Label Labe!12
Appeanuice — O "FluíBackColor = ákH80000005&Caption = "Cuando hayaterminado de leer esta pantalla..."BeginPropcriy Font
ñame = "Times New Román"charset = 1weight = 700size = 12iinderline = O 'Falseitalic — O Valsestrikethrough - O "False
EndPropertyForeCoIor = &H80000008&Heígfit - 615Left = 240TabBidex = 11Top - 3360Width = 3000
End
Página 62
BeginVBXabelLabelllAppearance - O 'FíatBackColor - &H80000005&Caption = "para salir de Tutoría! cuando quiera"BegínProperfy Font
ñame ~t 'Times New Román"charset =- 1weight = 700size — 11underline = O 'FalseiíuJic - O Talsestriketlirough = O Talse
FJidPropertyForcColor ~ &H80000008&Height = 300Leil = 2300Tablndex = 1 0Top = 2900Widfli » 3600
EndBegín YB.Label Label9
Appearance *= O TlatBackColor - &H8000Q005&Caption = "Usar"BeginProperty Font
ñame = 'Times New Román"charset = 1weiglit = 700size = 12underline = O Talseiíalic = O 'Falsestrikethrough ~ O Talse
EndProperiyForeColor «- &H80000008&Heígíil -= 300Lefi « 240Tablndex » 8Top - 2900Witlth - 600
EndBegin VB.Label LabelS
Appearance = O 'FíatBackColor = &H80000005ACaption = "para retroceder una pantalla"BeginProperty Font
ñame =* 'Times New Román"charset = 1weight " 700size = 12underline - O 'Falseiíalic — O 'Falsestriketlirough = O Talse
EndPropertyForeColor = &H80000008&Height - 300Lefl * 2300Tablndex = 7Top = 2400Widlh - 3600
F-ndBegin YBXabel Label6
Appcarancc — O TlaíBackColor « &H80000005&Cnpüon — "Usar"BeginProperty Font
ñame = 'Times New Román"chnrset = ]weight = 700size = 12underline » O 'Falseitalic — O Talsestrikethrough - O Talse
FjidPropertyForeColor -* &H80000008&Heíghí « 300Left = 240Tablndex » 5
Página 63
Top - 2400Wídíh =* 600 ,
EndBegín VB.LabeI Label5 . .
Appearonce = O 'FíatBackCoIor = &H8Ó000005&Capiion ** "paraavanzar alasiguientepantalla"BeginProperty Fotit
ñame ** 'Times New Román"charaet = 1weighl -* 700size = 12«nderline = O Talsetialic « O "Falscstrikethrough =* O 'False
EndPropertyForeColor = &H8000Q008&Height = 375Left = 2300Tablndex = 4Top = 1900Width « 3600
EndBegin VB.Label LabeIS
Appearance = O 'FíatBackCoIor « &H80000005&Caption = "Usar"BegínProper^ Font
ñame = 'Times New Román"chareet = 1 .wei'ghí - 700size = 12imderiine ^ O 'Falseiíalic « O l?alseslríkeÜiruugh — O 'Falsc
EndPropertyForeColor « &II80000008&Hcighí - 300Lefl « 240Tablndex » 2Top = 1900Width » 600
KndBegin VBXabel Label2
Appearance = O 'FíatBackCoIor = &H80000005&Caption - $'TESIS-97.irx":0000BeginProperty Font
ñame « 'Times New Román"cliarset = 1weight = 700size = 12underline = O 'False¡talic = O 'Falsestrikethrough •= O 'False
EndProperryForeColor = &H80000008&Height = 615Lefl - 240Tablndex = 1Top = 1080Width - 5655
EndBegin YBÜne Linel
BorderWidtli = 3XI = 240X2 = 5880Yl - 840Y2 » 840
EndBegin VB.Label Labell
Appearance - O 'FíatBackCoior =» &H80000005&Caption = "Instrucciones"BeginProperry Font
ñame = 'Times New Román"charset ** 1
Página 64
weight = 7 0 0size — 24underüne =" O 'Falseitaiic = O 'Falsesíríkethrough "= O Talse
EndPropertyForeColor « &H8ÜÜ00008&Height - 615Left - 240Tablndex = OTop - 120Widtii = 3375
EndEndAttribute VBJMame - "Instruc"Attribuíe VB_Creaíable - FalseAttribute VB JExposed = FalsePrívate Sub Commandl_Click()TTnloñd InstnicEnd 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-lReDim 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=0J = 2n(Colum-I)
J = OAndValor=OThenYalor=l
EndlfIfJ=OAndVaIor=l'nien
Valor = OJ» AiudO
EndlfBinariol(K,I) = ValorJ»J-1
NextKNexíl'Ihicialización de la matriz de implicantes "ImplÍcanO"coü valorea'no aceptables( _______ __„.___ _______ __„._„..__ ________ ____________ __________ ___
ReDiiii IrijplicuiiCFilas, Culuui)ForI=OToFilas
ForJ = OToGolum3Jnptícan(I, J) — 5
NextJNextl'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 binarios "Míním"'___-_._______—_ __________ ___._*__„..__..____ _________ ____________
K=0ForI>OToFilas
If Ter_Min¡a) =K=K+1
EndlfNextlMinim^K.IfMim'm=OTlien
Página 65
Simple « OExit Sub
Endlf
ReDímBin TMin(Minim -&í Colum)K=0Korl-OTo Filas
If TerJvfini(I) - i TlienForJ=OToCoíum
Bln TMin(K, J) -BíhariolQ, J)Nextf
EndffNcxtl'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
IIII
KeDimTMiK=0ForI=OTo Filas
If TerJVÍini(I) o O ThenTMí NCer(I) = 1K=K+1
EndlfNextlMaxim = K
Jf Maxim =*Fil as + 1 ThenSimple = 1Exit Sub
EndlfSimple = 2Taso de elementos binarios considerados en Binariol() a Bínario2()'pura ÍIIÍCÍHT el proceso de iiiiiiimizución con lénuinos válidosi ________________________________ , ____________________
lleDimBÍnarÍo2(MajcÍm - 1, Colum)K>0
OToFilas
ForJ = OToColumBinario2(K, J) = BÍnariol(I, J)
NextJ
EndlfNextl'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 = OBande = O'Aquí de inicia el proceso repetitivo
Do"WhüeBande = 0IniciaJizació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) » ONextl'Suma algebraica de los elementos (filas) de lamaírizrBinario20. Esta suma se determina en el vector "Sum_B'm2Q"
ReDím Sum_Bin2.(Maxim - 1)ForI=OToMaxim-l
SumaO = 0ForJ=OToGolum
IfBÍnario2(I, J) «• 1 ThenSumaO = SumaO +1
EndlfKextJ
Kexíl
Página 66
T)etermÍnacÍón de la sumamáxima y suma mínima de iaSuin_Bin2()'—K™.— .__»™— . __-_ ™—.. _._»—™i
Suma_Min = OSuma_Max — OFor I™ O To Maxim-1
If Sum_Bin2(I) < Suma_Min ThenSuma 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=0For M = Suma_Mín To Suma_Max - 1
ForI=DTo Maxim -I= OToMnx¡m-l
OIf Sum_Bin2(I)=M And Sum_Bín2(J) =M+ 1 Then
ForK>OToCo!urnIf Rayas < 2 Then
AuxiO -BinarK^ftK) XorBinario2(JtK)If AuxiO > O Then
Rayas = Rayas + 1Endlf
ElseExkFor
EndlfNextK.If Rayas = I Then
L=Endlf
BidlfNextJ
NextlNcxtM
'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 TbenReDimBÍn_Auxi(Maxi Nue - 1, Colum)L=0For M » Siima_Min To Suma _Max - 1
ForI=OToMaxim-lForJ=OToMax!m-l
Rayas = OIf Sum_Bin2(I) = M And Sum_jBin2(J) - M + 1 Then
ForK=OToColumIf Rayas < 2 Then
AuxiO = BÍnarÍo2(I, K) Xor Binario2(J, K)lfAuxiü>ü 'llien
Rayas = Rayas + 1Endlf
ElseExilFor
EndlfNextKIf Rayas •* 1 Then
Gonsider(I)=-lConsider(J) = 1ForK>OToColum
If Binario2(I, K) - Binario2(J, K) ThenBin_Anx¡CU K) ^BinnrioafT, K)
ElseIf Binario2(I, K) o 2 And Binario2(J, K) o 2 Then
Bin Auxi(LlK)EI2Endlf"
EndlfNextKL = L-i-l
EndlfEndlf
NextJ
Página 67
NextlNextM'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-UllimFor 1= O To Maxim -Í
If Consider(I) o 1 TlienFor J = O To Colum
Iinplictui(K, J) — Biimrio2(I, J)NertJK = K I 1
EndlfNextl
•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 - 1Repetidofl) - O
NextlL=0For I = O To Maxí_Nue - 2
For J » I -f- 1 To Maxi JNue - 1IfRepetído(I) = O Áñd RepetÍdo(J) - O Then
AuxtO = OForK=OToCol«m
If Bin_Aira(I, K) « Bin_Auxi(J, K) UlienAuxiO =AuxÍ(H-l
ElseExitFor
EiidlfNextKIf AuxiO = Colum I 1 Then
Rcpcíido(J) ̂ 1
EndlfEiidlf
NextJTSTextlMaxím = Maxi_Nue - L
'Grabación de los elementos no repetidos en "Bin^AuxiQ"'aBinarioZf)i_ _______ _™._,..,_ _ _______ _.„_».___ _________ -™ — ______ReDim Binar! o2(Maxím - 1, Colum)L=0For I - O To MaxTNue - 1
IfRepetido(I) ="o TlienForK = OToCohim
Binario2(L, K) = Bm_Auci(); K)NextK
EndlfNexí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-UltimForI=OToMaKÍm-l
ForJ = OToCoIumTmplican(K, J) —Binírioip, J)
NextJ
Nextltntim = KBande = 1N_Nuevo=K-l
EndlfLoop
IIIII1IIIIIIIIIII
'¡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) = -1Nextl'Deleniriniicióu del numero de vuriubles que no existen en c»da'implicante primo de la solución de la matriz "
ForI-OToUlíim-1Rayas = OForJ=OToColum
inmplican(I, J) = 2 ThenRayas =* Rayas + 1
KndTfNextJMarcasfl) = 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 ThenForJ=OToMÍnim-l
Igual = OForK-OToColum
If Implican(I, K) = BinJIMinCJ, K) TlienIgual01 Igual + 1
EndlfNextKIf Igual = Colum + 1 Tlien
Cruces(I, J) = 1Endlf
NextJEndlf
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-lIf Marcas(I) o O Then
Rayas = Marcas(I)
ReDim Implican_Auxi(W, Colum)S = 0ForK = OToColum
If Implican(If K) - 2 ThenValor=0T=2n(Rayas-l-S)TI=TForL=OTo\
If T - O And Valor = O TTienVulor-1T=T1
EndlfIf T - O And Valor - 1 Thcn
Valor=0T-=T1
EndlfImplÍcan_Auxi(L, K) = ValorT-T- 1
NextLS«S+1
EndlfNextKForD = OToColum
If Implican(I, D) o 2 ThenForJ=OToW
Implican_Auxi(J, D) = Iraplican(I, D)NextJ
Endlf
Página 69
NextDForF = OToW
ForJ«OToMinmi-¿lIgual =0 5 ;ForK-GToColum
inmplican_Aúxi(F, K) = B¡nJIMin(J, K) ThenIgual «* Igual +1
EndlfNexlKIf Igual = Colum+ 1 Then
Crucesft J) -1Endlf
NextJNcxíF
EndlfNwctl'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) ™ ONextlForI=OToMÍníra- 1
Num__Cruces =" OForj"=OToUltim-l
IfCnices(J,I) = lThenNuni_Cnices=Nuni Cruces+ 1
EndlfNextJJf Num^Cruces = 1 "ílien
ForH=OTotntim-lIfCruces(H,I) = lThen
Suplican F^en^EJ) -1Eudlf
NextHEndlf
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) = ONextlForI^OToMÍuÍm-1
Num_Cruces ™ OForJ = OToUIt im-l
IfCruces(J,I)«lThenNum_Cruces =Num_Cruces +1
EndlfNextJIfNum_Cruces = 1 Then
ForJ=OToUltim-lJfCruces(J,j;) = lThen
ForK=OToMinim-J.IfCruces(J,K)-=lThen
lvfes_Marcas(K) = 1Endlf
NextKEndlf
NcxíJEndlf
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-lIf Mas_-v!arcas(I) = O Then
ForJ=OToUlt¡m-lJf CrucesfJ, I) -1 Then
ForK=OToMinim-lIf Cruces(J, K) «1 And Mas_Marcas(K) - O And Mas_Marcas(I) - O And I o K Then
Mas_Marcas(I) = iMas_Marcas(K) = 1Implican Eseu(J) = l
Endlf
Página 70
NextKEndlT
NextJEndlf
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 TlieiiForJ=OToUltim-l
If Cruces(J, I) « 1 ThenForK^OToMim'm-1
If Cnices(J, K) « 1 And Mas_Marcas(I) - O And I o K ThenMas_Marcas(I) — 1L»plÍcan_Esen(J) = 1
EndlfNexíK
EndlfMextJ
EndlfNextlK = 0ForI=OToUltira-l
Ifímplican_Esen(I) = 1 Tlien
EndlfNexílN_Nuevo=K-lReDimJmplÍcan_Auxi(N Nuevo, Colum)K>0ForI-OToÜJü'm-1
IflmpHcan Esen(l) = 1 Then"
níI, J)NextJK-K+1
EndlfNextlReD¡mImpIican(N_Nuevo, Colum)For I = O To NJSÍuevo
ForJ = OToColiimBnplican(I, J)— Implican Auxi(I,J)
NexíJNextlEndSub
SUBRUTINA QUE REALIZA LA APERTURA DE LOS ARCHIVOS EN FORMATO TEXTO
Atíribute VB_Narae « "MóduIoS"Sub Abrirl(archf Nonbre)
Open archFor!nputAs#layudas.Textl.Text=Iiiput$(LOF(l)( #1)ayudas. Captíon ™ NombreGlose #1EndSub
SUBRUTINA OUE REALIZA LA GRABACIÓN DE LOS ARCHIVOS
Attribute VB_Name = "Módulo2"Sub grabarQOn JEiror GoTo mensaje
MDZForml.AcüveForm,CommonDialogl.íilename « "*.*"CommonD i al ogl.il! enamearch = MDIForml.ActÍYeFoniL CMDialogl.fi leñameOpen arch For Qutput As #2Print#2, MDlForml.ActiveFonn.Textl.TextMDIForml.Act¡veForm.Caption = arcbGlose #2
Exit Submensaje:
MsgBox"No se ha especificado archivo"Resume Next
Pághia 71
EndSub
SUBRUTINA ACERDA DE^DISESIAC 1.0
VERSIOW4.00Begín VB.Form Acerca
Appearance = O 'FíatBackColor * &H8Ü000005&Caption = "Acerca de DISESIAC 1.0"CHenfHeight =* 3450ClieníLefi = 1500ClieiitTop •=> 2385CüentWídth = 6555BeginProperty Font
ñame ~ "Times New Román"charset ~ 1weight = 700size = 12underline = O Talseifnlic = O 'Falsestriketiirough = O 'False
EndPropertyForeColor = &H80000008&Height = 3855Left = 1440LinkTopic = "Form6"MaxButtou = O 'FalseMínButton = O TalseScaleHeiglit = 3450ScaleWidih = 6555Top « 2040Widíh - 6675Begin VB.CommandButton Commandl
Appearance ™ O "FíatBackColor « &H80000005&Cuplion •» "¿kAceplur"Hetght = 400Left = 5280Tablndcx — 1Top = 3 6 0Width = 1200
EndBegin VBXabel Label4
Alignment =» 2 'CenterAppearance *» O "FíatBackColor = éiH80000005&Caption = "Copyright (c) 1997 E.P.N. Quito-Ecuador"BegihProperty Font
ñame — "MS Sans Serif'chorset = 1weight = 700size — 8.25underline = O 'Falseitalic = O TaJsestriketlirough = O "False
HndPropertyForeColor = «&H80000008&Height = 255Lefi = 720Tiibiidex — 4Top = 1440Wídth = 4575
EndBegin VBXabel LabelS
Alignment = 2 'CenterAppearance = O TlatBackColor = &H80000005&Capüou — "Copyright (c) 1996-1997 Sergio Clavijo Moreno"BeginProperty Font
ñame - "MS Sans Serifcharset = 1weight - 700size = 8.25underline = O 'Falseitalic = O 'FaUestrikethrough "= O *False
EndProperty
III
Página 72
i
ForeColor = &H8Ü000008&Heíght = 255Lcfl » 720Tabüidex = 3Top - 1080Width - 4455
KndBegin VB.LabeI Label2
Appearance = O "FíatBackColor « &H80000005&BeginProperty Font
ñame = 'Times New Román"charset *= 1wcight - 700size - 9.75uiiderline = O 'Falseitalic = O 'Falsestrikethrough — O Talse
EndProperfyForeColor »- &HOOFFOOOO&Height - 1455Left - 240Tablndex = 2Top = 1920Width = 6135
EndBegin VB.Labcl Labell
AJigninent = 2 'CenterAppearance = O 'FlaíBackColor « &H80000005&Caption - $'T£SlS-95í.frx":OOOüForeColor = &H80000008&Heiglit = 615Left = 840Tublridex - OTop = 240Width = 4215
EndBegin VBJmage Imagel
Appearance = O 'FíatHeight = 480Left * 120Pichire = "TESTS-99.frx":0045Top » 240Width = 480
EndEndAlíribute VBJSTame = "Acerca"Aííribute VB_Creaíable=FalseAttribute VBJExposed = FalsePrívaie Sub Commandl_ClickQ
Unload AcercaEnd Sub
SUBRÜTÍNA BÜSCAK AYUÜA SOBRE
VERSIÓN 4.00Begín YB J-'orm Buscar
AppcHrunce — O ^FlalBackColor = &H80000005&Caption = "Buscar AyudaSobre"ClicntHcighí - 4020ClieníLeft - 975ClientTop « 2850ClientWidth = 7365BegiáProperty Font
ñame — 'Times New "Román"charset =• 1weíght = 700size =- 12underline = O 'Falseitalic » O 'Falsesfrikethrough = O Talse
EndPropertyForeColor - &H80000008&Heiglit = 4425
Página 73
Left = 915LiiikTopic =MaxButton = O TalséMíiiButton - O 'FalsaScaleHeight « 4020ScaleWídth = 7365Top - 2505Width - 7485Begín YB.TextBox Texll
Appearance = O 'FíatBegiuProperty Font
ñame - "MS Sans Serif"charset = 1wcight - 700size = 8.25underline — O "Falseitaljc = O "Falsestrikethrough = O 'False
EndPropertyHeíght = 495Left = 720Tablndex - 2Top = 3 6 0Width - 4215
FjidBegin VBXistBoxListl
Appearance = O 'FíatBeginProperty Font
ñame = "MS Sans Serif'charset — 1weight - 700size = 8.25underline « O Talseííaiic = O 'Falseslnkelhrougii =• O "False
EndPropeilyIleight = 2760Lcfl - 720Tablndex = 1Top - 1080Widíh = 6015
EndBegín VB.CoinrnandButtíin Commandl
Appearance = O 'FíatBackColor = &H80000005&Caption = "&Aceptar"Height - 495Left = 5160Tablndex * OTop = 360Width - 1575
EndEndAttribute VB_Nauie = "Buscar"Attribute VB^Creatable «FalseAttribute VBJExposed = FalseDim índice, Nombre
Prívate Sub Comniandl_Click()
índice "Buscar.Listl.ListlndcxUnlood Buscarayudas. ShowSelect Case índice
Case Ofirch = "C:\DTSESTACVTEXTOS\IMTRODXTC.ASG""Nombre *= "Introducción a los Sistemas Digitales Secuencíales"Cali Abrirl(arch,Nombre)
Caselarch - "CíVDISF^IACVrEXTOSVELEMENTO.ASC11
Nombre « "Elementos biestables (Flip - Flops)"Cali Abrírl(arch,Nombre)
Case 2arch - "C:\DISESIAC\TEXTOS\CIR-BASI.ASC"Nombre = "Circuilo Básico de un Flip - Flop (RS)"Cali Abrirl(arch, Nombre)
Página 74
Case 3arch = "C:\DISESIACVrEXrOS\FF-TEMPO.ASC"Nombre = "Flip - Flop Tipo RS temporizado"Cali Abrirlíarch, Nombre)
Case 4arch = "C:\DISESIAOTEXTOS\FTIPO-D.ASC'1Nombre » "Flip - Flop Tipo D"Cali Abrirl(arch, Nombre)
Case 5arch « "C:\DISESIAC\TEXTOS\FnPO-JK.ASC"Nombre — "Flip - Flop Tipo JK"Cali Abr¡rl(arch, Nombre)
Case 6arch - "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 8arch * "C:\DISESlAaTEXTOSVFF-MAEST. ASC"Nombre = "Flip - Flop Maestro Esclavo"Cali Abrirlíarch, Nombre)
Case 9arch = "C:\DISESIAC\TEXTOSVFF-FLANC. ASC"Nombre = "Flip - Flop Disparado por Flanco"Cali Abrirl(arch, Nombre)
Case 10arch = "C;\DISESIAC\TEXTOS\SIDISECU.ASC"Nombre =• "Sistemas Digitales Secuenciales"Cali Abríri (arch, Nombre)
Case 11arch = "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.ListIndexVariable =L¡stl.List(Ihdice)Te?rfl.Text« Variable
EndSub
Págiim 75