Story Transcript
UNIVERSIDAD MAYOR DE SAN SIMÓN
FACULTAD DE CIENCIAS Y TECNOLOGÍA
Versión 1.0 Corina Flores Villarroel
INGENIERÍA EN INFORMÁTICA
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Estructuras de Control Básicas ......................................................................................................... 3 Introducción ................................................................................................................................... 3 Objetivos ........................................................................................................................................ 3 Tipos de Estructuras de Control .................................................................................................. 4 Estructura Secuencial .................................................................................................................... 4 Estructura de Selección................................................................................................................. 5 Estructura selectiva simple, si entonces ................................................................................... 6 Estructura selectiva doble, si entonces/sino ........................................................................... 7 Estructura de Repetición .............................................................................................................. 9 Estructura de Repetición PARA (for) ..................................................................................... 12 Estructura de Repetición MIENTRAS (while) .......................................................................... 14 Equivalencia entre PARA y MIENTRAS ....................................................................................... 17 Resumen ....................................................................................................................................... 18 Referencias Bibliográficas ........................................................................................................... 18
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Estructuras de Control Básicas " Un hombre tiene que escoger. En esto reside su fuerza: en el poder de sus decisiones.". Paulo Coelho
Introducción Al ser un algoritmo una secuencia de pasos ordenados, estos deben seguir una trayectoria para su ejecución desde el primer paso hasta el último. Esta trayectoria se denomina flujo de control que indica el orden en el cual deben ejecutarse los pasos elementales. Para organizar el flujo de control de un algoritmo se utilizan estructuras de control, estas son construcciones algorítmicas lineales, de selección e iteración. Las dos últimas alteran el flujo de control lineal del algoritmo.
Objetivos El tema “Estructuras de control básicas” tiene por objetivos:
Que los estudiantes conozcan las estructuras básicas de control (secuenciales, condicionales y repetitivas) y sepan aplicarlas correctamente. Que los estudiantes diseñen algoritmos utilizando las estructuras básicas de control adecuadas al tipo de problema tratado. Que los estudiantes escriban la sintaxis de las principales estructuras de control en pseudocódigo o representen a través de diagramas de flujo.
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Tipos de Estructuras de Control Las estructuras de control básicas para organizar el flujo de control en un algoritmo, son las siguientes: 1) 2) 3)
Estructura secuencial Estructura de selección Estructura de repetición
Estructura Secuencial La estructura de control más simple está representada por una sucesión de acciones que se ejecutan de arriba hacia abajo sin bifurcaciones, es decir, una acción a continuación de otra. El ejemplo del algoritmo que describe la forma en que un estudiante se levanta todas las mañanas para ir a la universidad, descrito en el tema 2, es un ejemplo tipo de estructura secuencial. A continuación se presenta gráficamente esta estructura.
Acción 1
Acción 2
Acción 3
....... Acción n
Una estructura de control secuencial puede contener cualquiera de las siguientes instrucciones:
declaración de variables/constantes asignación de valores entrada de datos procesamiento de datos (operaciones) reporte de resultados
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Ejemplo Escribir el algoritmo y el diagrama de flujo que calcule el área de un triangulo Algoritmo: 1. 2. 3. 4. 5.
Inicio Ingresar la base (b) Ingresar la altura (h) área = ( b * h ) / 2 mostrar a
b = base h = altura = proceso matemático
Estructura de Selección
Día a día las personas estamos enfrentados a tomar decisiones, aun sean estas pequeñas, por ejemplo, ¿a qué hora levantarse?, ¿qué desayunar?, ¿qué ropa ponerse?, ¿dónde ir?, etc. muchas de estas decisiones las tomamos de forma automática, e incluso de manera impulsiva, muchas veces generando una decisión equivocada, aunque en estos casos son de poca importancia. Sin embargo, cuando ya nos vemos enfrentados a problemas en los que es necesario prever las consecuencias con buen tino es importante tomar decisiones de manera racional y lógica, lo cual surge a partir de la necesidad que lo genera un problema. En un algoritmo representativo de un problema real, es prácticamente imposible que las instrucciones o acciones a realizar sean secuenciales puras. Es necesario tomar decisiones en función de los datos del problema. Aparece entonces la necesidad de aplicar una estructura de selección, a través de la selección se incorpora, a la especificación del algoritmo, la capacidad de decisión. De esta forma será posible seleccionar una de dos alternativas de acción posibles durante la ejecución del algoritmo.
Las estructuras selectivas se clasifican en:
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
1) Selectivas SIMPLES 2) Selectivas DOBLES 3) Selectivas MULTIPLES
Estructura selectiva simple, si entonces La estructura selectiva si entonces, permite que el flujo de la secuencia siga por un camino específico si se cumple una condición o conjunto de condiciones. Si al evaluar la condición (condiciones) el resultado es verdadero, entonces se ejecuta(n) cierta(s) acción(es). Luego se continua con el flujo normal. Representamos la estructura con el siguiente pseudocódigo:
Si (condición) entonces acción o acciones a realizar si la condición es verdadera FinSi
donde condición es una expresión que al ser evaluada puede tomar solamente uno de los dos valores posibles: verdadero o falso. A continuación se presenta gráficamente esta estructura.
true CONDICIÓN
false
Acciones o instrucciones
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Ejemplos:
1)
Dado la calificación obtenida por un estudiante, verificar si su valor es mayor o igual a 51 para indicar que aprobó el examen.
2)
Dado como dato el sueldo de un trabajador, se pide aplicar un aumento del 15% si su sueldo es inferior a 850 Bs. Luego, muestra el nuevo sueldo calculado.
Solución 1. Obtener la calificación 2. Si (calificación >= 51) entonces 4. Mostrar ("Aprobado") 5. FinSi 6. Fin
Para resolver!
Estructura selectiva doble, si entonces/sino La estructura selectiva si entonces/sino permite que el flujo de la secuencia bifurque por dos ramas diferentes en el punto de la toma de decisión(es). Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se sigue por un camino específico y se ejecuta(n) cierta(s) acción (es). Por otra parte, si el resultado es falso, entonces se sigue por otro camino y se ejecuta(n) otra(s) acción (es). En ambos casos, luego de ejecutarse las(s) acción(es) indicadas se continua con la secuencia normal del diagrama. A continuación se presenta en pseudocódigo:
Si (condición) entonces acción o acciones a realizar si la condición es verdadera (1) sino acción o acciones a realizar si la condición es verdadera (2) FinSi donde condición es una expresión que al ser evaluada puede tomar solamente uno de los dos valores posibles: verdadero o falso. Gráficamente la estructura es:
false Accion(nes) 2
Accion(nes) 1
CONDICIÓN
true
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Ejemplos:
3)
Hacer una llamada telefónica desde un teléfono público a moneda. Considerando que se cuenta con la moneda y siempre puede encontrar un teléfono.
4)
Solución 1. Obtener una moneda 2. Encontrar un teléfono 3. Si (tiene tono el teléfono) entonces 4. Marcar el numero 5. Hablar 6. Sino 7. Buscar otro teléfono 8. FinSi 9. Fin
Construye un algoritmo tal que dado como dato el sueldo de un trabajador, se pide aplicar un aumento del 15% si su sueldo es inferior a 850 Bs. y 10% en caso contrario. Luego, muestra el nuevo sueldo calculado.
Para resolver!
Más ejemplos ... 5)
Diagrama y algoritmo que permite el ingreso de un número y luego determina si el numero es positivo o negativo Algoritmo: 1. Inicio 2. Ingresar un numero (n) 3. si (n>0) entonces 4. 5. 6. 7.
(n) = numero
Mostrar " el numero es positivo" ir a paso 4 sino Mostrar " el numero es negativo" ir a paso 6 Fin
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Estructura de Repetición
La sustitución de mano de obra para trabajos monótonos que no desarrollan las facultades nobles del hombre, ha sido una de las grandes motivaciones para la invención de máquinas y herramientas que ayuden mediante la automatización, a abandonar dichas tareas. Chaplin estaba atascado en la monotonía. Hoy, las tareas repetitivas relacionadas con la programación se encarga de hacer la computadora.
Es muy común encontrar en problemas de la vida real acciones que deben realizarse una y otra vez repetidas veces mientras se cumple una condición. Si bien las operaciones son las mismas los datos sobre los que se operan varían. La computadora esta especialmente diseñada para aplicaciones en las que una operación, una tarea o un conjunto de ellas deben repetirse muchas veces.
El conjunto de acciones que se ejecutan repetidamente generan un ciclo. Todo ciclo debe terminar de ejecutarse luego de un número finito de veces.
Las acciones repetitivas son la base del uso de las computadoras, las mismas que representadas a través de las denominadas estructuras de repetición, ayudan a simplificar los algoritmos/programas, ahorrando tiempo valioso a quien resuelve problemas con ayuda de la computadora. En programación existen al menos dos tipos de estructuras repetitivas, las cuales a su vez tienen variantes en los diferentes lenguajes de programación. La característica común es que ambos tipos permiten ejecutar una o varias acciones o instrucciones ya sea:
un número determinado de veces, o
mientras se cumpla una condición.
Antes de una descripción detallada de las estructuras de control repetitivas, te proponemos comprender dos conceptos muy utilizados en las tareas que efectúan este tipo de estructuras. Nos referimos al concepto de contador y acumulador.
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
A continuación se presenta un cuadro con las características más importantes de estas variables.
"Los contadores y acumuladores, son variables numéricas que permiten determinar información específica durante la ejecución de un programa".
Contador
Acumulador
Variable que controla o determina la cantidad de veces que se repite un proceso o dato. Siempre se incrementa (contador positivo) o decrementa (contador negativo) en uno.
Variable que suma o acumula valores. Permite determinar el total de los valores leídos o trabajados. Se incrementa en cualquier valor.
Formato: variable=variable+1
Formato: valor variable= variable + valor donde valor es una variable y no una constante
Ejemplos: C=C+1 Valores=Valores+1
Ejemplos: C=C+20 Suma=Suma+Valor Total= Total + (N*E)
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Ejemplo de Contador: Se quiere que el algoritmo realice 50 veces una acción. Representando en Diagrama de Flujo se tendría:
Inicio
cont
1
si cont > 50 no Cuerpo del ciclo
cont
cont + 1
fin
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
Ejemplo de Acumulador: Se desea escribir un algoritmo para sumar los primeros k números enteros positivos y mostrar el resultado acumulado. Gráficamente podemos representar al algoritmo como: Inicio
leer k
n suma
0 0
n
n+ 1
si
n>k
escribir k, suma Leer num fin
suma
n
suma + num
n+ 1
Estructura de Repetición PARA (for) Este tipo de estructuras se utilizan ampliamente en problemas, donde se necesita por ejemplo sumar los sueldos de los N trabajadores, o cuando queremos plantar 300 árboles con una distancia de 2 metros entre ellos. Para realizar dicha tarea resulta necesario descargar el árbol, cavar un pozo y plantarlo. En ambos problemas, sabemos de antemano cuántas veces tenemos que repetir una determinada acción o tarea. El
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
número de veces se obtiene del planteamiento del problema o de una lectura que indica que el número de veces (iteraciones) que se debe realizar para N ocurrencias. A continuación, se detalla la forma como se escribe la estructura PARA:
Para varControl inicio hasta fin [valor controlado] expresión hacer Cuerpo del ciclo (acción o acciones a realizar en caso de que la condición sea verdadera) Fin_Para
La variable de control (varControl):
Controla el número de iteraciones Se le asignan automáticamente valores sucesivos Al comienzo del ciclo se debe especificar su valor inicial y su valor final Debe ser de tipo entero positivo NO puede ser modificado dentro del ciclo sino fuera de él
La expresión, permite ya sea incrementar o decremetar el valor de la variable de control en un valor determinado. El cuerpo del ciclo se repite un número fijo de iteraciones Cuando se desea repetir un grupo de instrucciones un número determinado de veces o sea se sabe a priori el número de veces a repetir, la estructura PARA, es la adecuada para utilizar. sabemos el número de veces que éste se ha de repetir. Dicho número depende de las proposiciones dentro del ciclo.
Gráficamente se tiene:
inicialización expresión
Si true CONDICIÓN
Cuerpo del ciclo
false No A continuación, se describe la forma como procede el ciclo repetitivo PARA la ejecución de las instrucciones.
Introducción a la Programación Tema 4 - Estructuras de Control Básicas
para (inicialización; condición; expresión) { 1 2 4
cuerpo del ciclo }
3
inicialización, de la variable de control condición, que evalúa la condición en caso de ser Verdad continuar la repetición y si no parar expresión, se encarga de actualizar el valor de la variable de control cuerpo del ciclo, grupo de instrucciones 2 Orden de ejecución:
Primera vuelta
Orden de ejecución:
Segunda y demás vueltas
Ejemplo 6)
Hacer un algoritmo, que lea 20 números dados por el usuario y luego muestre el resultado de la suma.
1. Inicio 2. n, suma, i: entero 3. suma 0 4. Leer n 5. Para i 1, (i