Unidad II
Algoritmos
Guía de
lectura
Contenido
ESTRUCTURA SECUENCIAL
1 1. Ejemplos 1
a. Estructura secuencial (con 1
pseudocódigo)
b. Estructura secuencial (uso del 1
operador “Resto”)
2 ESTRUCTURA CONDICIONAL
1. Ejemplos 2
a. Estructura condicional simple 2
b. Estructura condicional doble 2
c. Estructura condicional múltiple 2
3 d. Estructura condicional múltiple 3
(en caso de)
e. Estructura condicional/ 4
selectiva
3 ESTRUCTURA REPETITIVA O CÍCLICA
1. Ciclos con un número 8
determinado de iteraciones
(hacer-para)
a. hacer para - desde hasta 8
2. Ciclos con un número 8
indeterminado de iteraciones
(hacer mientras - repetir hasta)
Contenido
a. “Hacer-mientras” 8
b. Funcionamiento: estructura 9
“mientras”
c. Función “repetir-hasta” 9
DIFERENCIAS ENTRE LA 9
4 ESTRUCTURA REPETIR Y MIENTRAS
MÉTODOS PARA LA TERMINACIÓN
5 DE BUCLES CON DATOS DE
10
ENTRADA
6 DEFINICIONES BÁSICAS 10
7 BANDERA O SEÑAL (SWITCH) 11
1. Ejemplos 11
a. Utilizando bandera o señal 11
b. Utilizando estructuras cíclicas 11
“hacer-para”
Contenido
c. Utilizando estructuras cíclicas “hacer- 12
mientras”
d. Utilizando estructuras cíclicas “uso de 13
banderas”
REFERENCIAS BIBLIOGRÁFICAS 14
8
Estructura Secuencial
1. Ejemplos
1.1 Estructura secuencial (con
pseudocódigo)
1) Desarrollar un algoritmo que multiplique
un número ingresado por un valor constante
tres.
1.2 Estructura secuencial (uso del operador
“Resto”)
El operador mod o también denominado
resto, se utiliza para hallar el resto entre una
división entera. También puede ser
2) Desarrollar un algoritmo que permita representado por el operador %.
conocer el área de un triángulo a partir de la
base y la altura. Expresa el algoritmo usando
Pseudocódigo. EJEMPLO
Determinar la cifra de las unidades de un
número entero positivo.
Analicemos el enunciado...
El problema pide determinar la cifra de las
unidades de un número cualquiera. Si
dividimos un número cualquiera entre diez,
obtenemos en el resto siempre la unidad de
la cifra.
3) Dada la deuda de aporte, calcular la 38 % 10 = 8 El operador mod (resto)
cantidad de años y meses que adeuda un almacena el resto de una división entera.
socio en concepto del mismo. Sabiendo que 38 / 10 = 3 El operador div (división)
el aporte es de Gs. 10.000 mensual. Imprimir almacena el cociente de una división
entera.
la cantidad de años y la cantidad de meses.
Nota: utilizar para el efecto la función
entera.
1 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructura condicional
1. Ejemplos En este ejemplo la condición está dada por el
1.1 Estructura condicional simple resultado del cálculo previo del promedio el
cual se obtiene de las tres notas que ingresa
Realizar un algoritmo en donde se pide la el usuario. Si la condición se cumple o es
verdadera entonces se visualiza por pantalla el
edad del usuario; si es mayor de edad debe
mensaje “aprobó el curso”, si la condición
aparecer un mensaje indicándolo. Expresar resultase falsa, esto es si el promedio es 1 o
el algoritmo en pseudocódigo. cero, o dicho de otra manera menor a 2,
entonces ingresa al sino e imprime el resultado
“reprobó el curso”.
1.3 Estructura condicional múltiple
La Universidad Americana lanzó un programa
de control de peso y desea saber si un alumno
posee un peso bajo, medio o alto. Exprese el
algoritmo usando pseudocódigo.
Se considera que el peso es bajo si es menor
o igual a 60 kl. Si el peso está entre 61 y 80,
el alumno es de peso medio y si el peso es
mayor a 81, el alumno es de peso alto.
En este ejemplo la condición está dada por
un valor que ingresa el usuario. Si la
condición se cumple o es verdadera
entonces se visualiza por pantalla el mensaje
“Es mayor de edad”
1.2 Estructura condicional doble
Se pide leer tres notas del alumno, calcular
su nota final en un rango de 1-5 y enviar un
mensaje donde diga si el alumno aprobó o
reprobó el curso. Teniendo en cuenta que
aprueba si su promedio es mayor a dos.
Expresar el algoritmo en pseudocódigo.
2 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructura condicional
En este ejemplo se muestra el uso de una
condicional múltiple en donde se pueden
identificar tres condiciones. Si la primera
condición se cumple (peso <=60) entonces
visualiza por pantalla el mensaje
correspondiente, sino se cumple o resulta
falsa entonces evalúa la segunda condición
(peso <=80) si es verdadera, visualiza por
pantalla el mensaje correspondiente y si esta
condición volviese a evaluar falsa entonces
evalúa la última condición e imprime el
mensaje correspondiente.
1.4 Estructura condicional múltiple
(en caso de)
Dado un número entre 1 y 7 imprimir su
correspondiente día de la semana así:
1. Lunes
2. Martes
3. Miércoles
4. Jueves
5. Viernes
6. Sábado
7- Domingo
Exprese el algoritmo usando pseudocódigo.
3 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructura condicional
El siguiente ejemplo nos muestra el
desarrollo de la estructura “En Caso De”, a
través de la estructura múltiple en donde el
valor de una variable puede tener varios
resultados.
Dependiendo del valor numérico ingresado
en la variable día se imprimirá el mensaje
correspondiente.
1.5 Estructura condicional/ selectiva
1) Un hombre desea saber cuánto dinero se
genera por concepto de intereses sobre la
cantidad que tiene invertida en una 4) Diseña un algoritmo que lea dos números y
Cooperativa. Él decidirá reinvertir los los imprima en forma ascendente.
intereses siempre y cuando estos excedan a
$1.000, y en ese caso desea saber cuánto
dinero tendrá finalmente en su caja de
ahorro.
2) El Shopping UA esta de promoción por su
mes aniversario y hace un 30% de descuento
a los clientes cuya compra supere los $300.
¿Cuál será la cantidad que pagará un cliente
por su compra?
3) Un obrero necesita calcular su salario
semanal, el cual se obtiene de la sig. manera:
Si trabaja 40 horas o menos se le paga $16
por hora. Si trabaja más de 40 horas se le
paga $16 por cada una de las primeras 40
horas y $20 por cada hora extra.
4 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructura condicional
5)Visualizar el nombre de un artículo, clave, 8)Leer tres números diferentes e imprimir el
precio original y su precio con descuento. El número mayor de los tres.
descuento lo hace en base a la clave, si la
clave es 01 el descuento es del 10% y si la
clave es 02 el descuento es del 20% (solo
existen dos claves).
6) Calcular el total a pagar por la compra de 9) Determinar la cantidad de dinero que
discos externos. Si se compran tres o más se recibirá un trabajador por concepto de las
aplica un descuento del 10% sobre el total de horas extras trabajadas en una empresa,
la compra y si son menos de tres discos sabiendo que cuando las horas de trabajo
externos se aplica un descuento del 5%. exceden de 40, el resto se consideran horas
extras y que estas se pagan al doble de una
hora normal cuando no exceden de 8; si las
horas extras exceden de 8 se pagan las
primeras 8 al doble de lo que se pagan las
horas normales y el resto al triple.
7) Leer 2 números; si son iguales que los
multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.
5 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructura condicional
10) Calcular el excedente que un socio recibe en el reparto anual de utilidades. Se calcula el
porcentaje dependiendo de la antigüedad como socio en la cooperativa, de acuerdo con la
siguiente tabla.
11) El IPS requiere clasificar a las personas que se jubilaran en el año de 2015. Existen tres
tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas
vinculadas a la jubilación por edad deben tener 60 años o más y una antigüedad en su
empleo de menos de 25 años.
Las personas vinculadas a la jubilación por antigüedad joven deben tener menos
de 60 años y una antigüedad en su empleo de 25 años o más. Las personas
vinculadas a la jubilación por antigüedad adulta deben tener 60 años o más y
una antigüedad en su empleo de 25 años o más. Determinar en qué tipo de
jubilación, quedara vinculadas una persona.
6 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructura condicional
12) Desarrolla un algoritmo que le permita 14) Crea un algoritmo que, basado en la
leer 2 valores A y B e indicar si uno de los siguiente tabla, lea un número entero e
dos divide al otro exactamente. imprima el nombre de la estación
correspondiente.
13) Desarrolla un algoritmo que le permita
leer dos valores A y B e indicar si el
resultado de dividir la suma de los dos
números entre la resta del primer número
con el segundo es exacta.
7 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructuras repetitivas o
cíclicas
Se llaman problemas repetitivos o cíclicos a Se representa de la siguiente forma.
aquellos en cuya solución es necesario
utilizar un mismo conjunto de acciones que
se puedan ejecutar una cantidad específica
de veces. Esta cantidad puede ser fija
(previamente determinada por el
programador) o puede ser variable (estar en
función de algún dato dentro del programa)
. Los ciclos se clasifican en:
Ciclos con un Número Determinado de
Iteraciones - Hacer-Para.
Ciclos con un Número Indeterminado de Donde:
Iteraciones • Hacer-Mientras • Repetir- V.C: Variable de control del ciclo
Hasta. L.I: Límite inferior
L.S: Límite superior
1.Ciclos con un número determinado de
iteraciones (Hacer-Para)
2.Ciclos con un número indeterminado de
Son aquellos en que el número de iteraciones (Hacer-Mientras, Repetir-Hasta)
iteraciones se conoce antes de ejecutar el
ciclo.
Son aquellos en que el número de iteraciones
1.1 Hacer Para – Desde Hasta no se conoce con exactitud, ya que está dado
en función de un dato dentro del programa.
Este tipo de estructura se utiliza cuando se
sabe ya antes de ejecutar el bucle el
número exacto de veces que hay que 2.1 Hacer- Mientras
ejecutarlo. Para ello el bucle llevara asociado
una variable que denominamos variable Esta es una estructura que repetirá un proceso
índice o variable de control, a la que se le
asigna un valor inicial y se determina cual va durante “N” veces, donde “N” puede ser fijo o
a ser su valor final. variable. Para esto, la instrucción se vale de una
condición que es la que debe cumplir para que
Esta variable se va a incrementar o
se siga ejecutando. Cuando la condición ya no
decrementar en cada iteración de bucle en
un valor constante, pero se va a hacer de se cumple, entonces ya no se ejecuta el
manera automática; o sea, que va a ser una proceso.
operación implícita (lo hace por defecto).
Por tanto, en cada iteración del bucle, la Se representa de la siguiente forma:
variable índice o de control se actualiza
automáticamente y cuando alcanza el valor
que hemos puesto como final se termina la
ejecución del bucle.
IMPORTANTE
En este ciclo la variable de control toma
el valor inicial del ciclo y el ciclo se repite
hasta que la variable de control llegue al
límite superior.
8 INTRODUCCIÓN A LA PROGRAMACIÓN
Estructuras repetitivas o
cíclicas
2.2 Funcionamiento: Estructura Mientras 2.3 Función Repetir-Hasta
La condición del bucle se evalúa al En esta estructura el bucle se repite hasta
principio, antes de entrar en el ciclo. que la condición sea verdadera y mientras
Si la condición es verdadera, se la condición sea falsa. La condición se
comienza a ejecutar las acciones del evalúa siempre al final del bucle, si es falsa
bucle y después de la última acción volvemos a ejecutar las acciones, si es
volvemos a preguntar por la verdadera sale del bucle. Como la
condición. condición se evalúa al final, incluso aunque
En el momento en el que la la primera vez ya sea verdadera, habremos
condición sea falsa salimos del pasado al menos una vez por el bucle.
bucle y ejecutamos la siguiente
condición al bucle. Es decir que cuando un bucle se tenga que
Al evaluar la condición, antes de ejecutar como mínimo una vez, se podrá
entrar en el bucle al principio, si la usar una estructura repetir. Se representa
condición al ser evaluada la primera de la siguiente forma.
vez es falsa, no entraremos nunca en
el bucle, el bucle puede que se
ejecute 0 veces, por tanto, usaremos
obligatoriamente este tipo de bucle
en el caso de que exista la
posibilidad de que el bucle pueda
ejecutarse 0 veces.
Diferencias entre la estructura
repetir y mientras
Repite un proceso una cantidad Permite realizar el proceso cuando
REPETIR de veces, hasta que la condición menos una vez, ya que la condición
se cumpla o sea verdadera. se evalúa al final del mismo.
HACER Repite un proceso una cantidad
de veces, mientras que la
Puede ser que nunca llegue a entrar
si la condición no se cumple desde
MIENTRAS condición se cumpla o sea falsa. un principio.
Fuente: Elaboración propia.
9 INTRODUCCIÓN A LA PROGRAMACIÓN
Métodos para la terminación
de bucles con datos de
entrada
Preguntar antes de la iteración: Solicita a través de un mensaje al usuario si existen más
entradas.
Encabezar la lista de datos con su tamaño: conocer en la cabecera del bucle el tamaño o
el número de iteraciones.
Finalizar la lista con su valor de entrada: leer una lista de valores con un centinela.
Agotar los datos de entrada: comprobar que no existen más datos de entrada, preguntar
si es fin de archivo.
Definiciones básicas
Fuente: elaboración propia, basada en
http://fus123.wikispaces.com/Condicionales
Fuente: Elaboración propia.
10 INTRODUCCIÓN A LA PROGRAMACIÓN
Bandera o señal (switch)
Es una variable auxiliar creada por el 1.2 Utilizando estructuras cíclicas Hasta-
programador, que generalmente adquiere Para
solo dos estados (0) cero o (1) uno.
1) Calcular el promedio de un alumno que
Normalmente su valor inicial es cero (0) y tiene 3 calificaciones en la materia de
cuando cambia de estado a uno (1) es para Introducción a la Programación.
indicar que se ha producido una
determinada situación que debía ser
evaluada
En la mayoría de los casos una bandera que
inicialmente está en cero al cambiar de
estado a uno ya permanece con ese valor
final durante todo el proceso. Sin embargo,
en algunas ocasiones el valor de una
bandera va variando de estado de cero a
uno y de uno a cero y así sucesivamente de
acuerdo a las circunstancias. 2) Leer 10 números e imprimir solamente
los números positivos.
1. Ejemplos
1.1 Utilizando bandera o señal
1) Ingresar diez números en forma
consecutiva. Determinar el menor de la serie
y luego imprimir el resultado.
Análisis: averiguar cuál es el menor número
de la lista de diez valores ingresados,
teniendo en cuenta que el menor valor
pueda ubicarse en cualquier posición.
Datos de entrada: diez valores aleatorios.
Variable a utilizar X.
Dato de salida: valor menor. Variable a 3) Leer 15 números negativos y convertirlos
utilizar ME. En este algoritmo, la bandera a positivos e imprimir dichos números.
está representada por la variable B, la cual
es inicializada con el valor cero (0), con el
objetivo de almacenar el primer valor
ingresado como menor.
11 INTRODUCCIÓN A LA PROGRAMACIÓN
Bandera o señal (switch)
4) Leer 20 números e imprimir cuantos son
positivos, cuantos negativos y cuantos
neutros.
2) Calcular la suma de los números mayores a
1 y menores a 100.
5) Supone que se tiene un conjunto de
calificaciones de un grupo de 20 alumnos.
Realizar un algoritmo para calcular la
calificación promedio y la calificación más
baja de todo el grupo. Se inicializa la
variable baja con 999.
3) Calcular y visualizar la suma y el producto
de los números pares que se encuentran
entre los valores 10 y 20, incluyendo los
límites.
1.3 Utilizando estructuras cíclicas Hacer-
Mientras
1) Calcular el valor de la suma de los cien
primeros números naturales.
12 INTRODUCCIÓN A LA PROGRAMACIÓN
Bandera o señal (switch)
4) Leer 12 números y obtener cuántos de En donde:
ellos son positivos. X: Variable de entrada.
B: Bandera.
ME: Auxiliar de menor.
2) Ingresar diez números de uno en uno.
Determinar e imprimir la cantidad de veces
que a un número positivo le sigue un
número negativo en la serie.
5). Hallar el máximo común divisor de dos
números naturales enteros positivos.
Visualizar el resultado.
En donde:
num: Variable de entrada.
B: Bandera.
CV: Contador de veces.
C: Contador que controla que se
1.4 Utilizando uso de banderas introduzcan diez números.
1) Ingresar diez números. Determina e 3) Ingresar diez números de uno en uno.
imprime el menor número par de la serie. Determinar e imprimir el mayor número
múltiplo de tres en la serie.
En donde:
num: Variable de entrada.
b: Bandera.
may: Almacena el mayor cont: contador.
13 INTRODUCCIÓN A LA PROGRAMACIÓN
Referencias bibliográficas
Básica
Farrell, J. (2013). Introducción a la programación lógica y diseño (7a. ed.). Cengage
Learning
Juganaru Mathieu, M. (2015). Introducción a la programación. Grupo Editorial Patria.
Moreno Pérez, J. C. (2015). Programación. RA-MA Editorial.
Complementaria
Brassard, G. y Bratley, P. (1995). Fundamentos de la algoritmia. México: Prentice-Hall
Byron, G. (2001). Programación en C. México: Prentice Hall.
Joyanes Aguilar, L. (2001). Fundamentos de la programación, algoritmos y estructuras
de datos. Buenos Aires: Pearson Educativa.
Joyanes Aguilar, L. (2002) Fundamentos de la programación. Buenos Aires: Pearson
Educativa.
Norton, P. (2004). Introducción a la computación. México: Prentice Hall.