Escolar Documentos
Profissional Documentos
Cultura Documentos
ALGORITMICAS
ESTRUCTURAS ALGORITMICAS
Las estructuras de operacin de programas son un grupo de formas de
trabajo, que permiten, mediante la manipulacin de variables, realizar
ciertos procesos especficos que nos lleven a la solucin de problemas.
Estas estructuras se clasifican de acuerdo con su complejidad en:
2
Estructura Secuencial
La estructura de control
secuencial es la ms sencilla y es
inherente al Software. Tambin
se la conoce como estructura
lineal. Se compone de
instrucciones que deben
ejecutarse en forma consecutiva,
una tras otra, siguiendo una y
solo una lnea de flujo.
Problemas muy sencillos pueden
resolverse haciendo uso
nicamente de esta estructura.
Una estructura de control secuencial puede contener
cualquiera de las siguientes instrucciones:
Declaracin variables
Asignacin de valores
Entrada de datos
Pocesamiento de datos (operaciones)
Reporte de resultados
Determinar el orden de ejecucin de las instrucciones
(posicin) ya que la conmutatividad no es una
propiedad aplicable a los algoritmos.
Problemas Secuenciales
Anlisis
Datos de entrada
Capital a invertir (cap_invertir)
Inters pagado por el banco = 2% mensual
Datos de salida
Ganancia obtenida en un mes (ganancia)
Algoritmo
Inicio
Entero cap_invertir
Real ganancia
Leer cap_invertir
ganancia = cap_invertir * 0.02
Escribir ganancia
Fin
5
Un vendedor recibe un sueldo base mas un 10% extra por comisin de sus
ventas, el vendedor desea saber cuanto dinero obtendr por concepto de
comisiones por las tres ventas que realiza en el mes y el total que recibir en el
mes tomando en cuenta su sueldo base y comisiones.
Anlisis
Datos de entrada
Sueldo base del vendedor (sueldo_base)
Comision por venta = 10% de las ventas
Realizo 3 ventas : Venta1, Venta2 y Venta3
Datos de salida
Valor de la comision de las ventas (comision)
Sueldo a recibir (sueldo_recibir)
Consideraciones
Para calcular el valor de la comision, se debe concocer el total de las ventas
Total de las ventas es la suma acumulativa de cada una de las ventas.
La comision corresponde al 10% del total acumulado de las ventas
El sueldo a recibir es la suma del sueldo base ms la comision de las ventas.
6
Algoritmo
Inicio
Entero sueldo_base, venta1, venta2, venta3
Entero total_venta
Real comision, sueldo_recibir
Leer sueldo_base, venta1, venta2, venta3
total_venta = venta1 + venta2 + venta3
comision = total_venta * 0.10
sueldo_recibir = sueldo_base + comision
Escribir sueldo_recibir, comision
Fin
7
Una tienda ofrece un descuento del 15% sobre el total de la compra y
un cliente desea saber cuanto deber pagar finalmente por su compra.
Analisis
Datos de entrada
El total de la compra (total_compra)
Descuento ofrecido por la tienda = 15% sobre el total de la compra
Datos de salida
Total a pagar por la compra (total_pagar)
Consideraciones
El descuento es el 15 del valor total comprado
Descuento = total_compra * 0,15
8
Algoritmo
Inicio
Entero total_compra
Real descuento, total_pagar
Leer total_compra
descuento = total_compra * 0.15
total_pagar = total_compra - descuento
Escribir total_pagar
Fin
9
Ejemplo: Escribir un procedimiento para calcular el rea de
cualquier tringulo rectngulo. En l se debe pedir al usuario
que ingrese los valores de la Altura y la Base del tringulo.
11
5) En un hospital existen tres reas: Ginecologa, Pediatra, Traumatologa.
El presupuesto anual del hospital se reparte conforme a la sig. tabla:
Obtener la cantidad de dinero que recibir cada rea, para cualquier monto
presupuestado.
7) Todos los lunes, mircoles y viernes, una persona corre la misma ruta y
cronometra los tiempos obtenidos. Determinar el tiempo promedio que
la persona tarda en recorrer la ruta en una semana cualquiera.
8) Tres personas deciden invertir su dinero para fundar una empresa. Cada
una de ellas invierte una cantidad distinta. Obtener el porcentaje que
cada quien invierte con respecto a la cantidad total invertida.
12
9) Un alumno desea saber cual ser su promedio general en los tres
cursos ms difciles que cursa y cual ser el promedio que
obtendr en cada una de ellas. Estas materias se evalan como
se muestra a continuacin:
13
Alternativa simple
Alternativas en los
problemas de Alternativa doble
decisin
Alternativa mltiple
Estructura Condicional
se utiliza para indicarle al computador que debe evaluar
una condicin y, a partir del resultado, ejecutar el bloque
de instrucciones correspondiente.
SI (condicion_1) ENTONCES
instrucciones_1
SI_NO
SI (condicion_2) ENTONCES
instrucciones_2
SI_NO
. . .
SI (condicion_N) ENTONCES
instrucciones_N
SI_NO
. . .
FIN_SI
. . .
FIN_SI
FIN_SI
Estructura de control: Switch Case
Esta estructura funciona como un If pero
con ms opciones.
valor_1 otros
selector
algoritmo (dias)
variables:
entero: dia
CASOS DE selector
INICIO
CASO valor_1: ESCRIBA(Meta el dia)
instrucciones_1 LEA(dia)
CASO valor_2: CASOS DE dia
instrucciones_2 CASO 1: ESCRIBA(Lunes)
CASO valor_3:
instrucciones_3
CASO 2: ESCRIBA(Martes)
. . . CASO 3: ESCRIBA(Mircoles)
CASO valor_n: CASO 4: ESCRIBA(Jueves)
instrucciones_n CASO 5: ESCRIBA(Viernes)
OTROS_CASOS: CASO 6: ESCRIBA(Sbado)
instrucciones_otros
FIN_CASOS
CASO 7: ESCRIBA(Domingo)
OTROS CASOS :
ESCRIBA(ERROR !!!)
FIN_CASOS
FIN_INICIO
fin(dias)
For, While y Do While
proceso manualmente,
obviamente este algoritmo C=A+B+C
no sera el ptimo.
C=A+B+C
Fin
Y si no sabes cuanto se repetir?
Inicio
Cuando necesitamos
que un proceso se A, B
repita una cantidad
indefinida, que C=A+B
Las estructuras
cclicas son la solucin!
Ejemplo: Realizar un algoritmo que sume los 10 primeros
nmeros (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).
Que pasa si se pide sumar los 1000 primeros nmeros?
10000??
Algoritmo(suma_numeros)
variables: suma = 0: entera
INICIO
suma = 0 + 1 + . . . + 997 + 998 + 999
ESCRIBA(La suma de los primeros 10 numeros es,suma)
FIN
Fin(suma_numeros)
Algunos ejemplos:
j=j+2
i=i1
carros = carros + 1
Procesos a repetirse
Inicio; Condicin; Incremento
Analizando la Estructura: For
La variable i se incrementar
de uno en uno por cada vez
que se terminen los procesos
determinados.
Procesos a repetirse
i==0; i<=5; i++
La variable i
iniciar con un
valor igual a Los procesos se
cero. repetirn siempre y Aqu dibujaremos los procesos
cuando la variable i que queremos que se repitan una
sea menor o igual a 5 cantidad de veces definida.
Si quiero que la variable incremente
de otra manera?
Estructura de control cclica que permite realizar un conjunto de operaciones mientras una
condicin se este cumpliendo, o mientras una expresion sea verdadera.
Condicin
Procesos a Repetirse
Analizando la Estructura: While
Mientras esta condicin
se cumpla, todos los
procesos se repetirn.
i<=5
Procesos a Repetirse
Procesos a Repetirse
Procesos a Repetirse
Condicin
Analizando
Con esta lnea
la Estructura: Do While
podemos darnos
cuenta cuales son
los procesos que Procesos a Repetirse
queremos que se
repitan.
Algoritmo
Inicio
Entero Numero, Cuadrado, Cubo
Entero i
i = 1;
Mientras (i <= 10)
Leer Numero
Cuadrado = Numero * Numero
Cubo = Cuadrado * Numero
Escribir Cuadrado, Cubo
i=i+1
Fin Para
Fin
60
Cul es la diferencia entre las
estructuras While y Do While?
Procesos a Repetirse
Condicin
Algoritmo
Inicio
Real Nota1, Nota2, Nota3, Nota4, Nota5, Nota6, Nota7
Real Promedio
Escribir Promedio
Fin
62
Alternativa 2 (Considerar iteracin)
Algoritmo
Inicio
Real Nota
Real Promedio, Suma
Entero C_Nota, i
Leer C_Nota
Suma = 0
Para (i = 1 ; C_Nota ; 1)
Leer Nota
Suma = Suma + Nota
Fin Para
Promedio = Suma / C_Nota
Escribir Promedio
Fin
63
Ejemplo
Algoritmo
Inicio
Entero Numero, Cuadrado, Cubo
Entero i
Para (i = 1 ; 10 ; 1)
Leer Numero
Cuadrado = Numero * Numero
Cubo = Cuadrado * Numero
Escribir Cuadrado, Cubo
Fin Para
Fin
64
Leer 10 nmeros e imprimir solamente los nmeros positivos
65
Repetir-Hasta: Esta es una estructura similar en algunas
caractersticas, a la anterior. Repite un proceso una cantidad de veces,
pero a diferencia del Mientras, el Repetir-Hasta lo hace hasta que la
condicin se cumple y no mientras, como en el Mientras. Por otra parte,
esta estructura permite realizar el proceso cuando menos una vez, ya
que la condicin se evala al final del proceso, mientras que en la
estructura Mientras puede ser que nunca llegue a entrar si la condicin
no se cumple desde un principio. La forma de esta estructura es la
siguiente:
Repetir
Accin_1
Accin_2
Accin_N
Hasta ( Condicin)
66
Instrucciones Secuenciales
Instruccin Selectiva Simple
Instruccin Selectiva Compuesta
Instruccin Selectiva Mltiple
Instruccin Repetitiva While
Instruccin Repetitiva Repeat
Instruccin Repetitiva For
Ejercicios propuestos
1) Escribir un algoritmo que lea dos nmeros y los escriba en forma ascendente.
2) Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber
cuantas caloras consume su cuerpo durante todo el tiempo que realice una
misma actividad. Las actividades que tiene permitido realizar son nicamente
dormir o estar sentado en reposo. Los datos que tiene son que estando
dormido consume 1.08 caloras por minuto y estando sentado en reposo
consume 1.66 caloras por minuto.
74
1) En un supermercado se hace una promocin, mediante la cual el
cliente obtiene un descuento dependiendo de un numero que se
escoge al azar. Si el numero escogido es menor que 74 el descuento
es del 15% sobre el total de la compra, si es mayor o igual a 74 el
descuento es del 20%. Obtener cuanto dinero se le descuenta.
75
Vectores y Matrices (arreglos)
Introduccin
Con lo aprendido hasta ahora resolvamos
el siguiente problema:
Mi_vector 9 5 6 2 4 8 3
Nombre de
la variable Posicin : 1
Contenido : Mi_vector[1] = 9
Vectores
Ejemplo:
Cargar 10 elementos en un
vector, sumarlos y mostrar el
resultado por pantalla.
Leer un vector de 10
elementos
Sumar los elementos
Mostrar el resultado de la
suma por pantalla
Ejemplo:
Cargar 10 elementos en un vector, sumarlos y mostrar el resultado por
pantalla.
Pasos para resolver este problema:
Leer un vector de 10 elementos
Sumar los elementos
Mostrar el resultado de la suma por pantalla
Vectores
Tarea:
1) Calcular el promedio de 25 valores
almacenados en un vector. Determinar
adems cuantos son mayores que el
promedio, imprimir el promedio, el nmero
de datos mayores que el promedio y una
lista de valores mayores que el promedio.
2) Llenar dos vectores A y B de 35 elementos
cada uno, sumar el elemento uno del
vector A con el elemento uno del vector B
y as sucesivamente hasta 35, almacenar el
resultado en un vector C, e imprimir el
vector resultante.
Tarea:
1) Calcular el promedio de 25 valores almacenados en un vector. Determinar
adems cuantos son mayores que el promedio, imprimir el promedio, el
nmero de datos mayores que el promedio y una lista de valores mayores
que el promedio.
2) Llenar dos vectores A y B de 35 elementos cada uno, sumar el elemento
uno del vector A con el elemento uno del vector B y as sucesivamente hasta
35, almacenar el resultado en un vector C, e imprimir el vector resultante.