miércoles, 29 de septiembre de 2010

Estructuras de control, Ejemplos y Ejercicios

Las estructuras de control indican el orden de ejecución de las acciones en un algoritmo e instrucciones en un programa.
ü  Selección
ü  Repetición

Estructuras de Control de Selección
Las estructuras de control selectivas permiten condicionar la realización de acciones dentro del algoritmo.
ü  Selección Simple
ü   Selección Doble
ü   Selección Múltiple

Estructuras de Selección Simple:
Formato:   
Si  (Expresión Lógica)  Entonces
    Acción o Acciones a ejecutar
Fin Si   

Ejemplo : Aplicar el 15% de descuento a un monto, si éste es  >= 100000.
Si  (monto >= 100000) Entonces
    monto ß monto – (monto * 0.15)
Fin Si   

Estructuras de Selección Simple Anidada:
Formato:   
Si (Expresión Lógica)  Entonces
    Acción o Acciones a ejecutar
          Si (Expresión Lógica)  Entonces
              Acción o Acciones a ejecutar
          Fin Si         
Fin Si

Ejemplo : Aplicar el 15% de descuento a un monto, si éste es  >= 100000 y si el resultado es mayor 400000 se le aplicará 10%.
Si (monto >= 100000) Entonces
    monto ß monto – (monto * 0.15)
               Si  (Monto > 400000) Entonces
                    monto ß monto – (monto * 0.10)
             Fin Si
Fin Si   

Estructuras de Selección Doble
Formato:
Si (Expresión Lógica)  Entonces
    Acción o Acciones a ejecutar
Sino
    Acción o Acciones a ejecutar
Fin Si

Ejemplo: Actualizar el saldo de una cuenta bancaria, a partir de un retiro.
Si ((Saldo – Retiro) >= 0) Entonces
    Saldo ß Saldo - Retiro
Sino
    Escribir “Fondos Insuficientes”
Fin Si

 Estructuras de Selección Doble Anidada
Formato:
Si (Expresión Lógica)  Entonces
    Acción o Acciones a ejecutar
       Si (Expresión Lógica)  Entonces
         Acción o Acciones a ejecutar
       Sino
         Acción o Acciones a ejecutar
       Fin Si            
Sino
    Acción o Acciones a ejecutar
       Si (Expresión Lógica) Entonces
         Acción o Acciones a ejecutar
       Sino
         Acción o Acciones a ejecutar
       Fin Si
Fin Si    

Ejemplo: Actualizar el saldo de una cuenta bancaria, a partir de un retiro si el saldo es mayor o igual a 100000 se le restará 1500, si el saldo es menor de 100000 se le restará 1000.
Si ((Saldo – Retiro) >= 0) Entonces
    Saldo ß Saldo – Retiro
                Si (Saldo >= 100000) Entonces
                    Saldo ß Saldo - 1500
                Sino
                    Saldo ß Saldo - 1000
                Fin Si    
Sino
    Escribir “Fondos Insuficientes”
Fin Si    

Estructuras de Selección Múltiples
Formato:
Caso (Nombre_de_Variable)
        Valor1: Accion(es) a ejecutar
        Valor2: Accion(es) a ejecutar
        Valor3: Accion(es) a ejecutar
        ValorN: Accion(es) a ejecutar
Sino
        Accion(es) a ejecutar
Fin Caso

Ejemplo: Costo de una pizza, según su tamaño.
Caso (Tamaño_Pizza)
        ‘P’: Costo  ß  6000
        ‘M’: Costo ß  8000
        ‘G’: Costo  ß 10000
Sino
        Escribir “Tamaño de Pizza no válido“
        Costo  ß 0
Fin Caso

Ejercicios:
1.- Realice un algoritmo en pseudocódigo en español que permita obtener la suma de dos números teniendo en cuenta que el primer número tiene que ser mayor que el segundo y si el resultado de la suma es mayor o igual que 230 se dividirá entre 2

Algoritmo que permite Calcular la suma de dos números
Declaración de Variables
        Número_1, Número_2,  Suma: Entero
Inicio
Escribir “Calcular la suma de dos números”
Escribir “Introduzca los siguientes datos:”
Escribir “Primer número: ”
Leer(Número_1)
Escribir “Segundo número: ”
Leer(Número_2)
       
        Si (Número_1 > Número_2) Entonces
                Escribir “Se realizará la suma el primer número es mayor que el segundo”
                Suma ß Número_1 + Número_2
                       Si (Suma>=230) Entonces
                       Escribir “La suma es mayor a 230 se dividirá entre 2”
                        Suma ß Suma / 2
                       Fin Si    
           Fin Si
         Escribir “El resultado es:  ”, Suma
Fin

2.- Realice un algoritmo en pseudocódigo que permita mostrar el día de la semana correspondiente según un número entero dado

Algoritmo que permite Calcular  la nota acumulada en biología y mostrar una apreciación
Declaración de Variables
        Numero_1: Entero
Inicio
Escribir “Mostrar día de la semana”
Escribir “Introduzca un número del 1 al 7:”
Leer (Numero_1)
Caso (Numero_1)
        1: Escribir “El día es Lunes ”
        2: Escribir “El día es Martes ”
        3: Escribir “El día es Miércoles ”
        4: Escribir “El día es Jueves ”
        5: Escribir “El día es Viernes ”
        6: Escribir “El día es Sábado ”
        7: Escribir “El día es Domingo ”
Sino
        Escribir “Error, Debe introducir un número del 1 al 7:”
Fin Caso
Fin

Estructuras de Control de Repetición
Las estructuras de control repetitivas permiten que un grupo de acciones se repitan varias veces dentro del algoritmo.
ü  Mientras
ü   Repetir
ü   Para

Variables Auxiliares
CONTADOR: es una variable cuyo valor se incrementa o decrementa en una cantidad constante en cada iteración.
Incrementa: Contador ß Contador + Valor_Fijo
Decrementa: Contador ß Contador - Valor_Fijo

ACUMULADOR: es una variable que almacena cantidades resultantes de sumas sucesivas en
cada iteración.
Acumulador ß Acumulador +  Variable

Estructura Repetitiva Mientras: Mientras el resultado de la expresión lógica sea Verdadero, se realizarán iteraciones donde se ejecutarán las acciones encerradas en el cuerpo del bucle.
Formato:
Mientras (Expresión Lógica)  Hacer
       Acción o Acciones
Fin Mientras


Uso de Contadores y Acumuladores en ciclos
Ejemplo: Estructura repetitiva para sumar los  precios de 3 artículos.
Suma ß   0
Articulo ß  0
Mientras (Articulo < 3) Hacer
     Articulo ß Articulo + 1
     Escribir “Introduzca Precio del Artículo # ”, Articulo
     Leer  (Precio)
     Suma ß Suma + Precio
Fin Mientras
     Escribir “El resultado de la suma es = “, Suma

Estructura Repetitiva Repetir: Repetir (realizar iteraciones) hasta que  la expresión lógica
resulte Verdadero.
Formato:
Repetir
       Acción o Acciones
Hasta (Expresión Lógica)
Ejemplo: Validación de un dato de entrada.
Repetir
                Escribir “Introduzca la nota a procesar [0..10]:”
                Leer (nota)
                Si ((nota < 0) O (nota > 10)) Entonces
                               Escribir “Error, la nota está fuera del rango.”
                Fin Si
Hasta ((nota >=0) Y (nota <= 10))

Estructura Repetitiva Para: Realiza una iteración por cada valor que tome Variable.
Formato:
Para Variable = Vi Hasta Vf   Inc o Dec [Valor]
       Acción o Acciones
Fin Para 
Ejemplo: Estructura repetitiva para sumar los  precios de 3 artículos.
Suma ß 0
Para Articulo = 1 Hasta 3 Inc 1
                Escribir “Introduzca Precio del Artículo # ”, Articulo
                Leer (Precio)
                Suma ß Suma + Precio
Fin Para
Escribir “El resultado de la suma es “, Suma

Ejercicios:
1.- Realice un algoritmo en pseudocódigo en español que permita leer y mostrar los nombres
de 10 estudiantes.

Algoritmo que permite leer y mostrar los nombres de 10 estudiantes
Declaración de Variables
                Nombre_Estudiante: Alfabetico
                Contador: Entero
Inicio
 Escribir (“Programa que permite leer y mostrar los nombres de 10 estudiantes ”)
 Contador ß 0
Mientras (Contador <= 10)
Contador ß  Contador + 1
Escribir “Introduzca el nombre nº ”, Contador, “:”
Leer (Nombre_Estudiante)
Escribir “El nombre del estudiante nº ”, Contador, “es:”, Nombre_Estudiante
 Fin Mientras   
Fin

2.- Realice un algoritmo en pseudocódigo en español que permita contar una serie de 40 números e indiquen cuántos de ellos son negativo y cuántos de ellos son positivo.

Algoritmo que permite contar una serie de 40
Declaración de Variables
                Numero_positivo, Numero_negativo: Entero
                Numero, Contador_Numero: Entero
Inicio
Escribir (“Programa que permite contar una serie de 40 números y lleva la cuenta de cuantos  son positivos y negativos ”)
         Contador_Numero ß 0, Numero_positivo ß 0, Numero_negativo ß 0
Repetir
                Escribir “Introduzca un Número”
                Leer (Numero)
                Contador_Numero ß  Contador_Numero + 1
                Si (Numero >= 0) Entonces
                        Numero_positivo = Numero_positivo +1
                sino
                      Numero_negativo  = Numero_negativo +1
                Fin Si    
Hasta (Contador_Numero = 40)
Escribir (“Números positivos: ”, Numero_positivo)
Escribir (“Números negativos: ”, Numero_negativo )
Fin

Algoritmo que permite contar una serie de 40
Declaración de Variables
                Numero_positivo, Numero_negativo: Entero
                Numero, Contador_Numero: Entero
Inicio
Escribir (“Programa que permite contar una serie de 40 números y lleva la cuenta de cuantos  son positivos y negativos ”)
Numero_positivo ß 0, Numero_negativo ß 0
Para Contador_Numero = 1 Hasta 40 Inc 1
                Escribir “Introduzca un Número”
                Leer (Numero)
                Si (Numero >= 0) Entonces
                        Numero_positivo = Numero_positivo + 1
                sino
                      Numero_negativo  = Numero_negativo + 1
                Fin Si    
Fin Para
Escribir (“Números positivos: ”, Numero_positivo)
Escribir (“Números negativos: ”, Numero_negativo )
Fin



No hay comentarios:

Publicar un comentario en la entrada