sábado, 26 de noviembre de 2016

Trabajo Final de Macros

- Días de la Semana

Código:
Private Sub CommandButton1_Click()
Dim I As Integer
I = CInt(TextBox1.Text)
Select Case I
Case 1
Label1.Caption = "Domingo"
Case 2
Label1.Caption = "Lunes"
Case 3
Label1.Caption = "Martes"
Case 4
Label1.Caption = "Miercoles"
Case 5
Label1.Caption = "Jueves"
Case 6
Label1.Caption = "Viernes"
Case 1
Label7.Caption = "Sabado"
End Select


End Sub

Imagen Depurando el Programa:






- Factorial

Código:
Private Sub CommandButton1_Click()
Dim n, x, f As Double
n = CInt(TextBox1.Text)
f = 1
For x = 1 To n
f = f * x
Label1.Caption = f
Next x
End Sub

Imagen Depurando el Programa: 




- Pesos a Euros
Código:
Private Sub calcular_Click()
Dim p, r, u As Double
p = CInt(TextBox1.Text)
u = 21.87
r = p / u
lbl1.Caption = r

End Sub

Imagen Depurando el Programa:



- Media de 4 Números
Código:
Private Sub CommandButton1_Click()
 Dim a, b, c, d, m, div As Double
        a = CInt(TextBox1.Text)
        b = CInt(TextBox2.Text)
        c = CInt(TextBox3.Text)
        d = CInt(TextBox4.Text)
        div = 4
        m = (a + b + c + d) / (div)
        Label2.Caption = (m)
End Sub
Imagen Depurando el Programa:



- Impresión hasta el numero 57 (con while)

Código:
Private Sub calcular_Click()
Dim n, i As Integer
i = 0
n = Val(InputBox("Indique hasta cual numero desea ver su susecion"))
While i < n
i = i + 1
ListBox1.AddItem i
Wend
End Sub

Private Sub limpiar_Click()
ListBox1.Clear
End Sub

Imagen Depurando el Programa:



 -Impresión hasta el numero 57 (con for)

Código:
Private Sub calcular_Click()
Dim n, i  As Integer
n = Val(InputBox("Indique hasta cual numero desea ver su sucecion"))
i = 1
Do
ListBox1.AddItem i
i = i + 1
Loop While i <= n

End Sub

Private Sub limpiar_Click()
ListBox1.Clear
End Sub

Imagen Depurando el Programa:



- Media, Mayor y Menor de un Conjunto Fijo

Código:
Dim cal(10) As Double
Dim fila, c As Integer
Dim suma, prom As Double

Private Sub BtnGuardar_Click()
 If fila < 10 Then
            If TxtCal.Text < 0 Then
                MsgBox ("Solo calificaciones de 0 a 10")
                TxtCal.Text = ""
            Else
                If TxtCal.Text > 10 Then
                    MsgBox ("Solo calificaiones de 0 a 10")
                    TxtCal.Text = ""
                Else
                    cal(fila) = CInt(TxtCal.Text)
                    fila = fila + 1
                    
                    
                    TxtCal.Text = ""
                End If
            End If
        Else
            MsgBox ("Base de datos llena")
        End If
End Sub
Private Sub BtnMostrar_Click()
Dim mayor, menor As Integer

    For i = 0 To 9
       c = cal(i)
            ListCal.AddItem (c)
    Next
    
    suma = 0
    For i = 0 To 10
            suma = suma + cal(i)
    Next
    prom = suma / 10
    TxtMedia.Text = prom
    
    For i = 0 To ListCal.ListCount - 1
    If ListCal.List(i) > mayor Then
    mayor = ListCal.List(i)
    End If
    Next
    TxtMayor.Text = mayor
    
    menor = mayor
    For i = 0 To ListCal.ListCount - 1
    If ListCal.List(i) < menor Then
    menor = ListCal.List(i)
    End If
    Next
    TxtMenor.Text = menor
    
End Sub
Private Sub BtnLimpiar_Click()
ListCal.Clear
TxtMayor.Text = ""
TxtMenor.Text = ""
TxtMedia.Text = ""
TxtCal.Text = ""

End Sub

Imagen Depurando el Programa:


viernes, 4 de noviembre de 2016

Ejercicios de Matrices (12)

Ejercicio 1: Media, mayor y menor de un conjunto fijo.
Realizar un programa que pida las notas de 40 alumnos por pantalla y muestre un menú́ de opciones: 1. Listar notas, 2. Calcular la media, 3. Calcular el menor, 4. Calcular el mayor.
YA ANTES SUBIDO

Ejercicio 2: Media, mayor y menor de un conjunto prefijado.
Igual que el apartado anterior, pero en vez de 20 alumnos ahora el número de alumnos se le preguntará al usuario al iniciar el programa, este número no podrá́ superar los 100 alumnos (controlar que el usuario introduzca un número menor que 100).
YA ANTES SUBIDO

Ejercicio 3: Arrays multidimensionales. Edificio1.
Se quiere controlar el número de habitantes de un edificio con 6 pisos y 4 puertas (A, B, C, y D) en cada piso.
Realizar un programa que pida al usuario que introduzca el número de habitantes de cada puerta del edificio. El programa debe decir la vivienda (piso y puerta) que más habitantes tiene del edificio.
Código:
Public Class Form1
    Dim Datos(6, 4) As Integer
    Private Sub Mayor()
        Dim fila, columna, piso, faux, caux, temp As Integer
        Dim puerta As String
        fila = 0
        columna = 0
        puerta = ""
        For faux = 0 To 5
            For caux = 0 To 3
                If Datos(fila, columna) < Datos(faux, caux) Then
                    temp = Datos(fila, columna)
                    Datos(fila, columna) = Datos(faux, caux)
                    Datos(faux, caux) = temp
                    Select Case faux
                        Case 0
                            piso = 1
                        Case 1
                            piso = 2
                        Case 2
                            piso = 3
                        Case 3
                            piso = 4
                        Case 4
                            piso = 5
                        Case 5
                            piso = 6
                    End Select
                    Select Case caux
                        Case 0
                            puerta = "A"
                        Case 1
                            puerta = "B"
                        Case 2
                            puerta = "C"
                        Case 3
                            puerta = "D"
                    End Select
                End If
            Next
        Next
        lbl1.Text = Datos(0, 0)
        Lblp.Text = "Piso" + "" + piso.ToString
        Lblpuerta.Text = "Puerta" + "" + puerta



    End Sub

    Private Sub BtnCap_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCap.Click
        Dim fila, columna As Integer
        LblContenidoMa.Text = ""
        Try
            For fila = 0 To 5
                For columna = 0 To 3
                    Datos(fila, columna) = InputBox("Digite un Numero de habitantes")
                    LblContenidoMa.Text = LblContenidoMa.Text + Space(15) + Datos(fila, columna).ToString
                Next
                LblContenidoMa.Text = LblContenidoMa.Text + vbCrLf + vbCrLf
            Next
            Mayor()
        Catch ex As Exception
            MsgBox("Debe insertar datos numericos")
        End Try
    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Lblp.Click

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()

    End Sub
End Class


Imagen Depurando el Programa:




Ejercicio 4: Arrays multidimensionales. Edificio2.
Se quiere controlar el número de habitantes de un edificio con 6 pisos y 4 puertas (A, B, C, y D) en cada piso.
Realizar un programa que pida al usuario que introduzca el número de habitantes de cada puerta del edificio. El programa debe mostrar la media de habitantes de cada piso.
Código:
Public Class Form1
    Dim datos(5, 3) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fila, columna As Integer
        Dim promfila As Double
        lblmatriz.Text = ""
        Try
            For fila = 0 To 5
                For columna = 0 To 3
                    datos(fila, columna) = InputBox("digite un numero")
                    lblmatriz.Text = lblmatriz.Text + Space(14) + datos(fila, columna).ToString
                    promfila = promfila + (datos(fila, columna)) / 4

                Next
                lblpromfila.Text = lblpromfila.Text + promfila.ToString + vbCrLf + vbCrLf
                promfila = 0
                lblmatriz.Text = lblmatriz.Text + vbCrLf + vbCrLf
            Next
        Catch ex As Exception
            MsgBox("debes insertar numeros")
            lblmatriz.Text = ""

        End Try
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.Close()

    End Sub

End Class



Imagen Depurando el Programa:


Ejercicio 5:
Escriba un programa que permita obtener el número de elementos positivos de un vector de 10 elementos.
Código:
Public Class Form1
    Dim vecnums(9) As Double
    Dim negativos As Double
    Dim fila% = 0
    Private Sub guardar()
        If fila < 10 Then
            vecnums(fila) = txtnum.Text
            MsgBox("calificacion guardada", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)
            txtnum.Text = ""
            fila = fila + 1
            txtnum.Focus()
        Else
            MsgBox("base de datos llena solo 10 numeros")
        End If
    End Sub
    Private Sub mostrar()
        For i = 0 To 9
            If vecnums(i) > 0 Then
                negativos = vecnums(i)
                lstnumerospos1.Items.Add(negativos.ToString)

            End If
        Next
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        guardar()

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        mostrar()

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        lstnumerospos1.Items.Clear()
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Me.Close()

    End Sub

End Class



Imagen Depurando el Programa:



Ejercicio 6:
Calcular el número de elementos negativos, cero y positivo de un vector de 20 elementos.
Código:
Public Class Form1
    Dim elementos(20) As Integer
    Dim i As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For i = 0 To 19
            elementos(i) = InputBox("digita numero")
            If elementos(i) < 0 Then
                lstnegativos.Items.Add(elementos(i))
            ElseIf elementos(i) = 0 Then
                lstcero.Items.Add(elementos(i))
            ElseIf elementos(i) > 0 Then
                lstpostivos.Items.Add(elementos(i))

            End If
            lblcero.Text = lstcero.Items.Count

            lblnega.Text = lstnegativos.Items.Count
            lblpos.Text = lstpostivos.Items.Count
        Next

    End Sub

End Class


Imagen Depurando el Programa:


Ejercicio 7:
Hacer un programa que permita insertar o eliminar elementos de un arreglo.
Código:
Public Class Form1
    Dim arreglo() As Integer



    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Crear.Click
        Dim n As Integer
        n = TxtTamaño.Text
        ReDim arreglo(n)

        MsgBox("Tamaño del Arreglo Guardado", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)
        TxtTamaño.Text = ""
        TxtAgregar.Focus()



    End Sub
 
    Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click
        Dim m As Integer
        m = TxtAgregar.Text
        ReDim Preserve arreglo(m)
        MsgBox("Elementos Agregados", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)

        TxtAgregar.Text = ""
        TxtAgregar.Focus()

    End Sub

    Private Sub BtnBorrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBorrar.Click
        Erase arreglo
        TxtTamaño.Focus()

    End Sub

    Private Sub BtnCerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCerrar.Click
        Me.Close()

    End Sub

End Class



Imagen Depurando el Programa:


Ejercicio 8:
Sean A(m,n) y B(n) una matriz y un arreglo respectivamente, hacer un programa que asigne valores a A, a partir de B teniendo en cuenta los siguientes criterios:
A(m,n)=(m) si m<=n
A(m,n)=0 si m>n
Código:


Imagen Depurando el Programa:


Ejercicio 9:
Hacer un programa que intercambie las filas de una matriz. Los elementos de la fila 0 deben intercambiarse con los de la fila N, la fila 1 con los de la fila N-1 y así sucesivamente. Imprimir las dos matrices.
Código:


Imagen Depurando el Programa:


Ejercicio 10:
Hacer programa de un arreglo de 15 elementos, tipo entero. Presentar contenido desordenado en caja de texto o lista. Presentar contenido ordenado en caja de texto o lista, del mayor al menor.
Código:
Public Class Form1
    Dim arreglo(15) As Integer
    Dim fila As Integer
    Dim c As Integer
    Dim d As Integer
    Private Sub guardar()
        If fila < 15 Then
            arreglo(fila) = txtnumero.Text
            fila = fila + 1
            MsgBox("el numero ha sido guardado")
        Else
            MsgBox("solo se aceptan 15 numeros")

        End If
        txtnumero.Text = ""
        txtnumero.Focus()

    End Sub
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        guardar()

    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        For i = 1 To 15
            c = arreglo(i)
            lstdesordenado.Items.Add(c)

        Next
    End Sub

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        Array.Sort(arreglo)
        For i = 0 To 15
            c = arreglo(i)
            lstordenado.Items.Add(c)

        Next
    End Sub

End Class



Imagen Depurando el Programa:


Ejercicio 11:
Matriz dinámica bidimensional, tipo cadena de caracteres, presentar datos.
 Código:
Public Class Form1
    Dim Datos(,) As String
    Dim F, C As Integer


    Private Sub Guardar()
        F = TextBoxCantFil.Text
        C = TextBoxCanCol.Text
        ReDim Datos(F - 1, C - 1)

    End Sub

    Private Sub BtnCapturarNumeros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCapturarNumeros.Click
        Guardar()

        Dim fila, columna As Integer
        LblMatriz.Text = ""
        Try
            For fila = 0 To F - 1
                For columna = 0 To C - 1
                    Datos(fila, columna) = InputBox("Teclee un Nombre")
                    LblMatriz.Text = LblMatriz.Text + Space(15) + Datos(fila, columna).ToString

                Next
                LblMatriz.Text = LblMatriz.Text + vbCrLf + vbCrLf
            Next
     

        Catch ex As Exception
            MsgBox("Debe Insertar Una Cadena de Caracteres")
            LblMatriz.Text = ""

        End Try

    End Sub

    Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSalir.Click
        Me.Close()

    End Sub

   


    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Guardar()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class


Imagen Mostrando La Depuración:


Ejercicio 12:

Matriz dinámica bidimensional numérica. Presentar promedio por fila y columna.

 Código:
Public Class Form1
    Dim Datos(,) As Integer
    Dim F, C As Integer


    Private Sub Guardar()
        F = TextBoxCantFil.Text
        C = TextBoxCanCol.Text
        ReDim Datos(F - 1, C - 1)

    End Sub

    Private Sub BtnCapturarNumeros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCapturarNumeros.Click
        Guardar()
        Dim fila, columna, sfilas, scolumnas As Integer
        LblMatriz.Text = ""
        Try
            For fila = 0 To F - 1
                For columna = 0 To C - 1
                    Datos(fila, columna) = InputBox("Digite un Numero")
                    LblMatriz.Text = LblMatriz.Text + Space(15) + Datos(fila, columna).ToString
                    sfilas = sfilas + Datos(fila, columna)
                Next
                LblNumF.Text = ((LblNumF.Text + sfilas.ToString) / C).ToString + vbCrLf + vbCrLf
                sfilas = 0
                LblMatriz.Text = LblMatriz.Text + vbCrLf + vbCrLf
            Next
            For columna = 0 To C - 1
                For fila = 0 To F - 1
                    scolumnas = scolumnas + Datos(fila, columna)
                Next
                LbLNumC.Text = ((LbLNumC.Text + Space(14) + scolumnas.ToString) / F).ToString
                scolumnas = 0
            Next
        Catch ex As Exception
            MsgBox("Debe Insertar Datos Numericos")
            LblMatriz.Text = ""
            LbLNumC.Text = ""
            LblNumF.Text = ""


        End Try




    End Sub

    Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSalir.Click
        Me.Close()

    End Sub





    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Guardar()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

End Class


Imagen Depurando el Programa:


Ejercicio II de Matrices

Código:
Public Class Form1
    Dim Datos(2, 3) As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub BtnCapturarNumeros_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCapturarNumeros.Click
        Dim fila, columna, sfilas, scolumnas As Integer
        LblMatriz.Text = ""
        Try
            For fila = 0 To 2
                For columna = 0 To 3
                    Datos(fila, columna) = InputBox("Digite un Numero")
                    LblMatriz.Text = LblMatriz.Text + Space(15) + Datos(fila, columna).ToString
                    sfilas = sfilas + Datos(fila, columna)
                Next
                LblNumF.Text = LblNumF.Text + sfilas.ToString + vbCrLf + vbCrLf
                sfilas = 0
                LblMatriz.Text = LblMatriz.Text + vbCrLf + vbCrLf
            Next
            For columna = 0 To 3
                For fila = 0 To 2
                    scolumnas = scolumnas + Datos(fila, columna)
                Next
                LbLNumC.Text = LbLNumC.Text + Space(14) + scolumnas.ToString
                scolumnas = 0
            Next
        Catch ex As Exception
            MsgBox("Debe Insertar Datos Numericos")
            LblMatriz.Text = ""
            LbLNumC.Text = ""
            LblNumF.Text = ""


        End Try

    End Sub

    Private Sub BtnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSalir.Click
        Me.Close()

    End Sub
End Class


Imagen Mostrando el Programa:


Ejercicio I de Matrices


Ejercicio de Ventas Agregándole el Articulo

Código:
Public Class Form1
    Dim venta(12) As Double
    Dim i As Integer
    Dim Articulo(12) As String



    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnIngresar.Click
        i = TxtMes.Text
        If i >= 1 And i <= 12 Then
            venta(i) = TxtVenta.Text
            Articulo(i) = TextBoxArticulo.Text
        Else
            MsgBox("Ingrese valor entre 1 y 12")

        End If
        TxtVenta.Text = ""
        TxtMes.Text = ""
        TextBoxArticulo.Text = ""
        TxtMes.Focus()



    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLista.Click
        i = 1
        DataGridView1.Rows.Clear()
        Do While i <= 12
            Select Case i
                Case 1
                    DataGridView1.Rows.Add("Enero", venta(1), Articulo(1))
                Case 2
                    DataGridView1.Rows.Add("Febrero", venta(2), Articulo(2))
                Case 3
                    DataGridView1.Rows.Add("Marzo", venta(3), Articulo(3))
                Case 4
                    DataGridView1.Rows.Add("Abril", venta(4), Articulo(4))
                Case 5
                    DataGridView1.Rows.Add("Mayo", venta(5), Articulo(5))
                Case 6
                    DataGridView1.Rows.Add("Junio", venta(6), Articulo(6))
                Case 7
                    DataGridView1.Rows.Add("Julio", venta(7), Articulo(7))
                Case 8
                    DataGridView1.Rows.Add("Agosto", venta(8), Articulo(8))
                Case 9
                    DataGridView1.Rows.Add("Septiembre", venta(9), Articulo(9))
                Case 10
                    DataGridView1.Rows.Add("Octubre", venta(10), Articulo(10))
                Case 11
                    DataGridView1.Rows.Add("Noviembre", venta(11), Articulo(11))
                Case 12
                    DataGridView1.Rows.Add("Duciembre", venta(12), Articulo(12))
            End Select
            i = i + 1
        Loop

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBorrar.Click
        i = 1
        Do While i <= 12
            venta(i) = 0
            i = i + 1

        Loop
        For j = 0 To 12
            Articulo(j) = ""
        Next


    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCerrar.Click
        Me.Close()

    End Sub

    Private Sub GroupBox2_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GroupBox2.Enter

    End Sub
End Class

Imagen Mostrando la Ejecución:




Ejercicio media de N calificaciones (Máximo 100)

Código:
Public Class Form1
    Dim VecCal() As Integer
    Dim fila As Integer = 0
    Dim S As Double
    Dim N As Integer
    Dim P As Double
    Dim C As Integer

    Private Sub GUARDAR()
        If N <= 100 Then
            N = TextBoxCant.Text
            ReDim VecCal(N - 1)
        End If
        If TextBox1.Text >= 0 And TextBox1.Text <= 10 Then
            If fila < N Then
                VecCal(fila) = CInt(TextBox1.Text)
                fila = fila + 1 'pasa a la siguiente posicion
                MsgBox("Se ha guardado tu calificacion", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)
                TextBox1.Text = ""
                TextBox1.Focus()
            Else
                MsgBox("Base de datos llena")
            End If
        Else
            MsgBox("Calificacion no valida")
        End If

    End Sub

    Private Sub MEDIA()
        S = 0
        For I = 0 To 9
            S = S + VecCal(I)
        Next
        P = S / 10
        LabelPromedio.Text = P

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub ButtonGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGuardar.Click
        GUARDAR()


    End Sub

    Private Sub ButtonPromedio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPromedio.Click
        MEDIA()

    End Sub

    Private Sub ButtonLista_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLista.Click
        For I = 0 To N - 1
            C = VecCal(I)
            ListBox1.Items.Add(C)
        Next
    End Sub

    Private Sub ButtonMenor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMenor.Click
        Array.Sort(VecCal)
        LabelMenor.Text = VecCal(0).ToString


    End Sub

    Private Sub ButtonMayor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMayor.Click
        Array.Sort(VecCal)
        LabelMayor.Text = VecCal(9).ToString

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    End Sub
End Class

Imagen Mostrando la Ejecucion




lunes, 24 de octubre de 2016

Vector Dinámico (Ventas)

Formulario Completo
Public Class Form1
    Dim venta(12) As Double
    Dim i As Integer


    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        i = TextBox2.Text
        If i >= 1 And i <= 12 Then
            venta(i) = TextBox1.Text
        Else
            MsgBox("Ingrese valor entre 1 y 12")

        End If
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox1.Focus()


    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        i = 1
        DataGridView1.Rows.Clear()
        Do While i <= 12
            Select Case i
                Case 1
                    DataGridView1.Rows.Add("Enero", venta(1))
                Case 2
                    DataGridView1.Rows.Add("Febrero", venta(2))
                Case 3
                    DataGridView1.Rows.Add("Marzo", venta(3))
                Case 4
                    DataGridView1.Rows.Add("Abril", venta(4))
                Case 5
                    DataGridView1.Rows.Add("Mayo", venta(5))
                Case 6
                    DataGridView1.Rows.Add("Junio", venta(6))
                Case 7
                    DataGridView1.Rows.Add("Julio", venta(7))
                Case 8
                    DataGridView1.Rows.Add("Agosto", venta(8))
                Case 9
                    DataGridView1.Rows.Add("Septiembre", venta(9))
                Case 10
                    DataGridView1.Rows.Add("Octubre", venta(10))
                Case 11
                    DataGridView1.Rows.Add("Noviembre", venta(11))
                Case 12
                    DataGridView1.Rows.Add("Duciembre", venta(12))
            End Select
            i = i + 1
        Loop

    End Sub

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        i = 1
        Do While i <= 12
            venta(i) = 0
            i = i + 1

        Loop
    End Sub

    Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
        Me.Close()

    End Sub
End Class

Imagen donde el programa solo acepta numeros del 1 al 12 correspondientes a los meses del año.







Imagen donde el programa muestra la lista de las ventas en los meses correspondientes.






Imagen donde el programa limpia las ventas de los meses













martes, 18 de octubre de 2016

Ejercicio 1: Media, mayor y menor de un conjunto fijo.

Ejercicio 1: Media, mayor y menor de un conjunto fijo.
Realizar un programa que pida las notas de 10 alumnos por pantalla y muestre un menú́ de opciones: 1. Listar notas, 2. Calcular la media, 3. Calcular el menor, 4. Calcular el mayor.



Formulario Completo:
Public Class Form1
    Dim VecCal(9) As Double
    Dim fila As Integer = 0
    Dim S As Double
    Dim P As Double
    Dim C As Integer

    Private Sub GUARDAR()
        If TextBox1.Text >= 0 And TextBox1.Text <= 10 Then
            If fila < 10 Then
                VecCal(fila) = CInt(TextBox1.Text)
                fila = fila + 1 'pasa a la siguiente posicion
                MsgBox("Se ha guardado tu calificacion", MsgBoxStyle.Information, MsgBoxStyle.OkOnly)
                TextBox1.Text = ""
                TextBox1.Focus()
            Else
                MsgBox("Base de datos llena")
            End If
        Else
            MsgBox("Calificacion no valida")
        End If

    End Sub

    Private Sub MEDIA()
        S = 0
        For I = 0 To 9
            S = S + VecCal(I)
        Next
        P = S / 10
        LabelPromedio.Text = P

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub ButtonGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGuardar.Click
        GUARDAR()


    End Sub

    Private Sub ButtonPromedio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPromedio.Click
        MEDIA()

    End Sub

    Private Sub ButtonLista_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLista.Click
        For I = 0 To 9
            C = VecCal(I)
            ListBox1.Items.Add(C)
        Next
    End Sub

    Private Sub ButtonMenor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMenor.Click
        Array.Sort(VecCal)
        LabelMenor.Text = VecCal(0).ToString


    End Sub

    Private Sub ButtonMayor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonMayor.Click
        Array.Sort(VecCal)
        LabelMayor.Text = VecCal(9).ToString

    End Sub
End Class

Imagen mostrando cuando solo acepta números mayores o iguales a 0 y menores o iguales a 10:





Imagen mostrando cuando solo acepta 10 calificaciones:






Imagen mostrando la lista, la media, el mayor y menor calificación

:













domingo, 2 de octubre de 2016

Ejercicios de Tarea.

Ejercicio 1
Cambio de pesos a euros.
Suponiendo que 1 euro = 21.87 pesos. Escribe un programa que pida al usuario un número de pesos y calcule el cambio en euros.

Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
1 EURO = 21.87 PESOS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
UNA CONVERSIÓN
¿Qué formato debe tener esa información?
NÚMEROS REALES POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
1 euro = 21.87 pesos
¿Cuáles son los datos conocidos?
1 euro = 21.87 pesos
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
UNA DIVISIÓN
4.- Restricciones
¿Cuáles datos son variables?
 LOS PESOS
¿Cuáles datos son considerados fijos o constantes?
EL VALOR DEL EURO
¿Cuáles datos debo calcular?
LA CONVERSIÓN DEL PESO AL DOLAR
¿Qué está prohibido y/o permitido hacer y/o utilizar?
OPERACIONES ARITMETICAS
5.- Procesos Necesarios
¿Qué debo hacer?
 LÓGICAMENTE UNA REGLA DE TRES

Algoritmo
 1 INICIO
2 DECLARACIÓN P, R, U 
3 ASIGNAR VALOR A P 
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN


Código







Ejercicio 2
Calculo de perímetro de circunferencia, área del círculo, y volumen de la esfera.
Suponiendo que pi = 3.1416. Escribe un programa que pida al usuario que introduzca el
radio, y presente por pantalla el cálculo del perímetro de la circunferencia (2*pi*r), el área del círculo (pi*r*r ), y el volumen de la esfera (V = 4*pi*r /3).
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
EL VALOR DEL RADIO
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
NÚMEROS REALES POSITIVOS
¿Qué formato debe tener esa información?
NÚMEROS REALES POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
EL VALOR DEL RADIO
¿Cuáles son los datos conocidos?
EL VALOR DE PI Y LAS FORMULAS
¿Qué información me falta para resolver el problema?
NINGUNO
¿Conocimientos?
SI, LAS FORMULAS
4.- Restricciones
¿Cuáles datos son variables?
EL RADIO
¿Cuáles datos son considerados fijos o constantes?
LAS FORMULAS Y PI
¿Cuáles datos debo calcular?
AREA VOLUMEN Y PERIMETRO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
UTILIZAR LAS FORMULAS
5.- Procesos Necesarios
¿Qué debo hacer?
PERIMETRO: (2*pi*r)
AREA: (pi*r*r )
VOLUMEN: (V = 4*pi*r /3).

Algoritmo
 1 INICIO
2 DECLARACIÓN R, A, V, P, PI, DIV 
3 ASIGNAR VALOR A R
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN



Código



Ejercicio 3
Media de cuatro números.
Escribir un programa que pida por teclado cuatro números y calcule y presente la media de los cuatro.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
MEDIA
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
LA MEDIA
¿Qué formato debe tener esa información?
NUMEROS REALES PISITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LOS CUATRO NÚMEROS
¿Cuáles son los datos conocidos?
LA FORMULA
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LO DE LA APLICACION DE LAS FORMULAS
4.- Restricciones
¿Cuáles datos son variables?
LOS CUATRO NÚMEROS
¿Cuáles datos son considerados fijos o constantes?
LA FORMULA
¿Cuáles datos debo calcular?
LA MEDIA
¿Qué está prohibido y/o permitido hacer y/o utilizar?
SUMAR Y DIVIDIR
5.- Procesos Necesarios
¿Qué debo hacer?
SUMAR LOS NÚMEROS Y LUEGO DIVIDIRLOS ENTRE CUATRO


Algoritmo

 1 INICIO
2 DECLARACIÓN A, B, C, D, M, DIV
3 ASIGNAR VALOR A A, B Y C
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN

Código



Ejercicio 4
Realizar un programa que imprima los números del 1 al 57. Repetir este ejercicio con estructuras repetitivas (for, do…loop while, y do while….loop).
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
IMPRIMIR
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
MOSTRAR UNA SERIE DE NÚMEROS
¿Qué formato debe tener esa información?
NUMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LA SERIE DE NÚMEROS
¿Cuáles son los datos conocidos?
LA SERIE DE NÚMEROS
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA SERIE DE NUMEROS
4.- Restricciones
¿Cuáles datos son variables?
NINGUNO
¿Cuáles datos son considerados fijos o constantes?
LA SERIE DE NÚMEROS 
¿Cuáles datos debo calcular?
NINGUNO, SOLO MOSTRAR
¿Qué está prohibido y/o permitido hacer y/o utilizar?
MOSTRAR LA SERIE DE NUMEROS
5.- Procesos Necesarios
¿Qué debo hacer?
INICIAR Y MOSTRAR UN CICLO FOR, DO... LOOP WHILE Y DO WHILE... LOOP

Algoritmo

 1 INICIO
2 DECLARACIÓN N 
INICIAR  UN CICLO FOR, DO... LOOP WHILE Y DO WHILE... LOOP DONDE N = 1 A 57
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN

Código FOR






Ejercicio 5
Realizar un programa que pida al usuario un número y presente los números del 1 al número que introdujo el usuario. Repetir este ejercicio con todos los tipos de bucles ((for, do…loop while, y do while….loop).
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
IMPRIMIR
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
MOSTRAR UNA SERIE DE NÚMEROS
¿Qué formato debe tener esa información?
NÚMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LA SERIE DE NÚMEROS
¿Cuáles son los datos conocidos?
LA SERIE DE NÚMEROS
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA SERIE DE NÚMEROS
4.- Restricciones
¿Cuáles datos son variables?
NINGUNO
¿Cuáles datos son considerados fijos o constantes?
LA SERIE DE NÚMEROS 
¿Cuáles datos debo calcular?
NINGUNO, SOLO MOSTRAR
¿Qué está prohibido y/o permitido hacer y/o utilizar?
MOSTRAR LA SERIE DE NÚMEROS
5.- Procesos Necesarios
¿Qué debo hacer?
INICIAR Y MOSTRAR UN CICLO FOR, DO... LOOP WHILE Y DO WHILE... LOOP

Algoritmo

 1 INICIO
2 DECLARACIÓN N Y R
INICIAR  UN CICLO FOR, DO... LOOP WHILE Y DO WHILE... LOOP DONDE R = 1 A N
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN

Código FOR




Ejercicio 6
Realizar un programa que pregunte al usuario el momento del día con una letra (m- mañana, t-tarde, n-noche), el género con otra letra (m-masculino, f-femenino). El programa dirá́: buenos días, tardes, o noches (según el momento) señor o señora según el género.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
DÍA, TARDE, NOCHE, HOMBRE O MUJER
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
MOSTRAR LOS BUENAS DÍAS Y EL GENERO
¿Qué formato debe tener esa información?
CADENA DE CARACTERES
3.- Datos Disponibles
¿Qué información es importante?
LOS CARACTERES QUE TECLEE EL USUARIO
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
VERIFICACION DE LO QUE TECLEE EL USUARIO
4.- Restricciones
¿Cuáles datos son variables?
LOS CARACTERES QUE TECLEE EL USUARIO
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
VERIFICAR LO QUE CORRESPONDA
5.- Procesos Necesarios
¿Qué debo hacer?
ENTRAR EN UN PROCESO DE CONDICIÓN Y MOSTRAR LO QUE SE CUMPLA

Algoritmo
 1 INICIO
2 DECLARACIÓN D Y G
3 ASIGNAR A LA VARIABLE EL VALOR CORRESPONDIENTE A SU CAJA DE TEXTO
4 VERIFICAR LO QUE CONTENGA
5 MOSTRAR EL RESULTADO 


6 FIN

Código




Ejercicio 7
Realizar un programa que pida tres números y diga cuál es el mayor, cuál es el segundo mayor, y cuál es el menor.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
LOS NÚMEROS QUE TECLEE EL USUARIO
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
ORDENAR LOS NÚMEROS
¿Qué formato debe tener esa información?
NUMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LOS NÚMEROS QUE TECLEE EL USUARIO
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA JERARQUÍA DE LOS NÚMEROS
4.- Restricciones
¿Cuáles datos son variables?
LOS NÚMEROS QUE TECLEE
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
ORDENAR LOS NÚMEROS
5.- Procesos Necesarios
¿Qué debo hacer?
JERARQUIZAR Y MOSTRAR ORDENADOS LOS NÚMEROS

Algoritmo
1 INICIO
2 DECLARAR Y ASIGNAR EL VALOR A LAS VARIABLES A, B, C
3 CON UN IF CLASIFICAR LO QUE SE REQUIERA
4 MOSTRAR LO QUE LE CORRESPONDA 
5 FIN


Código




Ejercicio 8
Realizar un programa que pida al usuario dos números y presente los números impares que hay desde el primer número al segundo que introdujo el usuario.


Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
NÚMEROS PARES, INTERVALO QUE TECLEARA EL USUARIO
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
NÚMEROS IMPARES
¿Qué formato debe tener esa información?
NÚMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
EL INTERVALO QUE TECLEARA EL USUARIO
¿Cuáles son los datos conocidos?
LOS NÚMEROS IMPARES
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
CUALES SON LOS NÚMEROS IMPARES
4.- Restricciones
¿Cuáles datos son variables?
EL INTERVALO
¿Cuáles datos son considerados fijos o constantes?
LOS NÚMEROS IMPARES
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
OBTENER LOS NUMEROS IMPARES
5.- Procesos Necesarios
¿Qué debo hacer?
UN INTERVALO DE NÚMEROS Y OBTENER LOS IMPARES PARA DESPUÉS MOSTRARLOS

Algoritmo

1 INICIO
2 DECLARACIÓN DE VARIABLE R
3 ASIGNAR EL VALOR DE EL INTERVALO A LA VARIABLE
4 OPERACIÓN DE CADA UNO DE LOS NUMEROS EN EL INTERVALO
5 MOSTRAR EN LISTA LOS QUE HAYAN SIDO SELECCIONADOS
6 FIN

Código


Ejercicio 9
Realizar un programa que pida al usuario dos números y una letra: “i” ó “p”.
El programa presentará los números pares (si se pulsó la “p”) ó impares (si se pulsó la “i”) que hay desde el primer número al segundo que introdujo el usuario. Si se pulsa alguna tecla distinta de “p” ó “i”, el programa no imprime ningún número.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
NÚMEROS PARES, NÚMEROS IMPARES, INTERVALO DE NÚMEROS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
UN RANGO DE VALORES, NÚMEROS PARES O IMPARES
¿Qué formato debe tener esa información?
NÚMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
EL RANGO Y SI QUIERE LOS IMPARES O PARES
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
CLASIFICAR CUALES SON LOS NÚMEROS PARES O IMPARES
4.- Restricciones
¿Cuáles datos son variables?
EL RANGO Y LOS NÚMEROS QUE DESEE QUE SE LE MUESTREN
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
JERARQUIZAR Y MOSTRAR LO QUE EL USUARIO DESEE
5.- Procesos Necesarios
¿Qué debo hacer?
DENTRO DE UN RANGO DE VALORES HACER UNA OPERACIÓN Y MOSTRAR LO QUE EL USUARIO DESEE

Algoritmo
 1 INICIO
2 DECLARACIÓN R
3 ASIGNAR VALOR A R 
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN


Código

Ejercicio 10
Realizar un programa que pida que se pulse la letra “C” si se pulsa cualquier otra tecla que no sea la “C”, dice “letra incorrecta” y vulva a pedir que se pulse la letra “C”. Cuando se pulsa la tecla “C” el programa dice “gracias” y termina.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
C
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
MOSTRAR TEXTO DE ACUERDO A LO QUE TECLEE EL USUARIO
¿Qué formato debe tener esa información?
CADENA DE CARACTERES
3.- Datos Disponibles
¿Qué información es importante?
LA LETRA QUE TECLEE EL USUARIO
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA VERIFICACION DE LO QUE SE TECLEE
4.- Restricciones
¿Cuáles datos son variables?
LO QUE EL USUARIO TECLEE
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
REALIZAR UN PROCESO DE CONDICIONM Y VERIFICAR SU CASO
5.- Procesos Necesarios
¿Qué debo hacer?
INICIAR UN PROCESO DE VERIFICACIÓN Y MOSTRAR LO QUE LE CORRESPONDA

Algoritmo
 1 INICIO
2 DECLARACIÓN DE X
INICIAR  UN PROCESO DE CONDICION IF 
4 OPERAR DE ACUERDO A LO QUE SE HALLA TECLEADO 
5 MOSTRAR EL RESULTADO 


6 FIN

Código

Ejercicio 11
Realizar un programa que determine si un alumno está aprobado o reprobado en base a su calificación. Se aprueba con una calificación mayor o igual que seis.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
APROBATORIA O NO
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
EVALUACIÓN
¿Qué formato debe tener esa información?
CADENA DE CARACTERES
3.- Datos Disponibles
¿Qué información es importante?
LA CALIFICACIÓN
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
DE 6 EN ADELANTE APRUEBA
4.- Restricciones
¿Cuáles datos son variables?
LA CALIFICACIÓN
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
HACER UNA EVALUACIÓN
5.- Procesos Necesarios
¿Qué debo hacer?
LLEVARA  CABO UN SELEC CASE 

Algoritmo
 1 INICIO
2 DECLARACIÓN C
3 ASIGNAR VALOR  C
4 OPERAR
5 MOSTRAR EL RESULTADO 

6 FIN


Código


Ejercicio 12
Se pide la edad de un muchacho y de una muchacha, a estos datos les llamaremos joven y jovencita. Hacer un algoritmo que de las siguientes recomendaciones sobre su hora de regreso del antro:
 Si los dos son mayores de edad regresan a la hora que quieran.
 Si el joven es mayor de edad y la joven-cita no, regresan a las dos de la mañana.
 Si la joven-cita es mayor de edad y el joven no, regresan a las doce de la noche.
 Si los dos son menores de edad no van.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
LAS EDADES LOS JÓVENES 
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
UNA RESPUESTA 
¿Qué formato debe tener esa información?
CADENA DE CARACTERES
3.- Datos Disponibles
¿Qué información es importante?
LAS EDADES
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNO
¿Conocimientos?
NADA EN ESPECIFICO 
4.- Restricciones
¿Cuáles datos son variables?
LAS EDADES
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
LLEVAR A CABO UNA SERIE DE POSIBLES RESPUESTAS
5.- Procesos Necesarios
¿Qué debo hacer?
LLEVAR A CABO UN SELEC CASE 

Algoritmo
 1 INICIO
2 DECLARACIÓN EH, EM
3 ASIGNAR VALOR A EH, EH CORRESPONDIENTE
4 OPERAR
5 MOSTRAR EL RESULTADO 

6 FIN


Código

Ejercicio 13
Ordenar de mayor a menor 3 números diferentes entre sí. Nótese que no se trata de decir cuál de los tres números es el mayor, sino de ordenarlos en forma descendente.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
LOS TRES NÚMEROS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
ORNEAR
¿Qué formato debe tener esa información?
NUMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LOS TRES NÚMEROS
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA JERARQUIA DE LOS MISMOS
4.- Restricciones
¿Cuáles datos son variables?
LOS TRES NÚMEROS
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
ORDENARLOS Y MOSTRARLOS
5.- Procesos Necesarios
¿Qué debo hacer?
ENTRAR A UN PROCESO DE SELEC CASE

Algoritmo
 1 INICIO
2 ASIGNARLE VALORES A UNA LISTA
3 ORDENAR
4 MOSTRAR EL RESULTADO 

5 FIN


Código


Ejercicio 14
Hacer un programa que de un mensaje que debe estar en función de la calificación que proporciona el usuario, la cual es un número entero que va del 5 al 10.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
NOTA, CALIFICACIÓN
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
UNA NOTA
¿Qué formato debe tener esa información?
CADENA DE CARACTERES
3.- Datos Disponibles
¿Qué información es importante?
LA CALIFICACIÓN A TECLEAR
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
UN SELECT CASE
4.- Restricciones
¿Cuáles datos son variables?
LA CALIFICACIÓN A TECLEAR
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
CLASIFICAR LA CALIFICACIÓN
5.- Procesos Necesarios
¿Qué debo hacer?
UN PROCESO DE IF

Algoritmo
 1 INICIO
2 ASIGNARLE VALOR A UNA CAJA DE TEXTO
3 CLASIFICAR-LO
4 MOSTRAR EL RESULTADO 

5 FIN


Código


Ejercicio 15
Hacer un programa que cuente en la pantalla del cero al 1000 de dos en dos.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
NÚMEROS DE DOS EN DOS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
NÚMEROS DE DOS EN DOS
¿Qué formato debe tener esa información?
NÚMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LOS NÚMEROS PARES
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LOS NÚMEROS PARES
4.- Restricciones
¿Cuáles datos son variables?
NINGUNO
¿Cuáles datos son considerados fijos o constantes?
LOS NÚMEROS PARES
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
HACER UNA SUMA DE DOS EN DOS
5.- Procesos Necesarios
¿Qué debo hacer?
INICIAR UN CICLO FOR Y MOSTRAR LOS NÚMEROS PARES

Algoritmo
 1 INICIO
2 DECLARACIÓN N
3 ASIGNAR VALOR A N DESDE 1 A 1000
4 OPERAR
5 MOSTRAR EL RESULTADO 

6 FIN


Código


Ejercicio 16
Hacer un programa que obtenga el promedio de n números.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
PROMEDIO, N NÚMEROS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
EL PROMEDIO
¿Qué formato debe tener esa información?
NÚMEROS REALES POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LA CANTIDAD DE NÚMEROS
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA FORMULA A APLICAR
4.- Restricciones
¿Cuáles datos son variables?
LOS N NÚMEROS
¿Cuáles datos son considerados fijos o constantes?
LA FORMULA
¿Cuáles datos debo calcular?
EL PROMEDIO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
SUMAR, Y DIVISIÓN ENTRE N
5.- Procesos Necesarios
¿Qué debo hacer?
SUMAR N NÚMEROS Y DIVIDIR ENTRE N

Algoritmo
 1 INICIO
2 DECLARACIÓN N
3 ASIGNAR VALOR A CADA NUMERO DE N
4 OPERAR
5 MOSTRAR EL RESULTADO 

6 FIN


Código


Ejercicio 17
Hacer un programa que, dado un número real que entra como dato, nos indique si está contenido dentro de los límites predeterminados. El límite inferior es de 100 y el superior de 200.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
LOS NÚMEROS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
SI EL NUMERO ESTA DENTRO DEL RANGO
¿Qué formato debe tener esa información?
CADENA DE CARACTERES
3.- Datos Disponibles
¿Qué información es importante?
EL NUMERO
¿Cuáles son los datos conocidos?
EL RANGO
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
EL RANGO
4.- Restricciones
¿Cuáles datos son variables?
EL NUMERO A TECLEAR
¿Cuáles datos son considerados fijos o constantes?
EL RANGO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
VERIFICAR SI ES O NO EN EL RANGO
5.- Procesos Necesarios
¿Qué debo hacer?
ENTRAR EN UN PROCESO DE VERIFICACIÓN

Algoritmo
 1 INICIO
2 DECLARACIÓN DE VARIABLES
3 ASIGNAR VALOR A LA VARIABLE
4 OPERAR
5 MOSTRAR EL RESULTADO 


6 FIN

Código


Ejercicio 18
Programa que, dados dos números enteros que entran como datos, indique si uno es divisor del otro.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
NÚMEROS, DIVISIBLES
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
SI SON O NO DIVISIBLES
¿Qué formato debe tener esa información?
CADENA DE CARACTERES
3.- Datos Disponibles
¿Qué información es importante?
LOS DOS NÚMEROS
¿Cuáles son los datos conocidos?
LA DIVISIÓN
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA DIVISIÓN
4.- Restricciones
¿Cuáles datos son variables?
LOS DOS NÚMEROS
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
EL COCIENTE 
¿Qué está prohibido y/o permitido hacer y/o utilizar?
HACER UNA DIVISIÓN
5.- Procesos Necesarios
¿Qué debo hacer?
UNA DIVISIÓN ENTRE LOS NÚMEROS

Algoritmo
 1 INICIO
2 DECLARACIÓN DE VARIABLES
3 ASIGNAR VALOR A CADA VARIABLE
4 OPERAR
5 MOSTRAR EL RESULTADO 


6 FIN


Código



Ejercicio 19
Programa que calcule el producto de números enteros del 10 al 20.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
LOS NÚMEROS, PRODUCTO
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
EL PRODUCTO
¿Qué formato debe tener esa información?
NÚMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LOS 10 NÚMEROS
¿Cuáles son los datos conocidos?
LOS 10 NÚMEROS A MULTIPLICAR
¿Qué información me falta para resolver el problema?
NINGUNA
¿Conocimientos?
LA MULTIPLICACIÓN
4.- Restricciones
¿Cuáles datos son variables?
NINGUNO
¿Cuáles datos son considerados fijos o constantes?
LOS 10 NÚMEROS
¿Cuáles datos debo calcular?
EL PRODUCTO DE LOS 10 NÚMEROS
¿Qué está prohibido y/o permitido hacer y/o utilizar?
UNA MULTIPLICACIÓN
5.- Procesos Necesarios
¿Qué debo hacer?
DESDE 10 A 20 UNA MULTIPLICACIÓN


Algoritmo
 1 INICIO
2 DECLARACIÓN A, B, 
3 ASIGNAR VALOR A B DESDE 10 A 20
4 OPERAR
5 MOSTRAR EL RESULTADO 

6 FIN


Código

Ejercicio 20
Programa en el que el usuario introduce números y la computadora cuenta cuantos son positivos y los presenta.
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
NÚMEROS POSITIVOS, NÚMEROS NEGATIVOS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
NÚMEROS POSITIVOS Y NEGATIVOS
¿Qué formato debe tener esa información?
NÚMEROS ENTEROS
3.- Datos Disponibles
¿Qué información es importante?
LOS NÚMEROS QUE SE TECLEEN
¿Cuáles son los datos conocidos?
NINGUNO
¿Qué información me falta para resolver el problema?
NINGUNO
¿Conocimientos?
LOS NUMEROS POSITIVOS Y NEGATIVOS
4.- Restricciones
¿Cuáles datos son variables?
LOS NÚMEROS A TECLEAR
¿Cuáles datos son considerados fijos o constantes?
NINGUNO
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
CLASIFICAR LOS NUMEROS
5.- Procesos Necesarios
¿Qué debo hacer?
CLASIFICAR Y MOSTRAR DE ACUERDO A LO QUE EL USUARIO PIDA

Algoritmo
 1 INICIO
2 DECLARACIÓN X Y Z
INICIAR  UN PROCESO DE CLASIFICACION DE NUMEROS DE ACUERDO A LOS QUE SE HALLAN INGRESADO
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN

Código




Ejercicio 21
Programa que muestra 15 líneas como estas: 1 12 123 1234
Análisis:
1.- Formular el Problema
¿Puedo definir mejor el problema?
NO
¿Qué palabras del problema me son desconocidas?
NINGUNA
¿Cuáles son las palabras clave del problema?
LOS NÚMEROS
¿He resuelto antes algún problema similar?
SI
2.- Resultados Esperados
¿Qué información me solicitan?
UNA SERIE DE NÚMEROS
¿Qué formato debe tener esa información?
NUMEROS ENTEROS POSITIVOS
3.- Datos Disponibles
¿Qué información es importante?
LOS NÚMEROS
¿Cuáles son los datos conocidos?
LOS NÚMEROS
¿Qué información me falta para resolver el problema?
NINGUNO
¿Conocimientos?
LA SERIE DE DATOS
4.- Restricciones
¿Cuáles datos son variables?
NINGUNO
¿Cuáles datos son considerados fijos o constantes?
LOS NÚMEROS
¿Cuáles datos debo calcular?
NINGUNO
¿Qué está prohibido y/o permitido hacer y/o utilizar?
UNA SERIE DE NUMEROS
5.- Procesos Necesarios
¿Qué debo hacer?
UN PROCESO DE REPETICION

Algoritmo
 1 INICIO
2 DECLARACIÓN N Y R
INICIAR  UN CICLO FOR, 
4 OPERAR
5 MOSTRAR EL RESULTADO 
6 FIN

Código