2. 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
3. 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.
4. 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.
5. 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
6. 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 ordenador
Permite desarrollar algoritmos computacionales
facilmente entendibles.
7. 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.
8. 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.
9. 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)
10. 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.
11. Algoritmos para ser
ejecutados por Personas
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
12. 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
15. Ejercicios propuestos
Algoritmo para realizar la siguiente suma
491
+ 25
516
1. 5+1=6
2. Anotar 6
3. 2+9=11
4. Anotar 1 y guardar 1
5. 4+0=4
6. 4+1=5
7. Anotar 5
8. El resultado es 516
16. Ejercicios propuestos
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.
17. 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.
18. Los pasos anteriores se pueden descomponer en
otros pasos más simples
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
19. Ejercicios propuestos
Diseñar algoritmos que
resuelvan los posibles
problemas que se
presentan para:
1. ir al cine
2. Reparar un pinchazo
de una bicicleta.
Regresar……
20. 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……
21. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE
ALGORITMOS
1
2
3
4
Tipos de datos
Expresiones
Operadores y operandos
Identificadores como localidades de memoria
22. Tipos De Datos
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.
23. Tipos de Datos Simples
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, 97
Ejemplo: 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
24. 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’, '+', '-', '*', '/',
25. Expresiones
Son combinaciones de constantes, variables, símbolos
de operación, paréntesis y nombres de funciones
especiales.
Una expresión consta de operadores y operandos
Ejemplo: a+(b + 3)/c , (10 - (2 + 4)) , (a < b) and (b < c)
Según el tipo de datos que manipulan, se clasifican en:
Aritméticas
Relaciónales
Lógicas
26. Operadores y Operandos
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: +, -,*, /, Mod
Ejemplo: 12 Mod 7 = 5
27. Prioridad de los Operadores
Aritméticos
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 = ?
28. Operadores Relaciónales
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
30. Operadores Lógicos
Se utilizan para establecer relaciones entre valores
lógicos (Verdadero=True, Falso=False).
Pueden ser resultado de una expresión relacional.
33. EJERCIOS PROPUESTOS
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)))
34. Identificadores
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 Identificador
1. 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
35. Constantes y Variables
Constante: Es un dato numérico o alfanumérico que
no cambia durante la ejecución del programa.
Ejemplo: pi = 3.1416 , Path= “D:ADSIDB”
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
36. Clasificación de las 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
37. 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
38. 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
39. Técnicas para la formulación
de algoritmos
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
40. Estructuras algorítmicas
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.
41. Estructuras Secuenciales
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.
43. Partes de Un Algoritmo
DECLARACION DE VARIABLE
INICIO
Tipo de Dato: Identificador,
Identificador
FIN PROGRAMA
44. 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
45. 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 = Valor
FIN
46. Partes de Un Algoritmo
Salida de Datos
si 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.
INICIO
Tipo de Dato: Identificador
Leer Identificador
Identificador = Valor
Imprimir “El valor es:”,
Identificador1
47. Partes de Un Algoritmo
DECLARACION DE VARIABLES
Ejercicios:
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.
48. Problemas Secuenciales
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
49. 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
50. 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: tc
Real: d , tp
Leer tc
d = tc * 0.15
tp = tc - d
Imprimir tp
Fin
51. 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
52. Problemas Secuenciales
Un maestro desea saber que porcentaje de hombres y que
porcentaje de mujeres hay en un grupo de estudiantes.
Inicio
Entero: nh, nm, ta
Real: ph, pm
Leer nh, nm
ta = nh + nm
ph = (nh / ta) * 100
pm = (nm / ta) * 100
Imprimir ph, pm
Fin
53. Ejercicios Propuestos
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 presupuesto
Ginecología
40%
Traumatología
30%
Pediatría
30%
Obtener la cantidad de dinero que recibirá cada área,
para cualquier monto presupuestal.
54. 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.
55. Estructuras condicionales
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.
57. Estructuras condicionales Compuestas
Permiten elegir entre dos opciones o
alternativas posibles en función del
cumplimiento o no de una determinada
condición.
58. Estructuras condicionales
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
59.
Ejercicios: Condicionales
Simples se genera por concepto
Un hombre desea saber cuanto dinero
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
60. 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
61. 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
62.
Ejercicios: Condicionales
Simples semanal, el cual se
Un obrero necesita calcular su salario
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
63. Ejercicios Propuestos
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.
64. 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.