Logo Studenta

GUIA de computacion

¡Este material tiene más páginas!

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.

Materiales relacionados