Académique Documents
Professionnel Documents
Culture Documents
A. Objetivo General
Manejar los tipos de Estructuras Algortmica Secuenciales, Condicionales y
Cclicas.
B. Objetivos Especficos:
-
Mdulo II - Unidad 1
Estructuras Secuenciales
1.
ESTRUCTURA SECUENCIAL
Da inicio al algoritmo
Declaracin de variables
Mensaje para el usuario
Proceso que suma nmeros ingresados
Muestra el valor contenido en variable sum
Fin del algoritmo
EJERCICIOS DESARROLLADOS
UTILIZANDO ESTRUCTURAS SECUENCIALES
1. Calcular la edad de una persona, ingresando el ao de nacimiento y el ao actual.
Paso 1 Inicio
Paso 2
entero ao_nacim, ao_actual
Paso 3
Imprimir Ingrese el ao de su nacimiento
Paso 4
Leer ao_nacim
Paso 5
Imprimir Ingrese el ao actual
Paso 6
Leer ao_actual
Paso 7
edad=(ao_nacim - ao_actual)
Paso 8
imprimir La edad de una persona es:, edad
Paso 9 Fin
2. Desarrollar un algoritmo que multiplique un nmero ingresado por un valor
constante tres.
Paso 1
Paso 2
Paso 3
Paso 4
Paso 5
Paso 6
Inicio
entero num, resul
leer num
resul= num*3
imprimir El resultado es: resul
Fin
Paso 1 Inicio
Paso 2
Real deudaaporte, meses, aos, auxmes
Paso 3
Leer deudaaporte
Paso 4
auxmes=deudaaporte/10000
Paso 5
ao=entera(auxmes/12)
Paso 6
mes=auxmes-(ao*12)
Paso 7
imprimir Cantidad de aos, aos
Paso 8
imprimir Cantidad de meses, mes
Paso9 Fin
EJERCICIOS DESARROLLADOS
USO DEL OPERADOR RESTO (%)
El operador mod o tambin denominado resto, se utiliza para hallar el resto entre
una divisin entera. Tambin puede ser representado por el operador %.
Ejemplo: Determinar la cifra de las unidades de un numero entero positivo.
Inicio
entero num, resto
resto = num mod 10
Imprimir La unidad del nmero es: resto
Fin
Anlisis: El problema pide determinar la cifra de las unidades de un nmero
cualquiera. Si dividimos un nmero cualquiera entre diez, obtenemos en el resto
siempre la unidad de la cifra.
Mdulo II - Unidad 2
Estructuras Condicionales / Selectivas
1. ESTRUCTURA CONDICIONAL
La estructura algortmica condicional o tambin conocida como estructura selectiva,
brinda la posibilidad de elegir distintos caminos en la ejecucin de las acciones y
donde se puede establecer caminos alternativos para la ejecucin.
Existen tres tipos bsicos: las simples, las dobles y las mltiples.
1.1 SIMPLES:
Las estructuras condicionales simples se les conocen como Tomas de decisin
Se representa de la siguiente forma:
1.2 DOBLES
Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en funcin del cumplimiento o no de una determinada
condicin.
Se representa de la siguiente forma:
1.3 MLTIPLES
Las estructuras de comparacin mltiples, son tomas de decisin especializadas que
permiten comparar una variable contra distintos posibles resultados, ejecutando para
cada caso una serie de instrucciones especficas.
Se representa de la siguiente forma:
Si <condicin a evaluar> entonces
Instruccin / es
sino
Si <condicin a evaluar> entonces
Instruccin / es
Sino
Varias condiciones
Fin si
EJEMPLOS
UTILIZANDO ESTRUCTURAS CONDICIONALES
Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad
debe aparecer un mensaje indicndolo. Expresar el algoritmo en Pseudocdigo.
Paso 1
Paso 2
Paso 3
Paso 4
Paso 5
Paso 6
Paso 7
Paso 8
Inicio
entero edad
Imprimir Cul es tu edad?
leer edad
Si (edad>18) entonces
imprimir ES MAYOR DE EDAD
Fin si
Fin
En este ejemplo la condicin est dada por un valor que ingresa el usuario. Si la
condicin se cumple o es verdadera entonces se visualiza por pantalla el mensaje
Es mayor de edad
UTILIZANDO ESTRUCTURAS DOBLES
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 Pseudocdigo.
Paso 1
Paso 2
Paso 3
Paso 4
Paso 5
Paso 6
Paso 7
Paso 8
Paso 9
Paso 10
Inicio
Real Nota1, Nota2, Nota3, Prom
Leer Nota1, Nota2, Nota3
Prom= (Nota1 + Nota2 + Nota3) /3
Si ( Prom >= 2) entonces
Imprimir Aprob el curso
Sino
Imprimir Reprob el curso
Fin Si
Fin
En este ejemplo la condicin est dada por el resultado del clculo previo del
promedio el cual se obtiene de las tres notas que ingresa el usuario. Si la condicin
se cumple o es verdadera entonces se visualiza por pantalla el mensaje Aprob el
curso, si la condicin resultase falsa, esto es si el promedio es 1 o cero, o dicho de
Inicio
entero Peso
Imprimir Cul es su peso?
Leer Peso
si (Peso <=60) entonces
Imprimir Alumno de Peso bajo
sino si ( Peso <=80) entonces
Imprimir Alumno de Peso medio
sino si (Peso >81) entonces
Imprimir Alumno de Peso alto
fin si
fin si
fin si
Fin
4- Jueves
2- Martes
5- Viernes
3- Mircoles
6- Sbado
10
7- Domingo
Exprese el algoritmo usando Pseudocdigo
Paso 1
Paso 2
Paso 3
Paso 4
Paso 5
Paso 6
Paso 7
Paso 8
Paso 9
Paso 10
Paso 11
Paso 12
Paso 13
Paso 14
Paso 15
Inicio
Entero Da
Imprimir Diga un nmero para escribir su da
Leer Da
En-caso-de Da haga
Caso 1: Imprimir Lunes
Caso 2: Imprimir Martes
Caso 3: Imprimir Mircoles
Caso 4: Imprimir Jueves
Caso 5: Imprimir Viernes
Caso 6: Imprimir Sbado
Caso 7: Imprimir Domingo
SINO: Imprimir Escribi un numero fuera del rango 1-7
Fin-Caso
Fin
1. Un hombre desea saber cunto dinero se genera por concepto de intereses sobre la
cantidad que tiene invertida en una Cooperativa. El decidir reinvertir los intereses
siempre y cuando estos excedan a $1.000, y en ese caso desea saber cunto dinero
tendr finalmente en su caja de ahorro.
Inicio
entero p_int, cap, int, capf
Leer p_int, cap
int = cap * p_int
si (int > 1000) entonces
capf = cap + int
fin-si
Imprimir capf
Fin
2. El Shopping UA esta de promocin por su mes aniversario y hace un 30% de
descuento a los clientes cuya compra supere los $300. Cul ser la cantidad que
pagara un cliente por su compra?
Prof. Carolina Candia
11
Inicio
entero compra
real desc
Leer compra
Si (compra > 300) entonces
desc = compra * 0.30
si no
desc = 0
fin-si
tot_pag = compra - desc
imprimir tot_pag
Fin.
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 ms de 40 horas se le
paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.
Inicio
Entero ht, ss, he
Leer ht
Si (ht > 40) entonces
he = ht - 40
ss = he * 20 + 40 * 16
si no
ss = ht * 16
fin-si
Imprimir ss
Fin
4. Disea un algoritmo que lea dos nmeros y los imprima en forma ascendente
Inicio
Leer num1, num2
Si (num1 < num2) entonces
Imprimir num1, num2
si no
Imprimir num2, num1
fin-si
Fin
5. Visualizar el nombre de un artculo, clave, precio original y su precio con descuento.
El 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).
12
Inicio
Entero clave, prec_orig
Cadena nombre
Leer nombre, clave, prec_orig
Si clave = = 01 entonces
prec_desc = (prec_orig (prec_orig * 0.10))
si no
prec_desc = (prec_orig (prec_orig * 0.20))
fin-si
Imprimir nombre, clave, prec_orig, prec_desc
Fin
6. Calcular el total a pagar por la compra de discos externos. Si se compran tres o ms
se aplica un descuento del 10% sobre el total de la compra y si son menos de tres
discos externos se aplica un descuento del 5%.
Inicio
entero cant_de, precio
real tot_pag, tot_comp
Leer cant_de, precio
tot_comp = cant_de * precio
Si (cant_de > = 3) entonces
tot_pag = tot_comp (tot_comp * 0.10)
si no
tot_pag = tot_comp (tot_comp * 0.05)
fin-si
Imprimir tot_pag
Fin
7. Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.
Inicio
Entero num1, num2, resul
Leer num1, num2
Si (num1 = = num2) entonces
resul = num1 * num2
sino si (num1 > num2) entonces
resul = num1 - num2
sino
resul = num1 + num2
fin-si
fin-si
Fin
13
Inicio
Leer num1, num2, num3, mayor
Si (num1 > num2) and (num1 > num3) entonces
mayor = num1
sino
Si (num2 > num1) and (num2 > num3) entonces
mayor = num2
si no
mayor = num3
fin-si
fin-si
Imprimir mayor
Fin
9. Determinar la cantidad de dinero que recibir un trabajador por concepto de las
horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo
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.
Inicio
Entero ht, pph, tp, he, pd, pt, pe
Leer ht, pph
Si (ht < = 40) entonces
tp = ht * pph
si no
he = ht - 40
Si (he < = 8) entonces
pe = he * pph * 2
si no
pd = 8 * pph * 2
pt = (he - 8) * pph * 3
pe = pd + pt
fin-si
tp = 40 * pph + pe
fin-si
Imprimir tp
Fin
10. Calcular el excedente que un socio recibe en el reparto anual de utilidades. Se
calcula el porcentaje dependiendo de la antigedad como socio en la cooperativa, de
acuerdo con la sig. tabla:
14
Tiempo
Utilidad
Menos de 1 ao
5%
1 ao o ms y menos de 2 aos
7%
10%
15%
10 aos o ms
20%
Inicio
Entero sm, antig, util
Leer sm, antig
Si antig < 1 entonces
util = sm * 0.05
si no
Si (antig > = 1) and (antig < 2) entonces
util = sm * 0.07
si no
Si (antig > = 2) and (antig < 5) entonces
util = sm * 0.10
si no
Si (antig > = 5) and (antig < 10) entonces
util = sm * 0.15
si no
util = sm * 0.20
fin-si
fin-si
fin-si
fin-si
Imprimir util
Fin
11. El IPS requiere clasificar a las personas que se jubilaran en el ao de 2015. Existen
tres tipos de jubilaciones: por edad, por antigedad joven y por antigedad adulta.
Las personas vinculadas a la jubilacin por edad deben tener 60 aos o ms y una
antigedad en su empleo de menos de 25 aos. Las personas vinculadas a la
jubilacin por antigedad joven deben tener menos de 60 aos y una antigedad en
su empleo de 25 aos o ms. Las personas vinculadas a la jubilacin por antigedad
adulta deben tener 60 aos o ms y una antigedad en su empleo de 25 aos o ms.
Determinar en qu tipo de jubilacin, quedara vinculadas una persona.
15
Inicio
Entero edad, ant
leer edad, ant,
si (edad >= 60) and (ant < 25) entonces
imprimir La jubilacin es por edad
sino si (edad >= 60) and (ant > 25) entonces
imprimir La jubilacin es por edad adulta
sino si (edad < 60) and (ant > 25) entonces
imprimir La jubilacin es por antigedad joven
si no
imprimir No tiene por qu jubilarse
fin-si
fin-si
fin-si
Fin
12. Desarrolle un algoritmo que le permita leer 2 valores A y B e indicar si uno de los
dos divide al otro exactamente
Inicio
Entero A, B
Leer A, B
Si (A residuo B= =0) entonces
Imprimir B divide exactamente a A
sino Si (B residuo A= =0) entonces
Imprimir A divide exactamente a B
sino
Imprimir No se dividen exactamente
fin-si
fin-si
Fin
13. Desarrolle un algoritmo que le permita leer dos valores A y B e indicar si el
resultado de dividir la suma de los dos nmeros entre la resta del primer nmero con
el segundo es exacta.
Inicio
Entero A, B
Leer A, B
Si (A+B) mod (A-B)= =0 entonces
Imprimir La divisin es exacta
sino
Imprimir La divisin es inexacta
fin-si
Fin
16
14. Cree un algoritmo que, basado en la siguiente tabla, lea un nmero entero e imprima
el nombre de la estacin correspondiente.
Valor
1
2
3
4
Estacin
Invierno
Verano
Otoo
Primavera
Inicio
Entero estacin
Leer estacin
Segn sea (estacin)
Caso 1: Imprimir Invierno
Caso 2: Imprimir Verano
Caso 3: Imprimir Otoo
Caso 4: Imprimir Primavera
En otro Caso
Imprimir Estacin errnea
Fin
Mdulo II - Unidad 3
ESTRUCTURAS REPETITIVAS / CCLICAS
1.
Hacer-Mientras
Repetir-Hasta
17
L.I:
Lmite inferior
L.S:
Lmite superior
18
3. HACER - MIENTRAS:
Esta es una estructura que repetir un proceso durante N veces, donde N puede ser
fijo o variable. Para esto, la instruccin se vale de una condicin que es la que debe
cumplir para que se siga ejecutando. Cuando la condicin ya no se cumple, entonces ya
no se ejecuta el proceso.
Se representa de la siguiente forma:
Hacer mientras <condicin>
Accion1
Accion2
.
.
AccionN
Fin-mientras
3.1 FUNCIONAMIENTO ESTRUCTURA MIENTRAS
A. La condicin del bucle se evala al principio, antes de entrar en l ciclo.
B. Si la condicin es verdadera, se comienza a ejecutar las acciones del bucle y
despus de la ltima accin volvemos a preguntar por la condicin.
C. En el momento en el que la condicin sea falsa salimos del bucle y ejecutamos
la siguiente condicin al bucle.
D. Al evaluar la condicin, antes de entrar en el bucle al principio, si la condicin al
ser evaluada la primera 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.
19
Repetir
Accion1
Accion2
.
.
AccionN
Hasta <condicin>
Repetir
Repite un proceso una cantidad de
veces, hasta que la condicin se
cumpla o sea verdadera
permite realizar el proceso cuando
menos una vez, ya que la condicin
se evala al final del proceso
Hacer Mientras
Repite un proceso una cantidad de
veces, mientras que la condicin se
cumpla o hasta que sea falsa
puede ser que nunca llegue a entrar
si la condicin no se cumple desde
un principio.
20
7. DEFINICIONES:
BUCLE
Conjunto de instrucciones que se repiten un nmero finito de veces
Todo bucle tiene que llevar asociada una condicin, que es la que va a determinar
cundo se repite el bucle.
Consta de tres partes: Decisin, Cuerpo del bucle, Salida del bucle.
BUCLE ANIDADO
Los bucles son anidados cuando estn dispuestos de tal modo que unos son
interiores a otros; los bucles son independientes cuando son externos unos a otros.
ITERACIN
Cada repeticin del bucle se llama iteracin.
VALOR CENTINELA
Es un valor especial usado para indicar el final de una lista de datos.
CONTADOR
Es una variable auxiliar creada por el programador que se incrementa de un modo constante,
un numero finito de veces.
El valor se incrementa o decrementa en una cantidad constante en cada repeticin que se
produzca.
Puede ser positivo a travs del incremento o puede ser negativo a travs del decremento.
ACUMULADOR
Es una variable que acumula valores que a su vez son el producto de un proceso repetitivo y
finito de sumas sucesivas.
Almacena una cantidad variable resultado de las operaciones sucesivas y repetidas.
El incremento y el decremento es variable.
21
B. Contabilizacin o incremento.
Cada vez que aparece el evento a contar se ha de incrementar el contador en 1 si
se realiza cuenta natural o en Incremento si se realiza otro tipo de cuenta.
CONTADOR = CONTADOR + 1
7.2 USO DEL ACUMULADOR
Son objetos que se utilizan en un programa para acumular elementos sucesivos con
una misma operacin. En general se utilizan para calcular sumas y productos, sin
descartar otros posibles tipos de acumulacin.
Se utilizan realizando sobre ellos dos operaciones bsicas:
A. Inicializacin.
Todo acumulador necesita ser inicializado con el valor neutro de la operacin
que va a acumular, que en el caso de la suma es 0 y en el del producto es 1.
SUMA = 0
PRODUCTO =1
B. Acumulacin.
Cuando se debe acumular un elemento o valor como resultado de una lectura o
un clculo, se efecta la acumulacin del mismo por medio de la asignacin:
SUMA = SUMA + elemento
PRODUCTO = PRODUCTO * elemento
22
EJEMPLOS
UTILIZANDO BANDERA O SEAL
1. Ingresar diez nmeros en forma consecutiva. Determinar el menor de la serie y
luego imprimir el resultado.
Anlisis: Averiguar cul es el menor nmero de la lista de diez valores
ingresados, teniendo en cuenta que el menor valor pueda ubicarse en cualquier
posicin.
Datos de entrada: Diez valores aleatorios. Variable a utilizar X
Dato de salida: Valor menor. Variable a utilizar ME
En este algoritmo la bandera 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.
Inicio
Entero B=0, ME=0, X, C
Hacer Para C=1 hasta 10
Leer X
Si B=0
B=1
ME=X
Sino
Si X < ME
ME=X
Fin si
Fin si
Fin para
Imprimir Me
Fin
23
EJERCICIOS DESARROLLADOS
UTILIZANDO ESTRUCTURAS CCLICAS HACER PARA
Inicio
entero sum, calif, c, prom
cadena nombre
sum = 0
Leer nombre
Hacer para c = 1 a 3
Leer calif
sum = sum + calif
Fin-para
prom = sum /3
Imprimir prom
Fin.
2. Leer 10 nmeros e imprimir solamente los nmeros positivos
Inicio
entero n, num
Hacer para n = 1 a 10
Leer num
Si (num > 0) entonces
Imprimir num
Fin-si
Fin para
Fin
3. Leer 15 nmeros negativos y convertirlos a positivos e imprimir dichos
nmeros.
Inicio
entero x, num, pos
Hacer para x = 1 a 15
Leer num
pos = num * -1
Imprimir num, pos
Fin-para
Fin.
24
Inicio
entero cn = 0, cp = 0, cneg = 0, x, num
Hacer para x = 1 a 20
Leer num
Si num = 0 entonces
cn = cn + 1
si no
Si num > 0 entonces
cp = cp + 1
si no
cneg = cneg + 1
Fin-si
Fin-si
Fin-para
Imprimir cn, cp, cneg
Fin.
5. Suponga que se tiene un conjunto de calificaciones de un grupo de 20 alumnos.
Realizar un algoritmo para calcular la calificacin promedio y la calificacin
ms baja de todo el grupo. Se inicializa la variable baja con 999
Inicio
sum = 0
baja = 999
Hacer para a = 1 a 20
Leer calif
sum = sum + calif
Si calif < baja entonces
baja = calif
fin-si
Fin-para
media = sum / 2
Imprimir media, baja
fin
25
EJERCICIOS DESARROLLADOS
UTILIZANDO ESTRUCTURAS CCLICAS HACER MIENTRAS
26
Inicio
Entero contpos, num, cont=0
Mientras (cont<12) hacer
Leer num
Si (num>0) entonces
Contpos=contpos+1
Fin si
cont=cont+1
Fin Mientras
Imprimir La cantidad de nmeros positivos es:, contpos
Fin
5. Hallar el mximo comn divisor de dos nmeros naturales enteros positivos.
Visualizar el resultado.
Inicio
Entero a, b, res
Imprimir Ingreso dos nmeros
Leer a, b
Repetir
res=a mod b
a=b
b = res
Hasta res == 0
Imprimir El MCD es:, a
Fin
27
EJERCICIOS DESARROLLADOS
UTILIZANDO ESTRUCTURAS CCLICAS USO DE BANDERAS
X: Variable de entrada
B: Bandera
C:
Contador
28
En donde:
B: Bandera
que
nmeros
introduzcan
diez
cont: Contador
b:
Bandera
29