Upload
alex-alberto-david-usuga
View
392
Download
2
Embed Size (px)
Citation preview
ALGORITMOS
Es la forma mas obvia y mas facil de hacer algo.
Esta relacionada con la estructura del pensamiento humano.Este pensamiento esta fundamentado en unas estructuras basicas:•Secuencias de acciones•Decisiones•Ciclos
Cuando usted esta planeando ir de paseo con la familia a un sitio. ¿Que pensamiento se dibuja en nuesta mente?
Lo que se organiza en nuestra mente es una secuencia de acciones (pasos) que nos permitan desplazarnos hasta el sitio.
Cuando usted esta planeando ir de paseo con la familia y tiene varias opciones a donde ir. ¿Que pensamiento se dibuja en nuesta mente?
Lo que se organiza en nuestra mente es una decision (opcion) que nos permitan escoger el sitio mas indicado.
Suponga que usted acostubra ir de paseo con la familia varias veces al año. ¿Que pensamiento se dibuja en nuesta mente?
Lo que se organiza en nuestra mente es un ciclo (repetir), volver a realizar la secuencia de acciones
Permite agrupar una serie de conocimientos adquiridos que se ingresan al ordenador por medio de un lenguaje de programación el cual nos interpreta las acciones que son introducidas al ordenadorPermite desarrollar algoritmos computacionales facilmente entendibles.
Que es un Algoritmo Un algoritmo es una secuencia de pasos
lógicos y ordenados con los cuales le damos solución a un problema determinado.
Por ejemplo: En la vida diaria cada uno de nosotros diseña y realiza algoritmos para solucionar los problemas cotidianos, es así que al levantarnos de la cama ya tenemos en la mente una serie de pasos que debemos seguir para llegar al sitio de estudio o al sitio de trabajo. Una vez en el sitio de estudio, tenemos en nuestra mente una serie de tareas que debemos realizar en unos horarios ya definidos.
Características de los Algoritmos
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algún momento, o sea debe tener un número finito de pasos.
Clasificación de los Algoritmos Según Quien los
Ejecute Algoritmos para ser ejecutados por Personas.
Se refiere a todos aquellos algoritmos que nos ayudan a resolver problemas diarios, y que los hacemos casi sin darnos cuenta de que estamos siguiendo una metodología para resolverlos
Algoritmos para ser ejecutados por Computadoras. (Computacionales)
Algoritmos para ser ejecutados por Personas
Para que un algoritmo sea ejecutado por una persona, debe estar escrito de tal manera que esta persona lo entienda claramente, algunas de las normas que debe seguir la construcción del algoritmo son las siguientes:
Debe estar escrito en el idioma que comprende la persona que realizará el algoritmo.
Debe enumerar cada uno de los pasos a realizar en un orden lógico.
Debe utilizar palabras que comprenda claramente la persona que realizará el algoritmo.
Un cliente ejecuta un pedido a una fabrica. La fabrica examina en su banco de datos si el cliente esta activo( no es moroso con sus deudas) entonces se acepta el pedido, en caso contrario se rechaza.
1. Inicio 2. Leer el pedido 3. Examinar ficha del cliente 4. Si el cliente esta activo aceptar el pedido,
en caso contrario rechazar el pedido. 5. Terminar
Algoritmos para ser ejecutados por Personas
Algoritmos cotidianos Un cliente llega a una entidad bancaria para
realizar una consignación, el cajero le pide el número de la cuenta y el dinero a consignar, verifica que la cuenta si existe, si la cuenta es valida se hace la consignación (al saldo le aumenta el dinero recibido) de lo contrario devuelve el dinero.
1. Inicio 2. Pedir numero de la cuenta y el dinero 3. Si la cuenta es valida siga en 4 de lo contrario siga en 6 4. Saldo= saldo +dinero 5. Ir a 7 6. devolver el dinero 7. Terminar
Hacer una llamada a un compañero
Ejercicios propuestos
Revisar una lámpara
Ejercicios propuestos
Algoritmo para realizar la siguiente suma
Ejercicios propuestos
491+ 25
516
1. 5+1=62. Anotar 63. 2+9=114. Anotar 1 y guardar 15. 4+0=46. 4+1=57. Anotar 58. El resultado es 516
Diseñar un algoritmo para cambiar una llanta a un coche.
Un retiro de dinero por parte de un cliente en un cajero electrónico.
Crear un algoritmo que describa los pasos necesarios par ir al SENA a clase de 6 Am tenga en cuenta que si llega 10 minutos tarde no puede entrar al salón de clase y si al llegar no trae el carnet no puede entrar al SENA.
Ejercicios propuestos
Determinar el mayor de tres números enteros.Análisis del problema: 1 Determinar el mayor de tres números enteros.2 Comparar el mayor anterior con el tercero y
deducir cuál es el mayor. Este será el resultado.
Ejercicios propuestos
1. Inicio
2. Obtener el primer número (entrada), denominado NUM1.
3. Obtener el segundo número (entrada), denominado NUM2.
Obtener el tercer número (entrada), denominado NUM3
4. Compara NUM1 con NUM2 y seleccionar el mayor ; si los dos enteros son iguales, seleccionar NUM1. Llamar a este número MAYOR.
5. Compara MAYOR con NUM3 y seleccionar el mayor ; si los dos enteros son iguales, seleccionar el MAYOR. Denominar a este número MAYOR.
6. Presentar el valor MAYOR (salida).
7. Fin
Los pasos anteriores se pueden descomponer en otros pasos más simples
Diseñar algoritmos que resuelvan los posibles problemas que se presentan para:
1. ir al cine 2. Reparar un pinchazo
de una bicicleta.
Ejercicios propuestos
Regresar……
Algoritmos para ser ejecutados por Computadoras
Los pasos para la solución de un problema utilizando como herramienta la computadora son :1. Diseño del algoritmo que describa la secuencia
ordenada de pasos, que conducen a la solución de un problema dado(análisis del problema y desarrollo del algoritmo).
2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado( fase de codificación). La actividad de expresar un algoritmo en forma de programa se denomina programación.
3. Ejecución y validación de programa por la computadora.
Regresar……
1 Tipos de datos2 Expresiones3 Operadores y operandos4 Identificadores como localidades de memoria
ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35 ó “Saldo” . El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
Tipos De Datos
Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas.Ejemplo: 4 , 5 , 7, 97Ejemplo: 2.33 , 4.59 , 5.0
Datos Lógicos (Booleano): es aquel dato que sólo puede tomar uno de dos valores (Verdadero ó Falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos).
Ejemplo: 3>4, 10<>10, a=b, Saldo=Valor
Tipos de Datos Simples
Datos Alfanuméricos (String): Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas.
Ejemplos: " león ", " Pabl03", A, , '1', '2’, '+', '-', '*', '/',
Tipos de Datos Simples
Son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Una expresión consta de operadores y operandosEjemplo: a+(b + 3)/c , (10 - (2 + 4)) , (a < b) and (b < c)Según el tipo de datos que manipulan, se clasifican en:
AritméticasRelaciónalesLógicas
Expresiones
Operadores: Son elementos que relacionan de forma diferente, los valores de una o mas variables y/o constantes. Permiten manipular valores.
Operadores Aritméticos: Permiten la realización de operaciones matemáticas con los valores.
Ejemplo: +, -,*, /, ModEjemplo: 12 Mod 7 = 5
Operadores y Operandos
Todas las expresiones entre paréntesis se evalúan primero. El paréntesis mas interno se evalúa primero.
Dentro de una misma expresión los operadores se evalúan en el siguiente orden:
Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha
3 + 5 * (10 - (2 + 4)) = ?(5 ^ 0 * (10 - 6)/2*5 +10 ^ 1) / 2 = ?
Prioridad de los Operadores Aritméticos
Se utilizan para establecer una relación entre dos valores.
Compara estos valores entre si y esta comparación produce un Verdadero ó Falso.
Comparan valores del mismo tipo. Tienen el mismo nivel de prioridad en su evaluación. Tiene menor prioridad que los aritméticos
Operadores Relaciónales
Operadores Relaciónales
Se utilizan para establecer relaciones entre valores lógicos (Verdadero=True, Falso=False).
Pueden ser resultado de una expresión relacional.
Operadores Lógicos
Ejemplo: (10<20) and (20<30) Ejemplo: (10<20) or (20<30) Ejemplo: Not(20<30)
Operadores Lógicos
Prioridad de los Operadores en General
Si a = 10 b = 12 c = 20 d =10 ((a > b)or(a < c)) and ((a = c) or (a > = b)) ((a > = b) or (a < d)) and (( a > = d) and (c > d)) Not (a = c) and (c > b) or (a<>d) ( a * c / d + b ) / ( b + c ^2 / ( b + d * b / ( a * d / c + d ) ) ) Not(a + b > c – d ) and (Not (d<>a and (c – a < a * d)))
EJERCIOS PROPUESTOS
Representan los datos de un programa (constantes, variables, tipos de datos).
Es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que nos permite accesar a su contenido
Reglas para formar un Identificador1. Debe comenzar con una letra (A a Z, mayúsculas o
minúsculas) y no deben contener espacios en blanco.2. Letras, dígitos y caracteres como la subraya ( _ ) están
permitidos después del primer carácter
Ejemplo: Nombre, Num_hrs, Calif2, b, can_de_alu
Identificadores
Constante: Es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo: pi = 3.1416 , Path= “D:\ADSI\DB”
Variable: Es un espacio en la RAM de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambia durante la ejecución del programa.
Ejemplo: área = pi * radio ^ 2
Constantes y Variables
Numéricas: Permiten almacenan valores numéricos, positivos o negativos, es decir 0 - 9, signos (+ y -) y el punto decimal. Ejemplo: iva=0.16 pi=3.1416 costo=2500
Clasificación de las Variables
Lógicas: Solo pueden tener dos valores (Cierto ó falso)Ejemplo: Switch= Verdadero, Switch=Falso
Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y el _ ). Ejemplo:Ejemplo: letra=’a’ , dirección=’Av. Libertad’
De Trabajo: Reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo: suma=a+b/c
Clasificación de las Variables
Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno. Ejemplo: Cant=Cant+1
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.Ejemplo: Total=Total +Suma
Clasificación de las Variables
Pseudocódigo Mezcla de lenguaje de programación y español que se emplea, dentro
de la programación estructurada, para realizar el diseño de un programa.
Diagrama de flujo Es la representación detallada en forma gráfica de como
deben realizarse los pasos en la computadora para producir resultados
http://flujograma.wikispaces.com/Definicion+y+caracteristicas+de+Digrama+de+Flujo
Diagrama estructurado Es como un diagrama de flujo en el que se omiten las flechas
de unión y las cajas son contiguas
Técnicas para la formulación de algoritmos
Son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.
Estructuras algorítmicas
Es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.
Estructuras Secuenciales
Estructuras Secuenciales
Partes de Un Algoritmo
DECLARACION DE VARIABLE
INICIOTipo de Dato: Identificador,
Identificador
FIN PROGRAMA
Partes de Un Algoritmo Entrada de Datos
Cuando un algoritmo requiera que el usuario ingrese datos, se utilizará la instrucción LEER seguido la lista de variables donde se guardarán los datos ingresados por el usuario.
INICIO Tipo de Dato: Identificador1, Identificador2 Leer Identificador1, Identificador2
FIN PROGRAMA
Partes de Un Algoritmo Asignación
Es el modo de copiar un valor específico en una variable o espacio de memoria.
INICIO Tipo de Dato: Identificador Leer Identificador Identificador= ValorFIN
Salida de Datossi el algoritmo requiere mostrar la información que
tiene guardada en variables al usuario final, se utilizará la instrucción Imprimir seguida de la lista de variables donde se guardan los datos que se quieren mostrar.
Partes de Un Algoritmo
INICIO Tipo de Dato: Identificador Leer Identificador Identificador= Valor Imprimir “El valor es:”, Identificador1FIN
Partes de Un Algoritmo DECLARACION DE VARIABLESEjercicios: Hacer un algoritmo que declare una variable para guardar el
número de meses del año y otra variable para guardar el porcentaje de meses que tienen 30 o 31 días.
Hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre y el número de notas perdidas.
Hacer un algoritmo que lea el nombre de un animal, la comida preferida y la cantidad de patas que tiene.
Hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias que cursa en el semestre, la cantidad de materias perdidas y muestre el nombre y el porcentaje de materias ganadas.
Hacer un algoritmo que lea el nombre de un deportista, la distancia recorrida, la cantidad de intentos y muestre la distancia promedio que ha recorrido.
Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual.Inicio
Entero: cap_inv Real: gan Leer cap_inv gan = cap_inv * 0.02 Imprimir gan
Fin
Problemas Secuenciales
Un vendedor recibe un sueldo base mas un 10% extra por comisión 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.
Inicio
Entero:sb,v1,v2,v3, tot_vta
Real: com , tpag
Leer sb, v1, v2, v3
tot_vta = v1 + v2 + v3
com = tot_vta * 0.10
tpag = sb + com
Imprimir tpag, com
Fin
Problemas Secuenciales
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.Inicio
Entero: tcReal: d , tp Leer tc d = tc * 0.15 tp = tc - d Imprimir tp
Fin
Problemas Secuenciales
Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.Inicio
Real:c1,c2,c3,ef,tf,prom,ppar,pef,ptf,cf
Leer c1, c2, c3, ef, tf
prom = (c1 + c2 + c3)/3
ppar = prom * 0.55
pef = ef * 0.30
ptf = tf * 0.15
cf = ppar + pef + ptf
Imprimir cf
Fin
Problemas Secuenciales
Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
InicioEntero: nh, nm, taReal: ph, pm Leer nh, nm ta = nh + nm ph = (nh / ta) * 100 pm = (nm / ta) * 100 Imprimir ph, pm
Fin
Problemas Secuenciales
Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.
En un hospital existen tres áreas: Ginecología, Pediatría, Traumatologia. El presupuesto anual del hospital se reparte conforme a la sig. tabla:Área Porcentaje del presupuestoGinecología 40%Traumatología 30%Pediatría 30%
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.
Ejercicios Propuestos
El dueño de una tienda compra un articulo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.
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.
Todos los lunes, miércoles 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.
Ejercicios Propuestos
Comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Esta comparación se puede hacer contra otra variable o contra una constante, según se necesite.
Estructuras condicionales
Se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma:
Estructuras condicionales Simples
Permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición.
Estructuras condicionales Compuestas
Si …… Indica el comando de comparación Condición… Indica la condición a evaluar entonces… Precede a las acciones a realizar cuando se
cumple la condición
acción(es)…… Son las acciones a realizar cuando se cumple o no la condición
si no……… Precede a las acciones a realizar cuando no se cumple la condición
Estructuras condicionales
Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.
Inicio
Leer p_int, cap
int = cap * p_int
si int > 7000 entonces
capf = cap + int
fin-si
Imprimir capf
fin
Ejercicios: Condicionales Simples
Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
Inicio Leer calif1, calif2, calif3 prom = (calif1 + calif2 + calif3)/3 Si prom >= 70 entonces
Imprimir “alumno aprobado” si no
Imprimir “alumno reprobado” Fin-si
Fin
Ejercicios: Condicionales Simples
En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿ Cual será la cantidad que pagara una persona por su compra?.
Inicio
Leer compra
Si compra > 1000 entonces
desc = compra * 0.20
si no
desc = 0
fin-si
tot_pag = compra - desc
imprimir tot_pag
Fin
Ejercicios: Condicionales Simples
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 mas de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.
Inicio
Leer ht
Si ht > 40 entonces
he = ht - 40
ss = he * 20 + 40 * 16
si no
ss = ht * 16
Fin-si
Imprimir ss
Fin
Ejercicios: Condicionales Simples
Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%.
Calcular el total que una persona debe pagar en un llantera, si el precio de cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o mas.
En un supermercado se hace una promoción, 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.
Ejercicios Propuestos
Una empresa quiere hacer una compra de varias piezas de la misma clase a una fabrica de refacciones. La empresa, dependiendo del monto total de la compra, decidirá que hacer para pagar al fabricante.
Si el monto total de la compra excede de $500 000 la empresa tendrá la capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagara solicitando un crédito al fabricante.
Si el monto total de la compra no excede de $500 000 la empresa tendrá capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara solicitando crédito al fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la
cantidad que se le pague a crédito.
Ejercicios Propuestos