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