Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
I-2018 UNIVERSIDAD DE EL SALVADOR FACULTAD DE CIENCIAS ECONOMICAS DEPARTAMENTO DE COMPUTACION COMPUTACIÓN I GUIA DE CLASE #: 4 “Unidad II: Diseño de algoritmos: Estructura de selección y de iteración, Contenido 3. Estructuras de selección.................................................................................................. 1 3.1. Operadores relacionales y lógicos. .......................................................................... 2 3.1.1. Tabla de verdad del operador Y (AND) ........................................................... 2 3.1.2. Tabla de verdad del operador O (OR) ............................................................. 3 3.1.4. Expresiones lógicas .......................................................................................... 3 3.2. Selección simple .......................................................................................................... 4 3.2.1. Ejemplo de selección simple. ............................................................................... 6 3.3. Selección doble ............................................................................................................ 7 3.4. Estructuras selectivas anidadas: .................................................................................. 9 3.4.1. Ejemplo de estructura selectiva anidada ............................................................. 10 4. Estructuras de iteración o Repetitivas ......................................................................... 12 4.1. Tipos de estructuras de iteración ............................................................................... 12 4.1.1. Estructura repetitiva “mientras” (while) ......................................................... 12 4.1.2. Estructura repetitiva “repetir para” o “ciclo For” .......................................... 15 4.1.3. Estructura repetitiva “hacer hasta”. ................................................................... 17 4.2. Acumuladores y contadores ................................................................................... 19 1 I-2018 3. Estructuras de selección. La estructura condicional se utiliza para indicarle al computador que debe evaluar una condición y, a partir del resultado, ejecutar el bloque de instrucciones correspondiente. La forma más común está compuesta por una proposición (condición) que se evalúa y dos bloques de instrucciones que se ejecutan, uno cuando la condición es verdadera (selección simple y doble) y otro cuando ésta es falsa (únicamente en la selección doble). Algunos autores se refieren a este tipo de estructura como estructura de selección, estructura selectiva o estructura de decisión; en esta guía, todas estas denominaciones son consideradas sinónimas. Para que una proposición (frase declarativa) sea válida, debe poder afirmarse que es verdadera o falsa. En programación, se utilizan operadores relacionales (<, =,>) para establecer la relación que existe entre dos elementos de la proposición. Por ejemplo, “La calificación de Esteban en Historia es mayor que 6.0”, es una proposición valida. De una parte tenemos “La calificación de Esteban en Historia” (A) y, de la otra, el valor “6.0” (B); de A con respecto a B, se afirma que “A es mayor que B”, por lo tanto, la relación existente entre A y B es “ser mayor que”. Para que el computador entienda esta proposición, debe expresarse así: “calificación > 6.0”, donde calificación es la variable que contiene el valor de “la calificación de Esteban en Historia”. La estructura condicional tiene tres variantes: • Selección simple. • Selección doble. • Selección múltiple. Las estructuras condicionales simple y doble evalúan una proposición (condición) que devuelve como resultado únicamente dos valores posibles y excluyentes: verdadero o falso. En cambio, la estructura condicional de selección múltiple permite que la condición 2 I-2018 devuelva más de un valor posible y que para cada uno de esos valores se ejecute el bloque de instrucciones correspondiente. 3.1. Operadores relacionales y lógicos. Permiten la comparación entre datos del mismo tipo y dan como resultado dos valores posibles: Verdadero o Falso. Todos los operadores relacionales o de comparación tienen la misma prioridad, es decir que son resueltos de izquierda a derecha, en el orden en que aparecen. Son: RELACIONALES O DE COMPARACIÓN Igualdad (=) Desigualdad (<>) Menor que (<) Mayor que (>) Menor o igual que (<=) Mayor o igual que (>=) Los operadores lógicos, posibilitan la evaluación lógica de dos expresiones de tipo lógico. Dan como resultado uno de dos valores posibles: Verdadero o Falso. Los operadores lógicos son resueltos en el siguiente orden de prioridad (de mayor a menor): LÓGICOS NO (Not) Y (And) O (Or ) 3.1.1. Tabla de verdad del operador Y (AND) El operador Y requiere que todas las condiciones o argumentos evaluados sean verdaderos, para que su resultado final sea verdadero, devuelve FALSO si uno o más argumentos se evalúan como FALSO. 3 I-2018 A B A Y B F F F F V F V F F V V V 3.1.2. Tabla de verdad del operador O (OR) El operador O requiere que todas las condiciones o argumentos evaluados sean falsos, para que su resultado final sea falso. A B A O B F F F F V V V F V V V V 3.1.3. Tabla de verdad del operador NO El operador NO Invierte el valor lógico del argumento. Use NO cuando desee asegurarse de que un valor no sea igual a otro valor específico. A NO(A) F V V F 3.1.4. Expresiones lógicas Las expresiones lógicas o booleanas, están constituidas por números, constantes o variables y operadores lógicos o relacionales. El valor que pueden tomar estas expresiones es de verdadero o falso. 4 I-2018 Se utilizan con frecuencia en las estructuras selectivas y en las estructuras repetitivas. Ejemplo de expresiones lógicas: Si A = 5, B = 16 1. (A ^ 2) > (B * 2) Y (A<B) Resultado de desarrollar la expresión: Falso 2. (A ^ 2) > (B * 2) O (A<B) Resultado de desarrollar la expresión: verdadero 3.2. Selección simple La estructura condicional de selección simple ejecuta un bloque de instrucciones cuando la proposición (condición) es verdadera; si esta es falsa, no hace nada. Condición Simple o Selección si-entonces • La estructura selectiva lógica “si entonces” permite que el flujo siga por un camino específico si se cumple una condición o un conjunto de condiciones. • Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se ejecuta (n) cierta (s) operación (es), luego continua con la secuencia normal del proceso. 5 I-2018 • Se utiliza cuando alguna operación está condicionada para que se lleve a cabo, pero no tiene una opción alterna. Funcionamiento: Al llegar al si se evalúa la condición (es): a. Si se cumple, se ejecuta (n) la (s) operación (es) del entonces y luego salta hasta el siguiente paso después del fin de condicional. b. Si no se cumple, salta hasta después del fin del condicional, es decir no hace nada. Formato: Si condición entonces operación (es) Fin del condicional Dónde: • Si.- identifica la estructura selectiva • Condición.- expresa la condición o conjunto de condiciones a evaluar • Entonces.- indica el curso de acción a seguir si se cumple la condición. • Operación.- expresala operación o conjunto de operaciones. • Fin del condicional.- indica el fin de la estructura de selección (si) 6 I-2018 3.2.1. Ejemplo de selección simple. Inicio Calificación Calificación >=6 “Aprobado” Fin Verdadero Falso 7 I-2018 3.3. Selección doble La estructura condicional de selección doble ejecuta un bloque de instrucciones (A) cuando la proposición (condición) es verdadera y un bloque diferente (B) cuando esta es falsa. Selección doble o Selección si entonces/sino • La estructura selectiva si entonces/sino permite que el flujo se 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 sigue por un camino específico y se ejecuta (n) cierta (as) operación (es). Por otra parte, si el resultado es falso entonces se sigue por otro camino y se ejecuta (n) otra (s) operación (es). • En ambos casos, luego de ejecutarse la (s) operación (es) indicada (s), se continúa con la secuencia normal del proceso. • Por la naturaleza de éstas, se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. Formato: Si condición Entonces Hacer operación 1 8 I-2018 Sino Hacer operación 2 Fin del condicional Dónde: • Si.- identifica la estructura selectiva • Condición.- expresa la condición o conjunto de condiciones a evaluar • Entonces.- indica el curso de acción a seguir si se cumple la condición. • Operación 1.- expresa la operación o conjunto de operaciones. • Operación 2.- expresa la operación o conjunto de operaciones. • Fin del condicional.- indica el fin de la estructura de selección (si) 3.3.1. Funcionamiento y ejemplo. Al llegar al si se evalúa la condición (es): • Opción verdadera (entonces) si se cumple, se ejecuta (n) la (s) operación (es) del entonces y luego salta hasta el siguiente paso después del fin del condicional. • Opción falsa (sino) De lo contrario, salta hacia el sino, ejecuta la (s) operación (es), y después salta hasta el siguiente paso después del fin del condicional. Ejemplo 9 I-2018 3.4. Estructuras selectivas anidadas: Encontramos numerosos casos en el desarrollo de la solución de problemas en el que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Se señala, luego de evaluar las condiciones, la rama correspondiente a seguir, y nuevamente podemos tener que tomar otra decisión. El proceso puede repetirse numerosas veces. En este caso, para resolver el problema, estamos aplicando estructuras selectivas en cascada o anidadas. A continuación presentamos un caso de diferentes tipos de anidamiento para la estructura selectiva si: Si condición1 entonces si condición2 entonces hacer operación21 sino hacer operación22 fin del condicional 2 fin del condicional 1 10 I-2018 3.4.1. Ejemplo de estructura selectiva anidada Desarrollar un algoritmo y diagrama de flujo el cual, dado un valor entero, determinar si es cero, positivo o negativo. Algoritmo: 1. inicio 2. Declaración de variables: num: entero 3. Leer num 4. si num =0 entonces imprimir “cero” sino 4.1 si num > 0 entonces imprimir “positivo” 11 I-2018 Inicio Num Num=0 Num>0 Cero Positivo Negativo Fin Verdadero Falso Verdadero Falso sino imprimir “negativo” 4.2 fin del condicional paso 4.1 5 fin del condicional del paso 4 12 I-2018 4. Estructuras de iteración o Repetitivas La estructura iterativa o de repetición permite ejecutar una o varias instrucciones, un número determinado de veces o, indefinidamente, mientras se cumpla una condición. Esta estructura ayuda a simplificar los algoritmos, ahorrando tiempo valioso a quien resuelve problemas con ayuda del computador. En programación existen al menos tres tipos de estructuras repetitivas, las cuales a su vez tienen variantes en los diferentes lenguajes de programación. 4.1. Tipos de estructuras de iteración 4.1.1. Estructura repetitiva “mientras” (while) La estructura algorítmica mientras comúnmente conocida como while, es la estructura adecuada para utilizar en un ciclo cuando no sabemos el número de veces que éste se ha de repetir. Dicho número depende de las proposiciones dentro del ciclo. Bloque condición Verdadero Falso 13 I-2018 Esta estructura permite que se repita una acción o un conjunto de acciones, en tanto cierta condición se mantenga verdadera. La estructura while evalúa primero la condición, si se cumple se ejecuta una acción o conjunto de acciones; si no se cumple, no entra al ciclo. Por lo tanto esta estructura se repite cero o más veces. Formato: mientras (condición) hacer <bloque de instrucciones> fin_mientras 4.1.1.1.Ejemplo de estructura repetitiva mientras: Desarrollar un algoritmo y diagrama de flujo que lea n números positivos, determine y muestre el promedio de los n números positivos. Algoritmo: Dado n números positivos obtenga el promedio 1. inicio 2. declaración de variables: i, n: enteros num, Prom, Suma =0: flotantes 3. leer n 4. i = 1 5. mientras i <= n leer num Suma = Suma + num 14 I-2018 i = i + 1 6. fin del ciclo del paso 4 7. Prom = Suma / n 8. imprimir Prom 9. fin Inicio Suma = 0, Prom =0 n i=1 num Suma=Suma+num i=i+1 Prom =Suma/n Prom Fin i<=n verdadero Falso 15 I-2018 Para límite inferior, límite superior Bloque 4.1.2. Estructura repetitiva “repetir para” o “ciclo For” La estructura repetir conocida comúnmente como ciclo for, es la estructura algorítmica adecuada para realizar un ciclo que se ejecutará un número definido de veces. Este tipo de estructura está presente en todos los lenguajes de programación, ya sean estructurados u orientados a objetos. Por ejemplo cuando necesitamos calcular la nómina total de la empresa, tenemos que sumar los sueldos de los n empleados de la misma. Cuando necesitamos obtener el promedio de calificaciones de un curso, debemos sumar las n calificaciones de los alumnos y dividir esa suma entre n. Es decir, sabemos de antemano cuántas veces tenemos que repetir una determinada operación, acción tarea. El número de repeticiones no depende de las proposiciones dentro del ciclo, el número de veces se obtiene del planteamiento del problema o de una lectura que indica que el número de iteraciones se debe realizar para n ocurrencias. Dicho de otra forma el ciclo, es controlado por un contador que tiene que definirse con un valor inicial, un valor final y un incremento, esto significa que debe conocerse de antemano el número de veces que se debe repetir el ciclo. 16 I-2018 4.1.2.1.Ejemplo de estructura repetitiva “repetir para”o “ciclo For”. Calcular el valor de la sumatoria: 1 + 2 + 3 + 4 +5 + … + 100. 17 I-2018 4.1.3. Estructura repetitiva “hacer hasta”. El ciclo repita hasta es similar al ciclo HAGA-MIENTRAS, la diferencia está en que el bloque de acciones se ejecuta nuevamente si la condición evalúa a falso y no se ejecuta más si evalúa a verdadero. Sobra advertir que el bloque de acciones se ejecuta por lo menos una vez. La forma general del ciclo repita-HASTA es la siguiente: Formato: Repita <Bloque de instrucciones> Hasta (condición) Bloque Condición Verdadero Falso 18 I-2018 4.1.3.1. Ejemplo de estructura repetitiva “Hacer hasta”. 19 I-2018 4.2. Acumuladores y contadores Acumuladores: Estructura muy utilizada que consiste en almacenar en una variable el valor de ella misma más otro valor variable. Es muy útil para calcular sumatorias. Contadores: Los contadores consisten en almacenar en una variable el valor de ella misma más un valor constante. Es muy útil para controlar el número de veces que debe ejecutarse un grupo de instrucciones. En el siguiente flujograma, tenemos ejemplos de variables tipo contador y tipo acumulador: Variables tipo contador: i, totalpos, totalneg Variables tipo acumulador: sumneg, sumpos El incremento del contador i controla que se lean cinco números. El incremento de los contadores totalpos y totalneg cuenta el total de los números positivos y negativos leídos respectivamente. La acumulación del número leído se realiza en los acumuladores sumneg y sumpos para calcular la suma de los números negativos y positivos respectivamente. Es importante que se observe en el ejemplo que las variables tipo contador y acumulador deben inicializarse (asignarles un valor inicial). 20 I-2018 21 I-2018 5. BIBLIOGRAFIA - ALGORITMOS Y PROGRAMACIÓN (GUÍA PARA DOCENTES) ,SEGUNDA EDICIÓN, 2007, 2009. Juan Carlos López García, http://www.eduteka.org - SENA Producción, Fase de análisis, año 2012 edición 01, Lógica de programación: https://senaintro.blackboard.com/bbcswebdav/pid-50036296-dt-content-rid- 14993553_2/courses/CONTENIDO_MULTIMEDIA/FA%20Logica%20programac ion.pdf - Sonia Elizabeth González de López. Guia de Clase No.4 de Computación I. Universidad de El Salvador. Facultad de Ciencias Económicas. San Salvador, 2015.
Compartir