Introducción a Las Estructuras de Control (1)

download Introducción a Las Estructuras de Control (1)

of 20

description

Estructuras de conteo

Transcript of Introducción a Las Estructuras de Control (1)

  • Que el alumno conozca las diferentes estructuras algortmicascomo componentes bsicos de los programas, y aplicar lacombinacin de ellas para el desarrollo de algoritmos mscomplejos.

  • Los algoritmos vistos hasta el momento han consistido ensimples secuencias de instrucciones; sin embargo, existentareas ms complejas que no pueden ser resueltasempleando un esquema tan sencillo, en ocasiones esnecesario repetir una misma accin un nmero determinadode veces o evaluar una expresin y realizar accionesdiferentes en base al resultado de dicha evaluacin.

    Para resolver estas situaciones existen las denominadasestructuras de control.

  • Son las formas lgicas como puede comportarse unacomputadora y mediante las cuales se dirige elfuncionamiento de la misma.

    Son un grupo de formas de trabajo, que permiten, mediantela manipulacin de variables, realizar ciertos procesosespecficos que nos lleven a la solucin de problemas.

    Estas estructuras se clasifican de acuerdo con su complejidaden: Secuenciales, Selectivas y Repetitivas.

  • Secuenciales

    Selectivas

    Repetitivas

    -Asignacin

    -Entrada

    -Salida

    *Simples

    *Dobles

    *Mltiples

    Repetir

    Mientras

  • La estructura secuencial es aquella en la que una accin(instruccin) sigue a otra en secuencia Las tares suceden detal modo que la salida de una es la entrada de la siguiente yas sucesivamente hasta el fin del proceso.

    La estructura de control Secuencial es la ms sencilla,tambin se le conoce como Lineal. Solamente los problemasmuy sencillos pueden resolverse haciendo uso nicamente deesta estructura.

    Normalmente, la estructura secuencial hace parte desoluciones a problemas complejos en las que se utilizamezclada con estructuras iterativas (repetir varias veces unproducto de instrucciones) y condicionales (tomardecisiones).

  • La estructura de control Secuencial puede contener cualquierade las siguientes instrucciones:

    Asignacin: consiste en el paso de valores o resultados auna zona de la memoria. Dicha zona ser reconocida con elnombre de la variable que reciba el valor. La asignacin sepuede clasificar de la siguiente forma:

    Simples: Consiste en pasar un valor constante a una variable( a=15 )

    Contador: Consiste en usarla como un verificador del nmerode veces que se realiza un proceso ( a=a+1 )

    Acumulador: Consiste en usarla como un sumador en unproceso ( a=a+b )

    De trabajo: Donde puede recibir el resultado de una operacinmatemtica que involucre muchas variables ( a=c+b *2/4)

  • Lectura: consiste en recibir desde un dispositivo de entrada(ej. el teclado) un valor. Esta operacin se representa en unpseudocdigo como:

    Leer a, b

    Donde a y b son las variables que recibirn los valores.

    Escritura: consiste en mandar por un dispositivo de salida(ej. el monitor o impresora) un resultado o mensaje. Esteproceso se representa en un pseudocdigo como:

    Escribir El resultado es:, R

    Donde El resultado es: es un mensaje que se desea aparezca y R es una variable que contiene valor.

  • DIAGRAMA DE FLUJO

    INICIO

    LEER DATOS

    PROCESOS

    ESCRIBIR INFORMACIN

    FIN

    SEUDOCDIGO

    Algoritmo: Breve descripcin

    1. DECLARAR

    Constantes

    C1: Tipo

    C2: Tipo

    Variables

    V1: Tipo

    V2: tipo

    2. LEER

    3. HACER

    4. ESCRIBIR

    5. FIN

  • Calcular el nmero de pulsaciones que una persona debe tener

    por cada 10 segundos de ejercicio, si la frmula es:

    Nmero de pulsaciones = (220-edad)/10

    ANLISIS DEL PROBLEMA

    Variable de Salida (Informacin)N_Puls: Nmero de pulsaciones. Variable Numrica Real.

    Variable de Entrada (Datos)Edad: Edad de la persona. Variable Numrica Entera.

    ProcesoN_Puls = (220-Edad)/10

  • INICIO

    Edad

    N_Puls=(220-Edad)/10

    N_Puls

    FIN

    DIAGRAMA DE FLUJO SEUDOCDIGO

    Algoritmo: Clculo de Pulsaciones

    1. DECLARAR

    Edad: Numrica Real

    N_Puls: Numrica Real

    2. LEER

    Edad

    3. HACER

    N_Puls = (220-Edad)/10

    4. ESCRIBIR

    N_Puls

    5. FIN

    DISEO DEL PROBLEMA

  • Un alumno desea saber cul ser su promedio general en las tres materias que cursa, y cul ser el promedio que obtendr en cada una de ellas. Estas materias se evalan como se muestra a continuacin:

    La calificacin de Matemticas se obtiene de la siguiente manera:Examen 90%Promedio de tareas 10%En esta materia se pidi un total de tres tareas.

    La calificacin de Fsica se obtiene de la siguiente manera:Examen 80%Promedio de tareas 20%En esta materia se pidi un total de dos tareas.

    La calificacin de Qumica se obtiene de la siguiente manera:Examen 85%Promedio de tareas 15%En esta materia se pidi un total de tres tareas.

  • ANLISIS DEL PROBLEMA

    Variables de Salida (Informacin)PromGen: Promedio General de tres materias. Variable Numrica Real.PromMat: Promedio de Matemtica. Variable Numrica Real.PromFis: Promedio de Fsica. Variable Numrica Real.PromQuim: Promedio de Qumica. Variable Numrica Real.

    Variables de Entrada (Datos)ExaMat: Examen de Matemtica. Variable Numrica Real.Tarea1M: Tarea 1 de Matemtica. Variable Numrica Real.Tarea2M: Tarea 2 de Matemtica. Variable Numrica Real.Tarea3M: Tarea 3 de Matemtica. Variable Numrica Real.ExaFis: Examen de Fsica. Variable Numrica Real.Tarea1F: Tarea 1 de Fsica. Variable Numrica Real.Tarea2F: Tarea 2 de Fsica. Variable Numrica Real.ExaQuim: Examen de Qumica. Variable Numrica Real.Tarea1Q: Tarea 1 de Qumica. Variable Numrica Real.Tarea2Q: Tarea 2 de Qumica. Variable Numrica Real.Tarea3Q: Tarea 3 de Qumica. Variable Numrica Real.

  • Proceso

    PromMat = (ExaMat*0.9)+(((Tarea1M+ Tarea2M+Tarea3M)/3)*0.1)

    PromFis = (ExaFis*0.8)+(((Tarea1F+ Tarea2F)/2)*0.2)

    PromQuim = (ExaQuim*0.85)+(((Tarea1Q+ Tarea2Q+Tarea3Q)/3)*0.15)

    PromGen = (PromMat + PromFis + PromQuim)/3

  • DISEO DEL PROBLEMA

    Inicio

    ExaMatTarea1MTarea2MTarea3M

    ExaFisTarea1QTarea2Q

    ExaQuimTarea1QTarea2QTarea3Q

    PromMat = (ExaMat*0.9)+(((Tarea1M+ Tarea2M+Tarea3M)/3)*0.1)

    PromFis = (ExaFis*0.8)+(((Tarea1F+ Tarea2F)/2)*0.2)

    PromQuim = (ExaQuim*0.85)+(((Tarea1Q+ Tarea2Q+Tarea3Q)/3)*0.15)

    A

  • DISEO DEL PROBLEMA

    PromGen = (PromMat + PromFis + PromQuim)/3

    A

    PromMatPromFis

    PromQuimPromGen

    Fin

  • Module Module1

    Sub Main()Dim ExaMat, Tarea1M, Tarea2M, Tarea3M As SingleDim ExaFis, Tarea2F, Tarea1F As SingleDim ExaQuim, Tarea1Q, Tarea2Q, Tarea3Q As SingleDim PromMat, PromFis, PromQuim, PromGen As Single

    Console.WriteLine("*****Ingrese las Notas de la Asignatura Respectiva*****")Console.WriteLine()Console.WriteLine("MATEMTICAS")Console.Write("Examen de Matemticas: ")ExaMat = Console.ReadLineConsole.Write("Tarea 1 de Matemticas: ")Tarea1M = Console.ReadLineConsole.Write("Tarea 2 de Matemticas: ")Tarea2M = Console.ReadLineConsole.Write("Tarea 3 de Matemticas: ")Tarea3M = Console.ReadLineConsole.WriteLine("FSICA")Console.Write("Examen de Fsica: ")ExaFis = Console.ReadLineConsole.Write("Tarea 1 de Fsica: ")Tarea1F = Console.ReadLineConsole.Write("Tarea 2 de Fsica: ")Tarea2F = Console.ReadLineConsole.WriteLine("QUMICA")Console.Write("Examen de Qumica: ")ExaQuim = Console.ReadLineConsole.Write("Tarea 1 de Qumica: ")Tarea1Q = Console.ReadLineConsole.Write("Tarea 2 de Qumica: ")Tarea2Q = Console.ReadLineConsole.Write("Tarea 3 de Qumica: ")Tarea3Q = Console.ReadLine

    Cdigo Visual Basic.NET

  • PromMat = (ExaMat * 0.9) + (((Tarea1M + Tarea2M + Tarea3M) / 3) * 0.1)PromFis = (ExaFis * 0.8) + (((Tarea1F + Tarea2F) / 2) * 0.2)PromQuim = (ExaQuim * 0.85) + (((Tarea1Q + Tarea2Q + Tarea3Q) / 3) * 0.15)PromGen = (PromMat + PromFis + PromQuim) / 3

    Console.WriteLine()Console.WriteLine("Promedio de Matemticas: " & PromMat)Console.WriteLine("Promedio de Fsica: " & PromFis)Console.WriteLine("Promedio de Qumica: " & PromQuim)Console.WriteLine("Promedio General de las tres asignaturas: " & PromGen)Console.ReadLine()

    End Sub

    End Module

    Cdigo Visual Basic.NET