Inversa de Matrices por Cofactores en Visual Basic 2005

Document Sample
Inversa de Matrices por Cofactores en Visual Basic 2005 Powered By Docstoc
					INVERSA DE MATRICES POR COFACTORES EN VISUAL BASIC 2005

Hacer clic aquí para descargar el programa, el documento, y un archivo en Excel para la comprobación de los ejemplos.

En este programa desarrollado en Visual Basic 2005 se obtiene la inversa de matrices por el método de cofactores.

A continuación se presentan algunas impresiones de pantalla del programa en ejecución:

NOTA: Para comprobar que los resultados son correctos, se incluyen también impresiones de pantalla de los cálculos realizados en Microsoft Excel.

NOTA: La inversa de una matriz no es un simple valor, sino que un conjunto de valores. En la imagen de arriba, para obtener los resultados correctos, se han programado en Excel las siguientes fórmulas:

CELDA A2 B2 A3 B3 A6

VALOR =2 =6 =2/5 =5 =MINVERSA($A$2:$B$3)

Pero el resultado solamente aparecerá en la celda A6. Para que el resultado de la matriz inversa aparezca en todas las celdas como matriz 2x2 en este caso, seleccionar las celdas A6, B6, A7 y B7, luego teniéndolas seleccionadas presionar F2 y finalmente presionar Ctrl+Shift+Enter. Para encontrar el determinante de la matriz 2x2 para este mismo ejemplo, la fórmula es la sigui ente:

CELDA A10

VALOR =MDETERM(A2:B3)

OBJETOS DEL PROGRAMA

creditos.Designer.vb

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class creditos Inherits System.Windows.Forms.Form 'Form reemplaza a Dispose para limpiar la lista de componentes. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub 'Requerido por el Diseñador de Windows Forms Private components As System.ComponentModel.IContainer 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento 'Se puede modificar usando el Diseñador de Windows Forms. 'No lo modifique con el editor de código. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent()

Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(creditos)) Me.PictureBox1 = New System.Windows.Forms.PictureBox Me.Label11 = New System.Windows.Forms.Label Me.Label10 = New System.Windows.Forms.Label Me.Label9 = New System.Windows.Forms.Label Me.Label1 = New System.Windows.Forms.Label CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'PictureBox1 ' Me.PictureBox1.BackgroundImage = CType(resources.GetObject("PictureBox1.BackgroundImage"), System.Drawing.Image) Me.PictureBox1.Location = New System.Drawing.Point(12, 12) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(390, 136) Me.PictureBox1.TabIndex = 0 Me.PictureBox1.TabStop = False ' 'Label11 ' Me.Label11.AutoSize = True Me.Label11.BackColor = System.Drawing.Color.Transparent Me.Label11.CausesValidation = False Me.Label11.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label11.ForeColor = System.Drawing.Color.White Me.Label11.Location = New System.Drawing.Point(44, 209) Me.Label11.Name = "Label11" Me.Label11.Size = New System.Drawing.Size(296, 18) Me.Label11.TabIndex = 14 Me.Label11.Text = "Jaime Oswaldo Montoya Guzmán." ' 'Label10 ' Me.Label10.AutoSize = True Me.Label10.BackColor = System.Drawing.Color.Transparent Me.Label10.CausesValidation = False Me.Label10.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label10.ForeColor = System.Drawing.Color.White Me.Label10.Location = New System.Drawing.Point(44, 165) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(329, 18) Me.Label10.TabIndex = 13 Me.Label10.Text = "Jennifer Esmeralda Chacón Carranza." ' 'Label9 ' Me.Label9.AutoSize = True Me.Label9.BackColor = System.Drawing.Color.Transparent Me.Label9.CausesValidation = False Me.Label9.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label9.ForeColor = System.Drawing.Color.White Me.Label9.Location = New System.Drawing.Point(44, 187) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(247, 18) Me.Label9.TabIndex = 12

Me.Label9.Text = "Yanira Judith Flores Rivera." ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.BackColor = System.Drawing.Color.Transparent Me.Label1.CausesValidation = False Me.Label1.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.ForeColor = System.Drawing.Color.Yellow Me.Label1.Location = New System.Drawing.Point(125, 230) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(280, 18) Me.Label1.TabIndex = 15 Me.Label1.Text = "webmaster@jaimemontoya.com" ' 'creditos ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackgroundImage = CType(resources.GetObject("$this.BackgroundImage"), System.Drawing.Image) Me.ClientSize = New System.Drawing.Size(413, 253) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.Label11) Me.Controls.Add(Me.Label10) Me.Controls.Add(Me.Label9) Me.Controls.Add(Me.PictureBox1) Me.Name = "creditos" Me.Text = "Inversa de Matrices por Cofactores" CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents End Class PictureBox1 As System.Windows.Forms.PictureBox Label11 As System.Windows.Forms.Label Label10 As System.Windows.Forms.Label Label9 As System.Windows.Forms.Label Label1 As System.Windows.Forms.Label

Form1.Designer.vb

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1 Inherits System.Windows.Forms.Form 'Form reemplaza a Dispose para limpiar la lista de componentes. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub 'Requerido por el Diseñador de Windows Forms

Private components As System.ComponentModel.IContainer 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento 'Se puede modificar usando el Diseñador de Windows Forms. 'No lo modifique con el editor de código. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1)) Me.Button1 = New System.Windows.Forms.Button Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.Label6 = New System.Windows.Forms.Label Me.Label7 = New System.Windows.Forms.Label Me.Label8 = New System.Windows.Forms.Label Me.Label9 = New System.Windows.Forms.Label Me.Label10 = New System.Windows.Forms.Label Me.Label11 = New System.Windows.Forms.Label Me.Label12 = New System.Windows.Forms.Label Me.Label13 = New System.Windows.Forms.Label Me.SuspendLayout() ' 'Button1 ' Me.Button1.BackgroundImage = CType(resources.GetObject("Button1.BackgroundImage"), System.Drawing.Image) Me.Button1.Font = New System.Drawing.Font("Georgia", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button1.ForeColor = System.Drawing.Color.Navy Me.Button1.Location = New System.Drawing.Point(373, 460) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(136, 50) Me.Button1.TabIndex = 0 Me.Button1.Text = "Entrar" Me.Button1.UseVisualStyleBackColor = True ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.BackColor = System.Drawing.Color.Transparent Me.Label1.CausesValidation = False Me.Label1.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.ForeColor = System.Drawing.Color.White Me.Label1.Location = New System.Drawing.Point(260, 46) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(358, 18) Me.Label1.TabIndex = 1 Me.Label1.Text = "UNIVERSIDAD CATÓLICA DE OCCIDENTE" ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.BackColor = System.Drawing.Color.Transparent Me.Label2.CausesValidation = False Me.Label2.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label2.ForeColor = System.Drawing.Color.White

Me.Label2.Location = New System.Drawing.Point(241, 66) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(403, 18) Me.Label2.TabIndex = 2 Me.Label2.Text = "FACULTAD DE INGENIERÍA Y ARQUITECTURA" ' 'Label3 ' Me.Label3.AutoSize = True Me.Label3.BackColor = System.Drawing.Color.Transparent Me.Label3.CausesValidation = False Me.Label3.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label3.ForeColor = System.Drawing.Color.White Me.Label3.Location = New System.Drawing.Point(281, 118) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(296, 18) Me.Label3.TabIndex = 3 Me.Label3.Text = "Inversa de Matrices por Cofactores" ' 'Label4 ' Me.Label4.AutoSize = True Me.Label4.BackColor = System.Drawing.Color.Transparent Me.Label4.CausesValidation = False Me.Label4.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label4.ForeColor = System.Drawing.Color.White Me.Label4.Location = New System.Drawing.Point(263, 182) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(106, 18) Me.Label4.TabIndex = 4 Me.Label4.Text = "Asignatura:" ' 'Label5 ' Me.Label5.AutoSize = True Me.Label5.BackColor = System.Drawing.Color.Transparent Me.Label5.CausesValidation = False Me.Label5.Font = New System.Drawing.Font("Georgia", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label5.ForeColor = System.Drawing.Color.White Me.Label5.Location = New System.Drawing.Point(369, 183) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(153, 18) Me.Label5.TabIndex = 5 Me.Label5.Text = "Métodos Numéricos." ' 'Label6 ' Me.Label6.AutoSize = True Me.Label6.BackColor = System.Drawing.Color.Transparent Me.Label6.CausesValidation = False Me.Label6.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label6.ForeColor = System.Drawing.Color.White Me.Label6.Location = New System.Drawing.Point(263, 239) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(84, 18) Me.Label6.TabIndex = 6

Me.Label6.Text = "Profesor:" ' 'Label7 ' Me.Label7.AutoSize = True Me.Label7.BackColor = System.Drawing.Color.Transparent Me.Label7.CausesValidation = False Me.Label7.Font = New System.Drawing.Font("Georgia", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label7.ForeColor = System.Drawing.Color.White Me.Label7.Location = New System.Drawing.Point(347, 240) Me.Label7.Name = "Label7" Me.Label7.Size = New System.Drawing.Size(280, 18) Me.Label7.TabIndex = 7 Me.Label7.Text = "Ing. William Alexander Córdova Mejía." ' 'Label8 ' Me.Label8.AutoSize = True Me.Label8.BackColor = System.Drawing.Color.Transparent Me.Label8.CausesValidation = False Me.Label8.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label8.ForeColor = System.Drawing.Color.White Me.Label8.Location = New System.Drawing.Point(263, 292) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(88, 18) Me.Label8.TabIndex = 8 Me.Label8.Text = "Alumnos:" ' 'Label9 ' Me.Label9.AutoSize = True Me.Label9.BackColor = System.Drawing.Color.Transparent Me.Label9.CausesValidation = False Me.Label9.Font = New System.Drawing.Font("Georgia", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label9.ForeColor = System.Drawing.Color.White Me.Label9.Location = New System.Drawing.Point(353, 316) Me.Label9.Name = "Label9" Me.Label9.Size = New System.Drawing.Size(207, 18) Me.Label9.TabIndex = 9 Me.Label9.Text = "Yanira Judith Flores Rivera." ' 'Label10 ' Me.Label10.AutoSize = True Me.Label10.BackColor = System.Drawing.Color.Transparent Me.Label10.CausesValidation = False Me.Label10.Font = New System.Drawing.Font("Georgia", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label10.ForeColor = System.Drawing.Color.White Me.Label10.Location = New System.Drawing.Point(353, 294) Me.Label10.Name = "Label10" Me.Label10.Size = New System.Drawing.Size(272, 18) Me.Label10.TabIndex = 10 Me.Label10.Text = "Jennifer Esmeralda Chacón Carranza." ' 'Label11 ' Me.Label11.AutoSize = True Me.Label11.BackColor = System.Drawing.Color.Transparent

Me.Label11.CausesValidation = False Me.Label11.Font = New System.Drawing.Font("Georgia", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label11.ForeColor = System.Drawing.Color.White Me.Label11.Location = New System.Drawing.Point(353, 338) Me.Label11.Name = "Label11" Me.Label11.Size = New System.Drawing.Size(248, 18) Me.Label11.TabIndex = 11 Me.Label11.Text = "Jaime Oswaldo Montoya Guzmán." ' 'Label12 ' Me.Label12.AutoSize = True Me.Label12.BackColor = System.Drawing.Color.Transparent Me.Label12.CausesValidation = False Me.Label12.Font = New System.Drawing.Font("Georgia", 12.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label12.ForeColor = System.Drawing.Color.White Me.Label12.Location = New System.Drawing.Point(259, 398) Me.Label12.Name = "Label12" Me.Label12.Size = New System.Drawing.Size(123, 18) Me.Label12.TabIndex = 12 Me.Label12.Text = "Presentación:" ' 'Label13 ' Me.Label13.AutoSize = True Me.Label13.BackColor = System.Drawing.Color.Transparent Me.Label13.CausesValidation = False Me.Label13.Font = New System.Drawing.Font("Georgia", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label13.ForeColor = System.Drawing.Color.White Me.Label13.Location = New System.Drawing.Point(382, 398) Me.Label13.Name = "Label13" Me.Label13.Size = New System.Drawing.Size(205, 18) Me.Label13.TabIndex = 13 Me.Label13.Text = "Jueves, 12 de abril de 2007." ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackgroundImage = CType(resources.GetObject("$this.BackgroundImage"), System.Drawing.Image) Me.ClientSize = New System.Drawing.Size(943, 561) Me.Controls.Add(Me.Label13) Me.Controls.Add(Me.Label12) Me.Controls.Add(Me.Label11) Me.Controls.Add(Me.Label10) Me.Controls.Add(Me.Label9) Me.Controls.Add(Me.Label8) Me.Controls.Add(Me.Label7) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.Button1) Me.Name = "Form1" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Inversa de Matrices por Cofactores"

Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents End Class Button1 As System.Windows.Forms.Button Label1 As System.Windows.Forms.Label Label2 As System.Windows.Forms.Label Label3 As System.Windows.Forms.Label Label4 As System.Windows.Forms.Label Label5 As System.Windows.Forms.Label Label6 As System.Windows.Forms.Label Label7 As System.Windows.Forms.Label Label8 As System.Windows.Forms.Label Label9 As System.Windows.Forms.Label Label10 As System.Windows.Forms.Label Label11 As System.Windows.Forms.Label Label12 As System.Windows.Forms.Label Label13 As System.Windows.Forms.Label

Inversas.Designer.vb

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class inversas Inherits System.Windows.Forms.Form 'Form reemplaza a Dispose para limpiar la lista de componentes. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) If disposing AndAlso components IsNot Nothing Then components.Dispose() End If MyBase.Dispose(disposing) End Sub 'Requerido por el Diseñador de Windows Forms Private components As System.ComponentModel.IContainer 'NOTA: el Diseñador de Windows Forms necesita el siguiente procedimiento 'Se puede modificar usando el Diseñador de Windows Forms. 'No lo modifique con el editor de código. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(inversas)) Me.Button1 = New System.Windows.Forms.Button Me.ComboBox1 = New System.Windows.Forms.ComboBox Me.a1 = New System.Windows.Forms.TextBox Me.a2 = New System.Windows.Forms.TextBox Me.a3 = New System.Windows.Forms.TextBox Me.a4 = New System.Windows.Forms.TextBox Me.a5 = New System.Windows.Forms.TextBox Me.a10 = New System.Windows.Forms.TextBox Me.a9 = New System.Windows.Forms.TextBox Me.a8 = New System.Windows.Forms.TextBox Me.a7 = New System.Windows.Forms.TextBox Me.a6 = New System.Windows.Forms.TextBox Me.a15 = New System.Windows.Forms.TextBox

Me.a14 = New System.Windows.Forms.TextBox Me.a13 = New System.Windows.Forms.TextBox Me.a12 = New System.Windows.Forms.TextBox Me.a11 = New System.Windows.Forms.TextBox Me.a20 = New System.Windows.Forms.TextBox Me.a19 = New System.Windows.Forms.TextBox Me.a18 = New System.Windows.Forms.TextBox Me.a17 = New System.Windows.Forms.TextBox Me.a16 = New System.Windows.Forms.TextBox Me.a25 = New System.Windows.Forms.TextBox Me.a24 = New System.Windows.Forms.TextBox Me.a23 = New System.Windows.Forms.TextBox Me.a22 = New System.Windows.Forms.TextBox Me.a21 = New System.Windows.Forms.TextBox Me.b25 = New System.Windows.Forms.TextBox Me.b24 = New System.Windows.Forms.TextBox Me.b23 = New System.Windows.Forms.TextBox Me.b22 = New System.Windows.Forms.TextBox Me.b21 = New System.Windows.Forms.TextBox Me.b20 = New System.Windows.Forms.TextBox Me.b19 = New System.Windows.Forms.TextBox Me.b18 = New System.Windows.Forms.TextBox Me.b17 = New System.Windows.Forms.TextBox Me.b16 = New System.Windows.Forms.TextBox Me.b15 = New System.Windows.Forms.TextBox Me.b14 = New System.Windows.Forms.TextBox Me.b13 = New System.Windows.Forms.TextBox Me.b12 = New System.Windows.Forms.TextBox Me.b11 = New System.Windows.Forms.TextBox Me.b10 = New System.Windows.Forms.TextBox Me.b9 = New System.Windows.Forms.TextBox Me.b8 = New System.Windows.Forms.TextBox Me.b7 = New System.Windows.Forms.TextBox Me.b6 = New System.Windows.Forms.TextBox Me.b5 = New System.Windows.Forms.TextBox Me.b4 = New System.Windows.Forms.TextBox Me.b3 = New System.Windows.Forms.TextBox Me.b2 = New System.Windows.Forms.TextBox Me.b1 = New System.Windows.Forms.TextBox Me.c25 = New System.Windows.Forms.TextBox Me.c24 = New System.Windows.Forms.TextBox Me.c23 = New System.Windows.Forms.TextBox Me.c22 = New System.Windows.Forms.TextBox Me.c21 = New System.Windows.Forms.TextBox Me.c20 = New System.Windows.Forms.TextBox Me.c19 = New System.Windows.Forms.TextBox Me.c18 = New System.Windows.Forms.TextBox Me.c17 = New System.Windows.Forms.TextBox Me.c16 = New System.Windows.Forms.TextBox Me.c15 = New System.Windows.Forms.TextBox Me.c14 = New System.Windows.Forms.TextBox Me.c13 = New System.Windows.Forms.TextBox Me.c12 = New System.Windows.Forms.TextBox Me.c11 = New System.Windows.Forms.TextBox Me.c10 = New System.Windows.Forms.TextBox Me.c9 = New System.Windows.Forms.TextBox Me.c8 = New System.Windows.Forms.TextBox Me.c7 = New System.Windows.Forms.TextBox Me.c6 = New System.Windows.Forms.TextBox Me.c5 = New System.Windows.Forms.TextBox Me.c4 = New System.Windows.Forms.TextBox Me.c3 = New System.Windows.Forms.TextBox Me.c2 = New System.Windows.Forms.TextBox

Me.c1 = New System.Windows.Forms.TextBox Me.Button2 = New System.Windows.Forms.Button Me.TextBox1 = New System.Windows.Forms.TextBox Me.TextBox2 = New System.Windows.Forms.TextBox Me.Label6 = New System.Windows.Forms.Label Me.GroupBox1 = New System.Windows.Forms.GroupBox Me.GroupBox2 = New System.Windows.Forms.GroupBox Me.GroupBox3 = New System.Windows.Forms.GroupBox Me.Label1 = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Button3 = New System.Windows.Forms.Button Me.Button4 = New System.Windows.Forms.Button Me.MenuStrip1 = New System.Windows.Forms.MenuStrip Me.ArchivoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.InsertarMatrizOriginalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.EdiciónToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.LimpiarToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SalirToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem Me.SalirToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem Me.SalirToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem Me.SalirToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem Me.Button5 = New System.Windows.Forms.Button Me.GroupBox1.SuspendLayout() Me.GroupBox2.SuspendLayout() Me.GroupBox3.SuspendLayout() Me.MenuStrip1.SuspendLayout() Me.SuspendLayout() ' 'Button1 ' Me.Button1.BackgroundImage = CType(resources.GetObject("Button1.BackgroundImage"), System.Drawing.Image) Me.Button1.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button1.Location = New System.Drawing.Point(79, 477) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(130, 56) Me.Button1.TabIndex = 26 Me.Button1.Text = "Insertar matriz original" Me.Button1.UseVisualStyleBackColor = True ' 'ComboBox1 ' Me.ComboBox1.FormattingEnabled = True Me.ComboBox1.Items.AddRange(New Object() {"Matriz 2x2", "Matriz 3x3", "Matriz 4x4", "Matriz 5x5"}) Me.ComboBox1.Location = New System.Drawing.Point(117, 112) Me.ComboBox1.Name = "ComboBox1" Me.ComboBox1.Size = New System.Drawing.Size(174, 21) Me.ComboBox1.TabIndex = 0 ' 'a1 ' Me.a1.Location = New System.Drawing.Point(11, 21) Me.a1.Name = "a1" Me.a1.Size = New System.Drawing.Size(64, 22) Me.a1.TabIndex = 1 Me.a1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a1.Visible = False

' 'a2 ' Me.a2.Location = New System.Drawing.Point(74, 21) Me.a2.Name = "a2" Me.a2.Size = New System.Drawing.Size(64, 22) Me.a2.TabIndex = 2 Me.a2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a2.Visible = False ' 'a3 ' Me.a3.Location = New System.Drawing.Point(137, 21) Me.a3.Name = "a3" Me.a3.Size = New System.Drawing.Size(64, 22) Me.a3.TabIndex = 3 Me.a3.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a3.Visible = False ' 'a4 ' Me.a4.Location = New System.Drawing.Point(200, 21) Me.a4.Name = "a4" Me.a4.Size = New System.Drawing.Size(64, 22) Me.a4.TabIndex = 4 Me.a4.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a4.Visible = False ' 'a5 ' Me.a5.Location = New System.Drawing.Point(263, 21) Me.a5.Name = "a5" Me.a5.Size = New System.Drawing.Size(64, 22) Me.a5.TabIndex = 5 Me.a5.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a5.Visible = False ' 'a10 ' Me.a10.Location = New System.Drawing.Point(263, 40) Me.a10.Name = "a10" Me.a10.Size = New System.Drawing.Size(64, 22) Me.a10.TabIndex = 10 Me.a10.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a10.Visible = False ' 'a9 ' Me.a9.Location = New System.Drawing.Point(200, 40) Me.a9.Name = "a9" Me.a9.Size = New System.Drawing.Size(64, 22) Me.a9.TabIndex = 9 Me.a9.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a9.Visible = False ' 'a8 ' Me.a8.Location = New System.Drawing.Point(137, 40) Me.a8.Name = "a8" Me.a8.Size = New System.Drawing.Size(64, 22) Me.a8.TabIndex = 8 Me.a8.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a8.Visible = False

' 'a7 ' Me.a7.Location = New System.Drawing.Point(74, 40) Me.a7.Name = "a7" Me.a7.Size = New System.Drawing.Size(64, 22) Me.a7.TabIndex = 7 Me.a7.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a7.Visible = False ' 'a6 ' Me.a6.Location = New System.Drawing.Point(11, 40) Me.a6.Name = "a6" Me.a6.Size = New System.Drawing.Size(64, 22) Me.a6.TabIndex = 6 Me.a6.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a6.Visible = False ' 'a15 ' Me.a15.Location = New System.Drawing.Point(263, 59) Me.a15.Name = "a15" Me.a15.Size = New System.Drawing.Size(64, 22) Me.a15.TabIndex = 15 Me.a15.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a15.Visible = False ' 'a14 ' Me.a14.Location = New System.Drawing.Point(200, 59) Me.a14.Name = "a14" Me.a14.Size = New System.Drawing.Size(64, 22) Me.a14.TabIndex = 14 Me.a14.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a14.Visible = False ' 'a13 ' Me.a13.Location = New System.Drawing.Point(137, 59) Me.a13.Name = "a13" Me.a13.Size = New System.Drawing.Size(64, 22) Me.a13.TabIndex = 13 Me.a13.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a13.Visible = False ' 'a12 ' Me.a12.Location = New System.Drawing.Point(74, 59) Me.a12.Name = "a12" Me.a12.Size = New System.Drawing.Size(64, 22) Me.a12.TabIndex = 12 Me.a12.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a12.Visible = False ' 'a11 ' Me.a11.Location = New System.Drawing.Point(11, 59) Me.a11.Name = "a11" Me.a11.Size = New System.Drawing.Size(64, 22) Me.a11.TabIndex = 11 Me.a11.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a11.Visible = False

' 'a20 ' Me.a20.Location = New System.Drawing.Point(263, 78) Me.a20.Name = "a20" Me.a20.Size = New System.Drawing.Size(64, 22) Me.a20.TabIndex = 20 Me.a20.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a20.Visible = False ' 'a19 ' Me.a19.Location = New System.Drawing.Point(200, 78) Me.a19.Name = "a19" Me.a19.Size = New System.Drawing.Size(64, 22) Me.a19.TabIndex = 19 Me.a19.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a19.Visible = False ' 'a18 ' Me.a18.Location = New System.Drawing.Point(137, 78) Me.a18.Name = "a18" Me.a18.Size = New System.Drawing.Size(64, 22) Me.a18.TabIndex = 18 Me.a18.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a18.Visible = False ' 'a17 ' Me.a17.Location = New System.Drawing.Point(74, 78) Me.a17.Name = "a17" Me.a17.Size = New System.Drawing.Size(64, 22) Me.a17.TabIndex = 17 Me.a17.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a17.Visible = False ' 'a16 ' Me.a16.Location = New System.Drawing.Point(11, 78) Me.a16.Name = "a16" Me.a16.Size = New System.Drawing.Size(64, 22) Me.a16.TabIndex = 16 Me.a16.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a16.Visible = False ' 'a25 ' Me.a25.Location = New System.Drawing.Point(263, 97) Me.a25.Name = "a25" Me.a25.Size = New System.Drawing.Size(64, 22) Me.a25.TabIndex = 25 Me.a25.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a25.Visible = False ' 'a24 ' Me.a24.Location = New System.Drawing.Point(200, 97) Me.a24.Name = "a24" Me.a24.Size = New System.Drawing.Size(64, 22) Me.a24.TabIndex = 24 Me.a24.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a24.Visible = False

' 'a23 ' Me.a23.Location = New System.Drawing.Point(137, 97) Me.a23.Name = "a23" Me.a23.Size = New System.Drawing.Size(64, 22) Me.a23.TabIndex = 23 Me.a23.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a23.Visible = False ' 'a22 ' Me.a22.Location = New System.Drawing.Point(74, 97) Me.a22.Name = "a22" Me.a22.Size = New System.Drawing.Size(64, 22) Me.a22.TabIndex = 22 Me.a22.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a22.Visible = False ' 'a21 ' Me.a21.Location = New System.Drawing.Point(11, 97) Me.a21.Name = "a21" Me.a21.Size = New System.Drawing.Size(64, 22) Me.a21.TabIndex = 21 Me.a21.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.a21.Visible = False ' 'b25 ' Me.b25.Location = New System.Drawing.Point(262, 97) Me.b25.Name = "b25" Me.b25.Size = New System.Drawing.Size(64, 22) Me.b25.TabIndex = 51 Me.b25.TabStop = False Me.b25.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b25.Visible = False ' 'b24 ' Me.b24.Location = New System.Drawing.Point(199, 97) Me.b24.Name = "b24" Me.b24.Size = New System.Drawing.Size(64, 22) Me.b24.TabIndex = 50 Me.b24.TabStop = False Me.b24.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b24.Visible = False ' 'b23 ' Me.b23.Location = New System.Drawing.Point(136, 97) Me.b23.Name = "b23" Me.b23.Size = New System.Drawing.Size(64, 22) Me.b23.TabIndex = 49 Me.b23.TabStop = False Me.b23.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b23.Visible = False ' 'b22 ' Me.b22.Location = New System.Drawing.Point(73, 97) Me.b22.Name = "b22" Me.b22.Size = New System.Drawing.Size(64, 22)

Me.b22.TabIndex = 48 Me.b22.TabStop = False Me.b22.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b22.Visible = False ' 'b21 ' Me.b21.Location = New System.Drawing.Point(10, 97) Me.b21.Name = "b21" Me.b21.Size = New System.Drawing.Size(64, 22) Me.b21.TabIndex = 47 Me.b21.TabStop = False Me.b21.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b21.Visible = False ' 'b20 ' Me.b20.Location = New System.Drawing.Point(262, 78) Me.b20.Name = "b20" Me.b20.Size = New System.Drawing.Size(64, 22) Me.b20.TabIndex = 46 Me.b20.TabStop = False Me.b20.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b20.Visible = False ' 'b19 ' Me.b19.Location = New System.Drawing.Point(199, 78) Me.b19.Name = "b19" Me.b19.Size = New System.Drawing.Size(64, 22) Me.b19.TabIndex = 45 Me.b19.TabStop = False Me.b19.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b19.Visible = False ' 'b18 ' Me.b18.Location = New System.Drawing.Point(136, 78) Me.b18.Name = "b18" Me.b18.Size = New System.Drawing.Size(64, 22) Me.b18.TabIndex = 44 Me.b18.TabStop = False Me.b18.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b18.Visible = False ' 'b17 ' Me.b17.Location = New System.Drawing.Point(73, 78) Me.b17.Name = "b17" Me.b17.Size = New System.Drawing.Size(64, 22) Me.b17.TabIndex = 43 Me.b17.TabStop = False Me.b17.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b17.Visible = False ' 'b16 ' Me.b16.Location = New System.Drawing.Point(10, 78) Me.b16.Name = "b16" Me.b16.Size = New System.Drawing.Size(64, 22) Me.b16.TabIndex = 42 Me.b16.TabStop = False Me.b16.TextAlign = System.Windows.Forms.HorizontalAlignment.Right

Me.b16.Visible = False ' 'b15 ' Me.b15.Location = New System.Drawing.Point(262, 59) Me.b15.Name = "b15" Me.b15.Size = New System.Drawing.Size(64, 22) Me.b15.TabIndex = 41 Me.b15.TabStop = False Me.b15.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b15.Visible = False ' 'b14 ' Me.b14.Location = New System.Drawing.Point(199, 59) Me.b14.Name = "b14" Me.b14.Size = New System.Drawing.Size(64, 22) Me.b14.TabIndex = 40 Me.b14.TabStop = False Me.b14.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b14.Visible = False ' 'b13 ' Me.b13.Location = New System.Drawing.Point(136, 59) Me.b13.Name = "b13" Me.b13.Size = New System.Drawing.Size(64, 22) Me.b13.TabIndex = 39 Me.b13.TabStop = False Me.b13.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b13.Visible = False ' 'b12 ' Me.b12.Location = New System.Drawing.Point(73, 59) Me.b12.Name = "b12" Me.b12.Size = New System.Drawing.Size(64, 22) Me.b12.TabIndex = 38 Me.b12.TabStop = False Me.b12.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b12.Visible = False ' 'b11 ' Me.b11.Location = New System.Drawing.Point(10, 59) Me.b11.Name = "b11" Me.b11.Size = New System.Drawing.Size(64, 22) Me.b11.TabIndex = 37 Me.b11.TabStop = False Me.b11.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b11.Visible = False ' 'b10 ' Me.b10.Location = New System.Drawing.Point(262, 40) Me.b10.Name = "b10" Me.b10.Size = New System.Drawing.Size(64, 22) Me.b10.TabIndex = 36 Me.b10.TabStop = False Me.b10.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b10.Visible = False ' 'b9

' Me.b9.Location = New System.Drawing.Point(199, 40) Me.b9.Name = "b9" Me.b9.Size = New System.Drawing.Size(64, 22) Me.b9.TabIndex = 35 Me.b9.TabStop = False Me.b9.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b9.Visible = False ' 'b8 ' Me.b8.Location = New System.Drawing.Point(136, 40) Me.b8.Name = "b8" Me.b8.Size = New System.Drawing.Size(64, 22) Me.b8.TabIndex = 34 Me.b8.TabStop = False Me.b8.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b8.Visible = False ' 'b7 ' Me.b7.Location = New System.Drawing.Point(73, 40) Me.b7.Name = "b7" Me.b7.Size = New System.Drawing.Size(64, 22) Me.b7.TabIndex = 33 Me.b7.TabStop = False Me.b7.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b7.Visible = False ' 'b6 ' Me.b6.Location = New System.Drawing.Point(10, 40) Me.b6.Name = "b6" Me.b6.Size = New System.Drawing.Size(64, 22) Me.b6.TabIndex = 32 Me.b6.TabStop = False Me.b6.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b6.Visible = False ' 'b5 ' Me.b5.Location = New System.Drawing.Point(262, 21) Me.b5.Name = "b5" Me.b5.Size = New System.Drawing.Size(64, 22) Me.b5.TabIndex = 31 Me.b5.TabStop = False Me.b5.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b5.Visible = False ' 'b4 ' Me.b4.Location = New System.Drawing.Point(199, 21) Me.b4.Name = "b4" Me.b4.Size = New System.Drawing.Size(64, 22) Me.b4.TabIndex = 30 Me.b4.TabStop = False Me.b4.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b4.Visible = False ' 'b3 ' Me.b3.Location = New System.Drawing.Point(136, 21) Me.b3.Name = "b3"

Me.b3.Size = New System.Drawing.Size(64, 22) Me.b3.TabIndex = 29 Me.b3.TabStop = False Me.b3.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b3.Visible = False ' 'b2 ' Me.b2.Location = New System.Drawing.Point(73, 21) Me.b2.Name = "b2" Me.b2.Size = New System.Drawing.Size(64, 22) Me.b2.TabIndex = 28 Me.b2.TabStop = False Me.b2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b2.Visible = False ' 'b1 ' Me.b1.Location = New System.Drawing.Point(10, 21) Me.b1.Name = "b1" Me.b1.Size = New System.Drawing.Size(64, 22) Me.b1.TabIndex = 27 Me.b1.TabStop = False Me.b1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.b1.Visible = False ' 'c25 ' Me.c25.Location = New System.Drawing.Point(266, 97) Me.c25.Name = "c25" Me.c25.Size = New System.Drawing.Size(64, 22) Me.c25.TabIndex = 76 Me.c25.TabStop = False Me.c25.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c25.Visible = False ' 'c24 ' Me.c24.Location = New System.Drawing.Point(203, 97) Me.c24.Name = "c24" Me.c24.Size = New System.Drawing.Size(64, 22) Me.c24.TabIndex = 75 Me.c24.TabStop = False Me.c24.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c24.Visible = False ' 'c23 ' Me.c23.Location = New System.Drawing.Point(140, 97) Me.c23.Name = "c23" Me.c23.Size = New System.Drawing.Size(64, 22) Me.c23.TabIndex = 74 Me.c23.TabStop = False Me.c23.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c23.Visible = False ' 'c22 ' Me.c22.Location = New System.Drawing.Point(77, 97) Me.c22.Name = "c22" Me.c22.Size = New System.Drawing.Size(64, 22) Me.c22.TabIndex = 73 Me.c22.TabStop = False

Me.c22.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c22.Visible = False ' 'c21 ' Me.c21.Location = New System.Drawing.Point(14, 97) Me.c21.Name = "c21" Me.c21.Size = New System.Drawing.Size(64, 22) Me.c21.TabIndex = 72 Me.c21.TabStop = False Me.c21.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c21.Visible = False ' 'c20 ' Me.c20.Location = New System.Drawing.Point(266, 78) Me.c20.Name = "c20" Me.c20.Size = New System.Drawing.Size(64, 22) Me.c20.TabIndex = 71 Me.c20.TabStop = False Me.c20.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c20.Visible = False ' 'c19 ' Me.c19.Location = New System.Drawing.Point(203, 78) Me.c19.Name = "c19" Me.c19.Size = New System.Drawing.Size(64, 22) Me.c19.TabIndex = 70 Me.c19.TabStop = False Me.c19.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c19.Visible = False ' 'c18 ' Me.c18.Location = New System.Drawing.Point(140, 78) Me.c18.Name = "c18" Me.c18.Size = New System.Drawing.Size(64, 22) Me.c18.TabIndex = 69 Me.c18.TabStop = False Me.c18.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c18.Visible = False ' 'c17 ' Me.c17.Location = New System.Drawing.Point(77, 78) Me.c17.Name = "c17" Me.c17.Size = New System.Drawing.Size(64, 22) Me.c17.TabIndex = 68 Me.c17.TabStop = False Me.c17.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c17.Visible = False ' 'c16 ' Me.c16.Location = New System.Drawing.Point(14, 78) Me.c16.Name = "c16" Me.c16.Size = New System.Drawing.Size(64, 22) Me.c16.TabIndex = 67 Me.c16.TabStop = False Me.c16.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c16.Visible = False '

'c15 ' Me.c15.Location = New System.Drawing.Point(266, 59) Me.c15.Name = "c15" Me.c15.Size = New System.Drawing.Size(64, 22) Me.c15.TabIndex = 66 Me.c15.TabStop = False Me.c15.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c15.Visible = False ' 'c14 ' Me.c14.Location = New System.Drawing.Point(203, 59) Me.c14.Name = "c14" Me.c14.Size = New System.Drawing.Size(64, 22) Me.c14.TabIndex = 65 Me.c14.TabStop = False Me.c14.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c14.Visible = False ' 'c13 ' Me.c13.Location = New System.Drawing.Point(140, 59) Me.c13.Name = "c13" Me.c13.Size = New System.Drawing.Size(64, 22) Me.c13.TabIndex = 64 Me.c13.TabStop = False Me.c13.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c13.Visible = False ' 'c12 ' Me.c12.Location = New System.Drawing.Point(77, 59) Me.c12.Name = "c12" Me.c12.Size = New System.Drawing.Size(64, 22) Me.c12.TabIndex = 63 Me.c12.TabStop = False Me.c12.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c12.Visible = False ' 'c11 ' Me.c11.Location = New System.Drawing.Point(14, 59) Me.c11.Name = "c11" Me.c11.Size = New System.Drawing.Size(64, 22) Me.c11.TabIndex = 62 Me.c11.TabStop = False Me.c11.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c11.Visible = False ' 'c10 ' Me.c10.Location = New System.Drawing.Point(266, 40) Me.c10.Name = "c10" Me.c10.Size = New System.Drawing.Size(64, 22) Me.c10.TabIndex = 61 Me.c10.TabStop = False Me.c10.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c10.Visible = False ' 'c9 ' Me.c9.Location = New System.Drawing.Point(203, 40)

Me.c9.Name = "c9" Me.c9.Size = New System.Drawing.Size(64, 22) Me.c9.TabIndex = 60 Me.c9.TabStop = False Me.c9.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c9.Visible = False ' 'c8 ' Me.c8.Location = New System.Drawing.Point(140, 40) Me.c8.Name = "c8" Me.c8.Size = New System.Drawing.Size(64, 22) Me.c8.TabIndex = 59 Me.c8.TabStop = False Me.c8.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c8.Visible = False ' 'c7 ' Me.c7.Location = New System.Drawing.Point(77, 40) Me.c7.Name = "c7" Me.c7.Size = New System.Drawing.Size(64, 22) Me.c7.TabIndex = 58 Me.c7.TabStop = False Me.c7.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c7.Visible = False ' 'c6 ' Me.c6.Location = New System.Drawing.Point(14, 40) Me.c6.Name = "c6" Me.c6.Size = New System.Drawing.Size(64, 22) Me.c6.TabIndex = 57 Me.c6.TabStop = False Me.c6.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c6.Visible = False ' 'c5 ' Me.c5.Location = New System.Drawing.Point(266, 21) Me.c5.Name = "c5" Me.c5.Size = New System.Drawing.Size(64, 22) Me.c5.TabIndex = 56 Me.c5.TabStop = False Me.c5.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c5.Visible = False ' 'c4 ' Me.c4.Location = New System.Drawing.Point(203, 21) Me.c4.Name = "c4" Me.c4.Size = New System.Drawing.Size(64, 22) Me.c4.TabIndex = 55 Me.c4.TabStop = False Me.c4.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c4.Visible = False ' 'c3 ' Me.c3.Location = New System.Drawing.Point(140, 21) Me.c3.Name = "c3" Me.c3.Size = New System.Drawing.Size(64, 22) Me.c3.TabIndex = 54

Me.c3.TabStop = False Me.c3.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c3.Visible = False ' 'c2 ' Me.c2.Location = New System.Drawing.Point(77, 21) Me.c2.Name = "c2" Me.c2.Size = New System.Drawing.Size(64, 22) Me.c2.TabIndex = 53 Me.c2.TabStop = False Me.c2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c2.Visible = False ' 'c1 ' Me.c1.Location = New System.Drawing.Point(14, 21) Me.c1.Name = "c1" Me.c1.Size = New System.Drawing.Size(64, 22) Me.c1.TabIndex = 52 Me.c1.TabStop = False Me.c1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right Me.c1.Visible = False ' 'Button2 ' Me.Button2.BackgroundImage = CType(resources.GetObject("Button2.BackgroundImage"), System.Drawing.Image) Me.Button2.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button2.Location = New System.Drawing.Point(234, 477) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(130, 56) Me.Button2.TabIndex = 77 Me.Button2.Text = "Calcular matriz de cofactores y matriz inversa" Me.Button2.UseVisualStyleBackColor = True Me.Button2.Visible = False ' 'TextBox1 ' Me.TextBox1.Location = New System.Drawing.Point(693, 87) Me.TextBox1.Name = "TextBox1" Me.TextBox1.Size = New System.Drawing.Size(100, 20) Me.TextBox1.TabIndex = 78 ' 'TextBox2 ' Me.TextBox2.Location = New System.Drawing.Point(693, 113) Me.TextBox2.Name = "TextBox2" Me.TextBox2.Size = New System.Drawing.Size(100, 20) Me.TextBox2.TabIndex = 79 ' 'Label6 ' Me.Label6.AutoSize = True Me.Label6.BackColor = System.Drawing.Color.Transparent Me.Label6.CausesValidation = False Me.Label6.Font = New System.Drawing.Font("Georgia", 21.75!, CType(((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic) _ Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label6.ForeColor = System.Drawing.Color.White Me.Label6.Location = New System.Drawing.Point(184, 37)

Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(541, 34) Me.Label6.TabIndex = 85 Me.Label6.Text = "Inversa de Matrices por Cofactores" ' 'GroupBox1 ' Me.GroupBox1.BackColor = System.Drawing.Color.Transparent Me.GroupBox1.Controls.Add(Me.a4) Me.GroupBox1.Controls.Add(Me.a1) Me.GroupBox1.Controls.Add(Me.a2) Me.GroupBox1.Controls.Add(Me.a3) Me.GroupBox1.Controls.Add(Me.a5) Me.GroupBox1.Controls.Add(Me.a6) Me.GroupBox1.Controls.Add(Me.a7) Me.GroupBox1.Controls.Add(Me.a8) Me.GroupBox1.Controls.Add(Me.a9) Me.GroupBox1.Controls.Add(Me.a10) Me.GroupBox1.Controls.Add(Me.a11) Me.GroupBox1.Controls.Add(Me.a12) Me.GroupBox1.Controls.Add(Me.a13) Me.GroupBox1.Controls.Add(Me.a14) Me.GroupBox1.Controls.Add(Me.a15) Me.GroupBox1.Controls.Add(Me.a16) Me.GroupBox1.Controls.Add(Me.a17) Me.GroupBox1.Controls.Add(Me.a18) Me.GroupBox1.Controls.Add(Me.a19) Me.GroupBox1.Controls.Add(Me.a20) Me.GroupBox1.Controls.Add(Me.a21) Me.GroupBox1.Controls.Add(Me.a22) Me.GroupBox1.Controls.Add(Me.a23) Me.GroupBox1.Controls.Add(Me.a24) Me.GroupBox1.Controls.Add(Me.a25) Me.GroupBox1.Font = New System.Drawing.Font("Arial", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.GroupBox1.ForeColor = System.Drawing.Color.White Me.GroupBox1.Location = New System.Drawing.Point(79, 185) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.Size = New System.Drawing.Size(341, 132) Me.GroupBox1.TabIndex = 86 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Matriz Original" ' 'GroupBox2 ' Me.GroupBox2.BackColor = System.Drawing.Color.Transparent Me.GroupBox2.Controls.Add(Me.b3) Me.GroupBox2.Controls.Add(Me.b1) Me.GroupBox2.Controls.Add(Me.b2) Me.GroupBox2.Controls.Add(Me.b4) Me.GroupBox2.Controls.Add(Me.b5) Me.GroupBox2.Controls.Add(Me.b6) Me.GroupBox2.Controls.Add(Me.b7) Me.GroupBox2.Controls.Add(Me.b8) Me.GroupBox2.Controls.Add(Me.b9) Me.GroupBox2.Controls.Add(Me.b10) Me.GroupBox2.Controls.Add(Me.b11) Me.GroupBox2.Controls.Add(Me.b12) Me.GroupBox2.Controls.Add(Me.b13) Me.GroupBox2.Controls.Add(Me.b14) Me.GroupBox2.Controls.Add(Me.b15) Me.GroupBox2.Controls.Add(Me.b16) Me.GroupBox2.Controls.Add(Me.b17)

Me.GroupBox2.Controls.Add(Me.b18) Me.GroupBox2.Controls.Add(Me.b19) Me.GroupBox2.Controls.Add(Me.b20) Me.GroupBox2.Controls.Add(Me.b21) Me.GroupBox2.Controls.Add(Me.b22) Me.GroupBox2.Controls.Add(Me.b23) Me.GroupBox2.Controls.Add(Me.b24) Me.GroupBox2.Controls.Add(Me.b25) Me.GroupBox2.Font = New System.Drawing.Font("Arial", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.GroupBox2.ForeColor = System.Drawing.Color.White Me.GroupBox2.Location = New System.Drawing.Point(491, 185) Me.GroupBox2.Name = "GroupBox2" Me.GroupBox2.Size = New System.Drawing.Size(341, 132) Me.GroupBox2.TabIndex = 87 Me.GroupBox2.TabStop = False Me.GroupBox2.Text = "Matriz de Cofactores" ' 'GroupBox3 ' Me.GroupBox3.BackColor = System.Drawing.Color.Transparent Me.GroupBox3.Controls.Add(Me.c3) Me.GroupBox3.Controls.Add(Me.c1) Me.GroupBox3.Controls.Add(Me.c2) Me.GroupBox3.Controls.Add(Me.c4) Me.GroupBox3.Controls.Add(Me.c5) Me.GroupBox3.Controls.Add(Me.c6) Me.GroupBox3.Controls.Add(Me.c7) Me.GroupBox3.Controls.Add(Me.c8) Me.GroupBox3.Controls.Add(Me.c9) Me.GroupBox3.Controls.Add(Me.c10) Me.GroupBox3.Controls.Add(Me.c11) Me.GroupBox3.Controls.Add(Me.c25) Me.GroupBox3.Controls.Add(Me.c12) Me.GroupBox3.Controls.Add(Me.c24) Me.GroupBox3.Controls.Add(Me.c13) Me.GroupBox3.Controls.Add(Me.c23) Me.GroupBox3.Controls.Add(Me.c14) Me.GroupBox3.Controls.Add(Me.c22) Me.GroupBox3.Controls.Add(Me.c15) Me.GroupBox3.Controls.Add(Me.c21) Me.GroupBox3.Controls.Add(Me.c16) Me.GroupBox3.Controls.Add(Me.c20) Me.GroupBox3.Controls.Add(Me.c17) Me.GroupBox3.Controls.Add(Me.c19) Me.GroupBox3.Controls.Add(Me.c18) Me.GroupBox3.Font = New System.Drawing.Font("Arial", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.GroupBox3.ForeColor = System.Drawing.Color.White Me.GroupBox3.Location = New System.Drawing.Point(257, 327) Me.GroupBox3.Name = "GroupBox3" Me.GroupBox3.Size = New System.Drawing.Size(341, 132) Me.GroupBox3.TabIndex = 88 Me.GroupBox3.TabStop = False Me.GroupBox3.Text = "Inversa de la Matriz Original" ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.BackColor = System.Drawing.Color.Transparent Me.Label1.CausesValidation = False Me.Label1.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.Label1.ForeColor = System.Drawing.Color.White Me.Label1.Location = New System.Drawing.Point(347, 88) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(263, 16) Me.Label1.TabIndex = 89 Me.Label1.Text = "Determinante de la Matriz Original:" ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.BackColor = System.Drawing.Color.Transparent Me.Label2.CausesValidation = False Me.Label2.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label2.ForeColor = System.Drawing.Color.White Me.Label2.Location = New System.Drawing.Point(347, 114) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(347, 16) Me.Label2.TabIndex = 90 Me.Label2.Text = "Inversa del Determinante de la Matriz Original:" ' 'Label3 ' Me.Label3.AutoSize = True Me.Label3.BackColor = System.Drawing.Color.Transparent Me.Label3.CausesValidation = False Me.Label3.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label3.ForeColor = System.Drawing.Color.White Me.Label3.Location = New System.Drawing.Point(112, 88) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(189, 16) Me.Label3.TabIndex = 91 Me.Label3.Text = "Dimensiones de la Matriz" ' 'Button3 ' Me.Button3.BackgroundImage = CType(resources.GetObject("Button3.BackgroundImage"), System.Drawing.Image) Me.Button3.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button3.Location = New System.Drawing.Point(389, 477) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(130, 56) Me.Button3.TabIndex = 92 Me.Button3.Text = "Limpiar" Me.Button3.UseVisualStyleBackColor = True ' 'Button4 ' Me.Button4.BackgroundImage = CType(resources.GetObject("Button4.BackgroundImage"), System.Drawing.Image) Me.Button4.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button4.Location = New System.Drawing.Point(699, 477) Me.Button4.Name = "Button4" Me.Button4.Size = New System.Drawing.Size(130, 56) Me.Button4.TabIndex = 93 Me.Button4.Text = "Salir" Me.Button4.UseVisualStyleBackColor = True ' 'MenuStrip1 '

Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ArchivoToolStripMenuItem, Me.EdiciónToolStripMenuItem, Me.SalirToolStripMenuItem, Me.SalirToolStripMenuItem2}) Me.MenuStrip1.Location = New System.Drawing.Point(0, 0) Me.MenuStrip1.Name = "MenuStrip1" Me.MenuStrip1.Size = New System.Drawing.Size(915, 24) Me.MenuStrip1.TabIndex = 94 Me.MenuStrip1.Text = "MenuStrip1" ' 'ArchivoToolStripMenuItem ' Me.ArchivoToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.InsertarMatrizOriginalToolStripMenuItem, Me.CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem}) Me.ArchivoToolStripMenuItem.Name = "ArchivoToolStripMenuItem" Me.ArchivoToolStripMenuItem.Size = New System.Drawing.Size(55, 20) Me.ArchivoToolStripMenuItem.Text = "Archivo" ' 'InsertarMatrizOriginalToolStripMenuItem ' Me.InsertarMatrizOriginalToolStripMenuItem.Name = "InsertarMatrizOriginalToolStripMenuItem" Me.InsertarMatrizOriginalToolStripMenuItem.Size = New System.Drawing.Size(307, 22) Me.InsertarMatrizOriginalToolStripMenuItem.Text = "Insertar Matriz Original" ' 'CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem ' Me.CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem.Name = "CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem" Me.CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem.Size = New System.Drawing.Size(307, 22) Me.CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem.Text = "Calcular Matriz de Cofactores y Matriz Inversa" ' 'EdiciónToolStripMenuItem ' Me.EdiciónToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.LimpiarToolStripMenuItem}) Me.EdiciónToolStripMenuItem.Name = "EdiciónToolStripMenuItem" Me.EdiciónToolStripMenuItem.Size = New System.Drawing.Size(52, 20) Me.EdiciónToolStripMenuItem.Text = "Edición" ' 'LimpiarToolStripMenuItem ' Me.LimpiarToolStripMenuItem.Name = "LimpiarToolStripMenuItem" Me.LimpiarToolStripMenuItem.Size = New System.Drawing.Size(118, 22) Me.LimpiarToolStripMenuItem.Text = "Limpiar" ' 'SalirToolStripMenuItem ' Me.SalirToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SalirToolStripMenuItem1}) Me.SalirToolStripMenuItem.Name = "SalirToolStripMenuItem" Me.SalirToolStripMenuItem.Size = New System.Drawing.Size(59, 20) Me.SalirToolStripMenuItem.Text = "Créditos" ' 'SalirToolStripMenuItem1 ' Me.SalirToolStripMenuItem1.Name = "SalirToolStripMenuItem1" Me.SalirToolStripMenuItem1.Size = New System.Drawing.Size(145, 22) Me.SalirToolStripMenuItem1.Text = "Acerca de..." '

'SalirToolStripMenuItem2 ' Me.SalirToolStripMenuItem2.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SalirToolStripMenuItem3}) Me.SalirToolStripMenuItem2.Name = "SalirToolStripMenuItem2" Me.SalirToolStripMenuItem2.Size = New System.Drawing.Size(39, 20) Me.SalirToolStripMenuItem2.Text = "Salir" ' 'SalirToolStripMenuItem3 ' Me.SalirToolStripMenuItem3.Name = "SalirToolStripMenuItem3" Me.SalirToolStripMenuItem3.Size = New System.Drawing.Size(105, 22) Me.SalirToolStripMenuItem3.Text = "Salir" ' 'Button5 ' Me.Button5.BackgroundImage = CType(resources.GetObject("Button5.BackgroundImage"), System.Drawing.Image) Me.Button5.Font = New System.Drawing.Font("Georgia", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button5.Location = New System.Drawing.Point(544, 477) Me.Button5.Name = "Button5" Me.Button5.Size = New System.Drawing.Size(130, 56) Me.Button5.TabIndex = 95 Me.Button5.Text = "Créditos" Me.Button5.UseVisualStyleBackColor = True ' 'inversas ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackgroundImage = CType(resources.GetObject("$this.BackgroundImage"), System.Drawing.Image) Me.ClientSize = New System.Drawing.Size(915, 553) Me.Controls.Add(Me.Button5) Me.Controls.Add(Me.Button4) Me.Controls.Add(Me.Button3) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.GroupBox3) Me.Controls.Add(Me.GroupBox2) Me.Controls.Add(Me.ComboBox1) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.GroupBox1) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.MenuStrip1) Me.MainMenuStrip = Me.MenuStrip1 Me.Name = "inversas" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "Inversa de Matrices por Cofactores" Me.GroupBox1.ResumeLayout(False) Me.GroupBox1.PerformLayout() Me.GroupBox2.ResumeLayout(False) Me.GroupBox2.PerformLayout() Me.GroupBox3.ResumeLayout(False) Me.GroupBox3.PerformLayout() Me.MenuStrip1.ResumeLayout(False) Me.MenuStrip1.PerformLayout() Me.ResumeLayout(False)

Me.PerformLayout() End Sub Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Friend WithEvents Button1 As System.Windows.Forms.Button ComboBox1 As System.Windows.Forms.ComboBox a1 As System.Windows.Forms.TextBox a2 As System.Windows.Forms.TextBox a3 As System.Windows.Forms.TextBox a4 As System.Windows.Forms.TextBox a5 As System.Windows.Forms.TextBox a10 As System.Windows.Forms.TextBox a9 As System.Windows.Forms.TextBox a8 As System.Windows.Forms.TextBox a7 As System.Windows.Forms.TextBox a6 As System.Windows.Forms.TextBox a15 As System.Windows.Forms.TextBox a14 As System.Windows.Forms.TextBox a13 As System.Windows.Forms.TextBox a12 As System.Windows.Forms.TextBox a11 As System.Windows.Forms.TextBox a20 As System.Windows.Forms.TextBox a19 As System.Windows.Forms.TextBox a18 As System.Windows.Forms.TextBox a17 As System.Windows.Forms.TextBox a16 As System.Windows.Forms.TextBox a25 As System.Windows.Forms.TextBox a24 As System.Windows.Forms.TextBox a23 As System.Windows.Forms.TextBox a22 As System.Windows.Forms.TextBox a21 As System.Windows.Forms.TextBox b25 As System.Windows.Forms.TextBox b24 As System.Windows.Forms.TextBox b23 As System.Windows.Forms.TextBox b22 As System.Windows.Forms.TextBox b21 As System.Windows.Forms.TextBox b20 As System.Windows.Forms.TextBox b19 As System.Windows.Forms.TextBox b18 As System.Windows.Forms.TextBox b17 As System.Windows.Forms.TextBox b16 As System.Windows.Forms.TextBox b15 As System.Windows.Forms.TextBox b14 As System.Windows.Forms.TextBox b13 As System.Windows.Forms.TextBox b12 As System.Windows.Forms.TextBox b11 As System.Windows.Forms.TextBox b10 As System.Windows.Forms.TextBox b9 As System.Windows.Forms.TextBox b8 As System.Windows.Forms.TextBox b7 As System.Windows.Forms.TextBox b6 As System.Windows.Forms.TextBox b5 As System.Windows.Forms.TextBox b4 As System.Windows.Forms.TextBox b3 As System.Windows.Forms.TextBox b2 As System.Windows.Forms.TextBox b1 As System.Windows.Forms.TextBox c25 As System.Windows.Forms.TextBox c24 As System.Windows.Forms.TextBox c23 As System.Windows.Forms.TextBox c22 As System.Windows.Forms.TextBox c21 As System.Windows.Forms.TextBox c20 As System.Windows.Forms.TextBox c19 As System.Windows.Forms.TextBox c18 As System.Windows.Forms.TextBox

Friend WithEvents c17 As System.Windows.Forms.TextBox Friend WithEvents c16 As System.Windows.Forms.TextBox Friend WithEvents c15 As System.Windows.Forms.TextBox Friend WithEvents c14 As System.Windows.Forms.TextBox Friend WithEvents c13 As System.Windows.Forms.TextBox Friend WithEvents c12 As System.Windows.Forms.TextBox Friend WithEvents c11 As System.Windows.Forms.TextBox Friend WithEvents c10 As System.Windows.Forms.TextBox Friend WithEvents c9 As System.Windows.Forms.TextBox Friend WithEvents c8 As System.Windows.Forms.TextBox Friend WithEvents c7 As System.Windows.Forms.TextBox Friend WithEvents c6 As System.Windows.Forms.TextBox Friend WithEvents c5 As System.Windows.Forms.TextBox Friend WithEvents c4 As System.Windows.Forms.TextBox Friend WithEvents c3 As System.Windows.Forms.TextBox Friend WithEvents c2 As System.Windows.Forms.TextBox Friend WithEvents c1 As System.Windows.Forms.TextBox Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents TextBox1 As System.Windows.Forms.TextBox Friend WithEvents TextBox2 As System.Windows.Forms.TextBox Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Button3 As System.Windows.Forms.Button Friend WithEvents Button4 As System.Windows.Forms.Button Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip Friend WithEvents ArchivoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents InsertarMatrizOriginalToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents EdiciónToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents LimpiarToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SalirToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SalirToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SalirToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SalirToolStripMenuItem3 As System.Windows.Forms.ToolStripMenuItem Friend WithEvents Button5 As System.Windows.Forms.Button End Class

CÓDIGO DEL PROGRAMA

El código del programa se muestra a continuación:

creditos.vb
Public Class creditos End Class

Form1.vb

Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Hide() inversas.Show() End Sub End Class

inversas.vb
Public Class inversas 'La clase pública "inversas" es la del formulario al que se le puso por nombre "inversas". Pero es como la clase "Form1", clase "Form2", etc. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Borrar todos los valores previos para que quede sin nada la matriz original que se va a introducir. a1.Text = "" a2.Text = "" a3.Text = "" a4.Text = "" a5.Text = "" a6.Text = "" a7.Text = "" a8.Text = "" a9.Text = "" a10.Text = "" a11.Text = "" a12.Text = "" a13.Text = "" a14.Text = "" a15.Text = "" a16.Text = "" a17.Text = "" a18.Text = "" a19.Text = "" a20.Text = "" a21.Text = "" a22.Text = "" a23.Text = "" a24.Text = "" a25.Text = "" If (ComboBox1.SelectedItem = "Matriz 2x2") Then Button2.Visible = True 'Si del Combobox se selecciona "Matriz 2x2", activa únicamente las celdas en las que se introducirán los valores de la matriz original. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = False a4.Visible = False a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = False a9.Visible = False a10.Visible = False a11.Visible = False a12.Visible = False a13.Visible = False a14.Visible = False

a15.Visible = False a16.Visible = False a17.Visible = False a18.Visible = False a19.Visible = False a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = False b2.Visible = False b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = False b7.Visible = False b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = False c2.Visible = False c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = False c7.Visible = False c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False a1.Focus() 'Para mandar el cursor al Textbox de la posición (1,1) de la matriz original.

End If If (ComboBox1.SelectedItem = "Matriz 3x3") Then Button2.Visible = True 'Si del Combobox se selecciona "Matriz 3x3", activa únicamente las celdas en las que se introducirán los valores de la matriz original. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = False a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = False a10.Visible = False a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero. a13.Visible = True 'Verdadero. a14.Visible = False a15.Visible = False a16.Visible = False a17.Visible = False a18.Visible = False a19.Visible = False a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = False b2.Visible = False b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = False b7.Visible = False b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = False c2.Visible = False c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = False c7.Visible = False c8.Visible = False

c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False a1.Focus() 'Para mandar el cursor al Textbox de la posición (1,1) de la matriz original. End If If (ComboBox1.SelectedItem = "Matriz 4x4") Then Button2.Visible = True 'Si del Combobox se selecciona "Matriz 4x4", activa únicamente las celdas en las que se introducirán los valores de la matriz original. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = True 'Verdadero. a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = True 'Verdadero. a10.Visible = False a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero. a13.Visible = True 'Verdadero. a14.Visible = True 'Verdadero. a15.Visible = False a16.Visible = True 'Verdadero. a17.Visible = True 'Verdadero. a18.Visible = True 'Verdadero. a19.Visible = True 'Verdadero. a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = False b2.Visible = False b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = False b7.Visible = False b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False

b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = False c2.Visible = False c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = False c7.Visible = False c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False a1.Focus() 'Para mandar el cursor al Textbox de la posición (1,1) de la matriz original. End If If (ComboBox1.SelectedItem = "Matriz 5x5") Then Button2.Visible = True 'Si del Combobox se selecciona "Matriz 5x5", activa únicamente las celdas en las que se introducirán los valores de la matriz original. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = True 'Verdadero. a5.Visible = True 'Verdadero. a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = True 'Verdadero. a10.Visible = True 'Verdadero. a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero. a13.Visible = True 'Verdadero. a14.Visible = True 'Verdadero. a15.Visible = True 'Verdadero. a16.Visible = True 'Verdadero. a17.Visible = True 'Verdadero. a18.Visible = True 'Verdadero. a19.Visible = True 'Verdadero. a20.Visible = True 'Verdadero.

a21.Visible = True 'Verdadero. a22.Visible = True 'Verdadero. a23.Visible = True 'Verdadero. a24.Visible = True 'Verdadero. a25.Visible = True 'Verdadero. b1.Visible = False b2.Visible = False b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = False b7.Visible = False b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = False c2.Visible = False c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = False c7.Visible = False c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False a1.Focus() 'Para mandar el cursor al Textbox de la posición (1,1) de la matriz original. End If If (ComboBox1.SelectedItem <> "Matriz 2x2") And (ComboBox1.SelectedItem <> "Matriz 3x3") And (ComboBox1.SelectedItem <> "Matriz 4x4") And (ComboBox1.SelectedItem <> "Matriz 5x5") Then 'Si del Combobox no se selecciona ninguna opción válida, no se activa activa ninguna celda.

a1.Visible = False a2.Visible = False a3.Visible = False a4.Visible = False a5.Visible = False a6.Visible = False a7.Visible = False a8.Visible = False a9.Visible = False a10.Visible = False a11.Visible = False a12.Visible = False a13.Visible = False a14.Visible = False a15.Visible = False a16.Visible = False a17.Visible = False a18.Visible = False a19.Visible = False a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = False b2.Visible = False b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = False b7.Visible = False b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = False c2.Visible = False c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = False c7.Visible = False c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False c13.Visible = False

c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False MsgBox("Seleccione las dimensiones de la matriz original", MsgBoxStyle.OkOnly, "Inversa de matrices") End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'Proceso para la inversa de una matriz 2x2. If (ComboBox1.SelectedItem = "Matriz 2x2") And (a1.Text <> "" And a2.Text <> "" And a6.Text <> "" And a7.Text <> "") Then 'Limpiar los Textbox de la matriz original que no intervienen en una matriz 2x2. a3.Text = "" a4.Text = "" a5.Text = "" a8.Text = "" a9.Text = "" a10.Text = "" a11.Text = "" a12.Text = "" a13.Text = "" a14.Text = "" a15.Text = "" a16.Text = "" a17.Text = "" a18.Text = "" a19.Text = "" a20.Text = "" a21.Text = "" a22.Text = "" a23.Text = "" a24.Text = "" a25.Text = "" TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. 'Si del Combobox se selecciona "Matriz 2x2" y si en la matriz original ya se han introducido valores, activa las celdas correspondientes. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = False a4.Visible = False a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = False a9.Visible = False a10.Visible = False a11.Visible = False a12.Visible = False a13.Visible = False

a14.Visible = False a15.Visible = False a16.Visible = False a17.Visible = False a18.Visible = False a19.Visible = False a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = True 'Verdadero. b2.Visible = True 'Verdadero. b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = True 'Verdadero. b7.Visible = True 'Verdadero. b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = True 'Verdadero. c2.Visible = True 'Verdadero. c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = True 'Verdadero. c7.Visible = True 'verdadero. c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False

'Verificar que no se hayan introducido valores incoherentes en la matriz original. Las únicas incoherencias posibles son varias plecas o plecas en posiciones incoherentes; o varios signos menos o signos menos en posiciones incoherentes. Lo demás está controlado por el KeyPress. Dim valoresinvalidosenmatrizoriginal As Integer = 0 'Si vale 0, no hay valores invalidos en la matriz original. Si vale 1, sí hay valores inválidos en la matriz original. 'Verificar si el valor es inválido en la posición (1,1) --> a1. Dim invalidolongitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a1 As Integer = 0 Dim invalidoposicionesmenos_a1 As Integer = 0 Dim invalidoposicionmenos_a1 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a1 As Integer = 0 Dim invalidoapareceonomenos_a1 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a1 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If invalidocaracterevaluado_a1 = "/" Then invalidoposicionpleca_a1 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a1 = invalidocontadorplecas_a1 + 1 End If If invalidocaracterevaluado_a1 = "-" Then invalidoposicionmenos_a1 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a1 = invalidocontadormenos_a1 + 1 End If Next If (invalidocontadorplecas_a1 > 1) Or (invalidocontadormenos_a1 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a1 = 1 Else If (invalidoposicionpleca_a1 = 1) Or (invalidoposicionpleca_a1 = invalidolongitudcadena_a1) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a1 = 1 End If End If If (invalidocontadormenos_a1 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio del numerador o al principio del denominador. If (invalidoposicionmenos_a1 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a1.Text, invalidoposicionmenos_a1 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente.

invalidoconfirmado_a1 = 1 End If End If End If If Mid(a1.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a1 = 1 End If If a1.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a1 = 1 End If If invalidoconfirmado_a1 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,2) --> a2. Dim invalidolongitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a2 As Integer = 0 Dim invalidoposicionesmenos_a2 As Integer = 0 Dim invalidoposicionmenos_a2 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a2 As Integer = 0 Dim invalidoapareceonomenos_a2 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a2 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If invalidocaracterevaluado_a2 = "/" Then invalidoposicionpleca_a2 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a2 = invalidocontadorplecas_a2 + 1 End If If invalidocaracterevaluado_a2 = "-" Then invalidoposicionmenos_a2 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a2 = invalidocontadormenos_a2 + 1 End If Next If (invalidocontadorplecas_a2 > 1) Or (invalidocontadormenos_a2 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a2 = 1 Else If (invalidoposicionpleca_a2 = 1) Or (invalidoposicionpleca_a2 = invalidolongitudcadena_a2) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a2 = 1 End If End If If (invalidocontadormenos_a2 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a2 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else

If Mid(a2.Text, invalidoposicionmenos_a2 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a2 = 1 End If End If End If If Mid(a2.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a2 = 1 End If If a2.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a2 = 1 End If If invalidoconfirmado_a2 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,1) --> a6. Dim invalidolongitudcadena_a6 As Integer = Len(a6.Text) 'Variable para alm acenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a6 As Integer = 0 Dim invalidoposicionesmenos_a6 As Integer = 0 Dim invalidoposicionmenos_a6 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a6 As Integer = 0 Dim invalidoapareceonomenos_a6 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a6 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If invalidocaracterevaluado_a6 = "/" Then invalidoposicionpleca_a6 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a6 = invalidocontadorplecas_a6 + 1 End If If invalidocaracterevaluado_a6 = "-" Then invalidoposicionmenos_a6 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a6 = invalidocontadormenos_a6 + 1 End If Next If (invalidocontadorplecas_a6 > 1) Or (invalidocontadormenos_a6 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a6 = 1 Else If (invalidoposicionpleca_a6 = 1) Or (invalidoposicionpleca_a6 = invalidolongitudcadena_a6) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido.

invalidoconfirmado_a6 = 1 End If End If If (invalidocontadormenos_a6 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a6 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a6.Text, invalidoposicionmenos_a6 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a6 = 1 End If End If End If If Mid(a6.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a6 = 1 End If If a6.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a6 = 1 End If If invalidoconfirmado_a6 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,2) --> a7. Dim invalidolongitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a7 As Integer = 0 Dim invalidoposicionesmenos_a7 As Integer = 0 Dim invalidoposicionmenos_a7 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a7 As Integer = 0 Dim invalidoapareceonomenos_a7 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a7 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If invalidocaracterevaluado_a7 = "/" Then invalidoposicionpleca_a7 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a7 = invalidocontadorplecas_a7 + 1 End If If invalidocaracterevaluado_a7 = "-" Then invalidoposicionmenos_a7 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a7 = invalidocontadormenos_a7 + 1 End If

Next If (invalidocontadorplecas_a7 > 1) Or (invalidocontadormenos_a7 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a7 = 1 Else If (invalidoposicionpleca_a7 = 1) Or (invalidoposicionpleca_a7 = invalidolongitudcadena_a7) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a7 = 1 End If End If If (invalidocontadormenos_a7 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a7 = 1) Then 'Esto es válido, entonces no se mand a la señal de valor inválido todavía. Else If Mid(a7.Text, invalidoposicionmenos_a7 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a7 = 1 End If End If End If If Mid(a7.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a7 = 1 End If If a7.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a7 = 1 End If If invalidoconfirmado_a7 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Si hay caracteres inválidos en la matriz original 2x2, se manda el mensaje correspondiente; de lo contrario se procede a hacer las evaluaciones. If valoresinvalidosenmatrizoriginal = 1 Then MsgBox("La matriz original contiene valores inválidos", MsgBoxStyle.OkOnly, "Inversa de matrices") Else 'Encontrar el numerador y el denominador de la posición (1,1)--> a1. Dim longitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If caracterevaluado_a1 = "/" Then posicionpleca_a1 = ciclo banderapleca_a1 = 1 End If Next If banderapleca_a1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a1 = Mid(a1.Text, 1, posicionpleca_a1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a1 = Mid(a1.Text, posicionpleca_a1 + 1, longitudcadena_a1 posicionpleca_a1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a1 = Mid(a1.Text, 1, longitudcadena_a1) denominador_a1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> a2. Dim longitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If caracterevaluado_a2 = "/" Then posicionpleca_a2 = ciclo banderapleca_a2 = 1 End If Next If banderapleca_a2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a2 = Mid(a2.Text, 1, posicionpleca_a2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a2 = Mid(a2.Text, posicionpleca_a2 + 1, longitudcadena_a2 posicionpleca_a2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a2 = Mid(a2.Text, 1, longitudcadena_a2) denominador_a2 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> a6. Dim longitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If caracterevaluado_a6 = "/" Then posicionpleca_a6 = ciclo banderapleca_a6 = 1 End If Next If banderapleca_a6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a6 = Mid(a6.Text, 1, posicionpleca_a6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a6 = Mid(a6.Text, posicionpleca_a6 + 1, longitudcadena_a6 posicionpleca_a6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a6 = Mid(a6.Text, 1, longitudcadena_a6) denominador_a6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> a7. Dim longitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If caracterevaluado_a7 = "/" Then posicionpleca_a7 = ciclo banderapleca_a7 = 1 End If Next If banderapleca_a7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a7 = Mid(a7.Text, 1, posicionpleca_a7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a7 = Mid(a7.Text, posicionpleca_a7 + 1, longitudcadena_a7 posicionpleca_a7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a7 = Mid(a7.Text, 1, longitudcadena_a7)

denominador_a7 = 1 End If 'Determina la matriz 2x2 de cofactores. Dim m_a1 As New Fraction(numerador_a1, denominador_a1) Dim m_a2 As New Fraction(numerador_a2, denominador_a2) Dim m_a6 As New Fraction(numerador_a6, denominador_a6) Dim m_a7 As New Fraction(numerador_a7, denominador_a7) Dim menos1 As New Fraction(-1, 1) 'Para multiplicar un objeto Fraction por 1. Dim m_b1 As Fraction Dim m_b2 As Fraction Dim m_b6 As Fraction Dim m_b7 As Fraction m_b1 = m_a7 m_b2 = m_a6 * menos1 m_b6 = m_a2 * menos1 m_b7 = m_a1 'Imprime la matriz 2x2 de cofactores b1.Text = m_b1.ToString b2.Text = m_b2.ToString b6.Text = m_b6.ToString b7.Text = m_b7.ToString 'Cambia la matriz 2x2 de cofactores a la matriz adjunta 2x2. c1.Text = b1.Text c2.Text = b6.Text c6.Text = b2.Text c7.Text = b7.Text 'Calcula el determinante de la matriz 2x2 para luego obtener la inversa del determinante de la matriz 2x2. Dim determinante2x2 As Fraction Dim uno As New Fraction(1, 1) Dim inversadeterminante2x2 As Fraction determinante2x2 = (m_a1) * (m_a7) - (m_a2) * (m_a6) inversadeterminante2x2 = uno / determinante2x2 'Encontrar el numerador y el denominador de la posición (1,1)--> c1. Dim longitudcadena_c1 As Integer = Len(c1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c1 = Mid(c1.Text, ciclo, 1) If caracterevaluado_c1 = "/" Then posicionpleca_c1 = ciclo banderapleca_c1 = 1 End If Next If banderapleca_c1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c1 = Mid(c1.Text, 1, posicionpleca_c1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c1 = Mid(c1.Text, posicionpleca_c1 + 1, longitudcadena_c1 posicionpleca_c1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena.

Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c1 = Mid(c1.Text, 1, longitudcadena_c1) denominador_c1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> c2. Dim longitudcadena_c2 As Integer = Len(c2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c2 = Mid(c2.Text, ciclo, 1) If caracterevaluado_c2 = "/" Then posicionpleca_c2 = ciclo banderapleca_c2 = 1 End If Next If banderapleca_c2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c2 = Mid(c2.Text, 1, posicionpleca_c2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c2 = Mid(c2.Text, posicionpleca_c2 + 1, longitudcadena_c2 posicionpleca_c2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c2 = Mid(c2.Text, 1, longitudcadena_c2) denominador_c2 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> c6. Dim longitudcadena_c6 As Integer = Len(c6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c6 = Mid(c6.Text, ciclo, 1) If caracterevaluado_c6 = "/" Then posicionpleca_c6 = ciclo banderapleca_c6 = 1 End If Next

If banderapleca_c6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c6 = Mid(c6.Text, 1, posicionpleca_c6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c6 = Mid(c6.Text, posicionpleca_c6 + 1, longitudcadena_c6 posicionpleca_c6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c6 = Mid(c6.Text, 1, longitudcadena_c6) denominador_c6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> c7. Dim longitudcadena_c7 As Integer = Len(c7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c7 = Mid(c7.Text, ciclo, 1) If caracterevaluado_c7 = "/" Then posicionpleca_c7 = ciclo banderapleca_c7 = 1 End If Next If banderapleca_c7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c7 = Mid(c7.Text, 1, posicionpleca_c7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c7 = Mid(c7.Text, posicionpleca_c7 + 1, longitudcadena_c7 posicionpleca_c7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c7 = Mid(c7.Text, 1, longitudcadena_c7) denominador_c7 = 1 End If 'Convierte los valores de los Textbox de la matriz c a objetos Fraction, mediante la clase. Dim m_c1 As New Fraction(numerador_c1, denominador_c1) Dim m_c2 As New Fraction(numerador_c2, denominador_c2) Dim m_c6 As New Fraction(numerador_c6, denominador_c6) Dim m_c7 As New Fraction(numerador_c7, denominador_c7) Dim m_cfraccion1 As Fraction Dim m_cfraccion2 As Fraction Dim m_cfraccion6 As Fraction Dim m_cfraccion7 As Fraction m_cfraccion1 = m_c1 m_cfraccion2 = m_c2 m_cfraccion6 = m_c6 m_cfraccion7 = m_c7

'Multiplica el determinante de la matriz original 2x2 por la matriz adjunta, de modo que se obtiene la inversa de la matriz original. Dim m_cinversa1 As Fraction Dim m_cinversa2 As Fraction Dim m_cinversa6 As Fraction Dim m_cinversa7 As Fraction m_cinversa1 = inversadeterminante2x2 * m_cfraccion1 m_cinversa2 = inversadeterminante2x2 * m_cfraccion2 m_cinversa6 = inversadeterminante2x2 * m_cfraccion6 m_cinversa7 = inversadeterminante2x2 * m_cfraccion7 c1.Text = m_cinversa1.ToString c2.Text = m_cinversa2.ToString c6.Text = m_cinversa6.ToString c7.Text = m_cinversa7.ToString 'Posición (1,1) --> b1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b1 As Integer = Len(b1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b1 As String = b1.Text Dim ultimos2caracteres_b1 As String ultimos2caracteres_b1 = Mid(b1.Text, longitudcadena_b1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b1 = "/1" Then entero_b1 = Mid(b1.Text, 1, longitudcadena_b1 - 2) End If If Mid(b1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b1 = "0" End If b1.Text = entero_b1 'Posición (1,2) --> b2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b2 As Integer = Len(b2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b2 As String = b2.Text Dim ultimos2caracteres_b2 As String ultimos2caracteres_b2 = Mid(b2.Text, longitudcadena_b2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b2 = "/1" Then entero_b2 = Mid(b2.Text, 1, longitudcadena_b2 - 2) End If If Mid(b2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b2 = "0" End If b2.Text = entero_b2 'Posición (2,1) --> b6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b6 As Integer = Len(b6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b6 As String = b6.Text Dim ultimos2caracteres_b6 As String ultimos2caracteres_b6 = Mid(b6.Text, longitudcadena_b6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b6 = "/1" Then entero_b6 = Mid(b6.Text, 1, longitudcadena_b6 - 2) End If If Mid(b6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b6 = "0"

End If b6.Text = entero_b6 'Posición (2,2) --> b7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b7 As Integer = Len(b7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b7 As String = b7.Text Dim ultimos2caracteres_b7 As String ultimos2caracteres_b7 = Mid(b7.Text, longitudcadena_b7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b7 = "/1" Then entero_b7 = Mid(b7.Text, 1, longitudcadena_b7 - 2) End If If Mid(b7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b7 = "0" End If b7.Text = entero_b7 'Posición (1,1) --> c1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c1 As Integer = Len(c1.Text) Dim entero_c1 As String = c1.Text Dim ultimos2caracteres_c1 As String ultimos2caracteres_c1 = Mid(c1.Text, nuevalongitudcadena_c1 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c1 = "/1" Then entero_c1 = Mid(c1.Text, 1, nuevalongitudcadena_c1 - 2) End If If Mid(c1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c1 = "0" End If c1.Text = entero_c1 'Posición (1,2) --> c2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c2 As Integer = Len(c2.Text) Dim entero_c2 As String = c2.Text Dim ultimos2caracteres_c2 As String ultimos2caracteres_c2 = Mid(c2.Text, nuevalongitudcadena_c2 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c2 = "/1" Then entero_c2 = Mid(c2.Text, 1, nuevalongitudcadena_c2 - 2) End If If Mid(c2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c2 = "0" End If c2.Text = entero_c2 'Posición (2,1) --> c6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c6 As Integer = Len(c6.Text) Dim entero_c6 As String = c6.Text Dim ultimos2caracteres_c6 As String ultimos2caracteres_c6 = Mid(c6.Text, nuevalongitudcadena_c6 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c6 = "/1" Then entero_c6 = Mid(c6.Text, 1, nuevalongitudcadena_c6 - 2) End If

If Mid(c6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c6 = "0" End If c6.Text = entero_c6 'Posición (2,2) --> c7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c7 As Integer = Len(c7.Text) Dim entero_c7 As String = c7.Text Dim ultimos2caracteres_c7 As String ultimos2caracteres_c7 = Mid(c7.Text, nuevalongitudcadena_c7 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c7 = "/1" Then entero_c7 = Mid(c7.Text, 1, nuevalongitudcadena_c7 - 2) End If If Mid(c7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c7 = "0" End If c7.Text = entero_c7 TextBox1.Text = determinante2x2.ToString 'Imprime el determinante de la matriz 2x2 en forma fraccionaria. TextBox2.Text = inversadeterminante2x2.ToString 'Imprime la inversa del determinante de la matriz 2x2 en forma fraccionaria. 'Determinante de la matriz 2x2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_determinante2x2 As Integer = Len(TextBox1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_determinante2x2 As String = TextBox1.Text Dim ultimos2caracteres_determinante2x2 As String ultimos2caracteres_determinante2x2 = Mid(TextBox1.Text, longitudcadena_determinante2x2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_determinante2x2 = "/1" Then entero_determinante2x2 = Mid(TextBox1.Text, 1, longitudcadena_determinante2x2 - 2) End If If Mid(TextBox1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_determinante2x2 = "0" End If 'Determinante inversa de la matriz 2x2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_inversadeterminante2x2 As Integer = Len(TextBox2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_inversadeterminante2x2 As String = TextBox2.Text Dim ultimos2caracteres_inversadeterminante2x2 As String ultimos2caracteres_inversadeterminante2x2 = Mid(TextBox2.Text, longitudcadena_inversadeterminante2x2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_inversadeterminante2x2 = "/1" Then entero_inversadeterminante2x2 = Mid(TextBox2.Text, 1, longitudcadena_inversadeterminante2x2 - 2) End If If Mid(TextBox2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_inversadeterminante2x2 = "0" End If TextBox1.Text = entero_determinante2x2.ToString 'Imprime el determinante de la matriz 2x2 en forma de entero.

TextBox2.Text = entero_inversadeterminante2x2.ToString 'Imprime la determinante inversa de la matriz 2x2 en forma de entero. End If End If 'Proceso para la inversa de una matriz 3x3. If (ComboBox1.SelectedItem = "Matriz 3x3") And (a1.Text <> "" And a2.Text <> "" And a3.Text <> "" And a6.Text <> "" And a7.Text <> "" And a8.Text <> "" And a11.Text <> "" And a12.Text <> "" And a13.Text <> "") Then 'Limpiar los Textbox de la matriz original que no intervienen en una matriz 2x2. a4.Text = "" a5.Text = "" a9.Text = "" a10.Text = "" a14.Text = "" a15.Text = "" a19.Text = "" a20.Text = "" a21.Text = "" a22.Text = "" a23.Text = "" a24.Text = "" a25.Text = "" TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. 'Si del Combobox se selecciona "Matriz 3x3" y si en la matriz original ya se han introducido valores, activa las celdas correspondientes. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = False a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = False a10.Visible = False a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero. a13.Visible = True 'Verdadero. a14.Visible = False a15.Visible = False a16.Visible = False a17.Visible = False a18.Visible = False a19.Visible = False a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = True 'Verdadero. b2.Visible = True 'Verdadero. b3.Visible = True 'Verdadero. b4.Visible = False b5.Visible = False b6.Visible = True 'Verdadero. b7.Visible = True 'Verdadero. b8.Visible = True 'Verdadero. b9.Visible = False

b10.Visible = False b11.Visible = True 'Verdadero. b12.Visible = True 'Verdadero. b13.Visible = True 'Verdadero. b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = True 'Verdadero. c2.Visible = True 'Verdadero. c3.Visible = True 'Verdadero. c4.Visible = False c5.Visible = False c6.Visible = True 'Verdadero. c7.Visible = True 'Verdadero. c8.Visible = True 'Verdadero. c9.Visible = False c10.Visible = False c11.Visible = True 'Verdadero. c12.Visible = True 'Verdadero. c13.Visible = True 'Verdadero. c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False 'Verificar que no se hayan introducido valores incoherentes en la matriz original. Las únicas incoherencias posibles son varias plecas o plecas en posiciones incoherentes; o varios signos menos o signos menos en posiciones incoherentes. Lo demás está controlado por el KeyPress. Dim valoresinvalidosenmatrizoriginal As Integer = 0 'Si vale 0, no hay valores invalidos en la matriz original. Si vale 1, sí hay valores inválidos en la matri z original. 'Verificar si el valor es inválido en la posición (1,1) --> a1. Dim invalidolongitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a1 As Integer = 0 Dim invalidoposicionesmenos_a1 As Integer = 0 Dim invalidoposicionmenos_a1 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a1 As Integer = 0 Dim invalidoapareceonomenos_a1 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero.

Dim invalidoconfirmado_a1 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If invalidocaracterevaluado_a1 = "/" Then invalidoposicionpleca_a1 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a1 = invalidocontadorplecas_a1 + 1 End If If invalidocaracterevaluado_a1 = "-" Then invalidoposicionmenos_a1 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a1 = invalidocontadormenos_a1 + 1 End If Next If (invalidocontadorplecas_a1 > 1) Or (invalidocontadormenos_a1 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a1 = 1 Else If (invalidoposicionpleca_a1 = 1) Or (invalidoposicionpleca_a1 = invalidolongitudcadena_a1) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a1 = 1 End If End If If (invalidocontadormenos_a1 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a1 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a1.Text, invalidoposicionmenos_a1 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le r esta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a1 = 1 End If End If End If If Mid(a1.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a1 = 1 End If If a1.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a1 = 1 End If If invalidoconfirmado_a1 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,2) --> a2. Dim invalidolongitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid().

Dim invalidoposicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a2 As Integer = 0 Dim invalidoposicionesmenos_a2 As Integer = 0 Dim invalidoposicionmenos_a2 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a2 As Integer = 0 Dim invalidoapareceonomenos_a2 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a2 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If invalidocaracterevaluado_a2 = "/" Then invalidoposicionpleca_a2 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a2 = invalidocontadorplecas_a2 + 1 End If If invalidocaracterevaluado_a2 = "-" Then invalidoposicionmenos_a2 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a2 = invalidocontadormenos_a2 + 1 End If Next If (invalidocontadorplecas_a2 > 1) Or (invalidocontadormenos_a2 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a2 = 1 Else If (invalidoposicionpleca_a2 = 1) Or (invalidoposicionpleca_a2 = invalidolongitudcadena_a2) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a2 = 1 End If End If If (invalidocontadormenos_a2 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a2 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a2.Text, invalidoposicionmenos_a2 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a2 = 1 End If End If End If If Mid(a2.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a2 = 1 End If If a2.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a2 = 1 End If

If invalidoconfirmado_a2 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,3) --> a3. Dim invalidolongitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a3 As Integer = 0 Dim invalidoposicionesmenos_a3 As Integer = 0 Dim invalidoposicionmenos_a3 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a3 As Integer = 0 Dim invalidoapareceonomenos_a3 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a3 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If invalidocaracterevaluado_a3 = "/" Then invalidoposicionpleca_a3 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a3 = invalidocontadorplecas_a3 + 1 End If If invalidocaracterevaluado_a3 = "-" Then invalidoposicionmenos_a3 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a3 = invalidocontadormenos_a3 + 1 End If Next If (invalidocontadorplecas_a3 > 1) Or (invalidocontadormenos_a3 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a3 = 1 Else If (invalidoposicionpleca_a3 = 1) Or (invalidoposicionpleca_a3 = invalidolongitudcadena_a3) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a3 = 1 End If End If If (invalidocontadormenos_a3 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a3 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a3.Text, invalidoposicionmenos_a3 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ub icado en una posición incoherente. invalidoconfirmado_a3 = 1 End If End If

End If If Mid(a3.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a3 = 1 End If If a3.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a3 = 1 End If If invalidoconfirmado_a3 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,1) --> a6. Dim invalidolongitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a6 As Integer = 0 Dim invalidoposicionesmenos_a6 As Integer = 0 Dim invalidoposicionmenos_a6 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a6 As Integer = 0 Dim invalidoapareceonomenos_a6 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a6 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If invalidocaracterevaluado_a6 = "/" Then invalidoposicionpleca_a6 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a6 = invalidocontadorplecas_a6 + 1 End If If invalidocaracterevaluado_a6 = "-" Then invalidoposicionmenos_a6 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a6 = invalidocontadormenos_a6 + 1 End If Next If (invalidocontadorplecas_a6 > 1) Or (invalidocontadormenos_a6 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a6 = 1 Else If (invalidoposicionpleca_a6 = 1) Or (invalidoposicionpleca_a6 = invalidolongitudcadena_a6) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a6 = 1 End If End If If (invalidocontadormenos_a6 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a6 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a6.Text, invalidoposicionmenos_a6 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir

de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a6 = 1 End If End If End If If Mid(a6.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a6 = 1 End If If a6.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a6 = 1 End If If invalidoconfirmado_a6 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,2) --> a7. Dim invalidolongitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a7 As Integer = 0 Dim invalidoposicionesmenos_a7 As Integer = 0 Dim invalidoposicionmenos_a7 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a7 As Integer = 0 Dim invalidoapareceonomenos_a7 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a7 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If invalidocaracterevaluado_a7 = "/" Then invalidoposicionpleca_a7 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a7 = invalidocontadorplecas_a7 + 1 End If If invalidocaracterevaluado_a7 = "-" Then invalidoposicionmenos_a7 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a7 = invalidocontadormenos_a7 + 1 End If Next If (invalidocontadorplecas_a7 > 1) Or (invalidocontadormenos_a7 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a7 = 1 Else If (invalidoposicionpleca_a7 = 1) Or (invalidoposicionpleca_a7 = invalidolongitudcadena_a7) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a7 = 1 End If End If

If (invalidocontadormenos_a7 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a7 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a7.Text, invalidoposicionmenos_a7 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a7 = 1 End If End If End If If Mid(a7.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a7 = 1 End If If a7.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a7 = 1 End If If invalidoconfirmado_a7 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,3) --> a8. Dim invalidolongitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a8 As Integer = 0 Dim invalidoposicionesmenos_a8 As Integer = 0 Dim invalidoposicionmenos_a8 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a8 As Integer = 0 Dim invalidoapareceonomenos_a8 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a8 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If invalidocaracterevaluado_a8 = "/" Then invalidoposicionpleca_a8 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a8 = invalidocontadorplecas_a8 + 1 End If If invalidocaracterevaluado_a8 = "-" Then invalidoposicionmenos_a8 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a8 = invalidocontadormenos_a8 + 1 End If Next If (invalidocontadorplecas_a8 > 1) Or (invalidocontadormenos_a8 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido.

invalidoconfirmado_a8 = 1 Else If (invalidoposicionpleca_a8 = 1) Or (invalidoposicionpleca_a8 = invalidolongitudcadena_a8) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a8 = 1 End If End If If (invalidocontadormenos_a8 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a8 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a8.Text, invalidoposicionmenos_a8 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le rest a 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a8 = 1 End If End If End If If Mid(a8.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a8 = 1 End If If a8.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a8 = 1 End If If invalidoconfirmado_a8 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,1) --> a11. Dim invalidolongitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a11 As Integer = 0 Dim invalidoposicionesmenos_a11 As Integer = 0 Dim invalidoposicionmenos_a11 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a11 As Integer = 0 Dim invalidoapareceonomenos_a11 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a11 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If invalidocaracterevaluado_a11 = "/" Then invalidoposicionpleca_a11 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a11 = invalidocontadorplecas_a11 + 1

End If If invalidocaracterevaluado_a11 = "-" Then invalidoposicionmenos_a11 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a11 = invalidocontadormenos_a11 + 1 End If Next If (invalidocontadorplecas_a11 > 1) Or (invalidocontadormenos_a11 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a11 = 1 Else If (invalidoposicionpleca_a11 = 1) Or (invalidoposicionpleca_a11 = invalidolongitudcadena_a11) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a11 = 1 End If End If If (invalidocontadormenos_a11 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a11 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a11.Text, invalidoposicionmenos_a11 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a11 = 1 End If End If End If If Mid(a11.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a11 = 1 End If If a11.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a11 = 1 End If If invalidoconfirmado_a11 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,2) --> a12. Dim invalidolongitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a12 As Integer = 0 Dim invalidoposicionesmenos_a12 As Integer = 0 Dim invalidoposicionmenos_a12 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a12 As Integer = 0 Dim invalidoapareceonomenos_a12 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero.

Dim invalidoconfirmado_a12 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If invalidocaracterevaluado_a12 = "/" Then invalidoposicionpleca_a12 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a12 = invalidocontadorplecas_a12 + 1 End If If invalidocaracterevaluado_a12 = "-" Then invalidoposicionmenos_a12 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a12 = invalidocontadormenos_a12 + 1 End If Next If (invalidocontadorplecas_a12 > 1) Or (invalidocontadormenos_a12 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a12 = 1 Else If (invalidoposicionpleca_a12 = 1) Or (invalidoposicionpleca_a12 = invalidolongitudcadena_a12) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a12 = 1 End If End If If (invalidocontadormenos_a12 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a12 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a12.Text, invalidoposicionmenos_a12 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a12 = 1 End If End If End If If Mid(a12.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a12 = 1 End If If a12.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a12 = 1 End If If invalidoconfirmado_a12 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,3) --> a13. Dim invalidolongitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid().

Dim invalidoposicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a13 As Integer = 0 Dim invalidoposicionesmenos_a13 As Integer = 0 Dim invalidoposicionmenos_a13 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a13 As Integer = 0 Dim invalidoapareceonomenos_a13 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a13 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If invalidocaracterevaluado_a13 = "/" Then invalidoposicionpleca_a13 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a13 = invalidocontadorplecas_a13 + 1 End If If invalidocaracterevaluado_a13 = "-" Then invalidoposicionmenos_a13 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a13 = invalidocontadormenos_a13 + 1 End If Next If (invalidocontadorplecas_a13 > 1) Or (invalidocontadormenos_a13 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a13 = 1 Else If (invalidoposicionpleca_a13 = 1) Or (invalidoposicionpleca_a13 = invalidolongitudcadena_a13) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a13 = 1 End If End If If (invalidocontadormenos_a13 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a13 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a13.Text, invalidoposicionmenos_a13 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha si do ubicado en una posición incoherente. invalidoconfirmado_a13 = 1 End If End If End If If Mid(a13.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a13 = 1 End If If a13.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a13 = 1 End If

If invalidoconfirmado_a13 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Si hay caracteres inválidos en la matriz original 2x2, se manda el mensaje correspondiente; de lo contrario se procede a hacer las evaluaciones. If valoresinvalidosenmatrizoriginal = 1 Then MsgBox("La matriz original contiene valores inválidos", MsgBoxStyle.OkOnly, "Inversa de matrices") Else 'Encontrar el numerador y el denominador de la posición (1,1)--> a1. Dim longitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If caracterevaluado_a1 = "/" Then posicionpleca_a1 = ciclo banderapleca_a1 = 1 End If Next If banderapleca_a1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a1 = Mid(a1.Text, 1, posicionpleca_a1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a1 = Mid(a1.Text, posicionpleca_a1 + 1, longitudcadena_a1 - posicionpleca_a1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a1 = Mid(a1.Text, 1, longitudcadena_a1) denominador_a1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> a2. Dim longitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If caracterevaluado_a2 = "/" Then posicionpleca_a2 = ciclo

banderapleca_a2 = 1 End If Next If banderapleca_a2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a2 = Mid(a2.Text, 1, posicionpleca_a2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a2 = Mid(a2.Text, posicionpleca_a2 + 1, longitudcadena_a2 - posicionpleca_a2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a2 = Mid(a2.Text, 1, longitudcadena_a2) denominador_a2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> a3. Dim longitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If caracterevaluado_a3 = "/" Then posicionpleca_a3 = ciclo banderapleca_a3 = 1 End If Next If banderapleca_a3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a3 = Mid(a3.Text, 1, posicionpleca_a3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a3 = Mid(a3.Text, posicionpleca_a3 + 1, longitudcadena_a3 - posicionpleca_a3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a3 = Mid(a3.Text, 1, longitudcadena_a3) denominador_a3 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> a6. Dim longitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a6 As String 'Almacena el denominador del Textbox que se está evaluando.

Dim banderapleca_a6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If caracterevaluado_a6 = "/" Then posicionpleca_a6 = ciclo banderapleca_a6 = 1 End If Next If banderapleca_a6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a6 = Mid(a6.Text, 1, posicionpleca_a6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a6 = Mid(a6.Text, posicionpleca_a6 + 1, longitudcadena_a6 - posicionpleca_a6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a6 = Mid(a6.Text, 1, longitudcadena_a6) denominador_a6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> a7. Dim longitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If caracterevaluado_a7 = "/" Then posicionpleca_a7 = ciclo banderapleca_a7 = 1 End If Next If banderapleca_a7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a7 = Mid(a7.Text, 1, posicionpleca_a7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a7 = Mid(a7.Text, posicionpleca_a7 + 1, longitudcadena_a7 - posicionpleca_a7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a7 = Mid(a7.Text, 1, longitudcadena_a7) denominador_a7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> a8. Dim longitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim caracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If caracterevaluado_a8 = "/" Then posicionpleca_a8 = ciclo banderapleca_a8 = 1 End If Next If banderapleca_a8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a8 = Mid(a8.Text, 1, posicionpleca_a8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a8 = Mid(a8.Text, posicionpleca_a8 + 1, longitudcadena_a8 - posicionpleca_a8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a8 = Mid(a8.Text, 1, longitudcadena_a8) denominador_a8 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> a11. Dim longitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If caracterevaluado_a11 = "/" Then posicionpleca_a11 = ciclo banderapleca_a11 = 1 End If Next If banderapleca_a11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a11 = Mid(a11.Text, 1, posicionpleca_a11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a11 = Mid(a11.Text, posicionpleca_a11 + 1, longitudcadena_a11 - posicionpleca_a11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos

ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a11 = Mid(a11.Text, 1, longitudcadena_a11) denominador_a11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> a12. Dim longitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If caracterevaluado_a12 = "/" Then posicionpleca_a12 = ciclo banderapleca_a12 = 1 End If Next If banderapleca_a12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a12 = Mid(a12.Text, 1, posicionpleca_a12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a12 = Mid(a12.Text, posicionpleca_a12 + 1, longitudcadena_a12 - posicionpleca_a12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a12 = Mid(a12.Text, 1, longitudcadena_a12) denominador_a12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> a13. Dim longitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If caracterevaluado_a13 = "/" Then posicionpleca_a13 = ciclo banderapleca_a13 = 1 End If Next If banderapleca_a13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario.

numerador_a13 = Mid(a13.Text, 1, posicionpleca_a13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a13 = Mid(a13.Text, posicionpleca_a13 + 1, longitudcadena_a13 - posicionpleca_a13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a13 = Mid(a13.Text, 1, longitudcadena_a13) denominador_a13 = 1 End If 'Determina la matriz 3x3 de cofactores. Dim m_a1 As New Fraction(numerador_a1, denominador_a1) Dim m_a2 As New Fraction(numerador_a2, denominador_a2) Dim m_a3 As New Fraction(numerador_a3, denominador_a3) Dim m_a6 As New Fraction(numerador_a6, denominador_a6) Dim m_a7 As New Fraction(numerador_a7, denominador_a7) Dim m_a8 As New Fraction(numerador_a8, denominador_a8) Dim m_a11 As New Fraction(numerador_a11, denominador_a11) Dim m_a12 As New Fraction(numerador_a12, denominador_a12) Dim m_a13 As New Fraction(numerador_a13, denominador_a13) Dim menos1 As New Fraction(-1, 1) 'Para multiplicar un objeto Fraction por -1. Dim m_b1 As Fraction Dim m_b2 As Fraction Dim m_b3 As Fraction Dim m_b6 As Fraction Dim m_b7 As Fraction Dim m_b8 As Fraction Dim m_b11 As Fraction Dim m_b12 As Fraction Dim m_b13 As Fraction m_b1 = m_a7 * m_a13 - m_a8 * m_a12 m_b2 = menos1 * (m_a6 * m_a13 - m_a8 * m_a11) m_b3 = m_a6 * m_a12 - m_a7 * m_a11 m_b6 = menos1 * (m_a2 * m_a13 - m_a3 * m_a12) m_b7 = m_a1 * m_a13 - m_a3 * m_a11 m_b8 = menos1 * (m_a1 * m_a12 - m_a2 * m_a11) m_b11 = m_a2 * m_a8 - m_a3 * m_a7 m_b12 = menos1 * (m_a1 * m_a8 - m_a3 * m_a6) m_b13 = m_a1 * m_a7 - m_a2 * m_a6 'Imprime la matriz 3x3 de cofactores b1.Text = m_b1.ToString b2.Text = m_b2.ToString b3.Text = m_b3.ToString b6.Text = m_b6.ToString b7.Text = m_b7.ToString b8.Text = m_b8.ToString b11.Text = m_b11.ToString b12.Text = m_b12.ToString b13.Text = m_b13.ToString 'Cambia la matriz 3x3 de cofactores a la matriz adjunta 3x3. c1.Text = b1.Text c2.Text = b6.Text c3.Text = b11.Text c6.Text = b2.Text c7.Text = b7.Text c8.Text = b12.Text c11.Text = b3.Text c12.Text = b8.Text c13.Text = b13.Text

'Calcula el determinante de la matriz 3x3 para luego obtener la inversa del determinante de la matriz 3x3. Dim determinante3x3 As Fraction Dim uno As New Fraction(1, 1) Dim inversadeterminante3x3 As Fraction determinante3x3 = m_a1 * ((m_a7) * (m_a13) - (m_a8) * (m_a12)) - m_a2 * ((m_a6) * (m_a13) - (m_a8) * (m_a11)) + m_a3 * ((m_a6) * (m_a12) - (m_a7) * (m_a11)) inversadeterminante3x3 = uno / determinante3x3 'Encontrar el numerador y el denominador de la posición (1,1)--> c1. Dim longitudcadena_c1 As Integer = Len(c1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c1 = Mid(c1.Text, ciclo, 1) If caracterevaluado_c1 = "/" Then posicionpleca_c1 = ciclo banderapleca_c1 = 1 End If Next If banderapleca_c1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c1 = Mid(c1.Text, 1, posicionpleca_c1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c1 = Mid(c1.Text, posicionpleca_c1 + 1, longitudcadena_c1 - posicionpleca_c1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c1 = Mid(c1.Text, 1, longitudcadena_c1) denominador_c1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> c2. Dim longitudcadena_c2 As Integer = Len(c2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c2 = Mid(c2.Text, ciclo, 1) If caracterevaluado_c2 = "/" Then posicionpleca_c2 = ciclo banderapleca_c2 = 1 End If

Next If banderapleca_c2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c2 = Mid(c2.Text, 1, posicionpleca_c2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c2 = Mid(c2.Text, posicionpleca_c2 + 1, longitudcadena_c2 - posicionpleca_c2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c2 = Mid(c2.Text, 1, longitudcadena_c2) denominador_c2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> c3. Dim longitudcadena_c3 As Integer = Len(c3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c3 = Mid(c3.Text, ciclo, 1) If caracterevaluado_c3 = "/" Then posicionpleca_c3 = ciclo banderapleca_c3 = 1 End If Next If banderapleca_c3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c3 = Mid(c3.Text, 1, posicionpleca_c3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c3 = Mid(c3.Text, posicionpleca_c3 + 1, longitudcadena_c3 - posicionpleca_c3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c3 = Mid(c3.Text, 1, longitudcadena_c3) denominador_c3 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> c6. Dim longitudcadena_c6 As Integer = Len(c6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_c6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c6 = Mid(c6.Text, ciclo, 1) If caracterevaluado_c6 = "/" Then posicionpleca_c6 = ciclo banderapleca_c6 = 1 End If Next If banderapleca_c6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c6 = Mid(c6.Text, 1, posicionpleca_c6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c6 = Mid(c6.Text, posicionpleca_c6 + 1, longitudcadena_c6 - posicionpleca_c6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c6 = Mid(c6.Text, 1, longitudcadena_c6) denominador_c6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> c7. Dim longitudcadena_c7 As Integer = Len(c7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c7 = Mid(c7.Text, ciclo, 1) If caracterevaluado_c7 = "/" Then posicionpleca_c7 = ciclo banderapleca_c7 = 1 End If Next If banderapleca_c7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c7 = Mid(c7.Text, 1, posicionpleca_c7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c7 = Mid(c7.Text, posicionpleca_c7 + 1, longitudcadena_c7 - posicionpleca_c7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c7 = Mid(c7.Text, 1, longitudcadena_c7) denominador_c7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> c8. Dim longitudcadena_c8 As Integer = Len(c8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c8 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_c8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c8 = Mid(c8.Text, ciclo, 1) If caracterevaluado_c8 = "/" Then posicionpleca_c8 = ciclo banderapleca_c8 = 1 End If Next If banderapleca_c8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c8 = Mid(c8.Text, 1, posicionpleca_c8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c8 = Mid(c8.Text, posicionpleca_c8 + 1, longitudcadena_c8 - posicionpleca_c8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c8 = Mid(c8.Text, 1, longitudcadena_c8) denominador_c8 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> c11 Dim longitudcadena_c11 As Integer = Len(c11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c11 = Mid(c11.Text, ciclo, 1) If caracterevaluado_c11 = "/" Then posicionpleca_c11 = ciclo banderapleca_c11 = 1 End If Next If banderapleca_c11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c11 = Mid(c11.Text, 1, posicionpleca_c11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c11 = Mid(c11.Text, posicionpleca_c11 + 1, longitudcadena_c11 - posicionpleca_c11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c11 = Mid(c11.Text, 1, longitudcadena_c11)

denominador_c11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> c12 Dim longitudcadena_c12 As Integer = Len(c12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c12 = Mid(c12.Text, ciclo, 1) If caracterevaluado_c12 = "/" Then posicionpleca_c12 = ciclo banderapleca_c12 = 1 End If Next If banderapleca_c12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c12 = Mid(c12.Text, 1, posicionpleca_c12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c12 = Mid(c12.Text, posicionpleca_c12 + 1, longitudcadena_c12 - posicionpleca_c12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c12 = Mid(c12.Text, 1, longitudcadena_c12) denominador_c12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> c13 Dim longitudcadena_c13 As Integer = Len(c13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c13 = Mid(c13.Text, ciclo, 1) If caracterevaluado_c13 = "/" Then posicionpleca_c13 = ciclo banderapleca_c13 = 1 End If Next If banderapleca_c13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c13 = Mid(c13.Text, 1, posicionpleca_c13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_c13 = Mid(c13.Text, posicionpleca_c13 + 1, longitudcadena_c13 - posicionpleca_c13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c13 = Mid(c13.Text, 1, longitudcadena_c13) denominador_c13 = 1 End If 'Convierte los valores de los Textbox de la matriz c a objetos Fraction, mediante la clase. Dim m_c1 As New Fraction(numerador_c1, denominador_c1) Dim m_c2 As New Fraction(numerador_c2, denominador_c2) Dim m_c3 As New Fraction(numerador_c3, denominador_c3) Dim m_c6 As New Fraction(numerador_c6, denominador_c6) Dim m_c7 As New Fraction(numerador_c7, denominador_c7) Dim m_c8 As New Fraction(numerador_c8, denominador_c8) Dim m_c11 As New Fraction(numerador_c11, denominador_c11) Dim m_c12 As New Fraction(numerador_c12, denominador_c12) Dim m_c13 As New Fraction(numerador_c13, denominador_c13) Dim m_cfraccion1 As Fraction Dim m_cfraccion2 As Fraction Dim m_cfraccion3 As Fraction Dim m_cfraccion6 As Fraction Dim m_cfraccion7 As Fraction Dim m_cfraccion8 As Fraction Dim m_cfraccion11 As Fraction Dim m_cfraccion12 As Fraction Dim m_cfraccion13 As Fraction m_cfraccion1 = m_c1 m_cfraccion2 = m_c2 m_cfraccion3 = m_c3 m_cfraccion6 = m_c6 m_cfraccion7 = m_c7 m_cfraccion8 = m_c8 m_cfraccion11 = m_c11 m_cfraccion12 = m_c12 m_cfraccion13 = m_c13 'Multiplica el determinante de la matriz original 3x3 por la matriz adjunta, de modo que se obtiene la inversa de la matriz original. Dim m_cinversa1 As Fraction Dim m_cinversa2 As Fraction Dim m_cinversa3 As Fraction Dim m_cinversa6 As Fraction Dim m_cinversa7 As Fraction Dim m_cinversa8 As Fraction Dim m_cinversa11 As Fraction Dim m_cinversa12 As Fraction Dim m_cinversa13 As Fraction m_cinversa1 = inversadeterminante3x3 * m_cfraccion1 m_cinversa2 = inversadeterminante3x3 * m_cfraccion2 m_cinversa3 = inversadeterminante3x3 * m_cfraccion3 m_cinversa6 = inversadeterminante3x3 * m_cfraccion6 m_cinversa7 = inversadeterminante3x3 * m_cfraccion7 m_cinversa8 = inversadeterminante3x3 * m_cfraccion8 m_cinversa11 = inversadeterminante3x3 * m_cfraccion11 m_cinversa12 = inversadeterminante3x3 * m_cfraccion12 m_cinversa13 = inversadeterminante3x3 * m_cfraccion13 c1.Text = m_cinversa1.ToString c2.Text = m_cinversa2.ToString c3.Text = m_cinversa3.ToString c6.Text = m_cinversa6.ToString

c7.Text = m_cinversa7.ToString c8.Text = m_cinversa8.ToString c11.Text = m_cinversa11.ToString c12.Text = m_cinversa12.ToString c13.Text = m_cinversa13.ToString 'Posición (1,1) --> b1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b1 As Integer = Len(b1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b1 As String = b1.Text Dim ultimos2caracteres_b1 As String ultimos2caracteres_b1 = Mid(b1.Text, longitudcadena_b1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b1 = "/1" Then entero_b1 = Mid(b1.Text, 1, longitudcadena_b1 - 2) End If If Mid(b1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b1 = "0" End If b1.Text = entero_b1 'Posición (1,2) --> b2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b2 As Integer = Len(b2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b2 As String = b2.Text Dim ultimos2caracteres_b2 As String ultimos2caracteres_b2 = Mid(b2.Text, longitudcadena_b2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b2 = "/1" Then entero_b2 = Mid(b2.Text, 1, longitudcadena_b2 - 2) End If If Mid(b2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b2 = "0" End If b2.Text = entero_b2 'Posición (1,3) --> b3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b3 As Integer = Len(b3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b3 As String = b3.Text Dim ultimos2caracteres_b3 As String ultimos2caracteres_b3 = Mid(b3.Text, longitudcadena_b3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b3 = "/1" Then entero_b3 = Mid(b3.Text, 1, longitudcadena_b3 - 2) End If If Mid(b3.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b3 = "0" End If b3.Text = entero_b3 'Posición (2,1) --> b6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b6 As Integer = Len(b6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b6 As String = b6.Text Dim ultimos2caracteres_b6 As String

ultimos2caracteres_b6 = Mid(b6.Text, longitudcadena_b6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b6 = "/1" Then entero_b6 = Mid(b6.Text, 1, longitudcadena_b6 - 2) End If If Mid(b6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b6 = "0" End If b6.Text = entero_b6 'Posición (2,2) --> b7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b7 As Integer = Len(b7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b7 As String = b7.Text Dim ultimos2caracteres_b7 As String ultimos2caracteres_b7 = Mid(b7.Text, longitudcadena_b7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b7 = "/1" Then entero_b7 = Mid(b7.Text, 1, longitudcadena_b7 - 2) End If If Mid(b7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b7 = "0" End If b7.Text = entero_b7 'Posición (2,3) --> b8. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b8 As Integer = Len(b8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b8 As String = b8.Text Dim ultimos2caracteres_b8 As String ultimos2caracteres_b8 = Mid(b8.Text, longitudcadena_b8 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b8 = "/1" Then entero_b8 = Mid(b8.Text, 1, longitudcadena_b8 - 2) End If If Mid(b8.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b8 = "0" End If b8.Text = entero_b8 'Posición (3,1) --> b11. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b11 As Integer = Len(b11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b11 As String = b11.Text Dim ultimos2caracteres_b11 As String ultimos2caracteres_b11 = Mid(b11.Text, longitudcadena_b11 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b11 = "/1" Then entero_b11 = Mid(b11.Text, 1, longitudcadena_b11 - 2) End If If Mid(b11.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de c ero. entero_b11 = "0" End If b11.Text = entero_b11

'Posición (3,2) --> b12. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b12 As Integer = Len(b12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b12 As String = b12.Text Dim ultimos2caracteres_b12 As String ultimos2caracteres_b12 = Mid(b12.Text, longitudcadena_b12 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b12 = "/1" Then entero_b12 = Mid(b12.Text, 1, longitudcadena_b12 - 2) End If If Mid(b12.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b12 = "0" End If b12.Text = entero_b12 'Posición (3,3) --> b13. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b13 As Integer = Len(b13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b13 As String = b13.Text Dim ultimos2caracteres_b13 As String ultimos2caracteres_b13 = Mid(b13.Text, longitudcadena_b13 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b13 = "/1" Then entero_b13 = Mid(b13.Text, 1, longitudcadena_b13 - 2) End If If Mid(b13.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b13 = "0" End If b13.Text = entero_b13 'Posición (1,1) --> c1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c1 As Integer = Len(c1.Text) Dim entero_c1 As String = c1.Text Dim ultimos2caracteres_c1 As String ultimos2caracteres_c1 = Mid(c1.Text, nuevalongitudcadena_c1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c1 = "/1" Then entero_c1 = Mid(c1.Text, 1, nuevalongitudcadena_c1 - 2) End If If Mid(c1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c1 = "0" End If c1.Text = entero_c1 'Posición (1,2) --> c2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c2 As Integer = Len(c2.Text) Dim entero_c2 As String = c2.Text Dim ultimos2caracteres_c2 As String ultimos2caracteres_c2 = Mid(c2.Text, nuevalongitudcadena_c2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c2 = "/1" Then entero_c2 = Mid(c2.Text, 1, nuevalongitudcadena_c2 - 2) End If If Mid(c2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero.

entero_c2 = "0" End If c2.Text = entero_c2 'Posición (1,3) --> c3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c3 As Integer = Len(c3.Text) Dim entero_c3 As String = c3.Text Dim ultimos2caracteres_c3 As String ultimos2caracteres_c3 = Mid(c3.Text, nuevalongitudcadena_c3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c3 = "/1" Then entero_c3 = Mid(c3.Text, 1, nuevalongitudcadena_c3 - 2) End If If Mid(c3.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c3 = "0" End If c3.Text = entero_c3 'Posición (2,1) --> c6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c6 As Integer = Len(c6.Text) Dim entero_c6 As String = c6.Text Dim ultimos2caracteres_c6 As String ultimos2caracteres_c6 = Mid(c6.Text, nuevalongitudcadena_c6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c6 = "/1" Then entero_c6 = Mid(c6.Text, 1, nuevalongitudcadena_c6 - 2) End If If Mid(c6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c6 = "0" End If c6.Text = entero_c6 'Posición (2,2) --> c7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c7 As Integer = Len(c7.Text) Dim entero_c7 As String = c7.Text Dim ultimos2caracteres_c7 As String ultimos2caracteres_c7 = Mid(c7.Text, nuevalongitudcadena_c7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c7 = "/1" Then entero_c7 = Mid(c7.Text, 1, nuevalongitudcadena_c7 - 2) End If If Mid(c7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c7 = "0" End If c7.Text = entero_c7 'Posición (2,3) --> c8. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c8 As Integer = Len(c8.Text) Dim entero_c8 As String = c8.Text Dim ultimos2caracteres_c8 As String ultimos2caracteres_c8 = Mid(c8.Text, nuevalongitudcadena_c8 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c8 = "/1" Then entero_c8 = Mid(c8.Text, 1, nuevalongitudcadena_c8 - 2) End If

If Mid(c8.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c8 = "0" End If c8.Text = entero_c8 'Posición (3,1) --> c11. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c11 As Integer = Len(c11.Text) Dim entero_c11 As String = c11.Text Dim ultimos2caracteres_c11 As String ultimos2caracteres_c11 = Mid(c11.Text, nuevalongitudcadena_c11 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c11 = "/1" Then entero_c11 = Mid(c11.Text, 1, nuevalongitudcadena_c11 - 2) End If If Mid(c11.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c11 = "0" End If c11.Text = entero_c11 'Posición (3,2) --> c12. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c12 As Integer = Len(c12.Text) Dim entero_c12 As String = c12.Text Dim ultimos2caracteres_c12 As String ultimos2caracteres_c12 = Mid(c12.Text, nuevalongitudcadena_c12 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c12 = "/1" Then entero_c12 = Mid(c12.Text, 1, nuevalongitudcadena_c12 - 2) End If If Mid(c12.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c12 = "0" End If c12.Text = entero_c12 'Posición (3,3) --> b13. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c13 As Integer = Len(c13.Text) Dim entero_c13 As String = c13.Text Dim ultimos2caracteres_c13 As String ultimos2caracteres_c13 = Mid(c13.Text, nuevalongitudcadena_c13 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c13 = "/1" Then entero_c13 = Mid(c13.Text, 1, nuevalongitudcadena_c13 - 2) End If If Mid(c13.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c13 = "0" End If c13.Text = entero_c13 TextBox1.Text = determinante3x3.ToString TextBox2.Text = inversadeterminante3x3.ToString 'Determinante de la matriz 3x3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_determinante3x3 As Integer = Len(TextBox1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_determinante3x3 As String = TextBox1.Text Dim ultimos2caracteres_determinante3x3 As String

ultimos2caracteres_determinante3x3 = Mid(TextBox1.Text, longitudcadena_determinante3x3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_determinante3x3 = "/1" Then entero_determinante3x3 = Mid(TextBox1.Text, 1, longitudcadena_determinante3x3 - 2) End If If Mid(TextBox1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_determinante3x3 = "0" End If 'Determinante inversa de la matriz 3x3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_inversadeterminante3x3 As Integer = Len(TextBox2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_inversadeterminante3x3 As String = TextBox2.Text Dim ultimos2caracteres_inversadeterminante3x3 As String ultimos2caracteres_inversadeterminante3x3 = Mid(TextBox2.Text, longitudcadena_inversadeterminante3x3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_inversadeterminante3x3 = "/1" Then entero_inversadeterminante3x3 = Mid(TextBox2.Text, 1, longitudcadena_inversadeterminante3x3 - 2) End If If Mid(TextBox2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_inversadeterminante3x3 = "0" End If TextBox1.Text = entero_determinante3x3.ToString 'Imprime el determinante de la matriz 2x2 en forma de entero. TextBox2.Text = entero_inversadeterminante3x3.ToString 'Imprime la determinante inversa de la matriz 2x2 en forma de entero. End If End If 'Proceso para la inversa de una matriz 4x4. If (ComboBox1.SelectedItem = "Matriz 4x4") And (a1.Text <> "" And a2.Text <> "" And a3.Text <> "" And a4.Text <> "" And a6.Text <> "" And a7.Text <> "" And a8.Text <> "" And a9.Text <> "" And a11.Text <> "" And a12.Text <> "" And a13.Text <> "" And a14.Text <> "" And a16.Text <> "" And a17.Text <> "" And a18.Text <> "" And a19.Text <> "") Then a5.Text = "" a10.Text = "" a15.Text = "" a20.Text = "" a25.Text = "" TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. 'Si del Combobox se selecciona "Matriz 4x4" y si en la matriz original ya se han introducido valores, activa las celdas correspondientes. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = True 'Verdadero. a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = True 'Verdadero. a10.Visible = False a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero.

a13.Visible = True 'Verdadero. a14.Visible = True 'Verdadero. a15.Visible = False a16.Visible = True 'Verdadero. a17.Visible = True 'Verdadero. a18.Visible = True 'Verdadero. a19.Visible = True 'Verdadero. a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = True 'Verdadero. b2.Visible = True 'Verdadero. b3.Visible = True 'Verdadero. b4.Visible = True 'Verdadero. b5.Visible = False b6.Visible = True 'Verdadero. b7.Visible = True 'Verdadero. b8.Visible = True 'Verdadero. b9.Visible = True 'Verdadero. b10.Visible = False b11.Visible = True 'Verdadero. b12.Visible = True 'Verdadero. b13.Visible = True 'Verdadero. b14.Visible = True 'Verdadero. b15.Visible = False b16.Visible = True 'Verdadero. b17.Visible = True 'Verdadero. b18.Visible = True 'Verdadero. b19.Visible = True 'Verdadero. b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = True 'Verdadero. c2.Visible = True 'Verdadero. c3.Visible = True 'Verdadero. c4.Visible = True 'Verdadero. c5.Visible = False c6.Visible = True 'Verdadero. c7.Visible = True 'Verdadero. c8.Visible = True 'Verdadero. c9.Visible = True 'Verdadero. c10.Visible = False c11.Visible = True 'Verdadero. c12.Visible = True 'Verdadero. c13.Visible = True 'Verdadero. c14.Visible = True 'Verdadero. c15.Visible = False c16.Visible = True 'Verdadero. c17.Visible = True 'Verdadero. c18.Visible = True 'Verdadero. c19.Visible = True 'Verdadero. c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False

'Verificar que no se hayan introducido valores incoherentes en la matriz original. Las únicas incoherencias posibles son varias plecas o plecas en posiciones incoherentes; o varios signos menos o signos menos en posiciones incoherentes. Lo demás está controlado por el KeyPress. Dim valoresinvalidosenmatrizoriginal As Integer = 0 'Si vale 0, no hay valores invalidos en la matriz original. Si vale 1, sí hay valores inválidos en la matriz original. 'Verificar si el valor es inválido en la posición (1,1) --> a1. Dim invalidolongitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a1 As Integer = 0 Dim invalidoposicionesmenos_a1 As Integer = 0 Dim invalidoposicionmenos_a1 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a1 As Integer = 0 Dim invalidoapareceonomenos_a1 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a1 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If invalidocaracterevaluado_a1 = "/" Then invalidoposicionpleca_a1 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a1 = invalidocontadorplecas_a1 + 1 End If If invalidocaracterevaluado_a1 = "-" Then invalidoposicionmenos_a1 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a1 = invalidocontadormenos_a1 + 1 End If Next If (invalidocontadorplecas_a1 > 1) Or (invalidocontadormenos_a1 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a1 = 1 Else If (invalidoposicionpleca_a1 = 1) Or (invalidoposicionpleca_a1 = invalidolongitudcadena_a1) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a1 = 1 End If End If If (invalidocontadormenos_a1 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a1 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a1.Text, invalidoposicionmenos_a1 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente.

invalidoconfirmado_a1 = 1 End If End If End If If Mid(a1.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a1 = 1 End If If a1.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a1 = 1 End If If invalidoconfirmado_a1 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,2) --> a2. Dim invalidolongitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a2 As Integer = 0 Dim invalidoposicionesmenos_a2 As Integer = 0 Dim invalidoposicionmenos_a2 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a2 As Integer = 0 Dim invalidoapareceonomenos_a2 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a2 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If invalidocaracterevaluado_a2 = "/" Then invalidoposicionpleca_a2 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a2 = invalidocontadorplecas_a2 + 1 End If If invalidocaracterevaluado_a2 = "-" Then invalidoposicionmenos_a2 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a2 = invalidocontadormenos_a2 + 1 End If Next If (invalidocontadorplecas_a2 > 1) Or (invalidocontadormenos_a2 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a2 = 1 Else If (invalidoposicionpleca_a2 = 1) Or (invalidoposicionpleca_a2 = invalidolongitudcadena_a2) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a2 = 1 End If End If If (invalidocontadormenos_a2 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a2 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else

If Mid(a2.Text, invalidoposicionmenos_a2 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a2 = 1 End If End If End If If Mid(a2.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a2 = 1 End If If a2.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a2 = 1 End If If invalidoconfirmado_a2 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,3) --> a3. Dim invalidolongitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a3 As Integer = 0 Dim invalidoposicionesmenos_a3 As Integer = 0 Dim invalidoposicionmenos_a3 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a3 As Integer = 0 Dim invalidoapareceonomenos_a3 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a3 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If invalidocaracterevaluado_a3 = "/" Then invalidoposicionpleca_a3 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a3 = invalidocontadorplecas_a3 + 1 End If If invalidocaracterevaluado_a3 = "-" Then invalidoposicionmenos_a3 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a3 = invalidocontadormenos_a3 + 1 End If Next If (invalidocontadorplecas_a3 > 1) Or (invalidocontadormenos_a3 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a3 = 1 Else If (invalidoposicionpleca_a3 = 1) Or (invalidoposicionpleca_a3 = invalidolongitudcadena_a3) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido.

invalidoconfirmado_a3 = 1 End If End If If (invalidocontadormenos_a3 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a3 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a3.Text, invalidoposicionmenos_a3 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a3 = 1 End If End If End If If Mid(a3.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a3 = 1 End If If a3.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a3 = 1 End If If invalidoconfirmado_a3 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,4) --> a4. Dim invalidolongitudcadena_a4 As Integer = Len(a4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a4 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a4 As Integer = 0 Dim invalidoposicionesmenos_a4 As Integer = 0 Dim invalidoposicionmenos_a4 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a4 As Integer = 0 Dim invalidoapareceonomenos_a4 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a4 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a4 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a4 = Mid(a4.Text, ciclo, 1) If invalidocaracterevaluado_a4 = "/" Then invalidoposicionpleca_a4 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a4 = invalidocontadorplecas_a4 + 1 End If If invalidocaracterevaluado_a4 = "-" Then invalidoposicionmenos_a4 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a4 = invalidocontadormenos_a4 + 1 End If

Next If (invalidocontadorplecas_a4 > 1) Or (invalidocontadormenos_a4 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a4 = 1 Else If (invalidoposicionpleca_a4 = 1) Or (invalidoposicionpleca_a4 = invalidolongitudcadena_a4) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a4 = 1 End If End If If (invalidocontadormenos_a4 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a4 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a4.Text, invalidoposicionmenos_a4 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a4 = 1 End If End If End If If Mid(a4.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a4 = 1 End If If a4.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a4 = 1 End If If invalidoconfirmado_a4 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,1) --> a6. Dim invalidolongitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a6 As Integer = 0 Dim invalidoposicionesmenos_a6 As Integer = 0 Dim invalidoposicionmenos_a6 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a6 As Integer = 0 Dim invalidoapareceonomenos_a6 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a6 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If invalidocaracterevaluado_a6 = "/" Then

invalidoposicionpleca_a6 encontró una pleca.

=

ciclo

'Toma

la

posición

en

la

que

se

invalidocontadorplecas_a6 = invalidocontadorplecas_a6 + 1 End If If invalidocaracterevaluado_a6 = "-" Then invalidoposicionmenos_a6 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a6 = invalidocontadormenos_a6 + 1 End If Next If (invalidocontadorplecas_a6 > 1) Or (invalidocontadormenos_a6 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a6 = 1 Else If (invalidoposicionpleca_a6 = 1) Or (invalidoposicionpleca_a6 = invalidolongitudcadena_a6) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a6 = 1 End If End If If (invalidocontadormenos_a6 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a6 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a6.Text, invalidoposicionmenos_a6 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a6 = 1 End If End If End If If Mid(a6.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a6 = 1 End If If a6.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a6 = 1 End If If invalidoconfirmado_a6 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,2) --> a7. Dim invalidolongitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a7 As Integer = 0 Dim invalidoposicionesmenos_a7 As Integer = 0 Dim invalidoposicionmenos_a7 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena.

Dim invalidocontadormenos_a7 As Integer = 0 Dim invalidoapareceonomenos_a7 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a7 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If invalidocaracterevaluado_a7 = "/" Then invalidoposicionpleca_a7 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a7 = invalidocontadorplecas_a7 + 1 End If If invalidocaracterevaluado_a7 = "-" Then invalidoposicionmenos_a7 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a7 = invalidocontadormenos_a7 + 1 End If Next If (invalidocontadorplecas_a7 > 1) Or (invalidocontadormenos_a7 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a7 = 1 Else If (invalidoposicionpleca_a7 = 1) Or (invalidoposicionpleca_a7 = invalidolongitudcadena_a7) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a7 = 1 End If End If If (invalidocontadormenos_a7 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a7 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a7.Text, invalidoposicionmenos_a7 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a7 = 1 End If End If End If If Mid(a7.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a7 = 1 End If If a7.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a7 = 1 End If If invalidoconfirmado_a7 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,3) --> a8.

Dim invalidolongitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a8 As Integer = 0 Dim invalidoposicionesmenos_a8 As Integer = 0 Dim invalidoposicionmenos_a8 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a8 As Integer = 0 Dim invalidoapareceonomenos_a8 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a8 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If invalidocaracterevaluado_a8 = "/" Then invalidoposicionpleca_a8 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a8 = invalidocontadorplecas_a8 + 1 End If If invalidocaracterevaluado_a8 = "-" Then invalidoposicionmenos_a8 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a8 = invalidocontadormenos_a8 + 1 End If Next If (invalidocontadorplecas_a8 > 1) Or (invalidocontadormenos_a8 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a8 = 1 Else If (invalidoposicionpleca_a8 = 1) Or (invalidoposicionpleca_a8 = invalidolongitudcadena_a8) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a8 = 1 End If End If If (invalidocontadormenos_a8 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a8 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a8.Text, invalidoposicionmenos_a8 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a8 = 1 End If End If End If If Mid(a8.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a8 = 1 End If

If a8.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a8 = 1 End If If invalidoconfirmado_a8 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,4) --> a9. Dim invalidolongitudcadena_a9 As Integer = Len(a9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a9 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a9 As Integer = 0 Dim invalidoposicionesmenos_a9 As Integer = 0 Dim invalidoposicionmenos_a9 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a9 As Integer = 0 Dim invalidoapareceonomenos_a9 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a9 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a9 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a9 = Mid(a9.Text, ciclo, 1) If invalidocaracterevaluado_a9 = "/" Then invalidoposicionpleca_a9 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a9 = invalidocontadorplecas_a9 + 1 End If If invalidocaracterevaluado_a9 = "-" Then invalidoposicionmenos_a9 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a9 = invalidocontadormenos_a9 + 1 End If Next If (invalidocontadorplecas_a9 > 1) Or (invalidocontadormenos_a9 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a9 = 1 Else If (invalidoposicionpleca_a9 = 1) Or (invalidoposicionpleca_a9 = invalidolongitudcadena_a9) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a9 = 1 End If End If If (invalidocontadormenos_a9 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a9 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a9.Text, invalidoposicionmenos_a9 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía.

Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a9 = 1 End If End If End If If Mid(a9.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a1 = 1 End If If a9.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a9 = 1 End If If invalidoconfirmado_a9 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,1) --> a11. Dim invalidolongitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a11 As Integer = 0 Dim invalidoposicionesmenos_a11 As Integer = 0 Dim invalidoposicionmenos_a11 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a11 As Integer = 0 Dim invalidoapareceonomenos_a11 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a11 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If invalidocaracterevaluado_a11 = "/" Then invalidoposicionpleca_a11 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a11 = invalidocontadorplecas_a11 + 1 End If If invalidocaracterevaluado_a11 = "-" Then invalidoposicionmenos_a11 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a11 = invalidocontadormenos_a11 + 1 End If Next If (invalidocontadorplecas_a11 > 1) Or (invalidocontadormenos_a11 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a11 = 1 Else If (invalidoposicionpleca_a11 = 1) Or (invalidoposicionpleca_a11 = invalidolongitudcadena_a11) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a11 = 1 End If End If If (invalidocontadormenos_a11 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final.

If (invalidoposicionmenos_a11 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a11.Text, invalidoposicionmenos_a11 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a11 = 1 End If End If End If If Mid(a11.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a11 = 1 End If If a11.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a11 = 1 End If If invalidoconfirmado_a11 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,2) --> a12. Dim invalidolongitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a12 As Integer = 0 Dim invalidoposicionesmenos_a12 As Integer = 0 Dim invalidoposicionmenos_a12 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a12 As Integer = 0 Dim invalidoapareceonomenos_a12 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a12 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If invalidocaracterevaluado_a12 = "/" Then invalidoposicionpleca_a12 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a12 = invalidocontadorplecas_a12 + 1 End If If invalidocaracterevaluado_a12 = "-" Then invalidoposicionmenos_a12 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a12 = invalidocontadormenos_a12 + 1 End If Next If (invalidocontadorplecas_a12 > 1) Or (invalidocontadormenos_a12 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a12 = 1 Else

If (invalidoposicionpleca_a12 = 1) Or (invalidoposicionpleca_a12 = invalidolongitudcadena_a12) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a12 = 1 End If End If If (invalidocontadormenos_a12 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a12 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a12.Text, invalidoposicionmenos_a12 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a12 = 1 End If End If End If If Mid(a12.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a12 = 1 End If If a12.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a12 = 1 End If If invalidoconfirmado_a12 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,3) --> a13. Dim invalidolongitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a13 As Integer = 0 Dim invalidoposicionesmenos_a13 As Integer = 0 Dim invalidoposicionmenos_a13 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a13 As Integer = 0 Dim invalidoapareceonomenos_a13 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a13 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If invalidocaracterevaluado_a13 = "/" Then invalidoposicionpleca_a13 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a13 = invalidocontadorplecas_a13 + 1 End If If invalidocaracterevaluado_a13 = "-" Then

invalidoposicionmenos_a13 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a13 = invalidocontadormenos_a13 + 1 End If Next If (invalidocontadorplecas_a13 > 1) Or (invalidocontadormenos_a13 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a13 = 1 Else If (invalidoposicionpleca_a13 = 1) Or (invalidoposicionpleca_a13 = invalidolongitudcadena_a13) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a13 = 1 End If End If If (invalidocontadormenos_a13 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a13 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a13.Text, invalidoposicionmenos_a13 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a13 = 1 End If End If End If If Mid(a13.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a13 = 1 End If If a13.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a13 = 1 End If If invalidoconfirmado_a13 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,4) --> a14. Dim invalidolongitudcadena_a14 As Integer = Len(a14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a14 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a14 As Integer = 0 Dim invalidoposicionesmenos_a14 As Integer = 0 Dim invalidoposicionmenos_a14 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a14 As Integer = 0 Dim invalidoapareceonomenos_a14 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a14 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos.

For ciclo As Integer = 1 To invalidolongitudcadena_a14 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a14 = Mid(a14.Text, ciclo, 1) If invalidocaracterevaluado_a14 = "/" Then invalidoposicionpleca_a14 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a14 = invalidocontadorplecas_a14 + 1 End If If invalidocaracterevaluado_a14 = "-" Then invalidoposicionmenos_a14 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a14 = invalidocontadormenos_a14 + 1 End If Next If (invalidocontadorplecas_a14 > 1) Or (invalidocontadormenos_a14 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a14 = 1 Else If (invalidoposicionpleca_a14 = 1) Or (invalidoposicionpleca_a14 = invalidolongitudcadena_a14) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a14 = 1 End If End If If (invalidocontadormenos_a14 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a14 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a14.Text, invalidoposicionmenos_a14 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a14 = 1 End If End If End If If Mid(a14.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a14 = 1 End If If a14.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a14 = 1 End If If invalidoconfirmado_a14 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,1) --> a16. Dim invalidolongitudcadena_a16 As Integer = Len(a16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a16 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena.

Dim invalidocontadorplecas_a16 As Integer = 0 Dim invalidoposicionesmenos_a16 As Integer = 0 Dim invalidoposicionmenos_a16 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a16 As Integer = 0 Dim invalidoapareceonomenos_a16 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a16 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a16 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a16 = Mid(a16.Text, ciclo, 1) If invalidocaracterevaluado_a16 = "/" Then invalidoposicionpleca_a16 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a16 = invalidocontadorplecas_a16 + 1 End If If invalidocaracterevaluado_a16 = "-" Then invalidoposicionmenos_a16 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a16 = invalidocontadormenos_a16 + 1 End If Next If (invalidocontadorplecas_a16 > 1) Or (invalidocontadormenos_a16 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a16 = 1 Else If (invalidoposicionpleca_a16 = 1) Or (invalidoposicionpleca_a16 = invalidolongitudcadena_a16) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a16 = 1 End If End If If (invalidocontadormenos_a16 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a16 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a16.Text, invalidoposicionmenos_a16 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a16 = 1 End If End If End If If Mid(a16.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a16 = 1 End If If a16.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a16 = 1 End If If invalidoconfirmado_a16 = 1 Then

valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,2) --> a17. Dim invalidolongitudcadena_a17 As Integer = Len(a17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a17 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a17 As Integer = 0 Dim invalidoposicionesmenos_a17 As Integer = 0 Dim invalidoposicionmenos_a17 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a17 As Integer = 0 Dim invalidoapareceonomenos_a17 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a17 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a17 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a17 = Mid(a17.Text, ciclo, 1) If invalidocaracterevaluado_a17 = "/" Then invalidoposicionpleca_a17 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a17 = invalidocontadorplecas_a17 + 1 End If If invalidocaracterevaluado_a17 = "-" Then invalidoposicionmenos_a17 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a17 = invalidocontadormenos_a17 + 1 End If Next If (invalidocontadorplecas_a17 > 1) Or (invalidocontadormenos_a17 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a17 = 1 Else If (invalidoposicionpleca_a17 = 1) Or (invalidoposicionpleca_a17 = invalidolongitudcadena_a17) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a17 = 1 End If End If If (invalidocontadormenos_a17 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a17 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a17.Text, invalidoposicionmenos_a17 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a17 = 1 End If End If End If

If Mid(a17.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a17 = 1 End If If a17.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a17 = 1 End If If invalidoconfirmado_a17 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,3) --> a18. Dim invalidolongitudcadena_a18 As Integer = Len(a18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a18 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a18 As Integer = 0 Dim invalidoposicionesmenos_a18 As Integer = 0 Dim invalidoposicionmenos_a18 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a18 As Integer = 0 Dim invalidoapareceonomenos_a18 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a18 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a18 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a18 = Mid(a18.Text, ciclo, 1) If invalidocaracterevaluado_a18 = "/" Then invalidoposicionpleca_a18 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a18 = invalidocontadorplecas_a18 + 1 End If If invalidocaracterevaluado_a18 = "-" Then invalidoposicionmenos_a18 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a18 = invalidocontadormenos_a18 + 1 End If Next If (invalidocontadorplecas_a18 > 1) Or (invalidocontadormenos_a18 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a18 = 1 Else If (invalidoposicionpleca_a18 = 1) Or (invalidoposicionpleca_a18 = invalidolongitudcadena_a18) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a18 = 1 End If End If If (invalidocontadormenos_a18 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a18 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a18.Text, invalidoposicionmenos_a18 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el

denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a18 = 1 End If End If End If If Mid(a18.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a18 = 1 End If If a18.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a18 = 1 End If If invalidoconfirmado_a18 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,4) --> a19. Dim invalidolongitudcadena_a19 As Integer = Len(a19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a19 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a19 As Integer = 0 Dim invalidoposicionesmenos_a19 As Integer = 0 Dim invalidoposicionmenos_a19 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a19 As Integer = 0 Dim invalidoapareceonomenos_a19 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a19 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a19 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a19 = Mid(a19.Text, ciclo, 1) If invalidocaracterevaluado_a19 = "/" Then invalidoposicionpleca_a19 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a19 = invalidocontadorplecas_a19 + 1 End If If invalidocaracterevaluado_a19 = "-" Then invalidoposicionmenos_a19 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a19 = invalidocontadormenos_a19 + 1 End If Next If (invalidocontadorplecas_a19 > 1) Or (invalidocontadormenos_a19 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a19 = 1 Else If (invalidoposicionpleca_a19 = 1) Or (invalidoposicionpleca_a19 = invalidolongitudcadena_a19) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a19 = 1 End If End If

If (invalidocontadormenos_a19 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a19 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a19.Text, invalidoposicionmenos_a19 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a19 = 1 End If End If End If If Mid(a19.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a19 = 1 End If If a19.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a19 = 1 End If If invalidoconfirmado_a19 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Si hay caracteres inválidos en la matriz original 3x3, se manda el mensaje correspondiente; de lo contrario se procede a hacer las evaluaciones. If valoresinvalidosenmatrizoriginal = 1 Then MsgBox("La matriz original contiene valores inválidos", MsgBoxStyle.OkOnly, "Inversa de matrices") Else 'Encontrar el numerador y el denominador de la posición (1,1)--> a1. Dim longitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If caracterevaluado_a1 = "/" Then posicionpleca_a1 = ciclo banderapleca_a1 = 1 End If Next If banderapleca_a1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a1 = Mid(a1.Text, 1, posicionpleca_a1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_a1 = Mid(a1.Text, posicionpleca_a1 + 1, longitudcadena_a1 - posicionpleca_a1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a1 = Mid(a1.Text, 1, longitudcadena_a1) denominador_a1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> a2. Dim longitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If caracterevaluado_a2 = "/" Then posicionpleca_a2 = ciclo banderapleca_a2 = 1 End If Next If banderapleca_a2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a2 = Mid(a2.Text, 1, posicionpleca_a2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a2 = Mid(a2.Text, posicionpleca_a2 + 1, longitudcadena_a2 - posicionpleca_a2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. 'TextBox1.Text = numerador_a2 'TextBox2.Text = denominador_a2 Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a2 = Mid(a2.Text, 1, longitudcadena_a2) denominador_a2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> a3. Dim longitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a3 = Mid(a3.Text, ciclo, 1)

If caracterevaluado_a3 = "/" Then posicionpleca_a3 = ciclo banderapleca_a3 = 1 End If Next If banderapleca_a3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a3 = Mid(a3.Text, 1, posicionpleca_a3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a3 = Mid(a3.Text, posicionpleca_a3 + 1, longitudcadena_a3 - posicionpleca_a3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a3 = Mid(a3.Text, 1, longitudcadena_a3) denominador_a3 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,4)--> a4. Dim longitudcadena_a4 As Integer = Len(a4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a4 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a4 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a4 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a4 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a4 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a4 = Mid(a4.Text, ciclo, 1) If caracterevaluado_a4 = "/" Then posicionpleca_a4 = ciclo banderapleca_a4 = 1 End If Next If banderapleca_a4 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a4 = Mid(a4.Text, 1, posicionpleca_a4 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a4 = Mid(a4.Text, posicionpleca_a4 + 1, longitudcadena_a4 - posicionpleca_a4) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a4 = Mid(a4.Text, 1, longitudcadena_a4) denominador_a4 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> a6. Dim longitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a6 As String 'Almacena el numerador del Textbox que se está evaluando.

Dim denominador_a6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If caracterevaluado_a6 = "/" Then posicionpleca_a6 = ciclo banderapleca_a6 = 1 End If Next If banderapleca_a6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a6 = Mid(a6.Text, 1, posicionpleca_a6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a6 = Mid(a6.Text, posicionpleca_a6 + 1, longitudcadena_a6 - posicionpleca_a6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a6 = Mid(a6.Text, 1, longitudcadena_a6) denominador_a6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> a7. Dim longitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If caracterevaluado_a7 = "/" Then posicionpleca_a7 = ciclo banderapleca_a7 = 1 End If Next If banderapleca_a7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a7 = Mid(a7.Text, 1, posicionpleca_a7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a7 = Mid(a7.Text, posicionpleca_a7 + 1, longitudcadena_a7 - posicionpleca_a7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a7 = Mid(a7.Text, 1, longitudcadena_a7) denominador_a7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> a8.

Dim longitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If caracterevaluado_a8 = "/" Then posicionpleca_a8 = ciclo banderapleca_a8 = 1 End If Next If banderapleca_a8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a8 = Mid(a8.Text, 1, posicionpleca_a8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a8 = Mid(a8.Text, posicionpleca_a8 + 1, longitudcadena_a8 - posicionpleca_a8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a8 = Mid(a8.Text, 1, longitudcadena_a8) denominador_a8 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,4)--> a9. Dim longitudcadena_a9 As Integer = Len(a9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a9 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a9 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a9 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a9 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a9 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a9 = Mid(a9.Text, ciclo, 1) If caracterevaluado_a9 = "/" Then posicionpleca_a9 = ciclo banderapleca_a9 = 1 End If Next If banderapleca_a9 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a9 = Mid(a9.Text, 1, posicionpleca_a9 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a9 = Mid(a9.Text, posicionpleca_a9 + 1, longitudcadena_a9 - posicionpleca_a9) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena.

Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a9 = Mid(a9.Text, 1, longitudcadena_a9) denominador_a9 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> a11. Dim longitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If caracterevaluado_a11 = "/" Then posicionpleca_a11 = ciclo banderapleca_a11 = 1 End If Next If banderapleca_a11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a11 = Mid(a11.Text, 1, posicionpleca_a11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a11 = Mid(a11.Text, posicionpleca_a11 + 1, longitudcadena_a11 - posicionpleca_a11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a11 = Mid(a11.Text, 1, longitudcadena_a11) denominador_a11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> a12. Dim longitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If caracterevaluado_a12 = "/" Then posicionpleca_a12 = ciclo banderapleca_a12 = 1 End If Next

If banderapleca_a12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a12 = Mid(a12.Text, 1, posicionpleca_a12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a12 = Mid(a12.Text, posicionpleca_a12 + 1, longitudcadena_a12 - posicionpleca_a12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a12 = Mid(a12.Text, 1, longitudcadena_a12) denominador_a12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> a13. Dim longitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If caracterevaluado_a13 = "/" Then posicionpleca_a13 = ciclo banderapleca_a13 = 1 End If Next If banderapleca_a13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a13 = Mid(a13.Text, 1, posicionpleca_a13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a13 = Mid(a13.Text, posicionpleca_a13 + 1, longitudcadena_a13 - posicionpleca_a13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a13 = Mid(a13.Text, 1, longitudcadena_a13) denominador_a13 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,4)--> a14. Dim longitudcadena_a14 As Integer = Len(a14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a14 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a14 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a14 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a14 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_a14 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a14 = Mid(a14.Text, ciclo, 1) If caracterevaluado_a14 = "/" Then posicionpleca_a14 = ciclo banderapleca_a14 = 1 End If Next If banderapleca_a14 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a14 = Mid(a14.Text, 1, posicionpleca_a14 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a14 = Mid(a14.Text, posicionpleca_a14 + 1, longitudcadena_a14 - posicionpleca_a14) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a14 = Mid(a14.Text, 1, longitudcadena_a14) denominador_a14 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,1)--> a16. Dim longitudcadena_a16 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a16 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a16 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a16 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a16 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a16 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a16 = Mid(a16.Text, ciclo, 1) If caracterevaluado_a16 = "/" Then posicionpleca_a16 = ciclo banderapleca_a16 = 1 End If Next If banderapleca_a16 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a16 = Mid(a16.Text, 1, posicionpleca_a16 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a16 = Mid(a16.Text, posicionpleca_a16 + 1, longitudcadena_a16 - posicionpleca_a16) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a16 = Mid(a16.Text, 1, longitudcadena_a16) denominador_a16 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,2)--> a17. Dim longitudcadena_a17 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a17 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_a17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a17 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a17 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a17 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a17 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a17 = Mid(a17.Text, ciclo, 1) If caracterevaluado_a17 = "/" Then posicionpleca_a17 = ciclo banderapleca_a17 = 1 End If Next If banderapleca_a17 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a17 = Mid(a17.Text, 1, posicionpleca_a17 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a17 = Mid(a17.Text, posicionpleca_a17 + 1, longitudcadena_a17 - posicionpleca_a17) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a17 = Mid(a17.Text, 1, longitudcadena_a17) denominador_a17 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,3)--> a18. Dim longitudcadena_a18 As Integer = Len(a18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a18 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a18 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a18 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a18 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a18 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a18 = Mid(a18.Text, ciclo, 1) If caracterevaluado_a18 = "/" Then posicionpleca_a18 = ciclo banderapleca_a18 = 1 End If Next If banderapleca_a18 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a18 = Mid(a18.Text, 1, posicionpleca_a18 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a18 = Mid(a18.Text, posicionpleca_a18 + 1, longitudcadena_a18 - posicionpleca_a18) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a18 = Mid(a18.Text, 1, longitudcadena_a18)

denominador_a18 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,4)--> a19. Dim longitudcadena_a19 As Integer = Len(a19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a19 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a19 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a19 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a19 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a19 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a19 = Mid(a19.Text, ciclo, 1) If caracterevaluado_a19 = "/" Then posicionpleca_a19 = ciclo banderapleca_a19 = 1 End If Next If banderapleca_a19 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a19 = Mid(a19.Text, 1, posicionpleca_a19 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a19 = Mid(a19.Text, posicionpleca_a19 + 1, longitudcadena_a19 - posicionpleca_a19) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a19 = Mid(a19.Text, 1, longitudcadena_a19) denominador_a19 = 1 End If 'Determina la matriz 4x4 de cofactores. Dim m_a1 As New Fraction(numerador_a1, denominador_a1) Dim m_a2 As New Fraction(numerador_a2, denominador_a2) Dim m_a3 As New Fraction(numerador_a3, denominador_a3) Dim m_a4 As New Fraction(numerador_a4, denominador_a4) Dim m_a6 As New Fraction(numerador_a6, denominador_a6) Dim m_a7 As New Fraction(numerador_a7, denominador_a7) Dim m_a8 As New Fraction(numerador_a8, denominador_a8) Dim m_a9 As New Fraction(numerador_a9, denominador_a9) Dim m_a11 As New Fraction(numerador_a11, denominador_a11) Dim m_a12 As New Fraction(numerador_a12, denominador_a12) Dim m_a13 As New Fraction(numerador_a13, denominador_a13) Dim m_a14 As New Fraction(numerador_a14, denominador_a14) Dim m_a16 As New Fraction(numerador_a16, denominador_a16) Dim m_a17 As New Fraction(numerador_a17, denominador_a17) Dim m_a18 As New Fraction(numerador_a18, denominador_a18) Dim m_a19 As New Fraction(numerador_a19, denominador_a19) Dim menos1 As New Fraction(-1, 1) 'Para multiplicar un objeto Fraction por -1. Dim m_b1 As Fraction Dim m_b2 As Fraction Dim m_b3 As Fraction Dim m_b4 As Fraction Dim m_b6 As Fraction Dim m_b7 As Fraction Dim m_b8 As Fraction

Dim m_b9 As Fraction Dim m_b11 As Fraction Dim m_b12 As Fraction Dim m_b13 As Fraction Dim m_b14 As Fraction Dim m_b16 As Fraction Dim m_b17 As Fraction Dim m_b18 As Fraction Dim m_b19 As Fraction m_b1 = m_a7 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a9 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) m_b2 = menos1 * (m_a6 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a18) - (m_a13) * (m_a16))) m_b3 = m_a6 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a7 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a17) - (m_a12) * (m_a16)) m_b4 = menos1 * (m_a6 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) - m_a7 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a8 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) m_b6 = menos1 * (m_a2 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a3 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a4 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) m_b7 = m_a1 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a3 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a4 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) m_b8 = menos1 * (m_a1 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a2 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a4 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) m_b9 = m_a1 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) - m_a2 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a3 * ((m_a11) * (m_a17) - (m_a12) * (m_a16)) m_b11 = m_a2 * ((m_a8) * (m_a19) - (m_a9) * (m_a18)) - m_a3 * ((m_a7) * (m_a19) - (m_a9) * (m_a17)) + m_a4 * ((m_a7) * (m_a18) - (m_a8) * (m_a17)) m_b12 = menos1 * (m_a1 * ((m_a8) * (m_a19) - (m_a9) * (m_a18)) - m_a3 * ((m_a6) * (m_a19) - (m_a9) * (m_a16)) + m_a4 * ((m_a6) * (m_a18) - (m_a8) * (m_a16))) m_b13 = m_a1 * ((m_a7) * (m_a19) - (m_a9) * (m_a17)) - m_a2 * ((m_a6) * (m_a19) - (m_a9) * (m_a16)) + m_a4 * ((m_a6) * (m_a17) - (m_a7) * (m_a16)) m_b14 = menos1 * (m_a1 * ((m_a7) * (m_a18) - (m_a8) * (m_a17)) - m_a2 * ((m_a6) * (m_a18) - (m_a8) * (m_a16)) + m_a3 * ((m_a6) * (m_a17) - (m_a7) * (m_a16))) m_b16 = menos1 * (m_a2 * ((m_a8) * (m_a14) - (m_a9) * (m_a13)) - m_a3 * ((m_a7) * (m_a14) - (m_a9) * (m_a12)) + m_a4 * ((m_a7) * (m_a13) - (m_a8) * (m_a12))) m_b17 = m_a1 * ((m_a8) * (m_a14) - (m_a9) * (m_a13)) - m_a3 * ((m_a6) * (m_a14) - (m_a9) * (m_a11)) + m_a4 * ((m_a6) * (m_a13) - (m_a8) * (m_a11)) m_b18 = menos1 * (m_a1 * ((m_a7) * (m_a14) - (m_a9) * (m_a12)) - m_a2 * ((m_a6) * (m_a14) - (m_a9) * (m_a11)) + m_a4 * ((m_a6) * (m_a12) - (m_a7) * (m_a11))) m_b19 = m_a1 * ((m_a7) * (m_a13) - (m_a8) * (m_a12)) - m_a2 * ((m_a6) * (m_a13) - (m_a8) * (m_a11)) + m_a3 * ((m_a6) * (m_a12) - (m_a7) * (m_a11)) 'Imprime la matriz 4x4 de cofactores b1.Text = m_b1.ToString b2.Text = m_b2.ToString b3.Text = m_b3.ToString b4.Text = m_b4.ToString b6.Text = m_b6.ToString b7.Text = m_b7.ToString b8.Text = m_b8.ToString b9.Text = m_b9.ToString b11.Text = m_b11.ToString b12.Text = m_b12.ToString b13.Text = m_b13.ToString b14.Text = m_b14.ToString b16.Text = m_b16.ToString b17.Text = m_b17.ToString b18.Text = m_b18.ToString b19.Text = m_b19.ToString 'Cambia la matriz 4x4 de cofactores a la matriz adjunta 4x4. c1.Text = b1.Text c2.Text = b6.Text c3.Text = b11.Text c4.Text = b16.Text

c6.Text = b2.Text c7.Text = b7.Text c8.Text = b12.Text c9.Text = b17.Text c11.Text = b3.Text c12.Text = b8.Text c13.Text = b13.Text c14.Text = b18.Text c16.Text = b4.Text c17.Text = b9.Text c18.Text = b14.Text c19.Text = b19.Text 'Calcula el determinante de la matriz 4x4 para luego obtener la inversa del determinante de la matriz 4x4. Dim determinante4x4 As Fraction Dim uno As New Fraction(1, 1) Dim inversadeterminante4x4 As Fraction determinante4x4 = m_a1 * (m_a7 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a9 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) - m_a2 * (m_a6 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a18) - (m_a13) * (m_a16))) + m_a3 * (m_a6 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a7 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) - m_a4 * (m_a6 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) - m_a7 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a8 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) inversadeterminante4x4 = uno / determinante4x4 'Encontrar el numerador y el denominador de la posición (1,1)--> c1. Dim longitudcadena_c1 As Integer = Len(c1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c1 = Mid(c1.Text, ciclo, 1) If caracterevaluado_c1 = "/" Then posicionpleca_c1 = ciclo banderapleca_c1 = 1 End If Next If banderapleca_c1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c1 = Mid(c1.Text, 1, posicionpleca_c1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c1 = Mid(c1.Text, posicionpleca_c1 + 1, longitudcadena_c1 - posicionpleca_c1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c1 = Mid(c1.Text, 1, longitudcadena_c1) denominador_c1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> c2.

Dim longitudcadena_c2 As Integer = Len(c2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c2 = Mid(c2.Text, ciclo, 1) If caracterevaluado_c2 = "/" Then posicionpleca_c2 = ciclo banderapleca_c2 = 1 End If Next If banderapleca_c2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c2 = Mid(c2.Text, 1, posicionpleca_c2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c2 = Mid(c2.Text, posicionpleca_c2 + 1, longitudcadena_c2 - posicionpleca_c2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c2 = Mid(c2.Text, 1, longitudcadena_c2) denominador_c2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> c3. Dim longitudcadena_c3 As Integer = Len(c3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c3 = Mid(c3.Text, ciclo, 1) If caracterevaluado_c3 = "/" Then posicionpleca_c3 = ciclo banderapleca_c3 = 1 End If Next If banderapleca_c3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c3 = Mid(c3.Text, 1, posicionpleca_c3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c3 = Mid(c3.Text, posicionpleca_c3 + 1, longitudcadena_c3 - posicionpleca_c3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena.

Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c3 = Mid(c3.Text, 1, longitudcadena_c3) denominador_c3 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,4)--> c4. Dim longitudcadena_c4 As Integer = Len(c4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c4 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c4 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c4 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c4 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c4 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c4 = Mid(c4.Text, ciclo, 1) If caracterevaluado_c4 = "/" Then posicionpleca_c4 = ciclo banderapleca_c4 = 1 End If Next If banderapleca_c4 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c4 = Mid(c4.Text, 1, posicionpleca_c4 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c4 = Mid(c4.Text, posicionpleca_c4 + 1, longitudcadena_c4 - posicionpleca_c4) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c4 = Mid(c4.Text, 1, longitudcadena_c4) denominador_c4 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> c6. Dim longitudcadena_c6 As Integer = Len(c6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c6 = Mid(c6.Text, ciclo, 1) If caracterevaluado_c6 = "/" Then posicionpleca_c6 = ciclo banderapleca_c6 = 1 End If Next

If banderapleca_c6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c6 = Mid(c6.Text, 1, posicionpleca_c6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c6 = Mid(c6.Text, posicionpleca_c6 + 1, longitudcadena_c6 - posicionpleca_c6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c6 = Mid(c6.Text, 1, longitudcadena_c6) denominador_c6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> c7. Dim longitudcadena_c7 As Integer = Len(c7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c7 = Mid(c7.Text, ciclo, 1) If caracterevaluado_c7 = "/" Then posicionpleca_c7 = ciclo banderapleca_c7 = 1 End If Next If banderapleca_c7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c7 = Mid(c7.Text, 1, posicionpleca_c7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c7 = Mid(c7.Text, posicionpleca_c7 + 1, longitudcadena_c7 - posicionpleca_c7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c7 = Mid(c7.Text, 1, longitudcadena_c7) denominador_c7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> c8. Dim longitudcadena_c8 As Integer = Len(c8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_c8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c8 = Mid(c8.Text, ciclo, 1) If caracterevaluado_c8 = "/" Then posicionpleca_c8 = ciclo banderapleca_c8 = 1 End If Next If banderapleca_c8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c8 = Mid(c8.Text, 1, posicionpleca_c8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c8 = Mid(c8.Text, posicionpleca_c8 + 1, longitudcadena_c8 - posicionpleca_c8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c8 = Mid(c8.Text, 1, longitudcadena_c8) denominador_c8 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,4)--> c9. Dim longitudcadena_c9 As Integer = Len(c9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c9 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c9 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c9 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c9 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c9 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c9 = Mid(c9.Text, ciclo, 1) If caracterevaluado_c9 = "/" Then posicionpleca_c9 = ciclo banderapleca_c9 = 1 End If Next If banderapleca_c9 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c9 = Mid(c9.Text, 1, posicionpleca_c9 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c9 = Mid(c9.Text, posicionpleca_c9 + 1, longitudcadena_c9 - posicionpleca_c9) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c9 = Mid(c9.Text, 1, longitudcadena_c9) denominador_c9 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> c11 Dim longitudcadena_c11 As Integer = Len(c11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c11 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_c11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c11 = Mid(c11.Text, ciclo, 1) If caracterevaluado_c11 = "/" Then posicionpleca_c11 = ciclo banderapleca_c11 = 1 End If Next If banderapleca_c11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c11 = Mid(c11.Text, 1, posicionpleca_c11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c11 = Mid(c11.Text, posicionpleca_c11 + 1, longitudcadena_c11 - posicionpleca_c11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c11 = Mid(c11.Text, 1, longitudcadena_c11) denominador_c11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> c12 Dim longitudcadena_c12 As Integer = Len(c12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c12 = Mid(c12.Text, ciclo, 1) If caracterevaluado_c12 = "/" Then posicionpleca_c12 = ciclo banderapleca_c12 = 1 End If Next If banderapleca_c12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c12 = Mid(c12.Text, 1, posicionpleca_c12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c12 = Mid(c12.Text, posicionpleca_c12 + 1, longitudcadena_c12 - posicionpleca_c12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c12 = Mid(c12.Text, 1, longitudcadena_c12)

denominador_c12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> c13 Dim longitudcadena_c13 As Integer = Len(c13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c13 = Mid(c13.Text, ciclo, 1) If caracterevaluado_c13 = "/" Then posicionpleca_c13 = ciclo banderapleca_c13 = 1 End If Next If banderapleca_c13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c13 = Mid(c13.Text, 1, posicionpleca_c13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c13 = Mid(c13.Text, posicionpleca_c13 + 1, longitudcadena_c13 - posicionpleca_c13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c13 = Mid(c13.Text, 1, longitudcadena_c13) denominador_c13 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,4)--> c14 Dim longitudcadena_c14 As Integer = Len(c14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c14 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c14 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c14 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c14 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c14 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c14 = Mid(c14.Text, ciclo, 1) If caracterevaluado_c14 = "/" Then posicionpleca_c14 = ciclo banderapleca_c14 = 1 End If Next If banderapleca_c14 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c14 = Mid(c14.Text, 1, posicionpleca_c14 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_c14 = Mid(c14.Text, posicionpleca_c14 + 1, longitudcadena_c14 - posicionpleca_c14) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c14 = Mid(c14.Text, 1, longitudcadena_c14) denominador_c14 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,1)--> c16 Dim longitudcadena_c16 As Integer = Len(c16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c16 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c16 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c16 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c16 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c16 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c16 = Mid(c16.Text, ciclo, 1) If caracterevaluado_c16 = "/" Then posicionpleca_c16 = ciclo banderapleca_c16 = 1 End If Next If banderapleca_c16 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c16 = Mid(c16.Text, 1, posicionpleca_c16 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c16 = Mid(c16.Text, posicionpleca_c16 + 1, longitudcadena_c16 - posicionpleca_c16) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c16 = Mid(c16.Text, 1, longitudcadena_c16) denominador_c16 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,2)--> c17 Dim longitudcadena_c17 As Integer = Len(c17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c17 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c17 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c17 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c17 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c17 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c17 = Mid(c17.Text, ciclo, 1) If caracterevaluado_c17 = "/" Then posicionpleca_c17 = ciclo

banderapleca_c17 = 1 End If Next If banderapleca_c17 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c17 = Mid(c17.Text, 1, posicionpleca_c17 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c17 = Mid(c17.Text, posicionpleca_c17 + 1, longitudcadena_c17 - posicionpleca_c17) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c17 = Mid(c17.Text, 1, longitudcadena_c17) denominador_c17 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,3)--> c18 Dim longitudcadena_c18 As Integer = Len(c18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c18 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c18 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c18 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c18 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c18 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c18 = Mid(c18.Text, ciclo, 1) If caracterevaluado_c18 = "/" Then posicionpleca_c18 = ciclo banderapleca_c18 = 1 End If Next If banderapleca_c18 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c18 = Mid(c18.Text, 1, posicionpleca_c18 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c18 = Mid(c18.Text, posicionpleca_c18 + 1, longitudcadena_c18 - posicionpleca_c18) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c18 = Mid(c18.Text, 1, longitudcadena_c18) denominador_c18 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,4)--> c19 Dim longitudcadena_c19 As Integer = Len(c19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c19 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c19 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c19 As String 'Almacena el denominador del Textbox que se está evaluando.

Dim banderapleca_c19 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c19 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c19 = Mid(c19.Text, ciclo, 1) If caracterevaluado_c19 = "/" Then posicionpleca_c19 = ciclo banderapleca_c19 = 1 End If Next If banderapleca_c19 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c19 = Mid(c19.Text, 1, posicionpleca_c19 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c19 = Mid(c19.Text, posicionpleca_c19 + 1, longitudcadena_c19 - posicionpleca_c19) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c19 = Mid(c19.Text, 1, longitudcadena_c19) denominador_c19 = 1 End If 'Convierte los valores de los Textbox de la matriz c a objetos Fraction, mediante la clase. Dim m_c1 As New Fraction(numerador_c1, denominador_c1) Dim m_c2 As New Fraction(numerador_c2, denominador_c2) Dim m_c3 As New Fraction(numerador_c3, denominador_c3) Dim m_c4 As New Fraction(numerador_c4, denominador_c4) Dim m_c6 As New Fraction(numerador_c6, denominador_c6) Dim m_c7 As New Fraction(numerador_c7, denominador_c7) Dim m_c8 As New Fraction(numerador_c8, denominador_c8) Dim m_c9 As New Fraction(numerador_c9, denominador_c9) Dim m_c11 As New Fraction(numerador_c11, denominador_c11) Dim m_c12 As New Fraction(numerador_c12, denominador_c12) Dim m_c13 As New Fraction(numerador_c13, denominador_c13) Dim m_c14 As New Fraction(numerador_c14, denominador_c14) Dim m_c16 As New Fraction(numerador_c16, denominador_c16) Dim m_c17 As New Fraction(numerador_c17, denominador_c17) Dim m_c18 As New Fraction(numerador_c18, denominador_c18) Dim m_c19 As New Fraction(numerador_c19, denominador_c19) Dim m_cfraccion1 As Fraction Dim m_cfraccion2 As Fraction Dim m_cfraccion3 As Fraction Dim m_cfraccion4 As Fraction Dim m_cfraccion6 As Fraction Dim m_cfraccion7 As Fraction Dim m_cfraccion8 As Fraction Dim m_cfraccion9 As Fraction Dim m_cfraccion11 As Fraction Dim m_cfraccion12 As Fraction Dim m_cfraccion13 As Fraction Dim m_cfraccion14 As Fraction Dim m_cfraccion16 As Fraction Dim m_cfraccion17 As Fraction Dim m_cfraccion18 As Fraction Dim m_cfraccion19 As Fraction m_cfraccion1 = m_c1 m_cfraccion2 = m_c2 m_cfraccion3 = m_c3 m_cfraccion4 = m_c4 m_cfraccion6 = m_c6

m_cfraccion7 = m_c7 m_cfraccion8 = m_c8 m_cfraccion9 = m_c9 m_cfraccion11 = m_c11 m_cfraccion12 = m_c12 m_cfraccion13 = m_c13 m_cfraccion14 = m_c14 m_cfraccion16 = m_c16 m_cfraccion17 = m_c17 m_cfraccion18 = m_c18 m_cfraccion19 = m_c19 'Multiplica el determinante de la matriz original 4x4 por la matriz adjunta, de modo que se obtiene la inversa de la matriz original. Dim m_cinversa1 As Fraction Dim m_cinversa2 As Fraction Dim m_cinversa3 As Fraction Dim m_cinversa4 As Fraction Dim m_cinversa6 As Fraction Dim m_cinversa7 As Fraction Dim m_cinversa8 As Fraction Dim m_cinversa9 As Fraction Dim m_cinversa11 As Fraction Dim m_cinversa12 As Fraction Dim m_cinversa13 As Fraction Dim m_cinversa14 As Fraction Dim m_cinversa16 As Fraction Dim m_cinversa17 As Fraction Dim m_cinversa18 As Fraction Dim m_cinversa19 As Fraction m_cinversa1 = inversadeterminante4x4 * m_cfraccion1 m_cinversa2 = inversadeterminante4x4 * m_cfraccion2 m_cinversa3 = inversadeterminante4x4 * m_cfraccion3 m_cinversa4 = inversadeterminante4x4 * m_cfraccion4 m_cinversa6 = inversadeterminante4x4 * m_cfraccion6 m_cinversa7 = inversadeterminante4x4 * m_cfraccion7 m_cinversa8 = inversadeterminante4x4 * m_cfraccion8 m_cinversa9 = inversadeterminante4x4 * m_cfraccion9 m_cinversa11 = inversadeterminante4x4 * m_cfraccion11 m_cinversa12 = inversadeterminante4x4 * m_cfraccion12 m_cinversa13 = inversadeterminante4x4 * m_cfraccion13 m_cinversa14 = inversadeterminante4x4 * m_cfraccion14 m_cinversa16 = inversadeterminante4x4 * m_cfraccion16 m_cinversa17 = inversadeterminante4x4 * m_cfraccion17 m_cinversa18 = inversadeterminante4x4 * m_cfraccion18 m_cinversa19 = inversadeterminante4x4 * m_cfraccion19 c1.Text = m_cinversa1.ToString c2.Text = m_cinversa2.ToString c3.Text = m_cinversa3.ToString c4.Text = m_cinversa4.ToString c6.Text = m_cinversa6.ToString c7.Text = m_cinversa7.ToString c8.Text = m_cinversa8.ToString c9.Text = m_cinversa9.ToString c11.Text = m_cinversa11.ToString c12.Text = m_cinversa12.ToString c13.Text = m_cinversa13.ToString c14.Text = m_cinversa14.ToString c16.Text = m_cinversa16.ToString c17.Text = m_cinversa17.ToString c18.Text = m_cinversa18.ToString c19.Text = m_cinversa19.ToString 'Posición (1,1) --> b1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1.

Dim longitudcadena_b1 As Integer = Len(b1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b1 As String = b1.Text Dim ultimos2caracteres_b1 As String ultimos2caracteres_b1 = Mid(b1.Text, longitudcadena_b1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b1 = "/1" Then entero_b1 = Mid(b1.Text, 1, longitudcadena_b1 - 2) End If If Mid(b1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b1 = "0" End If b1.Text = entero_b1 'Posición (1,2) --> b2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b2 As Integer = Len(b2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b2 As String = b2.Text Dim ultimos2caracteres_b2 As String ultimos2caracteres_b2 = Mid(b2.Text, longitudcadena_b2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b2 = "/1" Then entero_b2 = Mid(b2.Text, 1, longitudcadena_b2 - 2) End If If Mid(b2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b2 = "0" End If b2.Text = entero_b2 'Posición (1,3) --> b3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b3 As Integer = Len(b3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b3 As String = b3.Text Dim ultimos2caracteres_b3 As String ultimos2caracteres_b3 = Mid(b3.Text, longitudcadena_b3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b3 = "/1" Then entero_b3 = Mid(b3.Text, 1, longitudcadena_b3 - 2) End If If Mid(b3.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cer o. entero_b3 = "0" End If b3.Text = entero_b3 'Posición (1,4) --> b4. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b4 As Integer = Len(b4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b4 As String = b4.Text Dim ultimos2caracteres_b4 As String ultimos2caracteres_b4 = Mid(b4.Text, longitudcadena_b4 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b4 = "/1" Then entero_b4 = Mid(b4.Text, 1, longitudcadena_b4 - 2) End If If Mid(b4.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero.

entero_b4 = "0" End If b4.Text = entero_b4 'Posición (2,1) --> b6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b6 As Integer = Len(b6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b6 As String = b6.Text Dim ultimos2caracteres_b6 As String ultimos2caracteres_b6 = Mid(b6.Text, longitudcadena_b6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b6 = "/1" Then entero_b6 = Mid(b6.Text, 1, longitudcadena_b6 - 2) End If If Mid(b6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b6 = "0" End If b6.Text = entero_b6 'Posición (2,2) --> b7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b7 As Integer = Len(b7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b7 As String = b7.Text Dim ultimos2caracteres_b7 As String ultimos2caracteres_b7 = Mid(b7.Text, longitudcadena_b7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b7 = "/1" Then entero_b7 = Mid(b7.Text, 1, longitudcadena_b7 - 2) End If If Mid(b7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b7 = "0" End If b7.Text = entero_b7 'Posición (2,3) --> b8. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b8 As Integer = Len(b8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b8 As String = b8.Text Dim ultimos2caracteres_b8 As String ultimos2caracteres_b8 = Mid(b8.Text, longitudcadena_b8 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b8 = "/1" Then entero_b8 = Mid(b8.Text, 1, longitudcadena_b8 - 2) End If If Mid(b8.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b8 = "0" End If b8.Text = entero_b8 'Posición (2,4) --> b9. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b9 As Integer = Len(b9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b9 As String = b9.Text Dim ultimos2caracteres_b9 As String ultimos2caracteres_b9 = Mid(b9.Text, longitudcadena_b9 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son " /1", los elimine por tratarse de un número entero.

If ultimos2caracteres_b9 = "/1" Then entero_b9 = Mid(b9.Text, 1, longitudcadena_b9 - 2) End If If Mid(b9.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b9 = "0" End If b9.Text = entero_b9 'Posición (3,1) --> b11. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b11 As Integer = Len(b11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b11 As String = b11.Text Dim ultimos2caracteres_b11 As String ultimos2caracteres_b11 = Mid(b11.Text, longitudcadena_b11 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b11 = "/1" Then entero_b11 = Mid(b11.Text, 1, longitudcadena_b11 - 2) End If If Mid(b11.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b11 = "0" End If b11.Text = entero_b11 'Posición (3,2) --> b12. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b12 As Integer = Len(b12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b12 As String = b12.Text Dim ultimos2caracteres_b12 As String ultimos2caracteres_b12 = Mid(b12.Text, longitudcadena_b12 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b12 = "/1" Then entero_b12 = Mid(b12.Text, 1, longitudcadena_b12 - 2) End If If Mid(b12.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b12 = "0" End If b12.Text = entero_b12 'Posición (3,3) --> b13. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b13 As Integer = Len(b13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b13 As String = b13.Text Dim ultimos2caracteres_b13 As String ultimos2caracteres_b13 = Mid(b13.Text, longitudcadena_b13 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b13 = "/1" Then entero_b13 = Mid(b13.Text, 1, longitudcadena_b13 - 2) End If If Mid(b13.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b13 = "0" End If b13.Text = entero_b13 'Posición (3,4) --> b14. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b14 As Integer = Len(b14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim entero_b14 As String = b14.Text Dim ultimos2caracteres_b14 As String ultimos2caracteres_b14 = Mid(b14.Text, longitudcadena_b14 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b14 = "/1" Then entero_b14 = Mid(b14.Text, 1, longitudcadena_b14 - 2) End If If Mid(b14.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b14 = "0" End If b14.Text = entero_b14 'Posición (4,1) --> b16. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b16 As Integer = Len(b16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b16 As String = b16.Text Dim ultimos2caracteres_b16 As String ultimos2caracteres_b16 = Mid(b16.Text, longitudcadena_b16 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b16 = "/1" Then entero_b16 = Mid(b16.Text, 1, longitudcadena_b16 - 2) End If If Mid(b16.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b16 = "0" End If b16.Text = entero_b16 'Posición (4,2) --> b17. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b17 As Integer = Len(b17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b17 As String = b17.Text Dim ultimos2caracteres_b17 As String ultimos2caracteres_b17 = Mid(b17.Text, longitudcadena_b17 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b17 = "/1" Then entero_b17 = Mid(b17.Text, 1, longitudcadena_b17 - 2) End If If Mid(b17.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b17 = "0" End If b17.Text = entero_b17 'Posición (4,3) --> b18. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b18 As Integer = Len(b18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b18 As String = b18.Text Dim ultimos2caracteres_b18 As String ultimos2caracteres_b18 = Mid(b18.Text, longitudcadena_b18 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b18 = "/1" Then entero_b18 = Mid(b18.Text, 1, longitudcadena_b18 - 2) End If If Mid(b18.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b18 = "0" End If

b18.Text = entero_b18 'Posición (4,4) --> b19. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b19 As Integer = Len(b19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b19 As String = b19.Text Dim ultimos2caracteres_b19 As String ultimos2caracteres_b19 = Mid(b19.Text, longitudcadena_b19 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b19 = "/1" Then entero_b19 = Mid(b19.Text, 1, longitudcadena_b19 - 2) End If If Mid(b19.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b19 = "0" End If b19.Text = entero_b19 TextBox1.Text = determinante4x4.ToString TextBox2.Text = inversadeterminante4x4.ToString 'Determinante de la matriz 4x4. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_determinante4x4 As Integer = Len(TextBox1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_determinante4x4 As String = TextBox1.Text Dim ultimos2caracteres_determinante4x4 As String ultimos2caracteres_determinante4x4 = Mid(TextBox1.Text, longitudcadena_determinante4x4 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_determinante4x4 = "/1" Then entero_determinante4x4 = Mid(TextBox1.Text, 1, longitudcadena_determinante4x4 - 2) End If If Mid(TextBox1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_determinante4x4 = "0" End If 'Determinante inversa de la matriz 4x4. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_inversadeterminante4x4 As Integer = Len(TextBox2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_inversadeterminante4x4 As String = TextBox2.Text Dim ultimos2caracteres_inversadeterminante4x4 As String ultimos2caracteres_inversadeterminante4x4 = Mid(TextBox2.Text, longitudcadena_inversadeterminante4x4 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_inversadeterminante4x4 = "/1" Then entero_inversadeterminante4x4 = Mid(TextBox2.Text, 1, longitudcadena_inversadeterminante4x4 - 2) End If If Mid(TextBox2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_inversadeterminante4x4 = "0" End If TextBox1.Text = entero_determinante4x4.ToString 'Imprime el determinante de la matriz 2x2 en forma de entero. TextBox2.Text = entero_inversadeterminante4x4.ToString 'Imprime la determinante inversa de la matriz 2x2 en forma de entero. End If End If 'Proceso para la inversa de una matriz 5x5.

If (ComboBox1.SelectedItem = "Matriz 5x5") And (a1.Text <> "" And a2.Text <> "" And a3.Text <> "" And a4.Text <> "" And a5.Text <> "" And a6.Text <> "" And a7.Text <> "" And a8.Text <> "" And a9.Text <> "" And a10.Text <> "" And a11.Text <> "" And a12.Text <> "" And a13.Text <> "" And a14.Text <> "" And a15.Text <> "" And a16.Text <> "" And a17.Text <> "" And a18.Text <> "" And a19.Text <> "" And a20.Text <> "" And a21.Text <> "" And a22.Text <> "" And a23.Text <> "" And a24.Text <> "" And a25.Text <> "") Then TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. 'Si del Combobox se selecciona "Matriz 5x5" y si en la matriz original ya se han introducido valores, activa las celdas correspondientes. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = True 'Verdadero. a5.Visible = True 'Verdadero. a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = True 'Verdadero. a10.Visible = True 'Verdadero. a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero. a13.Visible = True 'Verdadero. a14.Visible = True 'Verdadero. a15.Visible = True 'Verdadero. a16.Visible = True 'Verdadero. a17.Visible = True 'Verdadero. a18.Visible = True 'Verdadero. a19.Visible = True 'Verdadero. a20.Visible = True 'Verdadero. a21.Visible = True 'Verdadero. a22.Visible = True 'Verdadero. a23.Visible = True 'Verdadero. a24.Visible = True 'Verdadero. a25.Visible = True 'Verdadero. b1.Visible = True 'Verdadero. b2.Visible = True 'Verdadero. b3.Visible = True 'Verdadero. b4.Visible = True 'Verdadero. b5.Visible = True 'Verdadero. b6.Visible = True 'Verdadero. b7.Visible = True 'Verdadero. b8.Visible = True 'Verdadero. b9.Visible = True 'Verdadero. b10.Visible = True 'Verdadero. b11.Visible = True 'Verdadero. b12.Visible = True 'Verdadero. b13.Visible = True 'Verdadero. b14.Visible = True 'Verdadero. b15.Visible = True 'Verdadero. b16.Visible = True 'Verdadero. b17.Visible = True 'Verdadero. b18.Visible = True 'Verdadero. b19.Visible = True 'Verdadero. b20.Visible = True 'Verdadero. b21.Visible = True 'Verdadero. b22.Visible = True 'Verdadero. b23.Visible = True 'Verdadero. b24.Visible = True 'Verdadero. b25.Visible = True 'Verdadero. c1.Visible = True 'Verdadero.

c2.Visible = True 'Verdadero. c3.Visible = True 'Verdadero. c4.Visible = True 'Verdadero. c5.Visible = True 'Verdadero. c6.Visible = True 'Verdadero. c7.Visible = True 'Verdadero. c8.Visible = True 'Verdadero. c9.Visible = True 'Verdadero. c10.Visible = True 'Verdadero. c11.Visible = True 'Verdadero. c12.Visible = True 'Verdadero. c13.Visible = True 'Verdadero. c14.Visible = True 'Verdadero. c15.Visible = True 'Verdadero. c16.Visible = True 'Verdadero. c17.Visible = True 'Verdadero. c18.Visible = True 'Verdadero. c19.Visible = True 'Verdadero. c20.Visible = True 'Verdadero. c21.Visible = True 'Verdadero. c22.Visible = True 'Verdadero. c23.Visible = True 'Verdadero. c24.Visible = True 'Verdadero. c25.Visible = True 'Verdadero. 'Verificar que no se hayan introducido valores incoherentes en la matriz original. Las únicas incoherencias posibles son varias plecas o plecas en posiciones incoherentes; o varios signos menos o signos menos en posiciones incoherentes. Lo demás está controlado por el KeyPress. Dim valoresinvalidosenmatrizoriginal As Integer = 0 'Si vale 0, no hay valores invalidos en la matriz original. Si vale 1, sí hay valores inválidos en la matriz original. 'Verificar si el valor es inválido en la posición (1,1) --> a1. Dim invalidolongitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a1 As Integer = 0 Dim invalidoposicionesmenos_a1 As Integer = 0 Dim invalidoposicionmenos_a1 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a1 As Integer = 0 Dim invalidoapareceonomenos_a1 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a1 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If invalidocaracterevaluado_a1 = "/" Then invalidoposicionpleca_a1 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a1 = invalidocontadorplecas_a1 + 1 End If If invalidocaracterevaluado_a1 = "-" Then invalidoposicionmenos_a1 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a1 = invalidocontadormenos_a1 + 1 End If Next If (invalidocontadorplecas_a1 > 1) Or (invalidocontadormenos_a1 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido.

invalidoconfirmado_a1 = 1 Else If (invalidoposicionpleca_a1 = 1) Or (invalidoposicionpleca_a1 = invalidolongitudcadena_a1) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a1 = 1 End If End If If (invalidocontadormenos_a1 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a1 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a1.Text, invalidoposicionmenos_a1 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a1 = 1 End If End If End If If Mid(a1.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a1 = 1 End If If a1.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a1 = 1 End If If invalidoconfirmado_a1 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,2) --> a2. Dim invalidolongitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a2 As Integer = 0 Dim invalidoposicionesmenos_a2 As Integer = 0 Dim invalidoposicionmenos_a2 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a2 As Integer = 0 Dim invalidoapareceonomenos_a2 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a2 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If invalidocaracterevaluado_a2 = "/" Then invalidoposicionpleca_a2 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a2 = invalidocontadorplecas_a2 + 1

End If If invalidocaracterevaluado_a2 = "-" Then invalidoposicionmenos_a2 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a2 = invalidocontadormenos_a2 + 1 End If Next If (invalidocontadorplecas_a2 > 1) Or (invalidocontadormenos_a2 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a2 = 1 Else If (invalidoposicionpleca_a2 = 1) Or (invalidoposicionpleca_a2 = invalidolongitudcadena_a2) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a2 = 1 End If End If If (invalidocontadormenos_a2 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a2 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a2.Text, invalidoposicionmenos_a2 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a2 = 1 End If End If End If If Mid(a2.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a2 = 1 End If If a2.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a2 = 1 End If If invalidoconfirmado_a2 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,3) --> a3. Dim invalidolongitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a3 As Integer = 0 Dim invalidoposicionesmenos_a3 As Integer = 0 Dim invalidoposicionmenos_a3 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a3 As Integer = 0 Dim invalidoapareceonomenos_a3 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero.

Dim invalidoconfirmado_a3 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If invalidocaracterevaluado_a3 = "/" Then invalidoposicionpleca_a3 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a3 = invalidocontadorplecas_a3 + 1 End If If invalidocaracterevaluado_a3 = "-" Then invalidoposicionmenos_a3 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a3 = invalidocontadormenos_a3 + 1 End If Next If (invalidocontadorplecas_a3 > 1) Or (invalidocontadormenos_a3 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a3 = 1 Else If (invalidoposicionpleca_a3 = 1) Or (invalidoposicionpleca_a3 = invalidolongitudcadena_a3) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a3 = 1 End If End If If (invalidocontadormenos_a3 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a3 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a3.Text, invalidoposicionmenos_a3 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a3 = 1 End If End If End If If Mid(a3.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a3 = 1 End If If a3.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a3 = 1 End If If invalidoconfirmado_a3 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,4) --> a4. Dim invalidolongitudcadena_a4 As Integer = Len(a4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a4 As String 'Para evaluar caracter por caracter con el Mid().

Dim invalidoposicionpleca_a4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a4 As Integer = 0 Dim invalidoposicionesmenos_a4 As Integer = 0 Dim invalidoposicionmenos_a4 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a4 As Integer = 0 Dim invalidoapareceonomenos_a4 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a4 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a4 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a4 = Mid(a4.Text, ciclo, 1) If invalidocaracterevaluado_a4 = "/" Then invalidoposicionpleca_a4 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a4 = invalidocontadorplecas_a4 + 1 End If If invalidocaracterevaluado_a4 = "-" Then invalidoposicionmenos_a4 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a4 = invalidocontadormenos_a4 + 1 End If Next If (invalidocontadorplecas_a4 > 1) Or (invalidocontadormenos_a4 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a4 = 1 Else If (invalidoposicionpleca_a4 = 1) Or (invalidoposicionpleca_a4 = invalidolongitudcadena_a4) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a4 = 1 End If End If If (invalidocontadormenos_a4 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a4 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a4.Text, invalidoposicionmenos_a4 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a4 = 1 End If End If End If If Mid(a4.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a4 = 1 End If If a4.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a4 = 1 End If

If invalidoconfirmado_a4 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,5) --> a5. Dim invalidolongitudcadena_a5 As Integer = Len(a5.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a5 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a5 As Integer 'Para determinar el número de l a posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a5 As Integer = 0 Dim invalidoposicionesmenos_a5 As Integer = 0 Dim invalidoposicionmenos_a5 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a5 As Integer = 0 Dim invalidoapareceonomenos_a5 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a5 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a5 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a5 = Mid(a5.Text, ciclo, 1) If invalidocaracterevaluado_a5 = "/" Then invalidoposicionpleca_a5 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a5 = invalidocontadorplecas_a5 + 1 End If If invalidocaracterevaluado_a5 = "-" Then invalidoposicionmenos_a5 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a5 = invalidocontadormenos_a5 + 1 End If Next If (invalidocontadorplecas_a5 > 1) Or (invalidocontadormenos_a5 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a5 = 1 Else If (invalidoposicionpleca_a5 = 1) Or (invalidoposicionpleca_a5 = invalidolongitudcadena_a5) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a5 = 1 End If End If If (invalidocontadormenos_a5 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a5 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a5.Text, invalidoposicionmenos_a5 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a5 = 1 End If End If

End If If Mid(a5.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a5 = 1 End If If a5.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a5 = 1 End If If invalidoconfirmado_a5 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,1) --> a6. Dim invalidolongitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a6 As Integer = 0 Dim invalidoposicionesmenos_a6 As Integer = 0 Dim invalidoposicionmenos_a6 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a6 As Integer = 0 Dim invalidoapareceonomenos_a6 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a6 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If invalidocaracterevaluado_a6 = "/" Then invalidoposicionpleca_a6 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a6 = invalidocontadorplecas_a6 + 1 End If If invalidocaracterevaluado_a6 = "-" Then invalidoposicionmenos_a6 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a6 = invalidocontadormenos_a6 + 1 End If Next If (invalidocontadorplecas_a6 > 1) Or (invalidocontadormenos_a6 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a6 = 1 Else If (invalidoposicionpleca_a6 = 1) Or (invalidoposicionpleca_a6 = invalidolongitudcadena_a6) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a6 = 1 End If End If If (invalidocontadormenos_a6 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a6 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a6.Text, invalidoposicionmenos_a6 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir

de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a6 = 1 End If End If End If If Mid(a6.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a6 = 1 End If If a6.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a6 = 1 End If If invalidoconfirmado_a6 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,2) --> a7. Dim invalidolongitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a7 As Integer = 0 Dim invalidoposicionesmenos_a7 As Integer = 0 Dim invalidoposicionmenos_a7 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a7 As Integer = 0 Dim invalidoapareceonomenos_a7 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a7 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If invalidocaracterevaluado_a7 = "/" Then invalidoposicionpleca_a7 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a7 = invalidocontadorplecas_a7 + 1 End If If invalidocaracterevaluado_a7 = "-" Then invalidoposicionmenos_a7 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a7 = invalidocontadormenos_a7 + 1 End If Next If (invalidocontadorplecas_a7 > 1) Or (invalidocontadormenos_a7 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a7 = 1 Else If (invalidoposicionpleca_a7 = 1) Or (invalidoposicionpleca_a7 = invalidolongitudcadena_a7) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a7 = 1 End If End If

If (invalidocontadormenos_a7 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a7 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a7.Text, invalidoposicionmenos_a7 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a7 = 1 End If End If End If If Mid(a7.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a7 = 1 End If If a7.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a7 = 1 End If If invalidoconfirmado_a7 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,3) --> a8. Dim invalidolongitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a8 As Integer = 0 Dim invalidoposicionesmenos_a8 As Integer = 0 Dim invalidoposicionmenos_a8 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a8 As Integer = 0 Dim invalidoapareceonomenos_a8 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a8 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If invalidocaracterevaluado_a8 = "/" Then invalidoposicionpleca_a8 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a8 = invalidocontadorplecas_a8 + 1 End If If invalidocaracterevaluado_a8 = "-" Then invalidoposicionmenos_a8 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a8 = invalidocontadormenos_a8 + 1 End If Next If (invalidocontadorplecas_a8 > 1) Or (invalidocontadormenos_a8 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido.

invalidoconfirmado_a8 = 1 Else If (invalidoposicionpleca_a8 = 1) Or (invalidoposicionpleca_a8 = invalidolongitudcadena_a8) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a8 = 1 End If End If If (invalidocontadormenos_a8 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a8 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a8.Text, invalidoposicionmenos_a8 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a8 = 1 End If End If End If If Mid(a8.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a8 = 1 End If If a8.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a8 = 1 End If If invalidoconfirmado_a8 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,4) --> a9. Dim invalidolongitudcadena_a9 As Integer = Len(a9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a9 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a9 As Integer = 0 Dim invalidoposicionesmenos_a9 As Integer = 0 Dim invalidoposicionmenos_a9 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a9 As Integer = 0 Dim invalidoapareceonomenos_a9 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a9 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a9 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a9 = Mid(a9.Text, ciclo, 1) If invalidocaracterevaluado_a9 = "/" Then invalidoposicionpleca_a9 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a9 = invalidocontadorplecas_a9 + 1

End If If invalidocaracterevaluado_a9 = "-" Then invalidoposicionmenos_a9 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a9 = invalidocontadormenos_a9 + 1 End If Next If (invalidocontadorplecas_a9 > 1) Or (invalidocontadormenos_a9 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a9 = 1 Else If (invalidoposicionpleca_a9 = 1) Or (invalidoposicionpleca_a9 = invalidolongitudcadena_a9) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a9 = 1 End If End If If (invalidocontadormenos_a9 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a9 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a9.Text, invalidoposicionmenos_a9 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a9 = 1 End If End If End If If Mid(a9.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a1 = 1 End If If a9.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a9 = 1 End If If invalidoconfirmado_a9 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,5) --> a10. Dim invalidolongitudcadena_a10 As Integer = Len(a10.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a10 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a10 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a10 As Integer = 0 Dim invalidoposicionesmenos_a10 As Integer = 0 Dim invalidoposicionmenos_a10 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a10 As Integer = 0 Dim invalidoapareceonomenos_a10 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero.

Dim invalidoconfirmado_a10 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a10 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a10 = Mid(a10.Text, ciclo, 1) If invalidocaracterevaluado_a10 = "/" Then invalidoposicionpleca_a10 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a10 = invalidocontadorplecas_a10 + 1 End If If invalidocaracterevaluado_a10 = "-" Then invalidoposicionmenos_a10 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a10 = invalidocontadormenos_a10 + 1 End If Next If (invalidocontadorplecas_a10 > 1) Or (invalidocontadormenos_a10 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a10 = 1 Else If (invalidoposicionpleca_a10 = 1) Or (invalidoposicionpleca_a10 = invalidolongitudcadena_a10) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a10 = 1 End If End If If (invalidocontadormenos_a10 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a10 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a10.Text, invalidoposicionmenos_a10 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a10 = 1 End If End If End If If Mid(a10.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a10 = 1 End If If a10.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a10 = 1 End If If invalidoconfirmado_a10 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,1) --> a11. Dim invalidolongitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid().

Dim invalidoposicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a11 As Integer = 0 Dim invalidoposicionesmenos_a11 As Integer = 0 Dim invalidoposicionmenos_a11 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a11 As Integer = 0 Dim invalidoapareceonomenos_a11 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a11 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If invalidocaracterevaluado_a11 = "/" Then invalidoposicionpleca_a11 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a11 = invalidocontadorplecas_a11 + 1 End If If invalidocaracterevaluado_a11 = "-" Then invalidoposicionmenos_a11 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a11 = invalidocontadormenos_a11 + 1 End If Next If (invalidocontadorplecas_a11 > 1) Or (invalidocontadormenos_a11 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a11 = 1 Else If (invalidoposicionpleca_a11 = 1) Or (invalidoposicionpleca_a11 = invalidolongitudcadena_a11) Then 'Si la pleca aparece como primer o como último c aracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a11 = 1 End If End If If (invalidocontadormenos_a11 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a11 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a11.Text, invalidoposicionmenos_a11 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a11 = 1 End If End If End If If Mid(a11.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a11 = 1 End If If a11.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a11 = 1 End If

If invalidoconfirmado_a11 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,2) --> a12. Dim invalidolongitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a12 As Integer = 0 Dim invalidoposicionesmenos_a12 As Integer = 0 Dim invalidoposicionmenos_a12 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a12 As Integer = 0 Dim invalidoapareceonomenos_a12 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a12 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If invalidocaracterevaluado_a12 = "/" Then invalidoposicionpleca_a12 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a12 = invalidocontadorplecas_a12 + 1 End If If invalidocaracterevaluado_a12 = "-" Then invalidoposicionmenos_a12 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a12 = invalidocontadormenos_a12 + 1 End If Next If (invalidocontadorplecas_a12 > 1) Or (invalidocontadormenos_a12 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a12 = 1 Else If (invalidoposicionpleca_a12 = 1) Or (invalidoposicionpleca_a12 = invalidolongitudcadena_a12) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a12 = 1 End If End If If (invalidocontadormenos_a12 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a12 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a12.Text, invalidoposicionmenos_a12 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le res ta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señ al de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a12 = 1 End If End If

End If If Mid(a12.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a12 = 1 End If If a12.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a12 = 1 End If If invalidoconfirmado_a12 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,3) --> a13. Dim invalidolongitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a13 As Integer = 0 Dim invalidoposicionesmenos_a13 As Integer = 0 Dim invalidoposicionmenos_a13 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a13 As Integer = 0 Dim invalidoapareceonomenos_a13 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a13 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If invalidocaracterevaluado_a13 = "/" Then invalidoposicionpleca_a13 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a13 = invalidocontadorplecas_a13 + 1 End If If invalidocaracterevaluado_a13 = "-" Then invalidoposicionmenos_a13 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a13 = invalidocontadormenos_a13 + 1 End If Next If (invalidocontadorplecas_a13 > 1) Or (invalidocontadormenos_a13 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a13 = 1 Else If (invalidoposicionpleca_a13 = 1) Or (invalidoposicionpleca_a13 = invalidolongitudcadena_a13) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a13 = 1 End If End If If (invalidocontadormenos_a13 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a13 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a13.Text, invalidoposicionmenos_a13 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir

de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a13 = 1 End If End If End If If Mid(a13.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a13 = 1 End If If a13.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a13 = 1 End If If invalidoconfirmado_a13 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,4) --> a14. Dim invalidolongitudcadena_a14 As Integer = Len(a14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a14 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a14 As Integer = 0 Dim invalidoposicionesmenos_a14 As Integer = 0 Dim invalidoposicionmenos_a14 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a14 As Integer = 0 Dim invalidoapareceonomenos_a14 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a14 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a14 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a14 = Mid(a14.Text, ciclo, 1) If invalidocaracterevaluado_a14 = "/" Then invalidoposicionpleca_a14 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a14 = invalidocontadorplecas_a14 + 1 End If If invalidocaracterevaluado_a14 = "-" Then invalidoposicionmenos_a14 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a14 = invalidocontadormenos_a14 + 1 End If Next If (invalidocontadorplecas_a14 > 1) Or (invalidocontadormenos_a14 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a14 = 1 Else If (invalidoposicionpleca_a14 = 1) Or (invalidoposicionpleca_a14 = invalidolongitudcadena_a14) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a14 = 1 End If End If

If (invalidocontadormenos_a14 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a14 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a14.Text, invalidoposicionmenos_a14 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a14 = 1 End If End If End If If Mid(a14.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a14 = 1 End If If a14.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a14 = 1 End If If invalidoconfirmado_a14 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,5) --> a15. Dim invalidolongitudcadena_a15 As Integer = Len(a15.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a15 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a15 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a15 As Integer = 0 Dim invalidoposicionesmenos_a15 As Integer = 0 Dim invalidoposicionmenos_a15 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a15 As Integer = 0 Dim invalidoapareceonomenos_a15 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a15 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a15 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a15 = Mid(a15.Text, ciclo, 1) If invalidocaracterevaluado_a15 = "/" Then invalidoposicionpleca_a15 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a15 = invalidocontadorplecas_a15 + 1 End If If invalidocaracterevaluado_a15 = "-" Then invalidoposicionmenos_a15 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a15 = invalidocontadormenos_a15 + 1 End If Next If (invalidocontadorplecas_a15 > 1) Or (invalidocontadormenos_a15 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido.

invalidoconfirmado_a15 = 1 Else If (invalidoposicionpleca_a15 = 1) Or (invalidoposicionpleca_a15 = invalidolongitudcadena_a15) Then 'Si la pleca aparece como primer o como último c aracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a15 = 1 End If End If If (invalidocontadormenos_a15 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a15 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a15.Text, invalidoposicionmenos_a15 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a15 = 1 End If End If End If If Mid(a15.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a15 = 1 End If If a15.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a15 = 1 End If If invalidoconfirmado_a15 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,1) --> a16. Dim invalidolongitudcadena_a16 As Integer = Len(a16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a16 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a16 As Integer = 0 Dim invalidoposicionesmenos_a16 As Integer = 0 Dim invalidoposicionmenos_a16 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a16 As Integer = 0 Dim invalidoapareceonomenos_a16 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a16 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a16 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a16 = Mid(a16.Text, ciclo, 1) If invalidocaracterevaluado_a16 = "/" Then invalidoposicionpleca_a16 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a16 = invalidocontadorplecas_a16 + 1

End If If invalidocaracterevaluado_a16 = "-" Then invalidoposicionmenos_a16 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a16 = invalidocontadormenos_a16 + 1 End If Next If (invalidocontadorplecas_a16 > 1) Or (invalidocontadormenos_a16 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a16 = 1 Else If (invalidoposicionpleca_a16 = 1) Or (invalidoposicionpleca_a16 = invalidolongitudcadena_a16) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a16 = 1 End If End If If (invalidocontadormenos_a16 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a16 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a16.Text, invalidoposicionmenos_a16 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le res ta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señ al de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a16 = 1 End If End If End If If Mid(a16.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a16 = 1 End If If a16.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a16 = 1 End If If invalidoconfirmado_a16 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,2) --> a17. Dim invalidolongitudcadena_a17 As Integer = Len(a17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a17 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a17 As Integer = 0 Dim invalidoposicionesmenos_a17 As Integer = 0 Dim invalidoposicionmenos_a17 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a17 As Integer = 0 Dim invalidoapareceonomenos_a17 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero.

Dim invalidoconfirmado_a17 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a17 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a17 = Mid(a17.Text, ciclo, 1) If invalidocaracterevaluado_a17 = "/" Then invalidoposicionpleca_a17 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a17 = invalidocontadorplecas_a17 + 1 End If If invalidocaracterevaluado_a17 = "-" Then invalidoposicionmenos_a17 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a17 = invalidocontadormenos_a17 + 1 End If Next If (invalidocontadorplecas_a17 > 1) Or (invalidocontadormenos_a17 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a17 = 1 Else If (invalidoposicionpleca_a17 = 1) Or (invalidoposicionpleca_a17 = invalidolongitudcadena_a17) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a17 = 1 End If End If If (invalidocontadormenos_a17 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a17 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a17.Text, invalidoposicionmenos_a17 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a17 = 1 End If End If End If If Mid(a17.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a17 = 1 End If If a17.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a17 = 1 End If If invalidoconfirmado_a17 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,3) --> a18. Dim invalidolongitudcadena_a18 As Integer = Len(a18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a18 As String 'Para evaluar caracter por caracter con el Mid().

Dim invalidoposicionpleca_a18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a18 As Integer = 0 Dim invalidoposicionesmenos_a18 As Integer = 0 Dim invalidoposicionmenos_a18 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a18 As Integer = 0 Dim invalidoapareceonomenos_a18 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a18 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a18 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a18 = Mid(a18.Text, ciclo, 1) If invalidocaracterevaluado_a18 = "/" Then invalidoposicionpleca_a18 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a18 = invalidocontadorplecas_a18 + 1 End If If invalidocaracterevaluado_a18 = "-" Then invalidoposicionmenos_a18 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a18 = invalidocontadormenos_a18 + 1 End If Next If (invalidocontadorplecas_a18 > 1) Or (invalidocontadormenos_a18 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a18 = 1 Else If (invalidoposicionpleca_a18 = 1) Or (invalidoposicionpleca_a18 = invalidolongitudcadena_a18) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a18 = 1 End If End If If (invalidocontadormenos_a18 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a18 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a18.Text, invalidoposicionmenos_a18 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a18 = 1 End If End If End If If Mid(a18.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a18 = 1 End If If a18.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a18 = 1 End If

If invalidoconfirmado_a18 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,4) --> a19. Dim invalidolongitudcadena_a19 As Integer = Len(a19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a19 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a19 As Integer = 0 Dim invalidoposicionesmenos_a19 As Integer = 0 Dim invalidoposicionmenos_a19 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a19 As Integer = 0 Dim invalidoapareceonomenos_a19 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a19 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a19 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a19 = Mid(a19.Text, ciclo, 1) If invalidocaracterevaluado_a19 = "/" Then invalidoposicionpleca_a19 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a19 = invalidocontadorplecas_a19 + 1 End If If invalidocaracterevaluado_a19 = "-" Then invalidoposicionmenos_a19 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a19 = invalidocontadormenos_a19 + 1 End If Next If (invalidocontadorplecas_a19 > 1) Or (invalidocontadormenos_a19 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a19 = 1 Else If (invalidoposicionpleca_a19 = 1) Or (invalidoposicionpleca_a19 = invalidolongitudcadena_a19) Then 'Si la pleca aparece como primer o como último c aracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a19 = 1 End If End If If (invalidocontadormenos_a19 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a19 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a19.Text, invalidoposicionmenos_a19 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a19 = 1 End If End If

End If If Mid(a19.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a19 = 1 End If If a19.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a19 = 1 End If If invalidoconfirmado_a19 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,5) --> a20. Dim invalidolongitudcadena_a20 As Integer = Len(a20.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a20 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a20 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a20 As Integer = 0 Dim invalidoposicionesmenos_a20 As Integer = 0 Dim invalidoposicionmenos_a20 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a20 As Integer = 0 Dim invalidoapareceonomenos_a20 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a20 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a20 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a20 = Mid(a20.Text, ciclo, 1) If invalidocaracterevaluado_a20 = "/" Then invalidoposicionpleca_a20 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a20 = invalidocontadorplecas_a20 + 1 End If If invalidocaracterevaluado_a20 = "-" Then invalidoposicionmenos_a20 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a20 = invalidocontadormenos_a20 + 1 End If Next If (invalidocontadorplecas_a20 > 1) Or (invalidocontadormenos_a20 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a20 = 1 Else If (invalidoposicionpleca_a20 = 1) Or (invalidoposicionpleca_a20 = invalidolongitudcadena_a20) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a20 = 1 End If End If If (invalidocontadormenos_a20 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a20 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a20.Text, invalidoposicionmenos_a20 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le res ta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir

de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señ al de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a20 = 1 End If End If End If If Mid(a20.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a20 = 1 End If If a20.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a20 = 1 End If If invalidoconfirmado_a20 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (5,1) --> a21. Dim invalidolongitudcadena_a21 As Integer = Len(a21.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a21 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a21 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a21 As Integer = 0 Dim invalidoposicionesmenos_a21 As Integer = 0 Dim invalidoposicionmenos_a21 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a21 As Integer = 0 Dim invalidoapareceonomenos_a21 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a21 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a21 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a21 = Mid(a21.Text, ciclo, 1) If invalidocaracterevaluado_a21 = "/" Then invalidoposicionpleca_a21 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a21 = invalidocontadorplecas_a21 + 1 End If If invalidocaracterevaluado_a21 = "-" Then invalidoposicionmenos_a21 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a21 = invalidocontadormenos_a21 + 1 End If Next If (invalidocontadorplecas_a21 > 1) Or (invalidocontadormenos_a21 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a21 = 1 Else If (invalidoposicionpleca_a21 = 1) Or (invalidoposicionpleca_a21 = invalidolongitudcadena_a21) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a21 = 1 End If End If

If (invalidocontadormenos_a21 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a21 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a21.Text, invalidoposicionmenos_a21 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a21 = 1 End If End If End If If Mid(a21.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a21 = 1 End If If a21.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a21 = 1 End If If invalidoconfirmado_a21 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (5,2) --> a22. Dim invalidolongitudcadena_a22 As Integer = Len(a22.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a22 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a22 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a22 As Integer = 0 Dim invalidoposicionesmenos_a22 As Integer = 0 Dim invalidoposicionmenos_a22 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a22 As Integer = 0 Dim invalidoapareceonomenos_a22 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a22 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a22 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a22 = Mid(a22.Text, ciclo, 1) If invalidocaracterevaluado_a22 = "/" Then invalidoposicionpleca_a22 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a22 = invalidocontadorplecas_a22 + 1 End If If invalidocaracterevaluado_a22 = "-" Then invalidoposicionmenos_a22 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a22 = invalidocontadormenos_a22 + 1 End If Next If (invalidocontadorplecas_a22 > 1) Or (invalidocontadormenos_a22 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido.

invalidoconfirmado_a22 = 1 Else If (invalidoposicionpleca_a22 = 1) Or (invalidoposicionpleca_a22 = invalidolongitudcadena_a22) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a22 = 1 End If End If If (invalidocontadormenos_a22 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a22 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a22.Text, invalidoposicionmenos_a22 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a22 = 1 End If End If End If If Mid(a22.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a22 = 1 End If If a22.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a22 = 1 End If If invalidoconfirmado_a22 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (5,3) --> a23. Dim invalidolongitudcadena_a23 As Integer = Len(a23.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a23 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a23 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a23 As Integer = 0 Dim invalidoposicionesmenos_a23 As Integer = 0 Dim invalidoposicionmenos_a23 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a23 As Integer = 0 Dim invalidoapareceonomenos_a23 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a23 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a23 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a23 = Mid(a23.Text, ciclo, 1) If invalidocaracterevaluado_a23 = "/" Then invalidoposicionpleca_a23 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a23 = invalidocontadorplecas_a23 + 1

End If If invalidocaracterevaluado_a23 = "-" Then invalidoposicionmenos_a23 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a23 = invalidocontadormenos_a23 + 1 End If Next If (invalidocontadorplecas_a23 > 1) Or (invalidocontadormenos_a23 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a23 = 1 Else If (invalidoposicionpleca_a23 = 1) Or (invalidoposicionpleca_a23 = invalidolongitudcadena_a23) Then 'Si la pleca aparece como primer o como último c aracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a23 = 1 End If End If If (invalidocontadormenos_a23 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a23 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a23.Text, invalidoposicionmenos_a23 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a23 = 1 End If End If End If If Mid(a23.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a23 = 1 End If If a23.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a23 = 1 End If If invalidoconfirmado_a23 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (5,4) --> a24. Dim invalidolongitudcadena_a24 As Integer = Len(a24.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a24 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a24 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a24 As Integer = 0 Dim invalidoposicionesmenos_a24 As Integer = 0 Dim invalidoposicionmenos_a24 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a24 As Integer = 0 Dim invalidoapareceonomenos_a24 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero.

Dim invalidoconfirmado_a24 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a24 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a24 = Mid(a24.Text, ciclo, 1) If invalidocaracterevaluado_a24 = "/" Then invalidoposicionpleca_a24 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a24 = invalidocontadorplecas_a24 + 1 End If If invalidocaracterevaluado_a24 = "-" Then invalidoposicionmenos_a24 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a24 = invalidocontadormenos_a24 + 1 End If Next If (invalidocontadorplecas_a24 > 1) Or (invalidocontadormenos_a24 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a24 = 1 Else If (invalidoposicionpleca_a24 = 1) Or (invalidoposicionpleca_a24 = invalidolongitudcadena_a24) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a24 = 1 End If End If If (invalidocontadormenos_a24 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a24 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a24.Text, invalidoposicionmenos_a24 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le res ta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señ al de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a24 = 1 End If End If End If If Mid(a24.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a24 = 1 End If If a24.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a24 = 1 End If If invalidoconfirmado_a24 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (5,5) --> a25. Dim invalidolongitudcadena_a25 As Integer = Len(a25.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a25 As String 'Para evaluar caracter por caracter con el Mid().

Dim invalidoposicionpleca_a25 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a25 As Integer = 0 Dim invalidoposicionesmenos_a25 As Integer = 0 Dim invalidoposicionmenos_a25 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a25 As Integer = 0 Dim invalidoapareceonomenos_a25 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a25 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a25 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a25 = Mid(a25.Text, ciclo, 1) If invalidocaracterevaluado_a25 = "/" Then invalidoposicionpleca_a25 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a25 = invalidocontadorplecas_a25 + 1 End If If invalidocaracterevaluado_a25 = "-" Then invalidoposicionmenos_a25 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a25 = invalidocontadormenos_a25 + 1 End If Next If (invalidocontadorplecas_a25 > 1) Or (invalidocontadormenos_a25 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a25 = 1 Else If (invalidoposicionpleca_a25 = 1) Or (invalidoposicionpleca_a25 = invalidolongitudcadena_a25) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a25 = 1 End If End If If (invalidocontadormenos_a25 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a25 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a25.Text, invalidoposicionmenos_a25 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a25 = 1 End If End If End If If Mid(a25.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a25 = 1 End If If a25.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a25 = 1 End If

If invalidoconfirmado_a25 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Si hay caracteres inválidos en la matriz original 5x5, se manda el mensaje correspondiente; de lo contrario se procede a hacer las evaluaciones. If valoresinvalidosenmatrizoriginal = 1 Then MsgBox("La matriz original contiene valores inválidos", MsgBoxStyle.OkOnly, "Inversa de matrices") Else 'Encontrar el numerador y el denominador de la posición (1,1)--> a1. Dim longitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If caracterevaluado_a1 = "/" Then posicionpleca_a1 = ciclo banderapleca_a1 = 1 End If Next If banderapleca_a1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a1 = Mid(a1.Text, 1, posicionpleca_a1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a1 = Mid(a1.Text, posicionpleca_a1 + 1, longitudcadena_a1 - posicionpleca_a1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a1 = Mid(a1.Text, 1, longitudcadena_a1) denominador_a1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> a2. Dim longitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If caracterevaluado_a2 = "/" Then posicionpleca_a2 = ciclo

banderapleca_a2 = 1 End If Next If banderapleca_a2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a2 = Mid(a2.Text, 1, posicionpleca_a2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a2 = Mid(a2.Text, posicionpleca_a2 + 1, longitudcadena_a2 - posicionpleca_a2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a2 = Mid(a2.Text, 1, longitudcadena_a2) denominador_a2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> a3. Dim longitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If caracterevaluado_a3 = "/" Then posicionpleca_a3 = ciclo banderapleca_a3 = 1 End If Next If banderapleca_a3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a3 = Mid(a3.Text, 1, posicionpleca_a3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a3 = Mid(a3.Text, posicionpleca_a3 + 1, longitudcadena_a3 - posicionpleca_a3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a3 = Mid(a3.Text, 1, longitudcadena_a3) denominador_a3 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,4)--> a4. Dim longitudcadena_a4 As Integer = Len(a4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a4 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a4 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a4 As String 'Almacena el denominador del Textbox que se está evaluando.

Dim banderapleca_a4 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a4 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a4 = Mid(a4.Text, ciclo, 1) If caracterevaluado_a4 = "/" Then posicionpleca_a4 = ciclo banderapleca_a4 = 1 End If Next If banderapleca_a4 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a4 = Mid(a4.Text, 1, posicionpleca_a4 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a4 = Mid(a4.Text, posicionpleca_a4 + 1, longitudcadena_a4 - posicionpleca_a4) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a4 = Mid(a4.Text, 1, longitudcadena_a4) denominador_a4 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,5)--> a5. Dim longitudcadena_a5 As Integer = Len(a5.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a5 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a5 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a5 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a5 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a5 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a5 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a5 = Mid(a5.Text, ciclo, 1) If caracterevaluado_a5 = "/" Then posicionpleca_a5 = ciclo banderapleca_a5 = 1 End If Next If banderapleca_a5 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a5 = Mid(a5.Text, 1, posicionpleca_a5 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a5 = Mid(a5.Text, posicionpleca_a5 + 1, longitudcadena_a5 - posicionpleca_a5) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a5 = Mid(a5.Text, 1, longitudcadena_a5) denominador_a5 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> a6. Dim longitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim caracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If caracterevaluado_a6 = "/" Then posicionpleca_a6 = ciclo banderapleca_a6 = 1 End If Next If banderapleca_a6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a6 = Mid(a6.Text, 1, posicionpleca_a6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a6 = Mid(a6.Text, posicionpleca_a6 + 1, longitudcadena_a6 - posicionpleca_a6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a6 = Mid(a6.Text, 1, longitudcadena_a6) denominador_a6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> a7. Dim longitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If caracterevaluado_a7 = "/" Then posicionpleca_a7 = ciclo banderapleca_a7 = 1 End If Next If banderapleca_a7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a7 = Mid(a7.Text, 1, posicionpleca_a7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a7 = Mid(a7.Text, posicionpleca_a7 + 1, longitudcadena_a7 - posicionpleca_a7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos

ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a7 = Mid(a7.Text, 1, longitudcadena_a7) denominador_a7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> a8. Dim longitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If caracterevaluado_a8 = "/" Then posicionpleca_a8 = ciclo banderapleca_a8 = 1 End If Next If banderapleca_a8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a8 = Mid(a8.Text, 1, posicionpleca_a8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a8 = Mid(a8.Text, posicionpleca_a8 + 1, longitudcadena_a8 - posicionpleca_a8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a8 = Mid(a8.Text, 1, longitudcadena_a8) denominador_a8 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,4)--> a9. Dim longitudcadena_a9 As Integer = Len(a9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a9 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a9 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a9 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a9 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a9 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a9 = Mid(a9.Text, ciclo, 1) If caracterevaluado_a9 = "/" Then posicionpleca_a9 = ciclo banderapleca_a9 = 1 End If Next If banderapleca_a9 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario.

numerador_a9 = Mid(a9.Text, 1, posicionpleca_a9 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a9 = Mid(a9.Text, posicionpleca_a9 + 1, longitudcadena_a9 - posicionpleca_a9) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a9 = Mid(a9.Text, 1, longitudcadena_a9) denominador_a9 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,5)--> a10. Dim longitudcadena_a10 As Integer = Len(a10.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a10 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a10 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a10 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a10 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a10 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a10 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a10 = Mid(a10.Text, ciclo, 1) If caracterevaluado_a10 = "/" Then posicionpleca_a10 = ciclo banderapleca_a10 = 1 End If Next If banderapleca_a10 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a10 = Mid(a10.Text, 1, posicionpleca_a10 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a10 = Mid(a10.Text, posicionpleca_a10 + 1, longitudcadena_a10 - posicionpleca_a10) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a10 = Mid(a10.Text, 1, longitudcadena_a10) denominador_a10 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> a11. Dim longitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a11 = Mid(a11.Text, ciclo, 1)

If caracterevaluado_a11 = "/" Then posicionpleca_a11 = ciclo banderapleca_a11 = 1 End If Next If banderapleca_a11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a11 = Mid(a11.Text, 1, posicionpleca_a11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a11 = Mid(a11.Text, posicionpleca_a11 + 1, longitudcadena_a11 - posicionpleca_a11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a11 = Mid(a11.Text, 1, longitudcadena_a11) denominador_a11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> a12. Dim longitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If caracterevaluado_a12 = "/" Then posicionpleca_a12 = ciclo banderapleca_a12 = 1 End If Next If banderapleca_a12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a12 = Mid(a12.Text, 1, posicionpleca_a12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a12 = Mid(a12.Text, posicionpleca_a12 + 1, longitudcadena_a12 - posicionpleca_a12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a12 = Mid(a12.Text, 1, longitudcadena_a12) denominador_a12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> a13. Dim longitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a13 As String 'Almacena el numerador del Textbox que se está evaluando.

Dim denominador_a13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If caracterevaluado_a13 = "/" Then posicionpleca_a13 = ciclo banderapleca_a13 = 1 End If Next If banderapleca_a13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a13 = Mid(a13.Text, 1, posicionpleca_a13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a13 = Mid(a13.Text, posicionpleca_a13 + 1, longitudcadena_a13 - posicionpleca_a13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a13 = Mid(a13.Text, 1, longitudcadena_a13) denominador_a13 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,4)--> a14. Dim longitudcadena_a14 As Integer = Len(a14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a14 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a14 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a14 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a14 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a14 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a14 = Mid(a14.Text, ciclo, 1) If caracterevaluado_a14 = "/" Then posicionpleca_a14 = ciclo banderapleca_a14 = 1 End If Next If banderapleca_a14 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a14 = Mid(a14.Text, 1, posicionpleca_a14 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a14 = Mid(a14.Text, posicionpleca_a14 + 1, longitudcadena_a14 - posicionpleca_a14) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a14 = Mid(a14.Text, 1, longitudcadena_a14) denominador_a14 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,5)--> a15.

Dim longitudcadena_a15 As Integer = Len(a15.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a15 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a15 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a15 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a15 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a15 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a15 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a15 = Mid(a15.Text, ciclo, 1) If caracterevaluado_a15 = "/" Then posicionpleca_a15 = ciclo banderapleca_a15 = 1 End If Next If banderapleca_a15 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a15 = Mid(a15.Text, 1, posicionpleca_a15 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a15 = Mid(a15.Text, posicionpleca_a15 + 1, longitudcadena_a15 - posicionpleca_a15) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden m eter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a15 = Mid(a15.Text, 1, longitudcadena_a15) denominador_a15 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,1)--> a16. Dim longitudcadena_a16 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a16 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a16 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a16 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a16 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a16 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a16 = Mid(a16.Text, ciclo, 1) If caracterevaluado_a16 = "/" Then posicionpleca_a16 = ciclo banderapleca_a16 = 1 End If Next If banderapleca_a16 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a16 = Mid(a16.Text, 1, posicionpleca_a16 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a16 = Mid(a16.Text, posicionpleca_a16 + 1, longitudcadena_a16 - posicionpleca_a16) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena.

Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a16 = Mid(a16.Text, 1, longitudcadena_a16) denominador_a16 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,2)--> a17. Dim longitudcadena_a17 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a17 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a17 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a17 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a17 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a17 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a17 = Mid(a17.Text, ciclo, 1) If caracterevaluado_a17 = "/" Then posicionpleca_a17 = ciclo banderapleca_a17 = 1 End If Next If banderapleca_a17 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a17 = Mid(a17.Text, 1, posicionpleca_a17 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a17 = Mid(a17.Text, posicionpleca_a17 + 1, longitudcadena_a17 - posicionpleca_a17) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a17 = Mid(a17.Text, 1, longitudcadena_a17) denominador_a17 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,3)--> a18. Dim longitudcadena_a18 As Integer = Len(a18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a18 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a18 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a18 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a18 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a18 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a18 = Mid(a18.Text, ciclo, 1) If caracterevaluado_a18 = "/" Then posicionpleca_a18 = ciclo banderapleca_a18 = 1 End If Next

If banderapleca_a18 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a18 = Mid(a18.Text, 1, posicionpleca_a18 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a18 = Mid(a18.Text, posicionpleca_a18 + 1, longitudcadena_a18 - posicionpleca_a18) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a18 = Mid(a18.Text, 1, longitudcadena_a18) denominador_a18 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,4)--> a19. Dim longitudcadena_a19 As Integer = Len(a19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a19 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a19 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a19 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a19 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a19 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a19 = Mid(a19.Text, ciclo, 1) If caracterevaluado_a19 = "/" Then posicionpleca_a19 = ciclo banderapleca_a19 = 1 End If Next If banderapleca_a19 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a19 = Mid(a19.Text, 1, posicionpleca_a19 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a19 = Mid(a19.Text, posicionpleca_a19 + 1, longitudcadena_a19 - posicionpleca_a19) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a19 = Mid(a19.Text, 1, longitudcadena_a19) denominador_a19 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,5)--> a20. Dim longitudcadena_a20 As Integer = Len(a20.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a20 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a20 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a20 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a20 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a20 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_a20 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a20 = Mid(a20.Text, ciclo, 1) If caracterevaluado_a20 = "/" Then posicionpleca_a20 = ciclo banderapleca_a20 = 1 End If Next If banderapleca_a20 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a20 = Mid(a20.Text, 1, posicionpleca_a20 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a20 = Mid(a20.Text, posicionpleca_a20 + 1, longitudcadena_a20 - posicionpleca_a20) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a20 = Mid(a20.Text, 1, longitudcadena_a20) denominador_a20 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,1)--> a21. Dim longitudcadena_a21 As Integer = Len(a21.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a21 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a21 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a21 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a21 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a21 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a21 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a21 = Mid(a21.Text, ciclo, 1) If caracterevaluado_a21 = "/" Then posicionpleca_a21 = ciclo banderapleca_a21 = 1 End If Next If banderapleca_a21 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a21 = Mid(a21.Text, 1, posicionpleca_a21 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a21 = Mid(a21.Text, posicionpleca_a21 + 1, longitudcadena_a21 - posicionpleca_a21) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a21 = Mid(a21.Text, 1, longitudcadena_a21) denominador_a21 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,2)--> a22. Dim longitudcadena_a22 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a22 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_a22 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a22 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a22 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a22 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a22 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a22 = Mid(a22.Text, ciclo, 1) If caracterevaluado_a22 = "/" Then posicionpleca_a22 = ciclo banderapleca_a22 = 1 End If Next If banderapleca_a22 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a22 = Mid(a22.Text, 1, posicionpleca_a22 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a22 = Mid(a22.Text, posicionpleca_a22 + 1, longitudcadena_a22 - posicionpleca_a22) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a22 = Mid(a22.Text, 1, longitudcadena_a22) denominador_a22 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,3)--> a23. Dim longitudcadena_a23 As Integer = Len(a23.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a23 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a23 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a23 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a23 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a23 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a23 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a23 = Mid(a23.Text, ciclo, 1) If caracterevaluado_a23 = "/" Then posicionpleca_a23 = ciclo banderapleca_a23 = 1 End If Next If banderapleca_a23 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a23 = Mid(a23.Text, 1, posicionpleca_a23 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a23 = Mid(a23.Text, posicionpleca_a23 + 1, longitudcadena_a23 - posicionpleca_a23) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a23 = Mid(a23.Text, 1, longitudcadena_a23)

denominador_a23 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,4)--> a24. Dim longitudcadena_a24 As Integer = Len(a24.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a24 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a24 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a24 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a24 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a24 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a24 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a24 = Mid(a24.Text, ciclo, 1) If caracterevaluado_a24 = "/" Then posicionpleca_a24 = ciclo banderapleca_a24 = 1 End If Next If banderapleca_a24 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a24 = Mid(a24.Text, 1, posicionpleca_a24 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a24 = Mid(a24.Text, posicionpleca_a24 + 1, longitudcadena_a24 - posicionpleca_a24) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a24 = Mid(a24.Text, 1, longitudcadena_a24) denominador_a24 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,5)--> a25. Dim longitudcadena_a25 As Integer = Len(a25.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a25 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a25 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a25 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a25 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a25 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a25 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a25 = Mid(a25.Text, ciclo, 1) If caracterevaluado_a25 = "/" Then posicionpleca_a25 = ciclo banderapleca_a25 = 1 End If Next If banderapleca_a25 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a25 = Mid(a25.Text, 1, posicionpleca_a25 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_a25 = Mid(a25.Text, posicionpleca_a25 + 1, longitudcadena_a25 - posicionpleca_a25) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a25 = Mid(a25.Text, 1, longitudcadena_a25) denominador_a25 = 1 End If 'Determina la matriz 5x5 de cofactores. Dim m_a1 As New Fraction(numerador_a1, denominador_a1) Dim m_a2 As New Fraction(numerador_a2, denominador_a2) Dim m_a3 As New Fraction(numerador_a3, denominador_a3) Dim m_a4 As New Fraction(numerador_a4, denominador_a4) Dim m_a5 As New Fraction(numerador_a5, denominador_a5) Dim m_a6 As New Fraction(numerador_a6, denominador_a6) Dim m_a7 As New Fraction(numerador_a7, denominador_a7) Dim m_a8 As New Fraction(numerador_a8, denominador_a8) Dim m_a9 As New Fraction(numerador_a9, denominador_a9) Dim m_a10 As New Fraction(numerador_a10, denominador_a10) Dim m_a11 As New Fraction(numerador_a11, denominador_a11) Dim m_a12 As New Fraction(numerador_a12, denominador_a12) Dim m_a13 As New Fraction(numerador_a13, denominador_a13) Dim m_a14 As New Fraction(numerador_a14, denominador_a14) Dim m_a15 As New Fraction(numerador_a15, denominador_a15) Dim m_a16 As New Fraction(numerador_a16, denominador_a16) Dim m_a17 As New Fraction(numerador_a17, denominador_a17) Dim m_a18 As New Fraction(numerador_a18, denominador_a18) Dim m_a19 As New Fraction(numerador_a19, denominador_a19) Dim m_a20 As New Fraction(numerador_a20, denominador_a20) Dim m_a21 As New Fraction(numerador_a21, denominador_a21) Dim m_a22 As New Fraction(numerador_a22, denominador_a22) Dim m_a23 As New Fraction(numerador_a23, denominador_a23) Dim m_a24 As New Fraction(numerador_a24, denominador_a24) Dim m_a25 As New Fraction(numerador_a25, denominador_a25) Dim menos1 As New Fraction(-1, 1) 'Para multiplicar un objeto Fraction por -1. Dim m_b1 As Fraction Dim m_b2 As Fraction Dim m_b3 As Fraction Dim m_b4 As Fraction Dim m_b5 As Fraction Dim m_b6 As Fraction Dim m_b7 As Fraction Dim m_b8 As Fraction Dim m_b9 As Fraction Dim m_b10 As Fraction Dim m_b11 As Fraction Dim m_b12 As Fraction Dim m_b13 As Fraction Dim m_b14 As Fraction Dim m_b15 As Fraction Dim m_b16 As Fraction Dim m_b17 As Fraction Dim m_b18 As Fraction Dim m_b19 As Fraction Dim m_b20 As Fraction Dim m_b21 As Fraction Dim m_b22 As Fraction Dim m_b23 As Fraction Dim m_b24 As Fraction Dim m_b25 As Fraction

m_b1 = m_a7 * (m_a13 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a15 * ((m_a18) * (m_a24) - (m_a19) * (m_a23))) - m_a8 * (m_a12 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) + m_a9 * (m_a12 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a10 * (m_a12 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a14 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) m_b2 = menos1 * (m_a6 * (m_a13 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a15 * ((m_a18) * (m_a24) - (m_a19) * (m_a23))) - m_a8 * (m_a11 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a9 * (m_a11 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) - m_a10 * (m_a11 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)))) m_b3 = m_a6 * (m_a12 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) - m_a7 * (m_a11 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a9 * (m_a11 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) - m_a12 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a10 * (m_a11 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) - m_a12 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) m_b4 = menos1 * (m_a6 * (m_a12 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a7 * (m_a11 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a8 * (m_a11 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) - m_a12 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a10 * (m_a11 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)) - m_a12 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a13 * ((m_a16) * (m_a22) - (m_a17) * (m_a21)))) m_b5 = m_a6 * (m_a12 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a14 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a7 * (m_a11 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a8 * (m_a11 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) - m_a12 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a9 * (m_a11 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)) - m_a12 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a13 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) m_b6 = menos1 * (m_a2 * (m_a13 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a15 * ((m_a18) * (m_a24) - (m_a19) * (m_a23))) - m_a3 * (m_a12 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) + m_a4 * (m_a12 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a5 * (m_a12 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a14 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)))) m_b7 = m_a1 * (m_a13 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a15 * ((m_a18) * (m_a24) - (m_a19) * (m_a23))) - m_a3 * (m_a11 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a4 * (m_a11 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) - m_a5 * (m_a11 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) m_b8 = menos1 * (m_a1 * (m_a12 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) - m_a2 * (m_a11 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a4 * (m_a11 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) - m_a12 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a5 * (m_a11 * ((m_a17)

* (m_a24) - (m_a19) * (m_a22)) - m_a12 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a22) - (m_a17) * (m_a21)))) m_b9 = m_a1 * (m_a12 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a2 * (m_a11 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a3 * (m_a11 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) - m_a12 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a5 * (m_a11 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)) - m_a12 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a13 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) m_b10 = menos1 * (m_a1 * (m_a12 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a14 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a2 * (m_a11 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a3 * (m_a11 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) - m_a12 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a4 * (m_a11 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)) - m_a12 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a13 * ((m_a16) * (m_a22) - (m_a17) * (m_a21)))) m_b11 = m_a2 * (m_a8 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a9 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a10 * ((m_a18) * (m_a24) - (m_a19) * (m_a23))) - m_a3 * (m_a7 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a9 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a10 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) + m_a4 * (m_a7 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a8 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a10 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a5 * (m_a7 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a8 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a9 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) m_b12 = menos1 * (m_a1 * (m_a8 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a9 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a10 * ((m_a18) * (m_a24) - (m_a19) * (m_a23))) - m_a3 * (m_a6 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a9 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a10 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a4 * (m_a6 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a8 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a10 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) - m_a5 * (m_a6 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a8 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a9 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)))) m_b13 = m_a1 * (m_a7 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a9 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a10 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) - m_a2 * (m_a6 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a9 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a10 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a4 * (m_a6 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) - m_a7 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a10 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a5 * (m_a6 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) - m_a7 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a9 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) m_b14 = menos1 * (m_a1 * (m_a7 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a8 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a10 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a2 * (m_a6 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a8 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a10 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a3 * (m_a6 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) - m_a7 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a10 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a5 * (m_a6 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)) - m_a7 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a8 * ((m_a16) * (m_a22) - (m_a17) * (m_a21)))) m_b15 = m_a1 * (m_a7 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a8 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a9 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a2 * (m_a6 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a8 * ((m_a16) * (m_a24) (m_a19) * (m_a21)) + m_a9 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a3 * (m_a6 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) - m_a7 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a9 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a4 * (m_a6 * ((m_a17) * (m_a23) (m_a18) * (m_a22)) - m_a7 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a8 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) m_b16 = menos1 * (m_a2 * (m_a8 * ((m_a14) * (m_a25) - (m_a15) * (m_a24)) - m_a9 * ((m_a13) * (m_a25) - (m_a15) * (m_a23)) + m_a10 * ((m_a13) * (m_a24) - (m_a14) * (m_a23))) - m_a3 * (m_a7 * ((m_a14) * (m_a25) - (m_a15) * (m_a24)) - m_a9 * ((m_a12) * (m_a25) - (m_a15) * (m_a22)) + m_a10 * ((m_a12) * (m_a24) - (m_a14) * (m_a22))) + m_a4 * (m_a7 * ((m_a13) * (m_a25) - (m_a15) * (m_a23)) - m_a8 * ((m_a12) * (m_a25) - (m_a15) *

(m_a22)) + m_a10 * ((m_a12) * (m_a23) - (m_a13) * (m_a22))) - m_a5 * (m_a7 * ((m_a13) * (m_a24) - (m_a14) * (m_a23)) - m_a8 * ((m_a12) * (m_a24) - (m_a14) * (m_a22)) + m_a9 * ((m_a12) * (m_a23) - (m_a13) * (m_a22)))) m_b17 = m_a1 * (m_a8 * ((m_a14) * (m_a25) - (m_a15) * (m_a24)) - m_a9 * ((m_a13) * (m_a25) - (m_a15) * (m_a23)) + m_a10 * ((m_a13) * (m_a24) - (m_a14) * (m_a23))) - m_a3 * (m_a6 * ((m_a14) * (m_a25) - (m_a15) * (m_a24)) - m_a9 * ((m_a11) * (m_a25) - (m_a15) * (m_a21)) + m_a10 * ((m_a11) * (m_a24) - (m_a14) * (m_a21))) + m_a4 * (m_a6 * ((m_a13) * (m_a25) - (m_a15) * (m_a23)) - m_a8 * ((m_a11) * (m_a25) - (m_a15) * (m_a21)) + m_a10 * ((m_a11) * (m_a23) - (m_a13) * (m_a21))) - m_a5 * (m_a6 * ((m_a13) * (m_a24) - (m_a14) * (m_a23)) - m_a8 * ((m_a11) * (m_a24) - (m_a14) * (m_a21)) + m_a9 * ((m_a11) * (m_a23) - (m_a13) * (m_a21))) m_b18 = menos1 * (m_a1 * (m_a7 * ((m_a14) * (m_a25) - (m_a15) * (m_a24)) - m_a9 * ((m_a12) * (m_a25) - (m_a15) * (m_a22)) + m_a10 * ((m_a12) * (m_a24) - (m_a14) * (m_a22))) - m_a2 * (m_a6 * ((m_a14) * (m_a25) - (m_a15) * (m_a24)) - m_a9 * ((m_a11) * (m_a25) - (m_a15) * (m_a21)) + m_a10 * ((m_a11) * (m_a24) - (m_a14) * (m_a21))) + m_a4 * (m_a6 * ((m_a12) * (m_a25) - (m_a15) * (m_a22)) - m_a7 * ((m_a11) * (m_a25) - (m_a15) * (m_a21)) + m_a10 * ((m_a11) * (m_a22) - (m_a12) * (m_a21))) - m_a5 * (m_a6 * ((m_a12) * (m_a24) - (m_a14) * (m_a22)) - m_a7 * ((m_a11) * (m_a24) - (m_a14) * (m_a21)) + m_a9 * ((m_a11) * (m_a22) - (m_a12) * (m_a21)))) m_b19 = m_a1 * (m_a7 * ((m_a13) * (m_a25) - (m_a15) * (m_a23)) - m_a8 * ((m_a12) * (m_a25) - (m_a15) * (m_a22)) + m_a10 * ((m_a12) * (m_a23) - (m_a13) * (m_a22))) - m_a2 * (m_a6 * ((m_a13) * (m_a25) - (m_a15) * (m_a23)) - m_a8 * ((m_a11) * (m_a25) - (m_a15) * (m_a21)) + m_a10 * ((m_a11) * (m_a23) - (m_a13) * (m_a21))) + m_a3 * (m_a6 * ((m_a12) * (m_a25) - (m_a15) * (m_a22)) - m_a7 * ((m_a11) * (m_a25) - (m_a15) * (m_a21)) + m_a10 * ((m_a11) * (m_a22) - (m_a12) * (m_a21))) - m_a5 * (m_a6 * ((m_a12) * (m_a23) - (m_a13) * (m_a22)) - m_a7 * ((m_a11) * (m_a23) - (m_a13) * (m_a21)) + m_a8 * ((m_a11) * (m_a22) - (m_a12) * (m_a21))) m_b20 = menos1 * (m_a1 * (m_a7 * ((m_a13) * (m_a24) - (m_a14) * (m_a23)) - m_a8 * ((m_a12) * (m_a24) - (m_a14) * (m_a22)) + m_a9 * ((m_a12) * (m_a23) - (m_a13) * (m_a22))) - m_a2 * (m_a6 * ((m_a13) * (m_a24) - (m_a14) * (m_a23)) - m_a8 * ((m_a11) * (m_a24) - (m_a14) * (m_a21)) + m_a9 * ((m_a11) * (m_a23) - (m_a13) * (m_a21))) + m_a3 * (m_a6 * ((m_a12) * (m_a24) - (m_a14) * (m_a22)) - m_a7 * ((m_a11) * (m_a24) - (m_a14) * (m_a21)) + m_a9 * ((m_a11) * (m_a22) - (m_a12) * (m_a21))) - m_a4 * (m_a6 * ((m_a12) * (m_a23) - (m_a13) * (m_a22)) - m_a7 * ((m_a11) * (m_a23) - (m_a13) * (m_a21)) + m_a8 * ((m_a11) * (m_a22) - (m_a12) * (m_a21)))) m_b21 = m_a2 * (m_a8 * ((m_a14) * (m_a20) - (m_a15) * (m_a19)) - m_a9 * ((m_a13) * (m_a20) - (m_a15) * (m_a18)) + m_a10 * ((m_a13) * (m_a19) - (m_a14) * (m_a18))) - m_a3 * (m_a7 * ((m_a14) * (m_a20) - (m_a15) * (m_a19)) - m_a9 * ((m_a12) * (m_a20) - (m_a15) * (m_a17)) + m_a10 * ((m_a12) * (m_a19) - (m_a14) * (m_a17))) + m_a4 * (m_a7 * ((m_a13) * (m_a20) - (m_a15) * (m_a18)) - m_a8 * ((m_a12) * (m_a20) - (m_a15) * (m_a17)) + m_a10 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) - m_a5 * (m_a7 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a9 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) m_b22 = menos1 * (m_a1 * (m_a8 * ((m_a14) * (m_a20) - (m_a15) * (m_a19)) - m_a9 * ((m_a13) * (m_a20) - (m_a15) * (m_a18)) + m_a10 * ((m_a13) * (m_a19) - (m_a14) * (m_a18))) - m_a3 * (m_a6 * ((m_a14) * (m_a20) - (m_a15) * (m_a19)) - m_a9 * ((m_a11) * (m_a20) - (m_a15) * (m_a16)) + m_a10 * ((m_a11) * (m_a19) - (m_a14) * (m_a16))) + m_a4 * (m_a6 * ((m_a13) * (m_a20) - (m_a15) * (m_a18)) - m_a8 * ((m_a11) * (m_a20) - (m_a15) * (m_a16)) + m_a10 * ((m_a11) * (m_a18) - (m_a13) * (m_a16))) - m_a5 * (m_a6 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)))) m_b23 = m_a1 * (m_a7 * ((m_a14) * (m_a20) - (m_a15) * (m_a19)) - m_a9 * ((m_a12) * (m_a20) - (m_a15) * (m_a17)) + m_a10 * ((m_a12) * (m_a19) - (m_a14) * (m_a17))) - m_a2 * (m_a6 * ((m_a14) * (m_a20) - (m_a15) * (m_a19)) - m_a9 * ((m_a11) * (m_a20) - (m_a15) * (m_a16)) + m_a10 * ((m_a11) * (m_a19) - (m_a14) * (m_a16))) + m_a4 * (m_a6 * ((m_a12) * (m_a20) - (m_a15) * (m_a17)) - m_a7 * ((m_a11) * (m_a20) - (m_a15) * (m_a16)) + m_a10 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) - m_a5 * (m_a6 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a7 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) m_b24 = menos1 * (m_a1 * (m_a7 * ((m_a13) * (m_a20) - (m_a15) * (m_a18)) - m_a8 * ((m_a12) * (m_a20) - (m_a15) * (m_a17)) + m_a10 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) - m_a2 * (m_a6 * ((m_a13) * (m_a20) - (m_a15) * (m_a18)) - m_a8 * ((m_a11) * (m_a20) - (m_a15) * (m_a16)) + m_a10 * ((m_a11) * (m_a18) - (m_a13) * (m_a16))) + m_a3 *

(m_a6 * ((m_a12) * (m_a20) - (m_a15) * (m_a17)) - m_a7 * ((m_a11) * (m_a20) - (m_a15) * (m_a16)) + m_a10 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) - m_a5 * (m_a6 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) - m_a7 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a8 * ((m_a11) * (m_a17) - (m_a12) * (m_a16)))) m_b25 = m_a1 * (m_a7 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a9 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) - m_a2 * (m_a6 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a11) * (m_a19) (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a18) - (m_a13) * (m_a16))) + m_a3 * (m_a6 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a7 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) - m_a4 * (m_a6 * ((m_a12) * (m_a18) (m_a13) * (m_a17)) - m_a7 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a8 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) 'Imprime la matriz 5x5 de cofactores b1.Text = m_b1.ToString b2.Text = m_b2.ToString b3.Text = m_b3.ToString b4.Text = m_b4.ToString b5.Text = m_b5.ToString b6.Text = m_b6.ToString b7.Text = m_b7.ToString b8.Text = m_b8.ToString b9.Text = m_b9.ToString b10.Text = m_b10.ToString b11.Text = m_b11.ToString b12.Text = m_b12.ToString b13.Text = m_b13.ToString b14.Text = m_b14.ToString b15.Text = m_b15.ToString b16.Text = m_b16.ToString b17.Text = m_b17.ToString b18.Text = m_b18.ToString b19.Text = m_b19.ToString b20.Text = m_b20.ToString b21.Text = m_b21.ToString b22.Text = m_b22.ToString b23.Text = m_b23.ToString b24.Text = m_b24.ToString b25.Text = m_b25.ToString 'Cambia la matriz 5x5 de cofactores a la matriz adjunta 5x5. c1.Text = b1.Text c2.Text = b6.Text c3.Text = b11.Text c4.Text = b16.Text c5.Text = b21.Text c6.Text = b2.Text c7.Text = b7.Text c8.Text = b12.Text c9.Text = b17.Text c10.Text = b22.Text c11.Text = b3.Text c12.Text = b8.Text c13.Text = b13.Text c14.Text = b18.Text c15.Text = b23.Text c16.Text = b4.Text c17.Text = b9.Text c18.Text = b14.Text c19.Text = b19.Text c20.Text = b24.Text c21.Text = b5.Text c22.Text = b10.Text c23.Text = b15.Text c24.Text = b20.Text

c25.Text = b25.Text 'Calcula el determinante de la matriz 5x5 para luego obtener la inversa del determinante de la matriz 5x5. Dim determinante5x5 As Fraction Dim uno As New Fraction(1, 1) Dim inversadeterminante5x5 As Fraction determinante5x5 = m_a1 * (m_a7 * (m_a13 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a15 * ((m_a18) * (m_a24) (m_a19) * (m_a23))) - m_a8 * (m_a12 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) + m_a9 * (m_a12 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a10 * (m_a12 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a14 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)))) - m_a2 * (m_a6 * (m_a13 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) + m_a15 * ((m_a18) * (m_a24) - (m_a19) * (m_a23))) - m_a8 * (m_a11 * ((m_a19) * (m_a25) (m_a20) * (m_a24)) - m_a14 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a9 * (m_a11 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) m_a13 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) - m_a10 * (m_a11 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) - m_a13 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)))) + m_a3 * (m_a6 * (m_a12 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a17) * (m_a25) (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a24) - (m_a19) * (m_a22))) - m_a7 * (m_a11 * ((m_a19) * (m_a25) - (m_a20) * (m_a24)) - m_a14 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a24) - (m_a19) * (m_a21))) + m_a9 * (m_a11 * ((m_a17) * (m_a25) (m_a20) * (m_a22)) - m_a12 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a10 * (m_a11 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) - m_a12 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a22) - (m_a17) * (m_a21)))) - m_a4 * (m_a6 * (m_a12 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) + m_a15 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a7 * (m_a11 * ((m_a18) * (m_a25) - (m_a20) * (m_a23)) - m_a13 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a8 * (m_a11 * ((m_a17) * (m_a25) - (m_a20) * (m_a22)) - m_a12 * ((m_a16) * (m_a25) - (m_a20) * (m_a21)) + m_a15 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a10 * (m_a11 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)) - m_a12 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a13 * ((m_a16) * (m_a22) - (m_a17) * (m_a21)))) + m_a5 * (m_a6 * (m_a12 * ((m_a18) * (m_a24) (m_a19) * (m_a23)) - m_a13 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) + m_a14 * ((m_a17) * (m_a23) - (m_a18) * (m_a22))) - m_a7 * (m_a11 * ((m_a18) * (m_a24) - (m_a19) * (m_a23)) m_a13 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a23) - (m_a18) * (m_a21))) + m_a8 * (m_a11 * ((m_a17) * (m_a24) - (m_a19) * (m_a22)) - m_a12 * ((m_a16) * (m_a24) - (m_a19) * (m_a21)) + m_a14 * ((m_a16) * (m_a22) - (m_a17) * (m_a21))) - m_a9 * (m_a11 * ((m_a17) * (m_a23) - (m_a18) * (m_a22)) - m_a12 * ((m_a16) * (m_a23) - (m_a18) * (m_a21)) + m_a13 * ((m_a16) * (m_a22) - (m_a17) * (m_a21)))) inversadeterminante5x5 = uno / determinante5x5 'Encontrar el numerador y el denominador de la posición (1,1)--> c1. Dim longitudcadena_c1 As Integer = Len(c1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c1 = Mid(c1.Text, ciclo, 1) If caracterevaluado_c1 = "/" Then posicionpleca_c1 = ciclo banderapleca_c1 = 1

End If Next If banderapleca_c1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c1 = Mid(c1.Text, 1, posicionpleca_c1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c1 = Mid(c1.Text, posicionpleca_c1 + 1, longitudcadena_c1 - posicionpleca_c1) 'El denominador será desde un caracter después de la pleca, h asta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c1 = Mid(c1.Text, 1, longitudcadena_c1) denominador_c1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> c2. Dim longitudcadena_c2 As Integer = Len(c2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c2 = Mid(c2.Text, ciclo, 1) If caracterevaluado_c2 = "/" Then posicionpleca_c2 = ciclo banderapleca_c2 = 1 End If Next If banderapleca_c2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c2 = Mid(c2.Text, 1, posicionpleca_c2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c2 = Mid(c2.Text, posicionpleca_c2 + 1, longitudcadena_c2 - posicionpleca_c2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c2 = Mid(c2.Text, 1, longitudcadena_c2) denominador_c2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> c3. Dim longitudcadena_c3 As Integer = Len(c3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c3 As String 'Almacena el denominador del Textbox que se está evaluando.

Dim banderapleca_c3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c3 = Mid(c3.Text, ciclo, 1) If caracterevaluado_c3 = "/" Then posicionpleca_c3 = ciclo banderapleca_c3 = 1 End If Next If banderapleca_c3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c3 = Mid(c3.Text, 1, posicionpleca_c3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c3 = Mid(c3.Text, posicionpleca_c3 + 1, longitudcadena_c3 - posicionpleca_c3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c3 = Mid(c3.Text, 1, longitudcadena_c3) denominador_c3 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,4)--> c4. Dim longitudcadena_c4 As Integer = Len(c4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c4 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c4 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c4 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c4 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c4 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c4 = Mid(c4.Text, ciclo, 1) If caracterevaluado_c4 = "/" Then posicionpleca_c4 = ciclo banderapleca_c4 = 1 End If Next If banderapleca_c4 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c4 = Mid(c4.Text, 1, posicionpleca_c4 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c4 = Mid(c4.Text, posicionpleca_c4 + 1, longitudcadena_c4 - posicionpleca_c4) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c4 = Mid(c4.Text, 1, longitudcadena_c4) denominador_c4 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,5)--> c5. Dim longitudcadena_c5 As Integer = Len(c5.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim caracterevaluado_c5 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c5 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c5 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c5 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c5 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c5 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c5 = Mid(c5.Text, ciclo, 1) If caracterevaluado_c5 = "/" Then posicionpleca_c5 = ciclo banderapleca_c5 = 1 End If Next If banderapleca_c5 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c5 = Mid(c5.Text, 1, posicionpleca_c5 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c5 = Mid(c5.Text, posicionpleca_c5 + 1, longitudcadena_c5 - posicionpleca_c5) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c5 = Mid(c5.Text, 1, longitudcadena_c5) denominador_c5 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> c6. Dim longitudcadena_c6 As Integer = Len(c6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c6 = Mid(c6.Text, ciclo, 1) If caracterevaluado_c6 = "/" Then posicionpleca_c6 = ciclo banderapleca_c6 = 1 End If Next If banderapleca_c6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c6 = Mid(c6.Text, 1, posicionpleca_c6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c6 = Mid(c6.Text, posicionpleca_c6 + 1, longitudcadena_c6 - posicionpleca_c6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos

ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c6 = Mid(c6.Text, 1, longitudcadena_c6) denominador_c6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> c7. Dim longitudcadena_c7 As Integer = Len(c7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c7 = Mid(c7.Text, ciclo, 1) If caracterevaluado_c7 = "/" Then posicionpleca_c7 = ciclo banderapleca_c7 = 1 End If Next If banderapleca_c7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c7 = Mid(c7.Text, 1, posicionpleca_c7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c7 = Mid(c7.Text, posicionpleca_c7 + 1, longitudcadena_c7 - posicionpleca_c7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c7 = Mid(c7.Text, 1, longitudcadena_c7) denominador_c7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> c8. Dim longitudcadena_c8 As Integer = Len(c8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c8 = Mid(c8.Text, ciclo, 1) If caracterevaluado_c8 = "/" Then posicionpleca_c8 = ciclo banderapleca_c8 = 1 End If Next If banderapleca_c8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario.

numerador_c8 = Mid(c8.Text, 1, posicionpleca_c8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c8 = Mid(c8.Text, posicionpleca_c8 + 1, longitudcadena_c8 - posicionpleca_c8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c8 = Mid(c8.Text, 1, longitudcadena_c8) denominador_c8 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,4)--> c9. Dim longitudcadena_c9 As Integer = Len(c9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c9 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c9 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c9 As String 'Almacena el denominador del Textbox que s e está evaluando. Dim banderapleca_c9 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c9 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c9 = Mid(c9.Text, ciclo, 1) If caracterevaluado_c9 = "/" Then posicionpleca_c9 = ciclo banderapleca_c9 = 1 End If Next If banderapleca_c9 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c9 = Mid(c9.Text, 1, posicionpleca_c9 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c9 = Mid(c9.Text, posicionpleca_c9 + 1, longitudcadena_c9 - posicionpleca_c9) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden mete r puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c9 = Mid(c9.Text, 1, longitudcadena_c9) denominador_c9 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,5)--> c10. Dim longitudcadena_c10 As Integer = Len(c10.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c10 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c10 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c10 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c10 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c10 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c10 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c10 = Mid(c10.Text, ciclo, 1)

If caracterevaluado_c10 = "/" Then posicionpleca_c10 = ciclo banderapleca_c10 = 1 End If Next If banderapleca_c10 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c10 = Mid(c10.Text, 1, posicionpleca_c10 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c10 = Mid(c10.Text, posicionpleca_c10 + 1, longitudcadena_c10 - posicionpleca_c10) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c10 = Mid(c10.Text, 1, longitudcadena_c10) denominador_c10 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> c11 Dim longitudcadena_c11 As Integer = Len(c11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c11 = Mid(c11.Text, ciclo, 1) If caracterevaluado_c11 = "/" Then posicionpleca_c11 = ciclo banderapleca_c11 = 1 End If Next If banderapleca_c11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c11 = Mid(c11.Text, 1, posicionpleca_c11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c11 = Mid(c11.Text, posicionpleca_c11 + 1, longitudcadena_c11 - posicionpleca_c11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c11 = Mid(c11.Text, 1, longitudcadena_c11) denominador_c11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> c12 Dim longitudcadena_c12 As Integer = Len(c12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c12 As String 'Almacena el numerador del Textbox que se está evaluando.

Dim denominador_c12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c12 = Mid(c12.Text, ciclo, 1) If caracterevaluado_c12 = "/" Then posicionpleca_c12 = ciclo banderapleca_c12 = 1 End If Next If banderapleca_c12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c12 = Mid(c12.Text, 1, posicionpleca_c12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c12 = Mid(c12.Text, posicionpleca_c12 + 1, longitudcadena_c12 - posicionpleca_c12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c12 = Mid(c12.Text, 1, longitudcadena_c12) denominador_c12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> c13 Dim longitudcadena_c13 As Integer = Len(c13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c13 = Mid(c13.Text, ciclo, 1) If caracterevaluado_c13 = "/" Then posicionpleca_c13 = ciclo banderapleca_c13 = 1 End If Next If banderapleca_c13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c13 = Mid(c13.Text, 1, posicionpleca_c13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c13 = Mid(c13.Text, posicionpleca_c13 + 1, longitudcadena_c13 - posicionpleca_c13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter p untos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c13 = Mid(c13.Text, 1, longitudcadena_c13) denominador_c13 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,4)--> c14

Dim longitudcadena_c14 As Integer = Len(c14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c14 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c14 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c14 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c14 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c14 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c14 = Mid(c14.Text, ciclo, 1) If caracterevaluado_c14 = "/" Then posicionpleca_c14 = ciclo banderapleca_c14 = 1 End If Next If banderapleca_c14 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c14 = Mid(c14.Text, 1, posicionpleca_c14 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c14 = Mid(c14.Text, posicionpleca_c14 + 1, longitudcadena_c14 - posicionpleca_c14) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c14 = Mid(c14.Text, 1, longitudcadena_c14) denominador_c14 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,5)--> c15. Dim longitudcadena_c15 As Integer = Len(c15.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c15 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c15 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c15 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c15 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c15 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c15 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c15 = Mid(c15.Text, ciclo, 1) If caracterevaluado_c15 = "/" Then posicionpleca_c15 = ciclo banderapleca_c15 = 1 End If Next If banderapleca_c15 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c15 = Mid(c15.Text, 1, posicionpleca_c15 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c15 = Mid(c15.Text, posicionpleca_c15 + 1, longitudcadena_c15 - posicionpleca_c15) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena.

Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c15 = Mid(c15.Text, 1, longitudcadena_c15) denominador_c15 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,1)--> c16 Dim longitudcadena_c16 As Integer = Len(c16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c16 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c16 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c16 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c16 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c16 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c16 = Mid(c16.Text, ciclo, 1) If caracterevaluado_c16 = "/" Then posicionpleca_c16 = ciclo banderapleca_c16 = 1 End If Next If banderapleca_c16 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c16 = Mid(c16.Text, 1, posicionpleca_c16 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c16 = Mid(c16.Text, posicionpleca_c16 + 1, longitudcadena_c16 - posicionpleca_c16) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c16 = Mid(c16.Text, 1, longitudcadena_c16) denominador_c16 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,2)--> c17 Dim longitudcadena_c17 As Integer = Len(c17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c17 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c17 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c17 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c17 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c17 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c17 = Mid(c17.Text, ciclo, 1) If caracterevaluado_c17 = "/" Then posicionpleca_c17 = ciclo banderapleca_c17 = 1 End If Next

If banderapleca_c17 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c17 = Mid(c17.Text, 1, posicionpleca_c17 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c17 = Mid(c17.Text, posicionpleca_c17 + 1, longitudcadena_c17 - posicionpleca_c17) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c17 = Mid(c17.Text, 1, longitudcadena_c17) denominador_c17 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,3)--> c18 Dim longitudcadena_c18 As Integer = Len(c18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c18 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c18 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c18 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c18 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c18 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c18 = Mid(c18.Text, ciclo, 1) If caracterevaluado_c18 = "/" Then posicionpleca_c18 = ciclo banderapleca_c18 = 1 End If Next If banderapleca_c18 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c18 = Mid(c18.Text, 1, posicionpleca_c18 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c18 = Mid(c18.Text, posicionpleca_c18 + 1, longitudcadena_c18 - posicionpleca_c18) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c18 = Mid(c18.Text, 1, longitudcadena_c18) denominador_c18 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,4)--> c19 Dim longitudcadena_c19 As Integer = Len(c19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c19 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c19 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c19 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c19 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_c19 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c19 = Mid(c19.Text, ciclo, 1) If caracterevaluado_c19 = "/" Then posicionpleca_c19 = ciclo banderapleca_c19 = 1 End If Next If banderapleca_c19 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c19 = Mid(c19.Text, 1, posicionpleca_c19 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c19 = Mid(c19.Text, posicionpleca_c19 + 1, longitudcadena_c19 - posicionpleca_c19) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c19 = Mid(c19.Text, 1, longitudcadena_c19) denominador_c19 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,5)--> c20. Dim longitudcadena_c20 As Integer = Len(c20.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c20 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c20 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c20 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c20 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c20 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c20 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c20 = Mid(c20.Text, ciclo, 1) If caracterevaluado_c20 = "/" Then posicionpleca_c20 = ciclo banderapleca_c20 = 1 End If Next If banderapleca_c20 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c20 = Mid(c20.Text, 1, posicionpleca_c20 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c20 = Mid(c20.Text, posicionpleca_c20 + 1, longitudcadena_c20 - posicionpleca_c20) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c20 = Mid(c20.Text, 1, longitudcadena_c20) denominador_c20 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,1)--> c21. Dim longitudcadena_c21 As Integer = Len(c21.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c21 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_c21 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c21 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c21 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c21 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c21 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c21 = Mid(c21.Text, ciclo, 1) If caracterevaluado_c21 = "/" Then posicionpleca_c21 = ciclo banderapleca_c21 = 1 End If Next If banderapleca_c21 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c21 = Mid(c21.Text, 1, posicionpleca_c21 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c21 = Mid(c21.Text, posicionpleca_c21 + 1, longitudcadena_c21 - posicionpleca_c21) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden mete r puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c21 = Mid(c21.Text, 1, longitudcadena_c21) denominador_c21 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,2)--> c22. Dim longitudcadena_c22 As Integer = Len(c22.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c22 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c22 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c22 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c22 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c22 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c22 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c22 = Mid(c22.Text, ciclo, 1) If caracterevaluado_c22 = "/" Then posicionpleca_c22 = ciclo banderapleca_c22 = 1 End If Next If banderapleca_c22 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c22 = Mid(c22.Text, 1, posicionpleca_c22 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c22 = Mid(c22.Text, posicionpleca_c22 + 1, longitudcadena_c22 - posicionpleca_c22) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c22 = Mid(c22.Text, 1, longitudcadena_c22)

denominador_c22 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,3)--> c23. Dim longitudcadena_c23 As Integer = Len(c23.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c23 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c23 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c23 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c23 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c23 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c23 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c23 = Mid(c23.Text, ciclo, 1) If caracterevaluado_c23 = "/" Then posicionpleca_c23 = ciclo banderapleca_c23 = 1 End If Next If banderapleca_c23 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c23 = Mid(c23.Text, 1, posicionpleca_c23 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca . denominador_c23 = Mid(c23.Text, posicionpleca_c23 + 1, longitudcadena_c23 - posicionpleca_c23) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c23 = Mid(c23.Text, 1, longitudcadena_c23) denominador_c23 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,4)--> c24. Dim longitudcadena_c24 As Integer = Len(c24.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c24 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c24 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c24 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c24 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c24 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c24 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c24 = Mid(c24.Text, ciclo, 1) If caracterevaluado_c24 = "/" Then posicionpleca_c24 = ciclo banderapleca_c24 = 1 End If Next If banderapleca_c24 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c24 = Mid(c24.Text, 1, posicionpleca_c24 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_c24 = Mid(c24.Text, posicionpleca_c24 + 1, longitudcadena_c24 - posicionpleca_c24) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c24 = Mid(c24.Text, 1, longitudcadena_c24) denominador_c24 = 1 End If 'Encontrar el numerador y el denominador de la posición (5,5)--> c25. Dim longitudcadena_c25 As Integer = Len(c25.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c25 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c25 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c25 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c25 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c25 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c25 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c25 = Mid(c25.Text, ciclo, 1) If caracterevaluado_c25 = "/" Then posicionpleca_c25 = ciclo banderapleca_c25 = 1 End If Next If banderapleca_c25 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c25 = Mid(c25.Text, 1, posicionpleca_c25 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c25 = Mid(c25.Text, posicionpleca_c25 + 1, longitudcadena_c25 - posicionpleca_c25) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c25 = Mid(c25.Text, 1, longitudcadena_c25) denominador_c25 = 1 End If 'Convierte los valores de los Textbox de la matriz c a objetos Fraction, mediante la clase. Dim m_c1 As New Fraction(numerador_c1, denominador_c1) Dim m_c2 As New Fraction(numerador_c2, denominador_c2) Dim m_c3 As New Fraction(numerador_c3, denominador_c3) Dim m_c4 As New Fraction(numerador_c4, denominador_c4) Dim m_c5 As New Fraction(numerador_c5, denominador_c5) Dim m_c6 As New Fraction(numerador_c6, denominador_c6) Dim m_c7 As New Fraction(numerador_c7, denominador_c7) Dim m_c8 As New Fraction(numerador_c8, denominador_c8) Dim m_c9 As New Fraction(numerador_c9, denominador_c9) Dim m_c10 As New Fraction(numerador_c10, denominador_c10) Dim m_c11 As New Fraction(numerador_c11, denominador_c11) Dim m_c12 As New Fraction(numerador_c12, denominador_c12) Dim m_c13 As New Fraction(numerador_c13, denominador_c13) Dim m_c14 As New Fraction(numerador_c14, denominador_c14) Dim m_c15 As New Fraction(numerador_c15, denominador_c15) Dim m_c16 As New Fraction(numerador_c16, denominador_c16)

Dim m_c17 As New Fraction(numerador_c17, denominador_c17) Dim m_c18 As New Fraction(numerador_c18, denominador_c18) Dim m_c19 As New Fraction(numerador_c19, denominador_c19) Dim m_c20 As New Fraction(numerador_c20, denominador_c20) Dim m_c21 As New Fraction(numerador_c21, denominador_c21) Dim m_c22 As New Fraction(numerador_c22, denominador_c22) Dim m_c23 As New Fraction(numerador_c23, denominador_c23) Dim m_c24 As New Fraction(numerador_c24, denominador_c24) Dim m_c25 As New Fraction(numerador_c25, denominador_c25) Dim m_cfraccion1 As Fraction Dim m_cfraccion2 As Fraction Dim m_cfraccion3 As Fraction Dim m_cfraccion4 As Fraction Dim m_cfraccion5 As Fraction Dim m_cfraccion6 As Fraction Dim m_cfraccion7 As Fraction Dim m_cfraccion8 As Fraction Dim m_cfraccion9 As Fraction Dim m_cfraccion10 As Fraction Dim m_cfraccion11 As Fraction Dim m_cfraccion12 As Fraction Dim m_cfraccion13 As Fraction Dim m_cfraccion14 As Fraction Dim m_cfraccion15 As Fraction Dim m_cfraccion16 As Fraction Dim m_cfraccion17 As Fraction Dim m_cfraccion18 As Fraction Dim m_cfraccion19 As Fraction Dim m_cfraccion20 As Fraction Dim m_cfraccion21 As Fraction Dim m_cfraccion22 As Fraction Dim m_cfraccion23 As Fraction Dim m_cfraccion24 As Fraction Dim m_cfraccion25 As Fraction m_cfraccion1 = m_c1 m_cfraccion2 = m_c2 m_cfraccion3 = m_c3 m_cfraccion4 = m_c4 m_cfraccion5 = m_c5 m_cfraccion6 = m_c6 m_cfraccion7 = m_c7 m_cfraccion8 = m_c8 m_cfraccion9 = m_c9 m_cfraccion10 = m_c10 m_cfraccion11 = m_c11 m_cfraccion12 = m_c12 m_cfraccion13 = m_c13 m_cfraccion14 = m_c14 m_cfraccion15 = m_c15 m_cfraccion16 = m_c16 m_cfraccion17 = m_c17 m_cfraccion18 = m_c18 m_cfraccion19 = m_c19 m_cfraccion20 = m_c20 m_cfraccion21 = m_c21 m_cfraccion22 = m_c22 m_cfraccion23 = m_c23 m_cfraccion24 = m_c24 m_cfraccion25 = m_c25 'Multiplica el determinante de la matriz original 5x5 adjunta, de modo que se obtiene la inversa de la matriz original. Dim m_cinversa1 As Fraction Dim m_cinversa2 As Fraction

por

la

matriz

Dim m_cinversa3 As Fraction Dim m_cinversa4 As Fraction Dim m_cinversa5 As Fraction Dim m_cinversa6 As Fraction Dim m_cinversa7 As Fraction Dim m_cinversa8 As Fraction Dim m_cinversa9 As Fraction Dim m_cinversa10 As Fraction Dim m_cinversa11 As Fraction Dim m_cinversa12 As Fraction Dim m_cinversa13 As Fraction Dim m_cinversa14 As Fraction Dim m_cinversa15 As Fraction Dim m_cinversa16 As Fraction Dim m_cinversa17 As Fraction Dim m_cinversa18 As Fraction Dim m_cinversa19 As Fraction Dim m_cinversa20 As Fraction Dim m_cinversa21 As Fraction Dim m_cinversa22 As Fraction Dim m_cinversa23 As Fraction Dim m_cinversa24 As Fraction Dim m_cinversa25 As Fraction m_cinversa1 = inversadeterminante5x5 * m_cfraccion1 m_cinversa2 = inversadeterminante5x5 * m_cfraccion2 m_cinversa3 = inversadeterminante5x5 * m_cfraccion3 m_cinversa4 = inversadeterminante5x5 * m_cfraccion4 m_cinversa5 = inversadeterminante5x5 * m_cfraccion5 m_cinversa6 = inversadeterminante5x5 * m_cfraccion6 m_cinversa7 = inversadeterminante5x5 * m_cfraccion7 m_cinversa8 = inversadeterminante5x5 * m_cfraccion8 m_cinversa9 = inversadeterminante5x5 * m_cfraccion9 m_cinversa10 = inversadeterminante5x5 * m_cfraccion10 m_cinversa11 = inversadeterminante5x5 * m_cfraccion11 m_cinversa12 = inversadeterminante5x5 * m_cfraccion12 m_cinversa13 = inversadeterminante5x5 * m_cfraccion13 m_cinversa14 = inversadeterminante5x5 * m_cfraccion14 m_cinversa15 = inversadeterminante5x5 * m_cfraccion15 m_cinversa16 = inversadeterminante5x5 * m_cfraccion16 m_cinversa17 = inversadeterminante5x5 * m_cfraccion17 m_cinversa18 = inversadeterminante5x5 * m_cfraccion18 m_cinversa19 = inversadeterminante5x5 * m_cfraccion19 m_cinversa20 = inversadeterminante5x5 * m_cfraccion20 m_cinversa21 = inversadeterminante5x5 * m_cfraccion21 m_cinversa22 = inversadeterminante5x5 * m_cfraccion22 m_cinversa23 = inversadeterminante5x5 * m_cfraccion23 m_cinversa24 = inversadeterminante5x5 * m_cfraccion24 m_cinversa25 = inversadeterminante5x5 * m_cfraccion25 c1.Text = m_cinversa1.ToString c2.Text = m_cinversa2.ToString c3.Text = m_cinversa3.ToString c4.Text = m_cinversa4.ToString c5.Text = m_cinversa5.ToString c6.Text = m_cinversa6.ToString c7.Text = m_cinversa7.ToString c8.Text = m_cinversa8.ToString c9.Text = m_cinversa9.ToString c10.Text = m_cinversa10.ToString c11.Text = m_cinversa11.ToString c12.Text = m_cinversa12.ToString c13.Text = m_cinversa13.ToString c14.Text = m_cinversa14.ToString c15.Text = m_cinversa15.ToString

c16.Text = m_cinversa16.ToString c17.Text = m_cinversa17.ToString c18.Text = m_cinversa18.ToString c19.Text = m_cinversa19.ToString c20.Text = m_cinversa20.ToString c21.Text = m_cinversa21.ToString c22.Text = m_cinversa22.ToString c23.Text = m_cinversa23.ToString c24.Text = m_cinversa24.ToString c25.Text = m_cinversa25.ToString 'Posición (1,1) --> b1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b1 As Integer = Len(b1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b1 As String = b1.Text Dim ultimos2caracteres_b1 As String ultimos2caracteres_b1 = Mid(b1.Text, longitudcadena_b1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b1 = "/1" Then entero_b1 = Mid(b1.Text, 1, longitudcadena_b1 - 2) End If If Mid(b1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b1 = "0" End If b1.Text = entero_b1 'Posición (1,2) --> b2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b2 As Integer = Len(b2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b2 As String = b2.Text Dim ultimos2caracteres_b2 As String ultimos2caracteres_b2 = Mid(b2.Text, longitudcadena_b2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b2 = "/1" Then entero_b2 = Mid(b2.Text, 1, longitudcadena_b2 - 2) End If If Mid(b2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b2 = "0" End If b2.Text = entero_b2 'Posición (1,3) --> b3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b3 As Integer = Len(b3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b3 As String = b3.Text Dim ultimos2caracteres_b3 As String ultimos2caracteres_b3 = Mid(b3.Text, longitudcadena_b3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b3 = "/1" Then entero_b3 = Mid(b3.Text, 1, longitudcadena_b3 - 2) End If If Mid(b3.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b3 = "0" End If b3.Text = entero_b3 'Posición (1,4) --> b4. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1.

Dim longitudcadena_b4 As Integer = Len(b4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b4 As String = b4.Text Dim ultimos2caracteres_b4 As String ultimos2caracteres_b4 = Mid(b4.Text, longitudcadena_b4 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b4 = "/1" Then entero_b4 = Mid(b4.Text, 1, longitudcadena_b4 - 2) End If If Mid(b4.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b4 = "0" End If b4.Text = entero_b4 'Posición (1,5) --> b5. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b5 As Integer = Len(b5.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b5 As String = b1.Text Dim ultimos2caracteres_b5 As String ultimos2caracteres_b5 = Mid(b5.Text, longitudcadena_b5 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b5 = "/1" Then entero_b5 = Mid(b5.Text, 1, longitudcadena_b5 - 2) End If If Mid(b5.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b5 = "0" End If b5.Text = entero_b5 'Posición (2,1) --> b6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b6 As Integer = Len(b6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b6 As String = b6.Text Dim ultimos2caracteres_b6 As String ultimos2caracteres_b6 = Mid(b6.Text, longitudcadena_b6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b6 = "/1" Then entero_b6 = Mid(b6.Text, 1, longitudcadena_b6 - 2) End If If Mid(b6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b6 = "0" End If b6.Text = entero_b6 'Posición (2,2) --> b7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b7 As Integer = Len(b7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b7 As String = b7.Text Dim ultimos2caracteres_b7 As String ultimos2caracteres_b7 = Mid(b7.Text, longitudcadena_b7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b7 = "/1" Then entero_b7 = Mid(b7.Text, 1, longitudcadena_b7 - 2) End If If Mid(b7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero.

entero_b7 = "0" End If b7.Text = entero_b7 'Posición (2,3) --> b8. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b8 As Integer = Len(b8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b8 As String = b8.Text Dim ultimos2caracteres_b8 As String ultimos2caracteres_b8 = Mid(b8.Text, longitudcadena_b8 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b8 = "/1" Then entero_b8 = Mid(b8.Text, 1, longitudcadena_b8 - 2) End If If Mid(b8.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b8 = "0" End If b8.Text = entero_b8 'Posición (2,4) --> b9. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b9 As Integer = Len(b9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b9 As String = b9.Text Dim ultimos2caracteres_b9 As String ultimos2caracteres_b9 = Mid(b9.Text, longitudcadena_b9 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b9 = "/1" Then entero_b9 = Mid(b9.Text, 1, longitudcadena_b9 - 2) End If If Mid(b9.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b9 = "0" End If b9.Text = entero_b9 'Posición (2,5) --> b10. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b10 As Integer = Len(b10.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b10 As String = b10.Text Dim ultimos2caracteres_b10 As String ultimos2caracteres_b10 = Mid(b10.Text, longitudcadena_b10 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b10 = "/1" Then entero_b10 = Mid(b10.Text, 1, longitudcadena_b10 - 2) End If If Mid(b10.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b10 = "0" End If b10.Text = entero_b10 'Posición (3,1) --> b11. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b11 As Integer = Len(b11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b11 As String = b11.Text Dim ultimos2caracteres_b11 As String ultimos2caracteres_b11 = Mid(b11.Text, longitudcadena_b11 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero.

If ultimos2caracteres_b11 = "/1" Then entero_b11 = Mid(b11.Text, 1, longitudcadena_b11 - 2) End If If Mid(b11.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b11 = "0" End If b11.Text = entero_b11 'Posición (3,2) --> b12. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b12 As Integer = Len(b12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b12 As String = b12.Text Dim ultimos2caracteres_b12 As String ultimos2caracteres_b12 = Mid(b12.Text, longitudcadena_b12 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b12 = "/1" Then entero_b12 = Mid(b12.Text, 1, longitudcadena_b12 - 2) End If If Mid(b12.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b12 = "0" End If b12.Text = entero_b12 'Posición (3,3) --> b13. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b13 As Integer = Len(b13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b13 As String = b13.Text Dim ultimos2caracteres_b13 As String ultimos2caracteres_b13 = Mid(b13.Text, longitudcadena_b13 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b13 = "/1" Then entero_b13 = Mid(b13.Text, 1, longitudcadena_b13 - 2) End If If Mid(b13.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b13 = "0" End If b13.Text = entero_b13 'Posición (3,4) --> b14. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b14 As Integer = Len(b14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b14 As String = b14.Text Dim ultimos2caracteres_b14 As String ultimos2caracteres_b14 = Mid(b14.Text, longitudcadena_b14 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b14 = "/1" Then entero_b14 = Mid(b14.Text, 1, longitudcadena_b14 - 2) End If If Mid(b14.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b14 = "0" End If b14.Text = entero_b14 'Posición (3,5) --> b15. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b15 As Integer = Len(b15.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim entero_b15 As String = b15.Text Dim ultimos2caracteres_b15 As String ultimos2caracteres_b15 = Mid(b15.Text, longitudcadena_b15 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b15 = "/1" Then entero_b15 = Mid(b15.Text, 1, longitudcadena_b15 - 2) End If If Mid(b15.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b15 = "0" End If b15.Text = entero_b15 'Posición (4,1) --> b16. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b16 As Integer = Len(b16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b16 As String = b16.Text Dim ultimos2caracteres_b16 As String ultimos2caracteres_b16 = Mid(b16.Text, longitudcadena_b16 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b16 = "/1" Then entero_b16 = Mid(b16.Text, 1, longitudcadena_b16 - 2) End If If Mid(b16.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b16 = "0" End If b16.Text = entero_b16 'Posición (4,2) --> b17. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b17 As Integer = Len(b17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b17 As String = b17.Text Dim ultimos2caracteres_b17 As String ultimos2caracteres_b17 = Mid(b17.Text, longitudcadena_b17 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b17 = "/1" Then entero_b17 = Mid(b17.Text, 1, longitudcadena_b17 - 2) End If If Mid(b17.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b17 = "0" End If b17.Text = entero_b17 'Posición (4,3) --> b18. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b18 As Integer = Len(b18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b18 As String = b18.Text Dim ultimos2caracteres_b18 As String ultimos2caracteres_b18 = Mid(b18.Text, longitudcadena_b18 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b18 = "/1" Then entero_b18 = Mid(b18.Text, 1, longitudcadena_b18 - 2) End If If Mid(b18.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b18 = "0" End If

b18.Text = entero_b18 'Posición (4,4) --> b19. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b19 As Integer = Len(b19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b19 As String = b19.Text Dim ultimos2caracteres_b19 As String ultimos2caracteres_b19 = Mid(b19.Text, longitudcadena_b19 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b19 = "/1" Then entero_b19 = Mid(b19.Text, 1, longitudcadena_b19 - 2) End If If Mid(b19.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b19 = "0" End If b19.Text = entero_b19 'Posición (2,5) --> b20. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b20 As Integer = Len(b20.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b20 As String = b20.Text Dim ultimos2caracteres_b20 As String ultimos2caracteres_b20 = Mid(b20.Text, longitudcadena_b20 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b20 = "/1" Then entero_b20 = Mid(b20.Text, 1, longitudcadena_b20 - 2) End If If Mid(b20.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b20 = "0" End If b20.Text = entero_b20 'Posición (5,1) --> b21. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b21 As Integer = Len(b21.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b21 As String = b21.Text Dim ultimos2caracteres_b21 As String ultimos2caracteres_b21 = Mid(b21.Text, longitudcadena_b21 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b21 = "/1" Then entero_b21 = Mid(b21.Text, 1, longitudcadena_b21 - 2) End If If Mid(b21.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b21 = "0" End If b21.Text = entero_b21 'Posición (5,2) --> b22. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b22 As Integer = Len(b22.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b22 As String = b22.Text Dim ultimos2caracteres_b22 As String ultimos2caracteres_b22 = Mid(b22.Text, longitudcadena_b22 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b22 = "/1" Then entero_b22 = Mid(b22.Text, 1, longitudcadena_b22 - 2)

End If If Mid(b22.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b22 = "0" End If b22.Text = entero_b22 'Posición (5,3) --> b23. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b23 As Integer = Len(b23.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b23 As String = b23.Text Dim ultimos2caracteres_b23 As String ultimos2caracteres_b23 = Mid(b23.Text, longitudcadena_b23 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b23 = "/1" Then entero_b23 = Mid(b23.Text, 1, longitudcadena_b23 - 2) End If If Mid(b23.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b23 = "0" End If b23.Text = entero_b23 'Posición (5,4) --> b24. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b24 As Integer = Len(b24.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b24 As String = b24.Text Dim ultimos2caracteres_b24 As String ultimos2caracteres_b24 = Mid(b24.Text, longitudcadena_b24 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b24 = "/1" Then entero_b24 = Mid(b24.Text, 1, longitudcadena_b24 - 2) End If If Mid(b24.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b24 = "0" End If b24.Text = entero_b24 'Posición (5,5) --> b25. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b25 As Integer = Len(b25.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b25 As String = b25.Text Dim ultimos2caracteres_b25 As String ultimos2caracteres_b25 = Mid(b25.Text, longitudcadena_b25 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b25 = "/1" Then entero_b25 = Mid(b25.Text, 1, longitudcadena_b25 - 2) End If If Mid(b25.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valo r de cero. entero_b25 = "0" End If b25.Text = entero_b25 TextBox1.Text = determinante5x5.ToString TextBox2.Text = inversadeterminante5x5.ToString 'Determinante de la matriz 5x5. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_determinante5x5 As Integer = Len(TextBox1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim entero_determinante5x5 As String = TextBox1.Text Dim ultimos2caracteres_determinante5x5 As String ultimos2caracteres_determinante5x5 = Mid(TextBox1.Text, longitudcadena_determinante5x5 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_determinante5x5 = "/1" Then entero_determinante5x5 = Mid(TextBox1.Text, 1, longitudcadena_determinante5x5 - 2) End If If Mid(TextBox1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_determinante5x5 = "0" End If 'Determinante inversa de la matriz 5x5. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_inversadeterminante5x5 As Integer = Len(TextBox2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_inversadeterminante5x5 As String = TextBox2.Text Dim ultimos2caracteres_inversadeterminante5x5 As String ultimos2caracteres_inversadeterminante5x5 = Mid(TextBox2.Text, longitudcadena_inversadeterminante5x5 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_inversadeterminante5x5 = "/1" Then entero_inversadeterminante5x5 = Mid(TextBox2.Text, 1, longitudcadena_inversadeterminante5x5 - 2) End If If Mid(TextBox2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_inversadeterminante5x5 = "0" End If TextBox1.Text = entero_determinante5x5.ToString 'Imprime el determinante de la matriz 2x2 en forma de entero. TextBox2.Text = entero_inversadeterminante5x5.ToString 'Imprime la determinante inversa de la matriz 2x2 en forma de entero. End If End If If TextBox1.Text = "0" Then 'En el caso que el determinante de la matriz original sea cero. MsgBox("No es posible determinar la inversa de la matriz introducida porque el determinante de la misma es cero.", MsgBoxStyle.OkOnly, "Inversa de Matrices") b1.Visible = False b2.Visible = False b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = False b7.Visible = False b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False

b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = False c2.Visible = False c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = False c7.Visible = False c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. End If End Sub Private Sub a1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a1.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a1.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir e n el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos.

End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a2.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a2.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos.

End If End Sub Private Sub a3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a3.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a3.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a4.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a4.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then

contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a5_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a5.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a5.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a5.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If

End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a6_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a6.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a6.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If

End Sub Private Sub a7_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a7.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a7.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a8_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a8.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a8.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1

End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a9_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a9.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a9.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If

If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a10_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a10.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a10.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a10.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 4 7; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub

Private Sub a11_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a11.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a11.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a12_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a12.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a12.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If

Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a13_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a13.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a13.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-").

If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a14_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a14.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a14.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub

Private Sub a15_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a15.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a15.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a15.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a16_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a16.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a16.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If

Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a17_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a17.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a17.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-").

If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a18_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a18.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a18.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub

Private Sub a19_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a19.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a19.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a20_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a20.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a20.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a20.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If

Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a21_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a21.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a21.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a21.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-").

If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a22_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a22.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a22.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a22.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub

Private Sub a23_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a23.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a23.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a23.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a24_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a24.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a24.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a24.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If

Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-"). If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub a25_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles a25.KeyPress Dim contadorplecas As Integer Dim contadormenos As Integer Dim longitudcadena As Integer = Len(a25.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado As String 'Para evaluar caracter por caracter con el Mid(). For ciclo As Integer = 1 To longitudcadena 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado = Mid(a25.Text, ciclo, 1) If caracterevaluado = "/" Then contadorplecas = contadorplecas + 1 End If If caracterevaluado = "-" Then contadormenos = contadormenos + 1 End If Next If (Asc(e.KeyChar) >= 47 And Asc(e.KeyChar) <= 57) Or Asc(e.KeyChar) = 8 Or Asc(e.KeyChar) = 45 Then 'Los únicos caracteres que se permitirá introducir en el Textbox serán los números del 0 al 9 (ASCII del 48 al 57); la pleca ("/"), que es el ASCII 47; el signo menos ("-"), que es el ASCII 45; y el retroceso de espacio o backspace para borrar texto introducido, que es el ASCII 8. If (Asc(e.KeyChar) = 47) Then 'Si se presione la tecla de la pleca ("/"). If (contadorplecas > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If If (Asc(e.KeyChar) = 45) Then 'Si se presione la tecla del signo menos ("-").

If (contadormenos > 0) Then 'Cuando se pretenda introducir una segunda pleca. Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End If Else Beep() 'Emite sonido cuando se presiona una tecla que no está permitida o que es inválida. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End If End Sub Private Sub b1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b1.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub Private Sub b2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b2.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub Private Sub b3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b3.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub Private Sub b4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b4.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub Private Sub b5_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b5.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub Private Sub b6_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b6.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub Private Sub b7_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b7.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub Private Sub b8_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles b8.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el valor de nada para que no se puedan introducir caracteres inválidos. End Sub

Private Sub b9_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b9.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b10_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b10.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b11_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b11.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b12_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b12.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b13_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b13.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b14_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b14.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b15_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b15.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b16_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b16.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b17_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b17.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b18_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b18.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b19_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b19.KeyPress Beep() 'Emite sonido.

Object,

ByVal

e

As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b20_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b20.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b21_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b21.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b22_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b22.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b23_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b23.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b24_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b24.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub b25_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles b25.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c1_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c1.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c2_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c2.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c3_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c3.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c4_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c4.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se

Private Sub c5_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c5.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c6_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c6.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c7_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c7.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c8_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c8.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c9_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c9.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c10_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c10.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c11_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c11.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c12_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c12.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c13_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c13.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c14_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c14.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c15_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c15.KeyPress Beep() 'Emite sonido.

Object,

ByVal

e

As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c16_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c16.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c17_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c17.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c18_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c18.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c19_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c19.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c20_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c20.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c21_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c21.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c22_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c22.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c23_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c23.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c24_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c24.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub Private Sub c25_KeyPress(ByVal sender As System.Windows.Forms.KeyPressEventArgs) Handles c25.KeyPress Beep() 'Emite sonido. e.KeyChar = "" 'Reemplaza la tecla digitada con el puedan introducir caracteres inválidos. End Sub

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se Object, ByVal e As

valor de nada para que no se

Private Sub TextBox3_KeyPress(ByVal System.Windows.Forms.KeyPressEventArgs) End Sub Private Sub System.EventArgs) End Sub Private Sub a1_TextChanged(ByVal System.EventArgs) Handles a1.TextChanged End Sub Private Sub a2_TextChanged(ByVal System.EventArgs) Handles a2.TextChanged End Sub Private Sub a3_TextChanged(ByVal System.EventArgs) Handles a3.TextChanged End Sub Private Sub a4_TextChanged(ByVal System.EventArgs) Handles a4.TextChanged End Sub Private Sub a5_TextChanged(ByVal System.EventArgs) Handles a5.TextChanged End Sub Private Sub a6_TextChanged(ByVal System.EventArgs) Handles a6.TextChanged End Sub Private Sub a7_TextChanged(ByVal System.EventArgs) Handles a7.TextChanged End Sub Private Sub a8_TextChanged(ByVal System.EventArgs) Handles a8.TextChanged End Sub Private Sub a9_TextChanged(ByVal System.EventArgs) Handles a9.TextChanged End Sub Private Sub a10_TextChanged(ByVal System.EventArgs) Handles a10.TextChanged End Sub Private Sub a11_TextChanged(ByVal System.EventArgs) Handles a11.TextChanged End Sub TextBox3_TextChanged(ByVal

sender

As

Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

Private Sub a12_TextChanged(ByVal System.EventArgs) Handles a12.TextChanged End Sub Private Sub a13_TextChanged(ByVal System.EventArgs) Handles a13.TextChanged End Sub Private Sub a14_TextChanged(ByVal System.EventArgs) Handles a14.TextChanged End Sub Private Sub a15_TextChanged(ByVal System.EventArgs) Handles a15.TextChanged End Sub Private Sub a16_TextChanged(ByVal System.EventArgs) Handles a16.TextChanged End Sub Private Sub a17_TextChanged(ByVal System.EventArgs) Handles a17.TextChanged End Sub Private Sub a18_TextChanged(ByVal System.EventArgs) Handles a18.TextChanged End Sub Private Sub a19_TextChanged(ByVal System.EventArgs) Handles a19.TextChanged End Sub Private Sub a20_TextChanged(ByVal System.EventArgs) Handles a20.TextChanged End Sub Private Sub a21_TextChanged(ByVal System.EventArgs) Handles a21.TextChanged End Sub Private Sub a22_TextChanged(ByVal System.EventArgs) Handles a22.TextChanged End Sub Private Sub a23_TextChanged(ByVal System.EventArgs) Handles a23.TextChanged End Sub Private Sub a24_TextChanged(ByVal System.EventArgs) Handles a24.TextChanged

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

sender

As

System.Object,

ByVal

e

As

End Sub Private Sub a25_TextChanged(ByVal System.EventArgs) Handles a25.TextChanged End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox1.Text = "" TextBox2.Text = "" a1.Text = "" a2.Text = "" a3.Text = "" a4.Text = "" a5.Text = "" a6.Text = "" a7.Text = "" a8.Text = "" a9.Text = "" a10.Text = "" a11.Text = "" a12.Text = "" a13.Text = "" a14.Text = "" a15.Text = "" a16.Text = "" a17.Text = "" a18.Text = "" a19.Text = "" a20.Text = "" a21.Text = "" a22.Text = "" a23.Text = "" a24.Text = "" a25.Text = "" b1.Text = "" b2.Text = "" b3.Text = "" b4.Text = "" b5.Text = "" b6.Text = "" b7.Text = "" b8.Text = "" b9.Text = "" b10.Text = "" b11.Text = "" b12.Text = "" b13.Text = "" b14.Text = "" b15.Text = "" b16.Text = "" b17.Text = "" b18.Text = "" b19.Text = "" b20.Text = "" b21.Text = "" b22.Text = "" b23.Text = "" b24.Text = "" b25.Text = "" c1.Text = "" sender As System.Object, ByVal e As

c2.Text = "" c3.Text = "" c4.Text = "" c5.Text = "" c6.Text = "" c7.Text = "" c8.Text = "" c9.Text = "" c10.Text = "" c11.Text = "" c12.Text = "" c13.Text = "" c14.Text = "" c15.Text = "" c16.Text = "" c17.Text = "" c18.Text = "" c19.Text = "" c20.Text = "" c21.Text = "" c22.Text = "" c23.Text = "" c24.Text = "" c25.Text = "" 'Para que no se vea ninguna celda de las matrices que contienen las respuestas (cofactores e inversa) al dar clic en el botón Limpiar. b1.Visible = False b2.Visible = False b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = False b7.Visible = False b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = False c2.Visible = False c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = False c7.Visible = False c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False c12.Visible = False

c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim mensaje As Integer mensaje = MsgBox("¿Realmente desea salir del programa?", MsgBoxStyle.YesNo, "Inversa de Matrices por Cofactores") If mensaje = 6 Then End End If End Sub Private Sub ArchivoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ArchivoToolStripMenuItem.Click End Sub Private Sub CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CalcularMatrizDeCofactoresYMatrizInversaToolStripMenuItem.Click 'Proceso para la inversa de una matriz 2x2. If (ComboBox1.SelectedItem = "Matriz 2x2") And (a1.Text <> "" And a2.Text <> "" And a6.Text <> "" And a7.Text <> "") Then 'Limpiar los Textbox de la matriz original que no intervienen en una matriz 2x2. a3.Text = "" a4.Text = "" a5.Text = "" a8.Text = "" a9.Text = "" a10.Text = "" a11.Text = "" a12.Text = "" a13.Text = "" a14.Text = "" a15.Text = "" a16.Text = "" a17.Text = "" a18.Text = "" a19.Text = "" a20.Text = "" a21.Text = "" a22.Text = "" a23.Text = "" a24.Text = "" a25.Text = "" TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores.

'Si del Combobox se selecciona "Matriz 2x2" y si en la matriz original ya se han introducido valores, activa las celdas correspondientes. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = False a4.Visible = False a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = False a9.Visible = False a10.Visible = False a11.Visible = False a12.Visible = False a13.Visible = False a14.Visible = False a15.Visible = False a16.Visible = False a17.Visible = False a18.Visible = False a19.Visible = False a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = True 'Verdadero. b2.Visible = True 'Verdadero. b3.Visible = False b4.Visible = False b5.Visible = False b6.Visible = True 'Verdadero. b7.Visible = True 'Verdadero. b8.Visible = False b9.Visible = False b10.Visible = False b11.Visible = False b12.Visible = False b13.Visible = False b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = True 'Verdadero. c2.Visible = True 'Verdadero. c3.Visible = False c4.Visible = False c5.Visible = False c6.Visible = True 'Verdadero. c7.Visible = True 'verdadero. c8.Visible = False c9.Visible = False c10.Visible = False c11.Visible = False

c12.Visible = False c13.Visible = False c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False 'Verificar que no se hayan introducido valores incoherentes en la matriz original. Las únicas incoherencias posibles son varias plecas o plecas en posi ciones incoherentes; o varios signos menos o signos menos en posiciones incoherentes. Lo demás está controlado por el KeyPress. Dim valoresinvalidosenmatrizoriginal As Integer = 0 'Si vale 0, no hay valores invalidos en la matriz original. Si vale 1, sí hay valores inválidos en la matriz original. 'Verificar si el valor es inválido en la posición (1,1) --> a1. Dim invalidolongitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a1 As Integer = 0 Dim invalidoposicionesmenos_a1 As Integer = 0 Dim invalidoposicionmenos_a1 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a1 As Integer = 0 Dim invalidoapareceonomenos_a1 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a1 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If invalidocaracterevaluado_a1 = "/" Then invalidoposicionpleca_a1 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a1 = invalidocontadorplecas_a1 + 1 End If If invalidocaracterevaluado_a1 = "-" Then invalidoposicionmenos_a1 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a1 = invalidocontadormenos_a1 + 1 End If Next If (invalidocontadorplecas_a1 > 1) Or (invalidocontadormenos_a1 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a1 = 1 Else If (invalidoposicionpleca_a1 = 1) Or (invalidoposicionpleca_a1 = invalidolongitudcadena_a1) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a1 = 1 End If End If

If (invalidocontadormenos_a1 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio del numerador o al principio del denominador. If (invalidoposicionmenos_a1 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a1.Text, invalidoposicionmenos_a1 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a1 = 1 End If End If End If If Mid(a1.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a1 = 1 End If If a1.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a1 = 1 End If If invalidoconfirmado_a1 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,2) --> a2. Dim invalidolongitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a2 As Integer = 0 Dim invalidoposicionesmenos_a2 As Integer = 0 Dim invalidoposicionmenos_a2 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a2 As Integer = 0 Dim invalidoapareceonomenos_a2 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a2 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If invalidocaracterevaluado_a2 = "/" Then invalidoposicionpleca_a2 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a2 = invalidocontadorplecas_a2 + 1 End If If invalidocaracterevaluado_a2 = "-" Then invalidoposicionmenos_a2 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a2 = invalidocontadormenos_a2 + 1 End If Next If (invalidocontadorplecas_a2 > 1) Or (invalidocontadormenos_a2 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido.

invalidoconfirmado_a2 = 1 Else If (invalidoposicionpleca_a2 = 1) Or (invalidoposicionpleca_a2 = invalidolongitudcadena_a2) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a2 = 1 End If End If If (invalidocontadormenos_a2 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a2 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a2.Text, invalidoposicionmenos_a2 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a2 = 1 End If End If End If If Mid(a2.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a2 = 1 End If If a2.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a2 = 1 End If If invalidoconfirmado_a2 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,1) --> a6. Dim invalidolongitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a6 As Integer = 0 Dim invalidoposicionesmenos_a6 As Integer = 0 Dim invalidoposicionmenos_a6 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a6 As Integer = 0 Dim invalidoapareceonomenos_a6 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a6 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If invalidocaracterevaluado_a6 = "/" Then invalidoposicionpleca_a6 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a6 = invalidocontadorplecas_a6 + 1

End If If invalidocaracterevaluado_a6 = "-" Then invalidoposicionmenos_a6 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a6 = invalidocontadormenos_a6 + 1 End If Next If (invalidocontadorplecas_a6 > 1) Or (invalidocontadormenos_a6 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a6 = 1 Else If (invalidoposicionpleca_a6 = 1) Or (invalidoposicionpleca_a6 = invalidolongitudcadena_a6) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a6 = 1 End If End If If (invalidocontadormenos_a6 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a6 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a6.Text, invalidoposicionmenos_a6 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a6 = 1 End If End If End If If Mid(a6.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a6 = 1 End If If a6.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a6 = 1 End If If invalidoconfirmado_a6 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,2) --> a7. Dim invalidolongitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a7 As Integer = 0 Dim invalidoposicionesmenos_a7 As Integer = 0 Dim invalidoposicionmenos_a7 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a7 As Integer = 0 Dim invalidoapareceonomenos_a7 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero.

Dim invalidoconfirmado_a7 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If invalidocaracterevaluado_a7 = "/" Then invalidoposicionpleca_a7 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a7 = invalidocontadorplecas_a7 + 1 End If If invalidocaracterevaluado_a7 = "-" Then invalidoposicionmenos_a7 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a7 = invalidocontadormenos_a7 + 1 End If Next If (invalidocontadorplecas_a7 > 1) Or (invalidocontadormenos_a7 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a7 = 1 Else If (invalidoposicionpleca_a7 = 1) Or (invalidoposicionpleca_a7 = invalidolongitudcadena_a7) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a7 = 1 End If End If If (invalidocontadormenos_a7 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a7 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a7.Text, invalidoposicionmenos_a7 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 p orque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a7 = 1 End If End If End If If Mid(a7.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a7 = 1 End If If a7.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a7 = 1 End If If invalidoconfirmado_a7 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Si hay caracteres inválidos en la matriz original 2x2, se manda el mensaje correspondiente; de lo contrario se procede a hacer las evaluaciones. If valoresinvalidosenmatrizoriginal = 1 Then MsgBox("La matriz original contiene valores inválidos", MsgBoxStyle.OkOnly, "Inversa de matrices")

Else 'Encontrar el numerador y el denominador de la posición (1,1)--> a1. Dim longitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If caracterevaluado_a1 = "/" Then posicionpleca_a1 = ciclo banderapleca_a1 = 1 End If Next If banderapleca_a1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a1 = Mid(a1.Text, 1, posicionpleca_a1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a1 = Mid(a1.Text, posicionpleca_a1 + 1, longitudcadena_a1 - posicionpleca_a1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a1 = Mid(a1.Text, 1, longitudcadena_a1) denominador_a1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> a2. Dim longitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If caracterevaluado_a2 = "/" Then posicionpleca_a2 = ciclo banderapleca_a2 = 1 End If Next If banderapleca_a2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a2 = Mid(a2.Text, 1, posicionpleca_a2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_a2 = Mid(a2.Text, posicionpleca_a2 + 1, longitudcadena_a2 - posicionpleca_a2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a2 = Mid(a2.Text, 1, longitudcadena_a2) denominador_a2 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> a6. Dim longitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If caracterevaluado_a6 = "/" Then posicionpleca_a6 = ciclo banderapleca_a6 = 1 End If Next If banderapleca_a6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a6 = Mid(a6.Text, 1, posicionpleca_a6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a6 = Mid(a6.Text, posicionpleca_a6 + 1, longitudcadena_a6 - posicionpleca_a6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a6 = Mid(a6.Text, 1, longitudcadena_a6) denominador_a6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> a7. Dim longitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If caracterevaluado_a7 = "/" Then posicionpleca_a7 = ciclo

banderapleca_a7 = 1 End If Next If banderapleca_a7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a7 = Mid(a7.Text, 1, posicionpleca_a7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a7 = Mid(a7.Text, posicionpleca_a7 + 1, longitudcadena_a7 - posicionpleca_a7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a7 = Mid(a7.Text, 1, longitudcadena_a7) denominador_a7 = 1 End If 'Determina la matriz 2x2 de cofactores. Dim m_a1 As New Fraction(numerador_a1, denominador_a1) Dim m_a2 As New Fraction(numerador_a2, denominador_a2) Dim m_a6 As New Fraction(numerador_a6, denominador_a6) Dim m_a7 As New Fraction(numerador_a7, denominador_a7) Dim menos1 As New Fraction(-1, 1) 'Para multiplicar un objeto Fraction por -1. Dim m_b1 As Fraction Dim m_b2 As Fraction Dim m_b6 As Fraction Dim m_b7 As Fraction m_b1 = m_a7 m_b2 = m_a6 * menos1 m_b6 = m_a2 * menos1 m_b7 = m_a1 'Imprime la matriz 2x2 de cofactores b1.Text = m_b1.ToString b2.Text = m_b2.ToString b6.Text = m_b6.ToString b7.Text = m_b7.ToString 'Cambia la matriz 2x2 de cofactores a la matriz adjunta 2x2. c1.Text = b1.Text c2.Text = b6.Text c6.Text = b2.Text c7.Text = b7.Text 'Calcula el determinante de la matriz 2x2 para luego obtener la inversa del determinante de la matriz 2x2. Dim determinante2x2 As Fraction Dim uno As New Fraction(1, 1) Dim inversadeterminante2x2 As Fraction determinante2x2 = (m_a1) * (m_a7) - (m_a2) * (m_a6) inversadeterminante2x2 = uno / determinante2x2 'Encontrar el numerador y el denominador de la posición (1,1)--> c1. Dim longitudcadena_c1 As Integer = Len(c1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_c1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c1 = Mid(c1.Text, ciclo, 1) If caracterevaluado_c1 = "/" Then posicionpleca_c1 = ciclo banderapleca_c1 = 1 End If Next If banderapleca_c1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c1 = Mid(c1.Text, 1, posicionpleca_c1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c1 = Mid(c1.Text, posicionpleca_c1 + 1, longitudcadena_c1 - posicionpleca_c1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c1 = Mid(c1.Text, 1, longitudcadena_c1) denominador_c1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> c2. Dim longitudcadena_c2 As Integer = Len(c2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c2 = Mid(c2.Text, ciclo, 1) If caracterevaluado_c2 = "/" Then posicionpleca_c2 = ciclo banderapleca_c2 = 1 End If Next If banderapleca_c2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c2 = Mid(c2.Text, 1, posicionpleca_c2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c2 = Mid(c2.Text, posicionpleca_c2 + 1, longitudcadena_c2 - posicionpleca_c2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c2 = Mid(c2.Text, 1, longitudcadena_c2) denominador_c2 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> c6. Dim longitudcadena_c6 As Integer = Len(c6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c6 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_c6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c6 = Mid(c6.Text, ciclo, 1) If caracterevaluado_c6 = "/" Then posicionpleca_c6 = ciclo banderapleca_c6 = 1 End If Next If banderapleca_c6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c6 = Mid(c6.Text, 1, posicionpleca_c6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c6 = Mid(c6.Text, posicionpleca_c6 + 1, longitudcadena_c6 - posicionpleca_c6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c6 = Mid(c6.Text, 1, longitudcadena_c6) denominador_c6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> c7. Dim longitudcadena_c7 As Integer = Len(c7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c7 = Mid(c7.Text, ciclo, 1) If caracterevaluado_c7 = "/" Then posicionpleca_c7 = ciclo banderapleca_c7 = 1 End If Next If banderapleca_c7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c7 = Mid(c7.Text, 1, posicionpleca_c7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c7 = Mid(c7.Text, posicionpleca_c7 + 1, longitudcadena_c7 - posicionpleca_c7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c7 = Mid(c7.Text, 1, longitudcadena_c7)

denominador_c7 = 1 End If 'Convierte los valores de los Textbox de la matriz c a objetos Fraction, mediante la clase. Dim m_c1 As New Fraction(numerador_c1, denominador_c1) Dim m_c2 As New Fraction(numerador_c2, denominador_c2) Dim m_c6 As New Fraction(numerador_c6, denominador_c6) Dim m_c7 As New Fraction(numerador_c7, denominador_c7) Dim m_cfraccion1 As Fraction Dim m_cfraccion2 As Fraction Dim m_cfraccion6 As Fraction Dim m_cfraccion7 As Fraction m_cfraccion1 = m_c1 m_cfraccion2 = m_c2 m_cfraccion6 = m_c6 m_cfraccion7 = m_c7 'Multiplica el determinante de la matriz original 2x2 por la matriz adjunta, de modo que se obtiene la inversa de la matriz original. Dim m_cinversa1 As Fraction Dim m_cinversa2 As Fraction Dim m_cinversa6 As Fraction Dim m_cinversa7 As Fraction m_cinversa1 = inversadeterminante2x2 * m_cfraccion1 m_cinversa2 = inversadeterminante2x2 * m_cfraccion2 m_cinversa6 = inversadeterminante2x2 * m_cfraccion6 m_cinversa7 = inversadeterminante2x2 * m_cfraccion7 c1.Text = m_cinversa1.ToString c2.Text = m_cinversa2.ToString c6.Text = m_cinversa6.ToString c7.Text = m_cinversa7.ToString 'Posición (1,1) --> b1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b1 As Integer = Len(b1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b1 As String = b1.Text Dim ultimos2caracteres_b1 As String ultimos2caracteres_b1 = Mid(b1.Text, longitudcadena_b1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b1 = "/1" Then entero_b1 = Mid(b1.Text, 1, longitudcadena_b1 - 2) End If If Mid(b1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b1 = "0" End If b1.Text = entero_b1 'Posición (1,2) --> b2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b2 As Integer = Len(b2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b2 As String = b2.Text Dim ultimos2caracteres_b2 As String ultimos2caracteres_b2 = Mid(b2.Text, longitudcadena_b2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b2 = "/1" Then entero_b2 = Mid(b2.Text, 1, longitudcadena_b2 - 2) End If If Mid(b2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b2 = "0" End If

b2.Text = entero_b2 'Posición (2,1) --> b6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b6 As Integer = Len(b6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b6 As String = b6.Text Dim ultimos2caracteres_b6 As String ultimos2caracteres_b6 = Mid(b6.Text, longitudcadena_b6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b6 = "/1" Then entero_b6 = Mid(b6.Text, 1, longitudcadena_b6 - 2) End If If Mid(b6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b6 = "0" End If b6.Text = entero_b6 'Posición (2,2) --> b7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b7 As Integer = Len(b7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b7 As String = b7.Text Dim ultimos2caracteres_b7 As String ultimos2caracteres_b7 = Mid(b7.Text, longitudcadena_b7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b7 = "/1" Then entero_b7 = Mid(b7.Text, 1, longitudcadena_b7 - 2) End If If Mid(b7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b7 = "0" End If b7.Text = entero_b7 'Posición (1,1) --> c1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c1 As Integer = Len(c1.Text) Dim entero_c1 As String = c1.Text Dim ultimos2caracteres_c1 As String ultimos2caracteres_c1 = Mid(c1.Text, nuevalongitudcadena_c1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c1 = "/1" Then entero_c1 = Mid(c1.Text, 1, nuevalongitudcadena_c1 - 2) End If If Mid(c1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c1 = "0" End If c1.Text = entero_c1 'Posición (1,2) --> c2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c2 As Integer = Len(c2.Text) Dim entero_c2 As String = c2.Text Dim ultimos2caracteres_c2 As String ultimos2caracteres_c2 = Mid(c2.Text, nuevalongitudcadena_c2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c2 = "/1" Then entero_c2 = Mid(c2.Text, 1, nuevalongitudcadena_c2 - 2) End If

If Mid(c2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c2 = "0" End If c2.Text = entero_c2 'Posición (2,1) --> c6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c6 As Integer = Len(c6.Text) Dim entero_c6 As String = c6.Text Dim ultimos2caracteres_c6 As String ultimos2caracteres_c6 = Mid(c6.Text, nuevalongitudcadena_c6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c6 = "/1" Then entero_c6 = Mid(c6.Text, 1, nuevalongitudcadena_c6 - 2) End If If Mid(c6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c6 = "0" End If c6.Text = entero_c6 'Posición (2,2) --> c7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c7 As Integer = Len(c7.Text) Dim entero_c7 As String = c7.Text Dim ultimos2caracteres_c7 As String ultimos2caracteres_c7 = Mid(c7.Text, nuevalongitudcadena_c7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c7 = "/1" Then entero_c7 = Mid(c7.Text, 1, nuevalongitudcadena_c7 - 2) End If If Mid(c7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c7 = "0" End If c7.Text = entero_c7 TextBox1.Text = determinante2x2.ToString 'Imprime el determinante de la matriz 2x2 en forma fraccionaria. TextBox2.Text = inversadeterminante2x2.ToString 'Imprime la inversa del determinante de la matriz 2x2 en forma fraccionaria. 'Determinante de la matriz 2x2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_determinante2x2 As Integer = Len(TextBox1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_determinante2x2 As String = TextBox1.Text Dim ultimos2caracteres_determinante2x2 As String ultimos2caracteres_determinante2x2 = Mid(TextBox1.Text, longitudcadena_determinante2x2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_determinante2x2 = "/1" Then entero_determinante2x2 = Mid(TextBox1.Text, 1, longitudcadena_determinante2x2 - 2) End If If Mid(TextBox1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_determinante2x2 = "0" End If 'Determinante inversa de la matriz 2x2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_inversadeterminante2x2 As Integer = Len(TextBox2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_inversadeterminante2x2 As String = TextBox2.Text

Dim ultimos2caracteres_inversadeterminante2x2 As String ultimos2caracteres_inversadeterminante2x2 = Mid(TextBox2.Text, longitudcadena_inversadeterminante2x2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_inversadeterminante2x2 = "/1" Then entero_inversadeterminante2x2 = Mid(TextBox2.Text, 1, longitudcadena_inversadeterminante2x2 - 2) End If If Mid(TextBox2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_inversadeterminante2x2 = "0" End If TextBox1.Text = entero_determinante2x2.ToString 'Imprime el determinante de la matriz 2x2 en forma de entero. TextBox2.Text = entero_inversadeterminante2x2.ToString 'Imprime la determinante inversa de la matriz 2x2 en forma de entero. End If End If 'Proceso para la inversa de una matriz 3x3. If (ComboBox1.SelectedItem = "Matriz 3x3") And (a1.Text <> "" And a2.Text <> "" And a3.Text <> "" And a6.Text <> "" And a7.Text <> "" And a8.Text <> "" And a11.Text <> "" And a12.Text <> "" And a13.Text <> "") Then 'Limpiar los Textbox de la matriz original que no intervienen en una matriz 2x2. a4.Text = "" a5.Text = "" a9.Text = "" a10.Text = "" a14.Text = "" a15.Text = "" a19.Text = "" a20.Text = "" a21.Text = "" a22.Text = "" a23.Text = "" a24.Text = "" a25.Text = "" TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. 'Si del Combobox se selecciona "Matriz 3x3" y si en la matriz original ya se han introducido valores, activa las celdas correspondientes. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = False a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = False a10.Visible = False a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero. a13.Visible = True 'Verdadero. a14.Visible = False a15.Visible = False a16.Visible = False a17.Visible = False a18.Visible = False a19.Visible = False

a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = True 'Verdadero. b2.Visible = True 'Verdadero. b3.Visible = True 'Verdadero. b4.Visible = False b5.Visible = False b6.Visible = True 'Verdadero. b7.Visible = True 'Verdadero. b8.Visible = True 'Verdadero. b9.Visible = False b10.Visible = False b11.Visible = True 'Verdadero. b12.Visible = True 'Verdadero. b13.Visible = True 'Verdadero. b14.Visible = False b15.Visible = False b16.Visible = False b17.Visible = False b18.Visible = False b19.Visible = False b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = True 'Verdadero. c2.Visible = True 'Verdadero. c3.Visible = True 'Verdadero. c4.Visible = False c5.Visible = False c6.Visible = True 'Verdadero. c7.Visible = True 'Verdadero. c8.Visible = True 'Verdadero. c9.Visible = False c10.Visible = False c11.Visible = True 'Verdadero. c12.Visible = True 'Verdadero. c13.Visible = True 'Verdadero. c14.Visible = False c15.Visible = False c16.Visible = False c17.Visible = False c18.Visible = False c19.Visible = False c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False 'Verificar que no se hayan introducido valores incoherentes en la matriz original. Las únicas incoherencias posibles son varias plecas o plecas en posiciones incoherentes; o varios signos menos o signos menos en posiciones incoherentes. Lo demás está controlado por el KeyPress. Dim valoresinvalidosenmatrizoriginal As Integer = 0 'Si vale 0, no hay valores invalidos en la matriz original. Si vale 1, sí hay valores inválidos en la matriz original.

'Verificar si el valor es inválido en la posición (1,1) --> a1. Dim invalidolongitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a1 As Integer = 0 Dim invalidoposicionesmenos_a1 As Integer = 0 Dim invalidoposicionmenos_a1 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a1 As Integer = 0 Dim invalidoapareceonomenos_a1 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a1 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If invalidocaracterevaluado_a1 = "/" Then invalidoposicionpleca_a1 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a1 = invalidocontadorplecas_a1 + 1 End If If invalidocaracterevaluado_a1 = "-" Then invalidoposicionmenos_a1 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a1 = invalidocontadormenos_a1 + 1 End If Next If (invalidocontadorplecas_a1 > 1) Or (invalidocontadormenos_a1 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a1 = 1 Else If (invalidoposicionpleca_a1 = 1) Or (invalidoposicionpleca_a1 = invalidolongitudcadena_a1) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a1 = 1 End If End If If (invalidocontadormenos_a1 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a1 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a1.Text, invalidoposicionmenos_a1 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a1 = 1 End If End If End If If Mid(a1.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a1 = 1

End If If a1.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a1 = 1 End If If invalidoconfirmado_a1 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,2) --> a2. Dim invalidolongitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a2 As Integer = 0 Dim invalidoposicionesmenos_a2 As Integer = 0 Dim invalidoposicionmenos_a2 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a2 As Integer = 0 Dim invalidoapareceonomenos_a2 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a2 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If invalidocaracterevaluado_a2 = "/" Then invalidoposicionpleca_a2 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a2 = invalidocontadorplecas_a2 + 1 End If If invalidocaracterevaluado_a2 = "-" Then invalidoposicionmenos_a2 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a2 = invalidocontadormenos_a2 + 1 End If Next If (invalidocontadorplecas_a2 > 1) Or (invalidocontadormenos_a2 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a2 = 1 Else If (invalidoposicionpleca_a2 = 1) Or (invalidoposicionpleca_a2 = invalidolongitudcadena_a2) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a2 = 1 End If End If If (invalidocontadormenos_a2 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a2 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a2.Text, invalidoposicionmenos_a2 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía.

Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a2 = 1 End If End If End If If Mid(a2.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a2 = 1 End If If a2.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a2 = 1 End If If invalidoconfirmado_a2 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,3) --> a3. Dim invalidolongitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a3 As Integer = 0 Dim invalidoposicionesmenos_a3 As Integer = 0 Dim invalidoposicionmenos_a3 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a3 As Integer = 0 Dim invalidoapareceonomenos_a3 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a3 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If invalidocaracterevaluado_a3 = "/" Then invalidoposicionpleca_a3 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a3 = invalidocontadorplecas_a3 + 1 End If If invalidocaracterevaluado_a3 = "-" Then invalidoposicionmenos_a3 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a3 = invalidocontadormenos_a3 + 1 End If Next If (invalidocontadorplecas_a3 > 1) Or (invalidocontadormenos_a3 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a3 = 1 Else If (invalidoposicionpleca_a3 = 1) Or (invalidoposicionpleca_a3 = invalidolongitudcadena_a3) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a3 = 1 End If End If If (invalidocontadormenos_a3 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final.

If (invalidoposicionmenos_a3 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a3.Text, invalidoposicionmenos_a3 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de v alor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a3 = 1 End If End If End If If Mid(a3.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a3 = 1 End If If a3.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a3 = 1 End If If invalidoconfirmado_a3 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,1) --> a6. Dim invalidolongitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a6 As Integer = 0 Dim invalidoposicionesmenos_a6 As Integer = 0 Dim invalidoposicionmenos_a6 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a6 As Integer = 0 Dim invalidoapareceonomenos_a6 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a6 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If invalidocaracterevaluado_a6 = "/" Then invalidoposicionpleca_a6 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a6 = invalidocontadorplecas_a6 + 1 End If If invalidocaracterevaluado_a6 = "-" Then invalidoposicionmenos_a6 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a6 = invalidocontadormenos_a6 + 1 End If Next If (invalidocontadorplecas_a6 > 1) Or (invalidocontadormenos_a6 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a6 = 1 Else

If (invalidoposicionpleca_a6 = 1) Or (invalidoposicionpleca_a6 = invalidolongitudcadena_a6) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a6 = 1 End If End If If (invalidocontadormenos_a6 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a6 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a6.Text, invalidoposicionmenos_a6 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a6 = 1 End If End If End If If Mid(a6.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a6 = 1 End If If a6.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a6 = 1 End If If invalidoconfirmado_a6 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,2) --> a7. Dim invalidolongitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a7 As Integer = 0 Dim invalidoposicionesmenos_a7 As Integer = 0 Dim invalidoposicionmenos_a7 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a7 As Integer = 0 Dim invalidoapareceonomenos_a7 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a7 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If invalidocaracterevaluado_a7 = "/" Then invalidoposicionpleca_a7 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a7 = invalidocontadorplecas_a7 + 1 End If If invalidocaracterevaluado_a7 = "-" Then

invalidoposicionmenos_a7 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a7 = invalidocontadormenos_a7 + 1 End If Next If (invalidocontadorplecas_a7 > 1) Or (invalidocontadormenos_a7 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a7 = 1 Else If (invalidoposicionpleca_a7 = 1) Or (invalidoposicionpleca_a7 = invalidolongitudcadena_a7) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a7 = 1 End If End If If (invalidocontadormenos_a7 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a7 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a7.Text, invalidoposicionmenos_a7 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a7 = 1 End If End If End If If Mid(a7.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a7 = 1 End If If a7.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a7 = 1 End If If invalidoconfirmado_a7 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,3) --> a8. Dim invalidolongitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a8 As Integer = 0 Dim invalidoposicionesmenos_a8 As Integer = 0 Dim invalidoposicionmenos_a8 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a8 As Integer = 0 Dim invalidoapareceonomenos_a8 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a8 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos.

For ciclo As Integer = 1 To invalidolongitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If invalidocaracterevaluado_a8 = "/" Then invalidoposicionpleca_a8 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a8 = invalidocontadorplecas_a8 + 1 End If If invalidocaracterevaluado_a8 = "-" Then invalidoposicionmenos_a8 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a8 = invalidocontadormenos_a8 + 1 End If Next If (invalidocontadorplecas_a8 > 1) Or (invalidocontadormenos_a8 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a8 = 1 Else If (invalidoposicionpleca_a8 = 1) Or (invalidoposicionpleca_a8 = invalidolongitudcadena_a8) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a8 = 1 End If End If If (invalidocontadormenos_a8 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a8 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a8.Text, invalidoposicionmenos_a8 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a8 = 1 End If End If End If If Mid(a8.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a8 = 1 End If If a8.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a8 = 1 End If If invalidoconfirmado_a8 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,1) --> a11. Dim invalidolongitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena.

Dim invalidocontadorplecas_a11 As Integer = 0 Dim invalidoposicionesmenos_a11 As Integer = 0 Dim invalidoposicionmenos_a11 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a11 As Integer = 0 Dim invalidoapareceonomenos_a11 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a11 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If invalidocaracterevaluado_a11 = "/" Then invalidoposicionpleca_a11 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a11 = invalidocontadorplecas_a11 + 1 End If If invalidocaracterevaluado_a11 = "-" Then invalidoposicionmenos_a11 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a11 = invalidocontadormenos_a11 + 1 End If Next If (invalidocontadorplecas_a11 > 1) Or (invalidocontadormenos_a11 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a11 = 1 Else If (invalidoposicionpleca_a11 = 1) Or (invalidoposicionpleca_a11 = invalidolongitudcadena_a11) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a11 = 1 End If End If If (invalidocontadormenos_a11 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a11 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a11.Text, invalidoposicionmenos_a11 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a11 = 1 End If End If End If If Mid(a11.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a11 = 1 End If If a11.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a11 = 1 End If If invalidoconfirmado_a11 = 1 Then

valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,2) --> a12. Dim invalidolongitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a12 As Integer = 0 Dim invalidoposicionesmenos_a12 As Integer = 0 Dim invalidoposicionmenos_a12 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a12 As Integer = 0 Dim invalidoapareceonomenos_a12 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a12 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If invalidocaracterevaluado_a12 = "/" Then invalidoposicionpleca_a12 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a12 = invalidocontadorplecas_a12 + 1 End If If invalidocaracterevaluado_a12 = "-" Then invalidoposicionmenos_a12 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a12 = invalidocontadormenos_a12 + 1 End If Next If (invalidocontadorplecas_a12 > 1) Or (invalidocontadormenos_a12 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a12 = 1 Else If (invalidoposicionpleca_a12 = 1) Or (invalidoposicionpleca_a12 = invalidolongitudcadena_a12) Then 'Si la pleca aparece como primer o como último car acter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a12 = 1 End If End If If (invalidocontadormenos_a12 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a12 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a12.Text, invalidoposicionmenos_a12 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a12 = 1 End If End If End If

If Mid(a12.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a12 = 1 End If If a12.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a12 = 1 End If If invalidoconfirmado_a12 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,3) --> a13. Dim invalidolongitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a13 As Integer = 0 Dim invalidoposicionesmenos_a13 As Integer = 0 Dim invalidoposicionmenos_a13 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a13 As Integer = 0 Dim invalidoapareceonomenos_a13 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a13 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If invalidocaracterevaluado_a13 = "/" Then invalidoposicionpleca_a13 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a13 = invalidocontadorplecas_a13 + 1 End If If invalidocaracterevaluado_a13 = "-" Then invalidoposicionmenos_a13 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a13 = invalidocontadormenos_a13 + 1 End If Next If (invalidocontadorplecas_a13 > 1) Or (invalidocontadormenos_a13 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a13 = 1 Else If (invalidoposicionpleca_a13 = 1) Or (invalidoposicionpleca_a13 = invalidolongitudcadena_a13) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a13 = 1 End If End If If (invalidocontadormenos_a13 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a13 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a13.Text, invalidoposicionmenos_a13 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el

denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a13 = 1 End If End If End If If Mid(a13.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a13 = 1 End If If a13.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a13 = 1 End If If invalidoconfirmado_a13 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Si hay caracteres inválidos en la matriz original 2x2, se manda el mensaje correspondiente; de lo contrario se procede a hacer las evaluaciones. If valoresinvalidosenmatrizoriginal = 1 Then MsgBox("La matriz original contiene valores inválidos", MsgBoxStyle.OkOnly, "Inversa de matrices") Else 'Encontrar el numerador y el denominador de la posición (1,1)--> a1. Dim longitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If caracterevaluado_a1 = "/" Then posicionpleca_a1 = ciclo banderapleca_a1 = 1 End If Next If banderapleca_a1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a1 = Mid(a1.Text, 1, posicionpleca_a1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a1 = Mid(a1.Text, posicionpleca_a1 + 1, longitudcadena_a1 - posicionpleca_a1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a1 = Mid(a1.Text, 1, longitudcadena_a1) denominador_a1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> a2.

Dim longitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If caracterevaluado_a2 = "/" Then posicionpleca_a2 = ciclo banderapleca_a2 = 1 End If Next If banderapleca_a2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a2 = Mid(a2.Text, 1, posicionpleca_a2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a2 = Mid(a2.Text, posicionpleca_a2 + 1, longitudcadena_a2 - posicionpleca_a2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a2 = Mid(a2.Text, 1, longitudcadena_a2) denominador_a2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> a3. Dim longitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If caracterevaluado_a3 = "/" Then posicionpleca_a3 = ciclo banderapleca_a3 = 1 End If Next If banderapleca_a3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a3 = Mid(a3.Text, 1, posicionpleca_a3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a3 = Mid(a3.Text, posicionpleca_a3 + 1, longitudcadena_a3 - posicionpleca_a3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena.

Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a3 = Mid(a3.Text, 1, longitudcadena_a3) denominador_a3 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> a6. Dim longitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If caracterevaluado_a6 = "/" Then posicionpleca_a6 = ciclo banderapleca_a6 = 1 End If Next If banderapleca_a6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a6 = Mid(a6.Text, 1, posicionpleca_a6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a6 = Mid(a6.Text, posicionpleca_a6 + 1, longitudcadena_a6 - posicionpleca_a6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a6 = Mid(a6.Text, 1, longitudcadena_a6) denominador_a6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> a7. Dim longitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If caracterevaluado_a7 = "/" Then posicionpleca_a7 = ciclo banderapleca_a7 = 1 End If Next

If banderapleca_a7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario . numerador_a7 = Mid(a7.Text, 1, posicionpleca_a7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a7 = Mid(a7.Text, posicionpleca_a7 + 1, longitudcadena_a7 - posicionpleca_a7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a7 = Mid(a7.Text, 1, longitudcadena_a7) denominador_a7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> a8. Dim longitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If caracterevaluado_a8 = "/" Then posicionpleca_a8 = ciclo banderapleca_a8 = 1 End If Next If banderapleca_a8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a8 = Mid(a8.Text, 1, posicionpleca_a8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a8 = Mid(a8.Text, posicionpleca_a8 + 1, longitudcadena_a8 - posicionpleca_a8) 'El denominador será desde un caracter después de la pleca, hast a el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a8 = Mid(a8.Text, 1, longitudcadena_a8) denominador_a8 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> a11. Dim longitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If caracterevaluado_a11 = "/" Then posicionpleca_a11 = ciclo banderapleca_a11 = 1 End If Next If banderapleca_a11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a11 = Mid(a11.Text, 1, posicionpleca_a11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a11 = Mid(a11.Text, posicionpleca_a11 + 1, longitudcadena_a11 - posicionpleca_a11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a11 = Mid(a11.Text, 1, longitudcadena_a11) denominador_a11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> a12. Dim longitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If caracterevaluado_a12 = "/" Then posicionpleca_a12 = ciclo banderapleca_a12 = 1 End If Next If banderapleca_a12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a12 = Mid(a12.Text, 1, posicionpleca_a12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a12 = Mid(a12.Text, posicionpleca_a12 + 1, longitudcadena_a12 - posicionpleca_a12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a12 = Mid(a12.Text, 1, longitudcadena_a12) denominador_a12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> a13. Dim longitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If caracterevaluado_a13 = "/" Then posicionpleca_a13 = ciclo banderapleca_a13 = 1 End If Next If banderapleca_a13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a13 = Mid(a13.Text, 1, posicionpleca_a13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a13 = Mid(a13.Text, posicionpleca_a13 + 1, longitudcadena_a13 - posicionpleca_a13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a13 = Mid(a13.Text, 1, longitudcadena_a13) denominador_a13 = 1 End If 'Determina la matriz 3x3 de cofactores. Dim m_a1 As New Fraction(numerador_a1, denominador_a1) Dim m_a2 As New Fraction(numerador_a2, denominador_a2) Dim m_a3 As New Fraction(numerador_a3, denominador_a3) Dim m_a6 As New Fraction(numerador_a6, denominador_a6) Dim m_a7 As New Fraction(numerador_a7, denominador_a7) Dim m_a8 As New Fraction(numerador_a8, denominador_a8) Dim m_a11 As New Fraction(numerador_a11, denominador_a11) Dim m_a12 As New Fraction(numerador_a12, denominador_a12) Dim m_a13 As New Fraction(numerador_a13, denominador_a13) Dim menos1 As New Fraction(-1, 1) 'Para multiplicar un objeto Fraction por -1. Dim m_b1 As Fraction Dim m_b2 As Fraction Dim m_b3 As Fraction Dim m_b6 As Fraction Dim m_b7 As Fraction Dim m_b8 As Fraction Dim m_b11 As Fraction Dim m_b12 As Fraction Dim m_b13 As Fraction m_b1 = m_a7 * m_a13 - m_a8 * m_a12 m_b2 = menos1 * (m_a6 * m_a13 - m_a8 * m_a11) m_b3 = m_a6 * m_a12 - m_a7 * m_a11 m_b6 = menos1 * (m_a2 * m_a13 - m_a3 * m_a12) m_b7 = m_a1 * m_a13 - m_a3 * m_a11 m_b8 = menos1 * (m_a1 * m_a12 - m_a2 * m_a11) m_b11 = m_a2 * m_a8 - m_a3 * m_a7 m_b12 = menos1 * (m_a1 * m_a8 - m_a3 * m_a6) m_b13 = m_a1 * m_a7 - m_a2 * m_a6 'Imprime la matriz 3x3 de cofactores b1.Text = m_b1.ToString b2.Text = m_b2.ToString

b3.Text = m_b3.ToString b6.Text = m_b6.ToString b7.Text = m_b7.ToString b8.Text = m_b8.ToString b11.Text = m_b11.ToString b12.Text = m_b12.ToString b13.Text = m_b13.ToString 'Cambia la matriz 3x3 de cofactores a la matriz adjunta 3x3. c1.Text = b1.Text c2.Text = b6.Text c3.Text = b11.Text c6.Text = b2.Text c7.Text = b7.Text c8.Text = b12.Text c11.Text = b3.Text c12.Text = b8.Text c13.Text = b13.Text 'Calcula el determinante de la matriz 3x3 para luego obtener la inversa del determinante de la matriz 3x3. Dim determinante3x3 As Fraction Dim uno As New Fraction(1, 1) Dim inversadeterminante3x3 As Fraction determinante3x3 = m_a1 * ((m_a7) * (m_a13) - (m_a8) * (m_a12)) - m_a2 * ((m_a6) * (m_a13) - (m_a8) * (m_a11)) + m_a3 * ((m_a6) * (m_a12) - (m_a7) * (m_a11)) inversadeterminante3x3 = uno / determinante3x3 'Encontrar el numerador y el denominador de la posición (1,1)--> c1. Dim longitudcadena_c1 As Integer = Len(c1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c1 = Mid(c1.Text, ciclo, 1) If caracterevaluado_c1 = "/" Then posicionpleca_c1 = ciclo banderapleca_c1 = 1 End If Next If banderapleca_c1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c1 = Mid(c1.Text, 1, posicionpleca_c1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c1 = Mid(c1.Text, posicionpleca_c1 + 1, longitudcadena_c1 - posicionpleca_c1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c1 = Mid(c1.Text, 1, longitudcadena_c1) denominador_c1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> c2. Dim longitudcadena_c2 As Integer = Len(c2.Text) 'Variable para almace nar la longitud de la cadena que hay en un Textbox.

Dim caracterevaluado_c2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c2 = Mid(c2.Text, ciclo, 1) If caracterevaluado_c2 = "/" Then posicionpleca_c2 = ciclo banderapleca_c2 = 1 End If Next If banderapleca_c2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c2 = Mid(c2.Text, 1, posicionpleca_c2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c2 = Mid(c2.Text, posicionpleca_c2 + 1, longitudcadena_c2 - posicionpleca_c2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c2 = Mid(c2.Text, 1, longitudcadena_c2) denominador_c2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> c3. Dim longitudcadena_c3 As Integer = Len(c3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c3 = Mid(c3.Text, ciclo, 1) If caracterevaluado_c3 = "/" Then posicionpleca_c3 = ciclo banderapleca_c3 = 1 End If Next If banderapleca_c3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c3 = Mid(c3.Text, 1, posicionpleca_c3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c3 = Mid(c3.Text, posicionpleca_c3 + 1, longitudcadena_c3 - posicionpleca_c3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos

ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c3 = Mid(c3.Text, 1, longitudcadena_c3) denominador_c3 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> c6. Dim longitudcadena_c6 As Integer = Len(c6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c6 = Mid(c6.Text, ciclo, 1) If caracterevaluado_c6 = "/" Then posicionpleca_c6 = ciclo banderapleca_c6 = 1 End If Next If banderapleca_c6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c6 = Mid(c6.Text, 1, posicionpleca_c6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c6 = Mid(c6.Text, posicionpleca_c6 + 1, longitudcadena_c6 - posicionpleca_c6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c6 = Mid(c6.Text, 1, longitudcadena_c6) denominador_c6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> c7. Dim longitudcadena_c7 As Integer = Len(c7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c7 = Mid(c7.Text, ciclo, 1) If caracterevaluado_c7 = "/" Then posicionpleca_c7 = ciclo banderapleca_c7 = 1 End If Next If banderapleca_c7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario.

numerador_c7 = Mid(c7.Text, 1, posicionpleca_c7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c7 = Mid(c7.Text, posicionpleca_c7 + 1, longitudcadena_c7 - posicionpleca_c7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c7 = Mid(c7.Text, 1, longitudcadena_c7) denominador_c7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> c8. Dim longitudcadena_c8 As Integer = Len(c8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c8 = Mid(c8.Text, ciclo, 1) If caracterevaluado_c8 = "/" Then posicionpleca_c8 = ciclo banderapleca_c8 = 1 End If Next If banderapleca_c8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c8 = Mid(c8.Text, 1, posicionpleca_c8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c8 = Mid(c8.Text, posicionpleca_c8 + 1, longitudcadena_c8 - posicionpleca_c8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c8 = Mid(c8.Text, 1, longitudcadena_c8) denominador_c8 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> c11 Dim longitudcadena_c11 As Integer = Len(c11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c11 = Mid(c11.Text, ciclo, 1)

If caracterevaluado_c11 = "/" Then posicionpleca_c11 = ciclo banderapleca_c11 = 1 End If Next If banderapleca_c11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c11 = Mid(c11.Text, 1, posicionpleca_c11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c11 = Mid(c11.Text, posicionpleca_c11 + 1, longitudcadena_c11 - posicionpleca_c11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c11 = Mid(c11.Text, 1, longitudcadena_c11) denominador_c11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> c12 Dim longitudcadena_c12 As Integer = Len(c12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c12 = Mid(c12.Text, ciclo, 1) If caracterevaluado_c12 = "/" Then posicionpleca_c12 = ciclo banderapleca_c12 = 1 End If Next If banderapleca_c12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c12 = Mid(c12.Text, 1, posicionpleca_c12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c12 = Mid(c12.Text, posicionpleca_c12 + 1, longitudcadena_c12 - posicionpleca_c12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c12 = Mid(c12.Text, 1, longitudcadena_c12) denominador_c12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> c13 Dim longitudcadena_c13 As Integer = Len(c13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c13 As String 'Almacena el numerador del Textbox que se está evaluando.

Dim denominador_c13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c13 = Mid(c13.Text, ciclo, 1) If caracterevaluado_c13 = "/" Then posicionpleca_c13 = ciclo banderapleca_c13 = 1 End If Next If banderapleca_c13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c13 = Mid(c13.Text, 1, posicionpleca_c13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c13 = Mid(c13.Text, posicionpleca_c13 + 1, longitudcadena_c13 - posicionpleca_c13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c13 = Mid(c13.Text, 1, longitudcadena_c13) denominador_c13 = 1 End If 'Convierte los valores de los Textbox de la matriz c a objetos Fraction, mediante la clase. Dim m_c1 As New Fraction(numerador_c1, denominador_c1) Dim m_c2 As New Fraction(numerador_c2, denominador_c2) Dim m_c3 As New Fraction(numerador_c3, denominador_c3) Dim m_c6 As New Fraction(numerador_c6, denominador_c6) Dim m_c7 As New Fraction(numerador_c7, denominador_c7) Dim m_c8 As New Fraction(numerador_c8, denominador_c8) Dim m_c11 As New Fraction(numerador_c11, denominador_c11) Dim m_c12 As New Fraction(numerador_c12, denominador_c12) Dim m_c13 As New Fraction(numerador_c13, denominador_c13) Dim m_cfraccion1 As Fraction Dim m_cfraccion2 As Fraction Dim m_cfraccion3 As Fraction Dim m_cfraccion6 As Fraction Dim m_cfraccion7 As Fraction Dim m_cfraccion8 As Fraction Dim m_cfraccion11 As Fraction Dim m_cfraccion12 As Fraction Dim m_cfraccion13 As Fraction m_cfraccion1 = m_c1 m_cfraccion2 = m_c2 m_cfraccion3 = m_c3 m_cfraccion6 = m_c6 m_cfraccion7 = m_c7 m_cfraccion8 = m_c8 m_cfraccion11 = m_c11 m_cfraccion12 = m_c12 m_cfraccion13 = m_c13 'Multiplica el determinante de la matriz original 3x3 por la matriz adjunta, de modo que se obtiene la inversa de la matriz original. Dim m_cinversa1 As Fraction Dim m_cinversa2 As Fraction Dim m_cinversa3 As Fraction Dim m_cinversa6 As Fraction Dim m_cinversa7 As Fraction Dim m_cinversa8 As Fraction

Dim m_cinversa11 As Fraction Dim m_cinversa12 As Fraction Dim m_cinversa13 As Fraction m_cinversa1 = inversadeterminante3x3 * m_cfraccion1 m_cinversa2 = inversadeterminante3x3 * m_cfraccion2 m_cinversa3 = inversadeterminante3x3 * m_cfraccion3 m_cinversa6 = inversadeterminante3x3 * m_cfraccion6 m_cinversa7 = inversadeterminante3x3 * m_cfraccion7 m_cinversa8 = inversadeterminante3x3 * m_cfraccion8 m_cinversa11 = inversadeterminante3x3 * m_cfraccion11 m_cinversa12 = inversadeterminante3x3 * m_cfraccion12 m_cinversa13 = inversadeterminante3x3 * m_cfraccion13 c1.Text = m_cinversa1.ToString c2.Text = m_cinversa2.ToString c3.Text = m_cinversa3.ToString c6.Text = m_cinversa6.ToString c7.Text = m_cinversa7.ToString c8.Text = m_cinversa8.ToString c11.Text = m_cinversa11.ToString c12.Text = m_cinversa12.ToString c13.Text = m_cinversa13.ToString 'Posición (1,1) --> b1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b1 As Integer = Len(b1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b1 As String = b1.Text Dim ultimos2caracteres_b1 As String ultimos2caracteres_b1 = Mid(b1.Text, longitudcadena_b1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b1 = "/1" Then entero_b1 = Mid(b1.Text, 1, longitudcadena_b1 - 2) End If If Mid(b1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b1 = "0" End If b1.Text = entero_b1 'Posición (1,2) --> b2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b2 As Integer = Len(b2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b2 As String = b2.Text Dim ultimos2caracteres_b2 As String ultimos2caracteres_b2 = Mid(b2.Text, longitudcadena_b2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b2 = "/1" Then entero_b2 = Mid(b2.Text, 1, longitudcadena_b2 - 2) End If If Mid(b2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b2 = "0" End If b2.Text = entero_b2 'Posición (1,3) --> b3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b3 As Integer = Len(b3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b3 As String = b3.Text Dim ultimos2caracteres_b3 As String

ultimos2caracteres_b3 = Mid(b3.Text, longitudcadena_b3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b3 = "/1" Then entero_b3 = Mid(b3.Text, 1, longitudcadena_b3 - 2) End If If Mid(b3.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b3 = "0" End If b3.Text = entero_b3 'Posición (2,1) --> b6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b6 As Integer = Len(b6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b6 As String = b6.Text Dim ultimos2caracteres_b6 As String ultimos2caracteres_b6 = Mid(b6.Text, longitudcadena_b6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b6 = "/1" Then entero_b6 = Mid(b6.Text, 1, longitudcadena_b6 - 2) End If If Mid(b6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b6 = "0" End If b6.Text = entero_b6 'Posición (2,2) --> b7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b7 As Integer = Len(b7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b7 As String = b7.Text Dim ultimos2caracteres_b7 As String ultimos2caracteres_b7 = Mid(b7.Text, longitudcadena_b7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b7 = "/1" Then entero_b7 = Mid(b7.Text, 1, longitudcadena_b7 - 2) End If If Mid(b7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b7 = "0" End If b7.Text = entero_b7 'Posición (2,3) --> b8. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b8 As Integer = Len(b8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b8 As String = b8.Text Dim ultimos2caracteres_b8 As String ultimos2caracteres_b8 = Mid(b8.Text, longitudcadena_b8 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b8 = "/1" Then entero_b8 = Mid(b8.Text, 1, longitudcadena_b8 - 2) End If If Mid(b8.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b8 = "0" End If b8.Text = entero_b8

'Posición (3,1) --> b11. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b11 As Integer = Len(b11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b11 As String = b11.Text Dim ultimos2caracteres_b11 As String ultimos2caracteres_b11 = Mid(b11.Text, longitudcadena_b11 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b11 = "/1" Then entero_b11 = Mid(b11.Text, 1, longitudcadena_b11 - 2) End If If Mid(b11.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b11 = "0" End If b11.Text = entero_b11 'Posición (3,2) --> b12. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b12 As Integer = Len(b12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b12 As String = b12.Text Dim ultimos2caracteres_b12 As String ultimos2caracteres_b12 = Mid(b12.Text, longitudcadena_b12 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b12 = "/1" Then entero_b12 = Mid(b12.Text, 1, longitudcadena_b12 - 2) End If If Mid(b12.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b12 = "0" End If b12.Text = entero_b12 'Posición (3,3) --> b13. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b13 As Integer = Len(b13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b13 As String = b13.Text Dim ultimos2caracteres_b13 As String ultimos2caracteres_b13 = Mid(b13.Text, longitudcadena_b13 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b13 = "/1" Then entero_b13 = Mid(b13.Text, 1, longitudcadena_b13 - 2) End If If Mid(b13.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b13 = "0" End If b13.Text = entero_b13 'Posición (1,1) --> c1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c1 As Integer = Len(c1.Text) Dim entero_c1 As String = c1.Text Dim ultimos2caracteres_c1 As String ultimos2caracteres_c1 = Mid(c1.Text, nuevalongitudcadena_c1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c1 = "/1" Then entero_c1 = Mid(c1.Text, 1, nuevalongitudcadena_c1 - 2) End If

If Mid(c1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c1 = "0" End If c1.Text = entero_c1 'Posición (1,2) --> c2. Si es 0/numero, dejarlo únicamente como 0 entero, quitarle el denominador 1. Dim nuevalongitudcadena_c2 As Integer = Len(c2.Text) Dim entero_c2 As String = c2.Text Dim ultimos2caracteres_c2 As String ultimos2caracteres_c2 = Mid(c2.Text, nuevalongitudcadena_c2 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c2 = "/1" Then entero_c2 = Mid(c2.Text, 1, nuevalongitudcadena_c2 - 2) End If If Mid(c2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c2 = "0" End If c2.Text = entero_c2 'Posición (1,3) --> c3. Si es 0/numero, dejarlo únicamente como 0 entero, quitarle el denominador 1. Dim nuevalongitudcadena_c3 As Integer = Len(c3.Text) Dim entero_c3 As String = c3.Text Dim ultimos2caracteres_c3 As String ultimos2caracteres_c3 = Mid(c3.Text, nuevalongitudcadena_c3 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c3 = "/1" Then entero_c3 = Mid(c3.Text, 1, nuevalongitudcadena_c3 - 2) End If If Mid(c3.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c3 = "0" End If c3.Text = entero_c3 'Posición (2,1) --> c6. Si es 0/numero, dejarlo únicamente como 0 entero, quitarle el denominador 1. Dim nuevalongitudcadena_c6 As Integer = Len(c6.Text) Dim entero_c6 As String = c6.Text Dim ultimos2caracteres_c6 As String ultimos2caracteres_c6 = Mid(c6.Text, nuevalongitudcadena_c6 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c6 = "/1" Then entero_c6 = Mid(c6.Text, 1, nuevalongitudcadena_c6 - 2) End If If Mid(c6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c6 = "0" End If c6.Text = entero_c6 'Posición (2,2) --> c7. Si es 0/numero, dejarlo únicamente como 0 entero, quitarle el denominador 1. Dim nuevalongitudcadena_c7 As Integer = Len(c7.Text) Dim entero_c7 As String = c7.Text Dim ultimos2caracteres_c7 As String ultimos2caracteres_c7 = Mid(c7.Text, nuevalongitudcadena_c7 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c7 = "/1" Then entero_c7 = Mid(c7.Text, 1, nuevalongitudcadena_c7 - 2)

cadena,

y si es

1, 2) si son

cadena,

y si es

1, 2) si son

cadena,

y si es

1, 2) si son

cadena,

y si es

1, 2) si son

End If If Mid(c7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c7 = "0" End If c7.Text = entero_c7 'Posición (2,3) --> c8. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c8 As Integer = Len(c8.Text) Dim entero_c8 As String = c8.Text Dim ultimos2caracteres_c8 As String ultimos2caracteres_c8 = Mid(c8.Text, nuevalongitudcadena_c8 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c8 = "/1" Then entero_c8 = Mid(c8.Text, 1, nuevalongitudcadena_c8 - 2) End If If Mid(c8.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c8 = "0" End If c8.Text = entero_c8 'Posición (3,1) --> c11. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c11 As Integer = Len(c11.Text) Dim entero_c11 As String = c11.Text Dim ultimos2caracteres_c11 As String ultimos2caracteres_c11 = Mid(c11.Text, nuevalongitudcadena_c11 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c11 = "/1" Then entero_c11 = Mid(c11.Text, 1, nuevalongitudcadena_c11 - 2) End If If Mid(c11.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c11 = "0" End If c11.Text = entero_c11 'Posición (3,2) --> c12. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c12 As Integer = Len(c12.Text) Dim entero_c12 As String = c12.Text Dim ultimos2caracteres_c12 As String ultimos2caracteres_c12 = Mid(c12.Text, nuevalongitudcadena_c12 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c12 = "/1" Then entero_c12 = Mid(c12.Text, 1, nuevalongitudcadena_c12 - 2) End If If Mid(c12.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c12 = "0" End If c12.Text = entero_c12 'Posición (3,3) --> b13. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim nuevalongitudcadena_c13 As Integer = Len(c13.Text) Dim entero_c13 As String = c13.Text Dim ultimos2caracteres_c13 As String ultimos2caracteres_c13 = Mid(c13.Text, nuevalongitudcadena_c13 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_c13 = "/1" Then

entero_c13 = Mid(c13.Text, 1, nuevalongitudcadena_c13 - 2) End If If Mid(c13.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_c13 = "0" End If c13.Text = entero_c13 TextBox1.Text = determinante3x3.ToString TextBox2.Text = inversadeterminante3x3.ToString 'Determinante de la matriz 3x3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_determinante3x3 As Integer = Len(TextBox1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_determinante3x3 As String = TextBox1.Text Dim ultimos2caracteres_determinante3x3 As String ultimos2caracteres_determinante3x3 = Mid(TextBox1.Text, longitudcadena_determinante3x3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_determinante3x3 = "/1" Then entero_determinante3x3 = Mid(TextBox1.Text, 1, longitudcadena_determinante3x3 - 2) End If If Mid(TextBox1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_determinante3x3 = "0" End If 'Determinante inversa de la matriz 3x3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_inversadeterminante3x3 As Integer = Len(TextBox2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_inversadeterminante3x3 As String = TextBox2.Text Dim ultimos2caracteres_inversadeterminante3x3 As String ultimos2caracteres_inversadeterminante3x3 = Mid(TextBox2.Text, longitudcadena_inversadeterminante3x3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_inversadeterminante3x3 = "/1" Then entero_inversadeterminante3x3 = Mid(TextBox2.Text, 1, longitudcadena_inversadeterminante3x3 - 2) End If If Mid(TextBox2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_inversadeterminante3x3 = "0" End If TextBox1.Text = entero_determinante3x3.ToString 'Imprime el determinante de la matriz 2x2 en forma de entero. TextBox2.Text = entero_inversadeterminante3x3.ToString 'Imprime la determinante inversa de la matriz 2x2 en forma de entero. End If End If 'Proceso para la inversa de una matriz 4x4. If (ComboBox1.SelectedItem = "Matriz 4x4") And (a1.Text <> "" And a2.Text <> "" And a3.Text <> "" And a4.Text <> "" And a6.Text <> "" And a7.Text <> "" And a8.Text <> "" And a9.Text <> "" And a11.Text <> "" And a12.Text <> "" And a13.Text <> "" And a14.Text <> "" And a16.Text <> "" And a17.Text <> "" And a18.Text <> "" And a19.Text <> "") Then a5.Text = "" a10.Text = "" a15.Text = "" a20.Text = "" a25.Text = "" TextBox1.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores.

TextBox2.Text = "" 'Para que no queden impresos los valores de evaluaciones anteriores. 'Si del Combobox se selecciona "Matriz 4x4" y si en la matriz original ya se han introducido valores, activa las celdas correspondientes. a1.Visible = True 'Verdadero. a2.Visible = True 'Verdadero. a3.Visible = True 'Verdadero. a4.Visible = True 'Verdadero. a5.Visible = False a6.Visible = True 'Verdadero. a7.Visible = True 'Verdadero. a8.Visible = True 'Verdadero. a9.Visible = True 'Verdadero. a10.Visible = False a11.Visible = True 'Verdadero. a12.Visible = True 'Verdadero. a13.Visible = True 'Verdadero. a14.Visible = True 'Verdadero. a15.Visible = False a16.Visible = True 'Verdadero. a17.Visible = True 'Verdadero. a18.Visible = True 'Verdadero. a19.Visible = True 'Verdadero. a20.Visible = False a21.Visible = False a22.Visible = False a23.Visible = False a24.Visible = False a25.Visible = False b1.Visible = True 'Verdadero. b2.Visible = True 'Verdadero. b3.Visible = True 'Verdadero. b4.Visible = True 'Verdadero. b5.Visible = False b6.Visible = True 'Verdadero. b7.Visible = True 'Verdadero. b8.Visible = True 'Verdadero. b9.Visible = True 'Verdadero. b10.Visible = False b11.Visible = True 'Verdadero. b12.Visible = True 'Verdadero. b13.Visible = True 'Verdadero. b14.Visible = True 'Verdadero. b15.Visible = False b16.Visible = True 'Verdadero. b17.Visible = True 'Verdadero. b18.Visible = True 'Verdadero. b19.Visible = True 'Verdadero. b20.Visible = False b21.Visible = False b22.Visible = False b23.Visible = False b24.Visible = False b25.Visible = False c1.Visible = True 'Verdadero. c2.Visible = True 'Verdadero. c3.Visible = True 'Verdadero. c4.Visible = True 'Verdadero. c5.Visible = False c6.Visible = True 'Verdadero. c7.Visible = True 'Verdadero. c8.Visible = True 'Verdadero. c9.Visible = True 'Verdadero.

c10.Visible = False c11.Visible = True 'Verdadero. c12.Visible = True 'Verdadero. c13.Visible = True 'Verdadero. c14.Visible = True 'Verdadero. c15.Visible = False c16.Visible = True 'Verdadero. c17.Visible = True 'Verdadero. c18.Visible = True 'Verdadero. c19.Visible = True 'Verdadero. c20.Visible = False c21.Visible = False c22.Visible = False c23.Visible = False c24.Visible = False c25.Visible = False 'Verificar que no se hayan introducido valores incoherentes en la matriz original. Las únicas incoherencias posibles son varias plecas o plecas en posiciones incoherentes; o varios signos menos o signos menos en posiciones incoherentes. Lo demás está controlado por el KeyPress. Dim valoresinvalidosenmatrizoriginal As Integer = 0 'Si vale 0, no hay valores invalidos en la matriz original. Si vale 1, sí hay valores inválidos en la matriz original. 'Verificar si el valor es inválido en la posición (1,1) --> a1. Dim invalidolongitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a1 As Integer = 0 Dim invalidoposicionesmenos_a1 As Integer = 0 Dim invalidoposicionmenos_a1 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a1 As Integer = 0 Dim invalidoapareceonomenos_a1 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a1 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If invalidocaracterevaluado_a1 = "/" Then invalidoposicionpleca_a1 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a1 = invalidocontadorplecas_a1 + 1 End If If invalidocaracterevaluado_a1 = "-" Then invalidoposicionmenos_a1 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a1 = invalidocontadormenos_a1 + 1 End If Next If (invalidocontadorplecas_a1 > 1) Or (invalidocontadormenos_a1 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a1 = 1 Else If (invalidoposicionpleca_a1 = 1) Or (invalidoposicionpleca_a1 = invalidolongitudcadena_a1) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a1 = 1 End If

End If If (invalidocontadormenos_a1 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a1 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a1.Text, invalidoposicionmenos_a1 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a1 = 1 End If End If End If If Mid(a1.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a1 = 1 End If If a1.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a1 = 1 End If If invalidoconfirmado_a1 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,2) --> a2. Dim invalidolongitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a2 As Integer = 0 Dim invalidoposicionesmenos_a2 As Integer = 0 Dim invalidoposicionmenos_a2 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a2 As Integer = 0 Dim invalidoapareceonomenos_a2 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a2 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If invalidocaracterevaluado_a2 = "/" Then invalidoposicionpleca_a2 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a2 = invalidocontadorplecas_a2 + 1 End If If invalidocaracterevaluado_a2 = "-" Then invalidoposicionmenos_a2 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a2 = invalidocontadormenos_a2 + 1 End If Next

If (invalidocontadorplecas_a2 > 1) Or (invalidocontadormenos_a2 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a2 = 1 Else If (invalidoposicionpleca_a2 = 1) Or (invalidoposicionpleca_a2 = invalidolongitudcadena_a2) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a2 = 1 End If End If If (invalidocontadormenos_a2 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a2 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a2.Text, invalidoposicionmenos_a2 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a2 = 1 End If End If End If If Mid(a2.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a2 = 1 End If If a2.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a2 = 1 End If If invalidoconfirmado_a2 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,3) --> a3. Dim invalidolongitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a3 As Integer = 0 Dim invalidoposicionesmenos_a3 As Integer = 0 Dim invalidoposicionmenos_a3 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a3 As Integer = 0 Dim invalidoapareceonomenos_a3 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a3 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If invalidocaracterevaluado_a3 = "/" Then

invalidoposicionpleca_a3 encontró una pleca.

=

ciclo

'Toma

la

posición

en

la

que

se

invalidocontadorplecas_a3 = invalidocontadorplecas_a3 + 1 End If If invalidocaracterevaluado_a3 = "-" Then invalidoposicionmenos_a3 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a3 = invalidocontadormenos_a3 + 1 End If Next If (invalidocontadorplecas_a3 > 1) Or (invalidocontadormenos_a3 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a3 = 1 Else If (invalidoposicionpleca_a3 = 1) Or (invalidoposicionpleca_a3 = invalidolongitudcadena_a3) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a3 = 1 End If End If If (invalidocontadormenos_a3 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a3 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a3.Text, invalidoposicionmenos_a3 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a3 = 1 End If End If End If If Mid(a3.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a3 = 1 End If If a3.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a3 = 1 End If If invalidoconfirmado_a3 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (1,4) --> a4. Dim invalidolongitudcadena_a4 As Integer = Len(a4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a4 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a4 As Integer = 0 Dim invalidoposicionesmenos_a4 As Integer = 0 Dim invalidoposicionmenos_a4 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena.

Dim invalidocontadormenos_a4 As Integer = 0 Dim invalidoapareceonomenos_a4 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a4 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a4 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a4 = Mid(a4.Text, ciclo, 1) If invalidocaracterevaluado_a4 = "/" Then invalidoposicionpleca_a4 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a4 = invalidocontadorplecas_a4 + 1 End If If invalidocaracterevaluado_a4 = "-" Then invalidoposicionmenos_a4 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a4 = invalidocontadormenos_a4 + 1 End If Next If (invalidocontadorplecas_a4 > 1) Or (invalidocontadormenos_a4 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a4 = 1 Else If (invalidoposicionpleca_a4 = 1) Or (invalidoposicionpleca_a4 = invalidolongitudcadena_a4) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a4 = 1 End If End If If (invalidocontadormenos_a4 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a4 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a4.Text, invalidoposicionmenos_a4 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a4 = 1 End If End If End If If Mid(a4.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a4 = 1 End If If a4.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a4 = 1 End If If invalidoconfirmado_a4 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,1) --> a6.

Dim invalidolongitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a6 As Integer = 0 Dim invalidoposicionesmenos_a6 As Integer = 0 Dim invalidoposicionmenos_a6 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a6 As Integer = 0 Dim invalidoapareceonomenos_a6 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a6 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If invalidocaracterevaluado_a6 = "/" Then invalidoposicionpleca_a6 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a6 = invalidocontadorplecas_a6 + 1 End If If invalidocaracterevaluado_a6 = "-" Then invalidoposicionmenos_a6 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a6 = invalidocontadormenos_a6 + 1 End If Next If (invalidocontadorplecas_a6 > 1) Or (invalidocontadormenos_a6 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a6 = 1 Else If (invalidoposicionpleca_a6 = 1) Or (invalidoposicionpleca_a6 = invalidolongitudcadena_a6) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a6 = 1 End If End If If (invalidocontadormenos_a6 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a6 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a6.Text, invalidoposicionmenos_a6 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a6 = 1 End If End If End If If Mid(a6.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a6 = 1 End If

If a6.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a6 = 1 End If If invalidoconfirmado_a6 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,2) --> a7. Dim invalidolongitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a7 As Integer = 0 Dim invalidoposicionesmenos_a7 As Integer = 0 Dim invalidoposicionmenos_a7 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a7 As Integer = 0 Dim invalidoapareceonomenos_a7 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a7 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If invalidocaracterevaluado_a7 = "/" Then invalidoposicionpleca_a7 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a7 = invalidocontadorplecas_a7 + 1 End If If invalidocaracterevaluado_a7 = "-" Then invalidoposicionmenos_a7 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a7 = invalidocontadormenos_a7 + 1 End If Next If (invalidocontadorplecas_a7 > 1) Or (invalidocontadormenos_a7 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a7 = 1 Else If (invalidoposicionpleca_a7 = 1) Or (invalidoposicionpleca_a7 = invalidolongitudcadena_a7) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a7 = 1 End If End If If (invalidocontadormenos_a7 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a7 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a7.Text, invalidoposicionmenos_a7 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía.

Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a7 = 1 End If End If End If If Mid(a7.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a7 = 1 End If If a7.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a7 = 1 End If If invalidoconfirmado_a7 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,3) --> a8. Dim invalidolongitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a8 As Integer = 0 Dim invalidoposicionesmenos_a8 As Integer = 0 Dim invalidoposicionmenos_a8 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a8 As Integer = 0 Dim invalidoapareceonomenos_a8 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a8 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If invalidocaracterevaluado_a8 = "/" Then invalidoposicionpleca_a8 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a8 = invalidocontadorplecas_a8 + 1 End If If invalidocaracterevaluado_a8 = "-" Then invalidoposicionmenos_a8 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a8 = invalidocontadormenos_a8 + 1 End If Next If (invalidocontadorplecas_a8 > 1) Or (invalidocontadormenos_a8 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a8 = 1 Else If (invalidoposicionpleca_a8 = 1) Or (invalidoposicionpleca_a8 = invalidolongitudcadena_a8) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a8 = 1 End If End If If (invalidocontadormenos_a8 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final.

If (invalidoposicionmenos_a8 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a8.Text, invalidoposicionmenos_a8 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a8 = 1 End If End If End If If Mid(a8.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a8 = 1 End If If a8.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a8 = 1 End If If invalidoconfirmado_a8 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (2,4) --> a9. Dim invalidolongitudcadena_a9 As Integer = Len(a9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a9 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a9 As Integer = 0 Dim invalidoposicionesmenos_a9 As Integer = 0 Dim invalidoposicionmenos_a9 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a9 As Integer = 0 Dim invalidoapareceonomenos_a9 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a9 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a9 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a9 = Mid(a9.Text, ciclo, 1) If invalidocaracterevaluado_a9 = "/" Then invalidoposicionpleca_a9 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a9 = invalidocontadorplecas_a9 + 1 End If If invalidocaracterevaluado_a9 = "-" Then invalidoposicionmenos_a9 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a9 = invalidocontadormenos_a9 + 1 End If Next If (invalidocontadorplecas_a9 > 1) Or (invalidocontadormenos_a9 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a9 = 1 Else

If (invalidoposicionpleca_a9 = 1) Or (invalidoposicionpleca_a9 = invalidolongitudcadena_a9) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a9 = 1 End If End If If (invalidocontadormenos_a9 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a9 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a9.Text, invalidoposicionmenos_a9 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a9 = 1 End If End If End If If Mid(a9.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a1 = 1 End If If a9.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a9 = 1 End If If invalidoconfirmado_a9 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,1) --> a11. Dim invalidolongitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a11 As Integer = 0 Dim invalidoposicionesmenos_a11 As Integer = 0 Dim invalidoposicionmenos_a11 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a11 As Integer = 0 Dim invalidoapareceonomenos_a11 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a11 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If invalidocaracterevaluado_a11 = "/" Then invalidoposicionpleca_a11 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a11 = invalidocontadorplecas_a11 + 1 End If If invalidocaracterevaluado_a11 = "-" Then

invalidoposicionmenos_a11 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a11 = invalidocontadormenos_a11 + 1 End If Next If (invalidocontadorplecas_a11 > 1) Or (invalidocontadormenos_a11 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a11 = 1 Else If (invalidoposicionpleca_a11 = 1) Or (invalidoposicionpleca_a11 = invalidolongitudcadena_a11) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a11 = 1 End If End If If (invalidocontadormenos_a11 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a11 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a11.Text, invalidoposicionmenos_a11 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a11 = 1 End If End If End If If Mid(a11.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a11 = 1 End If If a11.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a11 = 1 End If If invalidoconfirmado_a11 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,2) --> a12. Dim invalidolongitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a12 As Integer = 0 Dim invalidoposicionesmenos_a12 As Integer = 0 Dim invalidoposicionmenos_a12 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a12 As Integer = 0 Dim invalidoapareceonomenos_a12 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a12 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos.

For ciclo As Integer = 1 To invalidolongitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If invalidocaracterevaluado_a12 = "/" Then invalidoposicionpleca_a12 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a12 = invalidocontadorplecas_a12 + 1 End If If invalidocaracterevaluado_a12 = "-" Then invalidoposicionmenos_a12 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a12 = invalidocontadormenos_a12 + 1 End If Next If (invalidocontadorplecas_a12 > 1) Or (invalidocontadormenos_a12 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a12 = 1 Else If (invalidoposicionpleca_a12 = 1) Or (invalidoposicionpleca_a12 = invalidolongitudcadena_a12) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a12 = 1 End If End If If (invalidocontadormenos_a12 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a12 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a12.Text, invalidoposicionmenos_a12 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a12 = 1 End If End If End If If Mid(a12.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a12 = 1 End If If a12.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a12 = 1 End If If invalidoconfirmado_a12 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,3) --> a13. Dim invalidolongitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena.

Dim invalidocontadorplecas_a13 As Integer = 0 Dim invalidoposicionesmenos_a13 As Integer = 0 Dim invalidoposicionmenos_a13 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a13 As Integer = 0 Dim invalidoapareceonomenos_a13 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a13 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If invalidocaracterevaluado_a13 = "/" Then invalidoposicionpleca_a13 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a13 = invalidocontadorplecas_a13 + 1 End If If invalidocaracterevaluado_a13 = "-" Then invalidoposicionmenos_a13 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a13 = invalidocontadormenos_a13 + 1 End If Next If (invalidocontadorplecas_a13 > 1) Or (invalidocontadormenos_a13 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a13 = 1 Else If (invalidoposicionpleca_a13 = 1) Or (invalidoposicionpleca_a13 = invalidolongitudcadena_a13) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a13 = 1 End If End If If (invalidocontadormenos_a13 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a13 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a13.Text, invalidoposicionmenos_a13 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a13 = 1 End If End If End If If Mid(a13.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a13 = 1 End If If a13.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a13 = 1 End If If invalidoconfirmado_a13 = 1 Then

valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (3,4) --> a14. Dim invalidolongitudcadena_a14 As Integer = Len(a14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a14 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a14 As Integer = 0 Dim invalidoposicionesmenos_a14 As Integer = 0 Dim invalidoposicionmenos_a14 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a14 As Integer = 0 Dim invalidoapareceonomenos_a14 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a14 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a14 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a14 = Mid(a14.Text, ciclo, 1) If invalidocaracterevaluado_a14 = "/" Then invalidoposicionpleca_a14 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a14 = invalidocontadorplecas_a14 + 1 End If If invalidocaracterevaluado_a14 = "-" Then invalidoposicionmenos_a14 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a14 = invalidocontadormenos_a14 + 1 End If Next If (invalidocontadorplecas_a14 > 1) Or (invalidocontadormenos_a14 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a14 = 1 Else If (invalidoposicionpleca_a14 = 1) Or (invalidoposicionpleca_a14 = invalidolongitudcadena_a14) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a14 = 1 End If End If If (invalidocontadormenos_a14 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a14 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a14.Text, invalidoposicionmenos_a14 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a14 = 1 End If End If End If

If Mid(a14.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a14 = 1 End If If a14.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a14 = 1 End If If invalidoconfirmado_a14 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,1) --> a16. Dim invalidolongitudcadena_a16 As Integer = Len(a16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a16 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a16 As Integer = 0 Dim invalidoposicionesmenos_a16 As Integer = 0 Dim invalidoposicionmenos_a16 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a16 As Integer = 0 Dim invalidoapareceonomenos_a16 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a16 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a16 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a16 = Mid(a16.Text, ciclo, 1) If invalidocaracterevaluado_a16 = "/" Then invalidoposicionpleca_a16 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a16 = invalidocontadorplecas_a16 + 1 End If If invalidocaracterevaluado_a16 = "-" Then invalidoposicionmenos_a16 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a16 = invalidocontadormenos_a16 + 1 End If Next If (invalidocontadorplecas_a16 > 1) Or (invalidocontadormenos_a16 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a16 = 1 Else If (invalidoposicionpleca_a16 = 1) Or (invalidoposicionpleca_a16 = invalidolongitudcadena_a16) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a16 = 1 End If End If If (invalidocontadormenos_a16 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a16 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a16.Text, invalidoposicionmenos_a16 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el

denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a16 = 1 End If End If End If If Mid(a16.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a16 = 1 End If If a16.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a16 = 1 End If If invalidoconfirmado_a16 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,2) --> a17. Dim invalidolongitudcadena_a17 As Integer = Len(a17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a17 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a17 As Integer = 0 Dim invalidoposicionesmenos_a17 As Integer = 0 Dim invalidoposicionmenos_a17 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a17 As Integer = 0 Dim invalidoapareceonomenos_a17 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a17 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a17 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a17 = Mid(a17.Text, ciclo, 1) If invalidocaracterevaluado_a17 = "/" Then invalidoposicionpleca_a17 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a17 = invalidocontadorplecas_a17 + 1 End If If invalidocaracterevaluado_a17 = "-" Then invalidoposicionmenos_a17 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a17 = invalidocontadormenos_a17 + 1 End If Next If (invalidocontadorplecas_a17 > 1) Or (invalidocontadormenos_a17 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a17 = 1 Else If (invalidoposicionpleca_a17 = 1) Or (invalidoposicionpleca_a17 = invalidolongitudcadena_a17) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a17 = 1 End If End If

If (invalidocontadormenos_a17 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a17 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a17.Text, invalidoposicionmenos_a17 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a17 = 1 End If End If End If If Mid(a17.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran "-/". invalidoconfirmado_a17 = 1 End If If a17.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a17 = 1 End If If invalidoconfirmado_a17 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,3) --> a18. Dim invalidolongitudcadena_a18 As Integer = Len(a18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a18 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a18 As Integer = 0 Dim invalidoposicionesmenos_a18 As Integer = 0 Dim invalidoposicionmenos_a18 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a18 As Integer = 0 Dim invalidoapareceonomenos_a18 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a18 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a18 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a18 = Mid(a18.Text, ciclo, 1) If invalidocaracterevaluado_a18 = "/" Then invalidoposicionpleca_a18 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a18 = invalidocontadorplecas_a18 + 1 End If If invalidocaracterevaluado_a18 = "-" Then invalidoposicionmenos_a18 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a18 = invalidocontadormenos_a18 + 1 End If Next If (invalidocontadorplecas_a18 > 1) Or (invalidocontadormenos_a18 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido.

invalidoconfirmado_a18 = 1 Else If (invalidoposicionpleca_a18 = 1) Or (invalidoposicionpleca_a18 = invalidolongitudcadena_a18) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a18 = 1 End If End If If (invalidocontadormenos_a18 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a18 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a18.Text, invalidoposicionmenos_a18 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a18 = 1 End If End If End If If Mid(a18.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a18 = 1 End If If a18.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a18 = 1 End If If invalidoconfirmado_a18 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Verificar si el valor es inválido en la posición (4,4) --> a19. Dim invalidolongitudcadena_a19 As Integer = Len(a19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim invalidocaracterevaluado_a19 As String 'Para evaluar caracter por caracter con el Mid(). Dim invalidoposicionpleca_a19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim invalidocontadorplecas_a19 As Integer = 0 Dim invalidoposicionesmenos_a19 As Integer = 0 Dim invalidoposicionmenos_a19 As Integer 'Para determinar el número de la posición en la que se encuentra el signo menos dentro de la cadena. Dim invalidocontadormenos_a19 As Integer = 0 Dim invalidoapareceonomenos_a19 As Integer = 0 'Si hay un signo menos en el valor introducido por el usuario, valdrá 1, de lo contrario, valdrá cero. Dim invalidoconfirmado_a19 As Integer = 0 'Si sigue valiendo cero, no hay valores invalidos, pero si cambia a 1, hay valores inválidos. For ciclo As Integer = 1 To invalidolongitudcadena_a19 'Para evaluar caracter por caracter hasta encontrar una "/". invalidocaracterevaluado_a19 = Mid(a19.Text, ciclo, 1) If invalidocaracterevaluado_a19 = "/" Then invalidoposicionpleca_a19 = ciclo 'Toma la posición en la que se encontró una pleca. invalidocontadorplecas_a19 = invalidocontadorplecas_a19 + 1

End If If invalidocaracterevaluado_a19 = "-" Then invalidoposicionmenos_a19 = ciclo 'Toma la posición en la que se encontró un signo menos. invalidocontadormenos_a19 = invalidocontadormenos_a19 + 1 End If Next If (invalidocontadorplecas_a19 > 1) Or (invalidocontadormenos_a19 > 1) Then 'Si más de una pleca o si hay más de un signo menos, el valor introducido es inválido. invalidoconfirmado_a19 = 1 Else If (invalidoposicionpleca_a19 = 1) Or (invalidoposicionpleca_a19 = invalidolongitudcadena_a19) Then 'Si la pleca aparece como primer o como último caracter del valor introducido, es obviamente un valor inválido. También si el signo menos aparece en otra posición que no sea al principio del valor introducido, el valor será inválido. invalidoconfirmado_a19 = 1 End If End If If (invalidocontadormenos_a19 = 1) Then 'Cuando solamente exista un signo menos en todo el valor introducido por el usuario, faltará únicamente confirmar que ese signo aparezca al principio de la expresión, y no en medio ni al final. If (invalidoposicionmenos_a19 = 1) Then 'Esto es válido, entonces no se manda la señal de valor inválido todavía. Else If Mid(a19.Text, invalidoposicionmenos_a19 - 1, 2) = "/-" Then '"invalidoposicionemenos_a1" captura la posición del signo menos, y se le resta 1 porque detrás del signo menos podría estar una pleca, y el parámetro final 2 es porque a partir de la pleca se toman dos caracteres, para que tome "/-", donde el menos es para el denominador de la expresión. Esto es válido, entonces no se manda la señal de valor inválido todavía. Else 'De lo contrario sería inválido porque el signo menos no aparece al principio del numerador ni al principio del denominador, de manera que ha sido ubicado en una posición incoherente. invalidoconfirmado_a19 = 1 End If End If End If If Mid(a19.Text, 1, 2) = "-/" Then 'Necesario porque esta situación no era considerada en las otras condiciones, que los primeros 2 caracteres fueran " -/". invalidoconfirmado_a19 = 1 End If If a19.Text = "-" Then 'Si todo lo que el usuario pone como valor es un signo menos, será un valor inválido. invalidoconfirmado_a19 = 1 End If If invalidoconfirmado_a19 = 1 Then valoresinvalidosenmatrizoriginal = 1 'Hay valores inválidos en la matriz original. End If 'Si hay caracteres inválidos en la matriz original 3x3, se manda el mensaje correspondiente; de lo contrario se procede a hacer las evaluaciones. If valoresinvalidosenmatrizoriginal = 1 Then MsgBox("La matriz original contiene valores inválidos", MsgBoxStyle.OkOnly, "Inversa de matrices") Else 'Encontrar el numerador y el denominador de la posición (1,1)--> a1. Dim longitudcadena_a1 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena.

Dim numerador_a1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a1 = Mid(a1.Text, ciclo, 1) If caracterevaluado_a1 = "/" Then posicionpleca_a1 = ciclo banderapleca_a1 = 1 End If Next If banderapleca_a1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a1 = Mid(a1.Text, 1, posicionpleca_a1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a1 = Mid(a1.Text, posicionpleca_a1 + 1, longitudcadena_a1 - posicionpleca_a1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a1 = Mid(a1.Text, 1, longitudcadena_a1) denominador_a1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> a2. Dim longitudcadena_a2 As Integer = Len(a2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a2 = Mid(a2.Text, ciclo, 1) If caracterevaluado_a2 = "/" Then posicionpleca_a2 = ciclo banderapleca_a2 = 1 End If Next If banderapleca_a2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a2 = Mid(a2.Text, 1, posicionpleca_a2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a2 = Mid(a2.Text, posicionpleca_a2 + 1, longitudcadena_a2 - posicionpleca_a2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. 'TextBox1.Text = numerador_a2 'TextBox2.Text = denominador_a2 Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a2 = Mid(a2.Text, 1, longitudcadena_a2)

denominador_a2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> a3. Dim longitudcadena_a3 As Integer = Len(a3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a3 = Mid(a3.Text, ciclo, 1) If caracterevaluado_a3 = "/" Then posicionpleca_a3 = ciclo banderapleca_a3 = 1 End If Next If banderapleca_a3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a3 = Mid(a3.Text, 1, posicionpleca_a3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a3 = Mid(a3.Text, posicionpleca_a3 + 1, longitudcadena_a3 - posicionpleca_a3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a3 = Mid(a3.Text, 1, longitudcadena_a3) denominador_a3 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,4)--> a4. Dim longitudcadena_a4 As Integer = Len(a4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a4 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a4 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a4 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a4 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a4 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a4 = Mid(a4.Text, ciclo, 1) If caracterevaluado_a4 = "/" Then posicionpleca_a4 = ciclo banderapleca_a4 = 1 End If Next If banderapleca_a4 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a4 = Mid(a4.Text, 1, posicionpleca_a4 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_a4 = Mid(a4.Text, posicionpleca_a4 + 1, longitudcadena_a4 - posicionpleca_a4) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a4 = Mid(a4.Text, 1, longitudcadena_a4) denominador_a4 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> a6. Dim longitudcadena_a6 As Integer = Len(a6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a6 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a6 = Mid(a6.Text, ciclo, 1) If caracterevaluado_a6 = "/" Then posicionpleca_a6 = ciclo banderapleca_a6 = 1 End If Next If banderapleca_a6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a6 = Mid(a6.Text, 1, posicionpleca_a6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a6 = Mid(a6.Text, posicionpleca_a6 + 1, longitudcadena_a6 - posicionpleca_a6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a6 = Mid(a6.Text, 1, longitudcadena_a6) denominador_a6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> a7. Dim longitudcadena_a7 As Integer = Len(a7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a7 = Mid(a7.Text, ciclo, 1) If caracterevaluado_a7 = "/" Then posicionpleca_a7 = ciclo

banderapleca_a7 = 1 End If Next If banderapleca_a7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a7 = Mid(a7.Text, 1, posicionpleca_a7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a7 = Mid(a7.Text, posicionpleca_a7 + 1, longitudcadena_a7 - posicionpleca_a7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a7 = Mid(a7.Text, 1, longitudcadena_a7) denominador_a7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> a8. Dim longitudcadena_a8 As Integer = Len(a8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a8 = Mid(a8.Text, ciclo, 1) If caracterevaluado_a8 = "/" Then posicionpleca_a8 = ciclo banderapleca_a8 = 1 End If Next If banderapleca_a8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a8 = Mid(a8.Text, 1, posicionpleca_a8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a8 = Mid(a8.Text, posicionpleca_a8 + 1, longitudcadena_a8 - posicionpleca_a8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a8 = Mid(a8.Text, 1, longitudcadena_a8) denominador_a8 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,4)--> a9. Dim longitudcadena_a9 As Integer = Len(a9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a9 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a9 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a9 As String 'Almacena el denominador del Textbox que se está evaluando.

Dim banderapleca_a9 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a9 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a9 = Mid(a9.Text, ciclo, 1) If caracterevaluado_a9 = "/" Then posicionpleca_a9 = ciclo banderapleca_a9 = 1 End If Next If banderapleca_a9 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a9 = Mid(a9.Text, 1, posicionpleca_a9 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a9 = Mid(a9.Text, posicionpleca_a9 + 1, longitudcadena_a9 - posicionpleca_a9) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a9 = Mid(a9.Text, 1, longitudcadena_a9) denominador_a9 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> a11. Dim longitudcadena_a11 As Integer = Len(a11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a11 = Mid(a11.Text, ciclo, 1) If caracterevaluado_a11 = "/" Then posicionpleca_a11 = ciclo banderapleca_a11 = 1 End If Next If banderapleca_a11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a11 = Mid(a11.Text, 1, posicionpleca_a11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a11 = Mid(a11.Text, posicionpleca_a11 + 1, longitudcadena_a11 - posicionpleca_a11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a11 = Mid(a11.Text, 1, longitudcadena_a11) denominador_a11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> a12. Dim longitudcadena_a12 As Integer = Len(a12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim caracterevaluado_a12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a12 = Mid(a12.Text, ciclo, 1) If caracterevaluado_a12 = "/" Then posicionpleca_a12 = ciclo banderapleca_a12 = 1 End If Next If banderapleca_a12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a12 = Mid(a12.Text, 1, posicionpleca_a12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a12 = Mid(a12.Text, posicionpleca_a12 + 1, longitudcadena_a12 - posicionpleca_a12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a12 = Mid(a12.Text, 1, longitudcadena_a12) denominador_a12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> a13. Dim longitudcadena_a13 As Integer = Len(a13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a13 = Mid(a13.Text, ciclo, 1) If caracterevaluado_a13 = "/" Then posicionpleca_a13 = ciclo banderapleca_a13 = 1 End If Next If banderapleca_a13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a13 = Mid(a13.Text, 1, posicionpleca_a13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a13 = Mid(a13.Text, posicionpleca_a13 + 1, longitudcadena_a13 - posicionpleca_a13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos

ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a13 = Mid(a13.Text, 1, longitudcadena_a13) denominador_a13 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,4)--> a14. Dim longitudcadena_a14 As Integer = Len(a14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a14 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a14 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a14 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a14 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a14 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a14 = Mid(a14.Text, ciclo, 1) If caracterevaluado_a14 = "/" Then posicionpleca_a14 = ciclo banderapleca_a14 = 1 End If Next If banderapleca_a14 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a14 = Mid(a14.Text, 1, posicionpleca_a14 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a14 = Mid(a14.Text, posicionpleca_a14 + 1, longitudcadena_a14 - posicionpleca_a14) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a14 = Mid(a14.Text, 1, longitudcadena_a14) denominador_a14 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,1)--> a16. Dim longitudcadena_a16 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a16 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a16 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a16 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a16 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a16 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a16 = Mid(a16.Text, ciclo, 1) If caracterevaluado_a16 = "/" Then posicionpleca_a16 = ciclo banderapleca_a16 = 1 End If Next If banderapleca_a16 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario.

numerador_a16 = Mid(a16.Text, 1, posicionpleca_a16 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a16 = Mid(a16.Text, posicionpleca_a16 + 1, longitudcadena_a16 - posicionpleca_a16) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a16 = Mid(a16.Text, 1, longitudcadena_a16) denominador_a16 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,2)--> a17. Dim longitudcadena_a17 As Integer = Len(a1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a17 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a17 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a17 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a17 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a17 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a17 = Mid(a17.Text, ciclo, 1) If caracterevaluado_a17 = "/" Then posicionpleca_a17 = ciclo banderapleca_a17 = 1 End If Next If banderapleca_a17 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a17 = Mid(a17.Text, 1, posicionpleca_a17 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a17 = Mid(a17.Text, posicionpleca_a17 + 1, longitudcadena_a17 - posicionpleca_a17) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a17 = Mid(a17.Text, 1, longitudcadena_a17) denominador_a17 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,3)--> a18. Dim longitudcadena_a18 As Integer = Len(a18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a18 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a18 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a18 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a18 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a18 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a18 = Mid(a18.Text, ciclo, 1)

If caracterevaluado_a18 = "/" Then posicionpleca_a18 = ciclo banderapleca_a18 = 1 End If Next If banderapleca_a18 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a18 = Mid(a18.Text, 1, posicionpleca_a18 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a18 = Mid(a18.Text, posicionpleca_a18 + 1, longitudcadena_a18 - posicionpleca_a18) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a18 = Mid(a18.Text, 1, longitudcadena_a18) denominador_a18 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,4)--> a19. Dim longitudcadena_a19 As Integer = Len(a19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_a19 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_a19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_a19 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_a19 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_a19 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_a19 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_a19 = Mid(a19.Text, ciclo, 1) If caracterevaluado_a19 = "/" Then posicionpleca_a19 = ciclo banderapleca_a19 = 1 End If Next If banderapleca_a19 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_a19 = Mid(a19.Text, 1, posicionpleca_a19 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_a19 = Mid(a19.Text, posicionpleca_a19 + 1, longitudcadena_a19 - posicionpleca_a19) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_a19 = Mid(a19.Text, 1, longitudcadena_a19) denominador_a19 = 1 End If 'Determina la matriz 4x4 de cofactores. Dim m_a1 As New Fraction(numerador_a1, denominador_a1) Dim m_a2 As New Fraction(numerador_a2, denominador_a2) Dim m_a3 As New Fraction(numerador_a3, denominador_a3) Dim m_a4 As New Fraction(numerador_a4, denominador_a4) Dim m_a6 As New Fraction(numerador_a6, denominador_a6) Dim m_a7 As New Fraction(numerador_a7, denominador_a7) Dim m_a8 As New Fraction(numerador_a8, denominador_a8) Dim m_a9 As New Fraction(numerador_a9, denominador_a9)

Dim Dim Dim Dim Dim Dim Dim Dim Dim por -1.

m_a11 As New Fraction(numerador_a11, denominador_a11) m_a12 As New Fraction(numerador_a12, denominador_a12) m_a13 As New Fraction(numerador_a13, denominador_a13) m_a14 As New Fraction(numerador_a14, denominador_a14) m_a16 As New Fraction(numerador_a16, denominador_a16) m_a17 As New Fraction(numerador_a17, denominador_a17) m_a18 As New Fraction(numerador_a18, denominador_a18) m_a19 As New Fraction(numerador_a19, denominador_a19) menos1 As New Fraction(-1, 1) 'Para multiplicar un objeto Fraction

Dim m_b1 As Fraction Dim m_b2 As Fraction Dim m_b3 As Fraction Dim m_b4 As Fraction Dim m_b6 As Fraction Dim m_b7 As Fraction Dim m_b8 As Fraction Dim m_b9 As Fraction Dim m_b11 As Fraction Dim m_b12 As Fraction Dim m_b13 As Fraction Dim m_b14 As Fraction Dim m_b16 As Fraction Dim m_b17 As Fraction Dim m_b18 As Fraction Dim m_b19 As Fraction m_b1 = m_a7 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a9 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) m_b2 = menos1 * (m_a6 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a18) - (m_a13) * (m_a16))) m_b3 = m_a6 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a7 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a17) - (m_a12) * (m_a16)) m_b4 = menos1 * (m_a6 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) - m_a7 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a8 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) m_b6 = menos1 * (m_a2 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a3 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a4 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) m_b7 = m_a1 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a3 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a4 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) m_b8 = menos1 * (m_a1 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a2 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a4 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) m_b9 = m_a1 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) - m_a2 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a3 * ((m_a11) * (m_a17) - (m_a12) * (m_a16)) m_b11 = m_a2 * ((m_a8) * (m_a19) - (m_a9) * (m_a18)) - m_a3 * ((m_a7) * (m_a19) - (m_a9) * (m_a17)) + m_a4 * ((m_a7) * (m_a18) - (m_a8) * (m_a17)) m_b12 = menos1 * (m_a1 * ((m_a8) * (m_a19) - (m_a9) * (m_a18)) - m_a3 * ((m_a6) * (m_a19) - (m_a9) * (m_a16)) + m_a4 * ((m_a6) * (m_a18) - (m_a8) * (m_a16))) m_b13 = m_a1 * ((m_a7) * (m_a19) - (m_a9) * (m_a17)) - m_a2 * ((m_a6) * (m_a19) - (m_a9) * (m_a16)) + m_a4 * ((m_a6) * (m_a17) - (m_a7) * (m_a16)) m_b14 = menos1 * (m_a1 * ((m_a7) * (m_a18) - (m_a8) * (m_a17)) - m_a2 * ((m_a6) * (m_a18) - (m_a8) * (m_a16)) + m_a3 * ((m_a6) * (m_a17) - (m_a7) * (m_a16))) m_b16 = menos1 * (m_a2 * ((m_a8) * (m_a14) - (m_a9) * (m_a13)) - m_a3 * ((m_a7) * (m_a14) - (m_a9) * (m_a12)) + m_a4 * ((m_a7) * (m_a13) - (m_a8) * (m_a12))) m_b17 = m_a1 * ((m_a8) * (m_a14) - (m_a9) * (m_a13)) - m_a3 * ((m_a6) * (m_a14) - (m_a9) * (m_a11)) + m_a4 * ((m_a6) * (m_a13) - (m_a8) * (m_a11)) m_b18 = menos1 * (m_a1 * ((m_a7) * (m_a14) - (m_a9) * (m_a12)) - m_a2 * ((m_a6) * (m_a14) - (m_a9) * (m_a11)) + m_a4 * ((m_a6) * (m_a12) - (m_a7) * (m_a11))) m_b19 = m_a1 * ((m_a7) * (m_a13) - (m_a8) * (m_a12)) - m_a2 * ((m_a6) * (m_a13) - (m_a8) * (m_a11)) + m_a3 * ((m_a6) * (m_a12) - (m_a7) * (m_a11)) 'Imprime la matriz 4x4 de cofactores b1.Text = m_b1.ToString b2.Text = m_b2.ToString b3.Text = m_b3.ToString b4.Text = m_b4.ToString

b6.Text = m_b6.ToString b7.Text = m_b7.ToString b8.Text = m_b8.ToString b9.Text = m_b9.ToString b11.Text = m_b11.ToString b12.Text = m_b12.ToString b13.Text = m_b13.ToString b14.Text = m_b14.ToString b16.Text = m_b16.ToString b17.Text = m_b17.ToString b18.Text = m_b18.ToString b19.Text = m_b19.ToString 'Cambia la matriz 4x4 de cofactores a la matriz adjunta 4x4. c1.Text = b1.Text c2.Text = b6.Text c3.Text = b11.Text c4.Text = b16.Text c6.Text = b2.Text c7.Text = b7.Text c8.Text = b12.Text c9.Text = b17.Text c11.Text = b3.Text c12.Text = b8.Text c13.Text = b13.Text c14.Text = b18.Text c16.Text = b4.Text c17.Text = b9.Text c18.Text = b14.Text c19.Text = b19.Text 'Calcula el determinante de la matriz 4x4 para luego obtener la inversa del determinante de la matriz 4x4. Dim determinante4x4 As Fraction Dim uno As New Fraction(1, 1) Dim inversadeterminante4x4 As Fraction determinante4x4 = m_a1 * (m_a7 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) + m_a9 * ((m_a12) * (m_a18) - (m_a13) * (m_a17))) - m_a2 * (m_a6 * ((m_a13) * (m_a19) - (m_a14) * (m_a18)) - m_a8 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a18) - (m_a13) * (m_a16))) + m_a3 * (m_a6 * ((m_a12) * (m_a19) - (m_a14) * (m_a17)) - m_a7 * ((m_a11) * (m_a19) - (m_a14) * (m_a16)) + m_a9 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) - m_a4 * (m_a6 * ((m_a12) * (m_a18) - (m_a13) * (m_a17)) - m_a7 * ((m_a11) * (m_a18) - (m_a13) * (m_a16)) + m_a8 * ((m_a11) * (m_a17) - (m_a12) * (m_a16))) inversadeterminante4x4 = uno / determinante4x4 'Encontrar el numerador y el denominador de la posición (1,1)--> c1. Dim longitudcadena_c1 As Integer = Len(c1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c1 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c1 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c1 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c1 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c1 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c1 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c1 = Mid(c1.Text, ciclo, 1) If caracterevaluado_c1 = "/" Then posicionpleca_c1 = ciclo banderapleca_c1 = 1 End If

Next If banderapleca_c1 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c1 = Mid(c1.Text, 1, posicionpleca_c1 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c1 = Mid(c1.Text, posicionpleca_c1 + 1, longitudcadena_c1 - posicionpleca_c1) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c1 = Mid(c1.Text, 1, longitudcadena_c1) denominador_c1 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,2)--> c2. Dim longitudcadena_c2 As Integer = Len(c2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c2 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c2 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c2 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c2 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c2 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c2 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c2 = Mid(c2.Text, ciclo, 1) If caracterevaluado_c2 = "/" Then posicionpleca_c2 = ciclo banderapleca_c2 = 1 End If Next If banderapleca_c2 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c2 = Mid(c2.Text, 1, posicionpleca_c2 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c2 = Mid(c2.Text, posicionpleca_c2 + 1, longitudcadena_c2 - posicionpleca_c2) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c2 = Mid(c2.Text, 1, longitudcadena_c2) denominador_c2 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,3)--> c3. Dim longitudcadena_c3 As Integer = Len(c3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c3 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c3 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c3 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c3 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c3 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado.

For ciclo As Integer = 1 To longitudcadena_c3 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c3 = Mid(c3.Text, ciclo, 1) If caracterevaluado_c3 = "/" Then posicionpleca_c3 = ciclo banderapleca_c3 = 1 End If Next If banderapleca_c3 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c3 = Mid(c3.Text, 1, posicionpleca_c3 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c3 = Mid(c3.Text, posicionpleca_c3 + 1, longitudcadena_c3 - posicionpleca_c3) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c3 = Mid(c3.Text, 1, longitudcadena_c3) denominador_c3 = 1 End If 'Encontrar el numerador y el denominador de la posición (1,4)--> c4. Dim longitudcadena_c4 As Integer = Len(c4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c4 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c4 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c4 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c4 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c4 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c4 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c4 = Mid(c4.Text, ciclo, 1) If caracterevaluado_c4 = "/" Then posicionpleca_c4 = ciclo banderapleca_c4 = 1 End If Next If banderapleca_c4 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c4 = Mid(c4.Text, 1, posicionpleca_c4 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c4 = Mid(c4.Text, posicionpleca_c4 + 1, longitudcadena_c4 - posicionpleca_c4) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden m eter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c4 = Mid(c4.Text, 1, longitudcadena_c4) denominador_c4 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,1)--> c6. Dim longitudcadena_c6 As Integer = Len(c6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c6 As String 'Para evaluar caracter por caracter con el Mid().

Dim posicionpleca_c6 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c6 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c6 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c6 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c6 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c6 = Mid(c6.Text, ciclo, 1) If caracterevaluado_c6 = "/" Then posicionpleca_c6 = ciclo banderapleca_c6 = 1 End If Next If banderapleca_c6 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c6 = Mid(c6.Text, 1, posicionpleca_c6 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c6 = Mid(c6.Text, posicionpleca_c6 + 1, longitudcadena_c6 - posicionpleca_c6) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c6 = Mid(c6.Text, 1, longitudcadena_c6) denominador_c6 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,2)--> c7. Dim longitudcadena_c7 As Integer = Len(c7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c7 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c7 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c7 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c7 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c7 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c7 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c7 = Mid(c7.Text, ciclo, 1) If caracterevaluado_c7 = "/" Then posicionpleca_c7 = ciclo banderapleca_c7 = 1 End If Next If banderapleca_c7 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c7 = Mid(c7.Text, 1, posicionpleca_c7 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c7 = Mid(c7.Text, posicionpleca_c7 + 1, longitudcadena_c7 - posicionpleca_c7) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c7 = Mid(c7.Text, 1, longitudcadena_c7)

denominador_c7 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,3)--> c8. Dim longitudcadena_c8 As Integer = Len(c8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c8 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c8 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c8 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c8 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c8 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c8 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c8 = Mid(c8.Text, ciclo, 1) If caracterevaluado_c8 = "/" Then posicionpleca_c8 = ciclo banderapleca_c8 = 1 End If Next If banderapleca_c8 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c8 = Mid(c8.Text, 1, posicionpleca_c8 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c8 = Mid(c8.Text, posicionpleca_c8 + 1, longitudcadena_c8 - posicionpleca_c8) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c8 = Mid(c8.Text, 1, longitudcadena_c8) denominador_c8 = 1 End If 'Encontrar el numerador y el denominador de la posición (2,4)--> c9. Dim longitudcadena_c9 As Integer = Len(c9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c9 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c9 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c9 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c9 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c9 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c9 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c9 = Mid(c9.Text, ciclo, 1) If caracterevaluado_c9 = "/" Then posicionpleca_c9 = ciclo banderapleca_c9 = 1 End If Next If banderapleca_c9 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c9 = Mid(c9.Text, 1, posicionpleca_c9 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca.

denominador_c9 = Mid(c9.Text, posicionpleca_c9 + 1, longitudcadena_c9 - posicionpleca_c9) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c9 = Mid(c9.Text, 1, longitudcadena_c9) denominador_c9 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,1)--> c11 Dim longitudcadena_c11 As Integer = Len(c11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c11 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c11 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c11 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c11 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c11 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c11 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c11 = Mid(c11.Text, ciclo, 1) If caracterevaluado_c11 = "/" Then posicionpleca_c11 = ciclo banderapleca_c11 = 1 End If Next If banderapleca_c11 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c11 = Mid(c11.Text, 1, posicionpleca_c11 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c11 = Mid(c11.Text, posicionpleca_c11 + 1, longitudcadena_c11 - posicionpleca_c11) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c11 = Mid(c11.Text, 1, longitudcadena_c11) denominador_c11 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,2)--> c12 Dim longitudcadena_c12 As Integer = Len(c12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c12 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c12 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c12 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c12 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c12 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c12 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c12 = Mid(c12.Text, ciclo, 1) If caracterevaluado_c12 = "/" Then posicionpleca_c12 = ciclo

banderapleca_c12 = 1 End If Next If banderapleca_c12 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c12 = Mid(c12.Text, 1, posicionpleca_c12 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c12 = Mid(c12.Text, posicionpleca_c12 + 1, longitudcadena_c12 - posicionpleca_c12) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c12 = Mid(c12.Text, 1, longitudcadena_c12) denominador_c12 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,3)--> c13 Dim longitudcadena_c13 As Integer = Len(c13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c13 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c13 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c13 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c13 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c13 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c13 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c13 = Mid(c13.Text, ciclo, 1) If caracterevaluado_c13 = "/" Then posicionpleca_c13 = ciclo banderapleca_c13 = 1 End If Next If banderapleca_c13 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c13 = Mid(c13.Text, 1, posicionpleca_c13 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c13 = Mid(c13.Text, posicionpleca_c13 + 1, longitudcadena_c13 - posicionpleca_c13) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c13 = Mid(c13.Text, 1, longitudcadena_c13) denominador_c13 = 1 End If 'Encontrar el numerador y el denominador de la posición (3,4)--> c14 Dim longitudcadena_c14 As Integer = Len(c14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c14 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c14 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c14 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c14 As String 'Almacena el denominador del Textbox que se está evaluando.

Dim banderapleca_c14 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c14 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c14 = Mid(c14.Text, ciclo, 1) If caracterevaluado_c14 = "/" Then posicionpleca_c14 = ciclo banderapleca_c14 = 1 End If Next If banderapleca_c14 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c14 = Mid(c14.Text, 1, posicionpleca_c14 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c14 = Mid(c14.Text, posicionpleca_c14 + 1, longitudcadena_c14 - posicionpleca_c14) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c14 = Mid(c14.Text, 1, longitudcadena_c14) denominador_c14 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,1)--> c16 Dim longitudcadena_c16 As Integer = Len(c16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c16 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c16 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c16 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c16 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c16 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c16 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c16 = Mid(c16.Text, ciclo, 1) If caracterevaluado_c16 = "/" Then posicionpleca_c16 = ciclo banderapleca_c16 = 1 End If Next If banderapleca_c16 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c16 = Mid(c16.Text, 1, posicionpleca_c16 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c16 = Mid(c16.Text, posicionpleca_c16 + 1, longitudcadena_c16 - posicionpleca_c16) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c16 = Mid(c16.Text, 1, longitudcadena_c16) denominador_c16 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,2)--> c17 Dim longitudcadena_c17 As Integer = Len(c17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox.

Dim caracterevaluado_c17 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c17 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c17 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c17 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c17 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c17 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c17 = Mid(c17.Text, ciclo, 1) If caracterevaluado_c17 = "/" Then posicionpleca_c17 = ciclo banderapleca_c17 = 1 End If Next If banderapleca_c17 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c17 = Mid(c17.Text, 1, posicionpleca_c17 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c17 = Mid(c17.Text, posicionpleca_c17 + 1, longitudcadena_c17 - posicionpleca_c17) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c17 = Mid(c17.Text, 1, longitudcadena_c17) denominador_c17 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,3)--> c18 Dim longitudcadena_c18 As Integer = Len(c18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c18 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c18 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c18 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c18 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c18 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c18 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c18 = Mid(c18.Text, ciclo, 1) If caracterevaluado_c18 = "/" Then posicionpleca_c18 = ciclo banderapleca_c18 = 1 End If Next If banderapleca_c18 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c18 = Mid(c18.Text, 1, posicionpleca_c18 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c18 = Mid(c18.Text, posicionpleca_c18 + 1, longitudcadena_c18 - posicionpleca_c18) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos

ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c18 = Mid(c18.Text, 1, longitudcadena_c18) denominador_c18 = 1 End If 'Encontrar el numerador y el denominador de la posición (4,4)--> c19 Dim longitudcadena_c19 As Integer = Len(c19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim caracterevaluado_c19 As String 'Para evaluar caracter por caracter con el Mid(). Dim posicionpleca_c19 As Integer 'Para determinar el número de la posición en la que se encuentra la pleca dentro de la cadena. Dim numerador_c19 As String 'Almacena el numerador del Textbox que se está evaluando. Dim denominador_c19 As String 'Almacena el denominador del Textbox que se está evaluando. Dim banderapleca_c19 As Integer 'Bandera o marcador que devolverá 1 si se encontró una pleca en la cadena, y 0 en el caso que no se haya encontrado. For ciclo As Integer = 1 To longitudcadena_c19 'Para evaluar caracter por caracter hasta encontrar una "/". caracterevaluado_c19 = Mid(c19.Text, ciclo, 1) If caracterevaluado_c19 = "/" Then posicionpleca_c19 = ciclo banderapleca_c19 = 1 End If Next If banderapleca_c19 = 1 Then 'En el caso que se haya encontrado una pleca en la cadena, lo que indica que el usuario introdujo un número fraccionario. numerador_c19 = Mid(c19.Text, 1, posicionpleca_c19 - 1) 'El numerador será desde el primer caracter hasta el que está antes de que se digitara la pleca. denominador_c19 = Mid(c19.Text, posicionpleca_c19 + 1, longitudcadena_c19 - posicionpleca_c19) 'El denominador será desde un caracter después de la pleca, hasta el último caracter de la cadena. Else 'En el caso que no se haya encontrado una pleca en la cadena, lo que indica que el usiario introdujo un número entero. Debido a que no se pueden meter puntos ni espacios ni caracteres especiales debido a la programación del KeyPress, el no encontrar una pleca garantiza que se introdujo un entero. numerador_c19 = Mid(c19.Text, 1, longitudcadena_c19) denominador_c19 = 1 End If 'Convierte los valores de los Textbox de la matriz c a objetos Fraction, mediante la clase. Dim m_c1 As New Fraction(numerador_c1, denominador_c1) Dim m_c2 As New Fraction(numerador_c2, denominador_c2) Dim m_c3 As New Fraction(numerador_c3, denominador_c3) Dim m_c4 As New Fraction(numerador_c4, denominador_c4) Dim m_c6 As New Fraction(numerador_c6, denominador_c6) Dim m_c7 As New Fraction(numerador_c7, denominador_c7) Dim m_c8 As New Fraction(numerador_c8, denominador_c8) Dim m_c9 As New Fraction(numerador_c9, denominador_c9) Dim m_c11 As New Fraction(numerador_c11, denominador_c11) Dim m_c12 As New Fraction(numerador_c12, denominador_c12) Dim m_c13 As New Fraction(numerador_c13, denominador_c13) Dim m_c14 As New Fraction(numerador_c14, denominador_c14) Dim m_c16 As New Fraction(numerador_c16, denominador_c16) Dim m_c17 As New Fraction(numerador_c17, denominador_c17) Dim m_c18 As New Fraction(numerador_c18, denominador_c18) Dim m_c19 As New Fraction(numerador_c19, denominador_c19) Dim m_cfraccion1 As Fraction Dim m_cfraccion2 As Fraction Dim m_cfraccion3 As Fraction Dim m_cfraccion4 As Fraction Dim m_cfraccion6 As Fraction

Dim m_cfraccion7 As Fraction Dim m_cfraccion8 As Fraction Dim m_cfraccion9 As Fraction Dim m_cfraccion11 As Fraction Dim m_cfraccion12 As Fraction Dim m_cfraccion13 As Fraction Dim m_cfraccion14 As Fraction Dim m_cfraccion16 As Fraction Dim m_cfraccion17 As Fraction Dim m_cfraccion18 As Fraction Dim m_cfraccion19 As Fraction m_cfraccion1 = m_c1 m_cfraccion2 = m_c2 m_cfraccion3 = m_c3 m_cfraccion4 = m_c4 m_cfraccion6 = m_c6 m_cfraccion7 = m_c7 m_cfraccion8 = m_c8 m_cfraccion9 = m_c9 m_cfraccion11 = m_c11 m_cfraccion12 = m_c12 m_cfraccion13 = m_c13 m_cfraccion14 = m_c14 m_cfraccion16 = m_c16 m_cfraccion17 = m_c17 m_cfraccion18 = m_c18 m_cfraccion19 = m_c19 'Multiplica el determinante de la matriz original adjunta, de modo que se obtiene la inversa de la matriz original. Dim m_cinversa1 As Fraction Dim m_cinversa2 As Fraction Dim m_cinversa3 As Fraction Dim m_cinversa4 As Fraction Dim m_cinversa6 As Fraction Dim m_cinversa7 As Fraction Dim m_cinversa8 As Fraction Dim m_cinversa9 As Fraction Dim m_cinversa11 As Fraction Dim m_cinversa12 As Fraction Dim m_cinversa13 As Fraction Dim m_cinversa14 As Fraction Dim m_cinversa16 As Fraction Dim m_cinversa17 As Fraction Dim m_cinversa18 As Fraction Dim m_cinversa19 As Fraction m_cinversa1 = inversadeterminante4x4 * m_cfraccion1 m_cinversa2 = inversadeterminante4x4 * m_cfraccion2 m_cinversa3 = inversadeterminante4x4 * m_cfraccion3 m_cinversa4 = inversadeterminante4x4 * m_cfraccion4 m_cinversa6 = inversadeterminante4x4 * m_cfraccion6 m_cinversa7 = inversadeterminante4x4 * m_cfraccion7 m_cinversa8 = inversadeterminante4x4 * m_cfraccion8 m_cinversa9 = inversadeterminante4x4 * m_cfraccion9 m_cinversa11 = inversadeterminante4x4 * m_cfraccion11 m_cinversa12 = inversadeterminante4x4 * m_cfraccion12 m_cinversa13 = inversadeterminante4x4 * m_cfraccion13 m_cinversa14 = inversadeterminante4x4 * m_cfraccion14 m_cinversa16 = inversadeterminante4x4 * m_cfraccion16 m_cinversa17 = inversadeterminante4x4 * m_cfraccion17 m_cinversa18 = inversadeterminante4x4 * m_cfraccion18 m_cinversa19 = inversadeterminante4x4 * m_cfraccion19 c1.Text = m_cinversa1.ToString c2.Text = m_cinversa2.ToString

4x4

por

la

matriz

c3.Text = m_cinversa3.ToString c4.Text = m_cinversa4.ToString c6.Text = m_cinversa6.ToString c7.Text = m_cinversa7.ToString c8.Text = m_cinversa8.ToString c9.Text = m_cinversa9.ToString c11.Text = m_cinversa11.ToString c12.Text = m_cinversa12.ToString c13.Text = m_cinversa13.ToString c14.Text = m_cinversa14.ToString c16.Text = m_cinversa16.ToString c17.Text = m_cinversa17.ToString c18.Text = m_cinversa18.ToString c19.Text = m_cinversa19.ToString 'Posición (1,1) --> b1. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b1 As Integer = Len(b1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b1 As String = b1.Text Dim ultimos2caracteres_b1 As String ultimos2caracteres_b1 = Mid(b1.Text, longitudcadena_b1 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b1 = "/1" Then entero_b1 = Mid(b1.Text, 1, longitudcadena_b1 - 2) End If If Mid(b1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b1 = "0" End If b1.Text = entero_b1 'Posición (1,2) --> b2. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b2 As Integer = Len(b2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b2 As String = b2.Text Dim ultimos2caracteres_b2 As String ultimos2caracteres_b2 = Mid(b2.Text, longitudcadena_b2 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b2 = "/1" Then entero_b2 = Mid(b2.Text, 1, longitudcadena_b2 - 2) End If If Mid(b2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b2 = "0" End If b2.Text = entero_b2 'Posición (1,3) --> b3. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b3 As Integer = Len(b3.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b3 As String = b3.Text Dim ultimos2caracteres_b3 As String ultimos2caracteres_b3 = Mid(b3.Text, longitudcadena_b3 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b3 = "/1" Then entero_b3 = Mid(b3.Text, 1, longitudcadena_b3 - 2) End If If Mid(b3.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b3 = "0"

End If b3.Text = entero_b3 'Posición (1,4) --> b4. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b4 As Integer = Len(b4.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b4 As String = b4.Text Dim ultimos2caracteres_b4 As String ultimos2caracteres_b4 = Mid(b4.Text, longitudcadena_b4 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b4 = "/1" Then entero_b4 = Mid(b4.Text, 1, longitudcadena_b4 - 2) End If If Mid(b4.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b4 = "0" End If b4.Text = entero_b4 'Posición (2,1) --> b6. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b6 As Integer = Len(b6.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b6 As String = b6.Text Dim ultimos2caracteres_b6 As String ultimos2caracteres_b6 = Mid(b6.Text, longitudcadena_b6 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b6 = "/1" Then entero_b6 = Mid(b6.Text, 1, longitudcadena_b6 - 2) End If If Mid(b6.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b6 = "0" End If b6.Text = entero_b6 'Posición (2,2) --> b7. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b7 As Integer = Len(b7.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b7 As String = b7.Text Dim ultimos2caracteres_b7 As String ultimos2caracteres_b7 = Mid(b7.Text, longitudcadena_b7 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b7 = "/1" Then entero_b7 = Mid(b7.Text, 1, longitudcadena_b7 - 2) End If If Mid(b7.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b7 = "0" End If b7.Text = entero_b7 'Posición (2,3) --> b8. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b8 As Integer = Len(b8.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b8 As String = b8.Text Dim ultimos2caracteres_b8 As String ultimos2caracteres_b8 = Mid(b8.Text, longitudcadena_b8 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b8 = "/1" Then

entero_b8 = Mid(b8.Text, 1, longitudcadena_b8 - 2) End If If Mid(b8.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b8 = "0" End If b8.Text = entero_b8 'Posición (2,4) --> b9. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b9 As Integer = Len(b9.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b9 As String = b9.Text Dim ultimos2caracteres_b9 As String ultimos2caracteres_b9 = Mid(b9.Text, longitudcadena_b9 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b9 = "/1" Then entero_b9 = Mid(b9.Text, 1, longitudcadena_b9 - 2) End If If Mid(b9.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b9 = "0" End If b9.Text = entero_b9 'Posición (3,1) --> b11. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b11 As Integer = Len(b11.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b11 As String = b11.Text Dim ultimos2caracteres_b11 As String ultimos2caracteres_b11 = Mid(b11.Text, longitudcadena_b11 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b11 = "/1" Then entero_b11 = Mid(b11.Text, 1, longitudcadena_b11 - 2) End If If Mid(b11.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b11 = "0" End If b11.Text = entero_b11 'Posición (3,2) --> b12. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b12 As Integer = Len(b12.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b12 As String = b12.Text Dim ultimos2caracteres_b12 As String ultimos2caracteres_b12 = Mid(b12.Text, longitudcadena_b12 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b12 = "/1" Then entero_b12 = Mid(b12.Text, 1, longitudcadena_b12 - 2) End If If Mid(b12.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b12 = "0" End If b12.Text = entero_b12 'Posición (3,3) --> b13. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b13 As Integer = Len(b13.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b13 As String = b13.Text

Dim ultimos2caracteres_b13 As String ultimos2caracteres_b13 = Mid(b13.Text, longitudcadena_b13 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b13 = "/1" Then entero_b13 = Mid(b13.Text, 1, longitudcadena_b13 - 2) End If If Mid(b13.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b13 = "0" End If b13.Text = entero_b13 'Posición (3,4) --> b14. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b14 As Integer = Len(b14.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b14 As String = b14.Text Dim ultimos2caracteres_b14 As String ultimos2caracteres_b14 = Mid(b14.Text, longitudcadena_b14 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b14 = "/1" Then entero_b14 = Mid(b14.Text, 1, longitudcadena_b14 - 2) End If If Mid(b14.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b14 = "0" End If b14.Text = entero_b14 'Posición (4,1) --> b16. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b16 As Integer = Len(b16.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b16 As String = b16.Text Dim ultimos2caracteres_b16 As String ultimos2caracteres_b16 = Mid(b16.Text, longitudcadena_b16 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b16 = "/1" Then entero_b16 = Mid(b16.Text, 1, longitudcadena_b16 - 2) End If If Mid(b16.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b16 = "0" End If b16.Text = entero_b16 'Posición (4,2) --> b17. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b17 As Integer = Len(b17.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b17 As String = b17.Text Dim ultimos2caracteres_b17 As String ultimos2caracteres_b17 = Mid(b17.Text, longitudcadena_b17 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b17 = "/1" Then entero_b17 = Mid(b17.Text, 1, longitudcadena_b17 - 2) End If If Mid(b17.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b17 = "0" End If b17.Text = entero_b17

'Posición (4,3) --> b18. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b18 As Integer = Len(b18.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b18 As String = b18.Text Dim ultimos2caracteres_b18 As String ultimos2caracteres_b18 = Mid(b18.Text, longitudcadena_b18 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b18 = "/1" Then entero_b18 = Mid(b18.Text, 1, longitudcadena_b18 - 2) End If If Mid(b18.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b18 = "0" End If b18.Text = entero_b18 'Posición (4,4) --> b19. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_b19 As Integer = Len(b19.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_b19 As String = b19.Text Dim ultimos2caracteres_b19 As String ultimos2caracteres_b19 = Mid(b19.Text, longitudcadena_b19 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_b19 = "/1" Then entero_b19 = Mid(b19.Text, 1, longitudcadena_b19 - 2) End If If Mid(b19.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_b19 = "0" End If b19.Text = entero_b19 TextBox1.Text = determinante4x4.ToString TextBox2.Text = inversadeterminante4x4.ToString 'Determinante de la matriz 4x4. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_determinante4x4 As Integer = Len(TextBox1.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_determinante4x4 As String = TextBox1.Text Dim ultimos2caracteres_determinante4x4 As String ultimos2caracteres_determinante4x4 = Mid(TextBox1.Text, longitudcadena_determinante4x4 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero. If ultimos2caracteres_determinante4x4 = "/1" Then entero_determinante4x4 = Mid(TextBox1.Text, 1, longitudcadena_determinante4x4 - 2) End If If Mid(TextBox1.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_determinante4x4 = "0" End If 'Determinante inversa de la matriz 4x4. Si es 0/numero, dejarlo únicamente como 0 y si es entero, quitarle el denominador 1. Dim longitudcadena_inversadeterminante4x4 As Integer = Len(TextBox2.Text) 'Variable para almacenar la longitud de la cadena que hay en un Textbox. Dim entero_inversadeterminante4x4 As String = TextBox2.Text Dim ultimos2caracteres_inversadeterminante4x4 As String ultimos2caracteres_inversadeterminante4x4 = Mid(TextBox2.Text, longitudcadena_inversadeterminante4x4 - 1, 2) 'Determina cuáles son los últimos 2 caracteres que hay en el Textbox, para que si son "/1", los elimine por tratarse de un número entero.

If ultimos2caracteres_inversadeterminante4x4 = "/1" Then entero_inversadeterminante4x4 = Mid(TextBox2.Text, 1, longitudcadena_inversadeterminante4x4 - 2) End If If Mid(TextBox2.Text, 1, 1) = "0" Then 'Evalúa el primer caracter de la cadena, de modo que si es cero, elimina el denominador y deja solamente el valor de cero. entero_inversadeterminante4x4 = "0" End If TextBox1.Text = entero_determinante4x4.ToString 'Imprime el determinante de la matriz 2x2 en forma de entero. TextBox2.Text = entero_inversadeter