2. Todos en este país deberían aprender a
programar una computadora… porque eso te
enseña a pensar.
Steve Jobs.
3. Preguntas desencadenantes
¿En qué
consiste la
programación?
¿Qué necesito
saber para
programar?
¿Por qué es
importante saber
programar?
Hay que ser un
genio para
programar?
4. Habilidades del siglo XXI
presentes en la programación:
• Creatividad
• Innovación
• Resolución de problemas
• Comunicación
• Colaboración
• Razonamiento cuantitativo
• Pensamiento lógico
Fuente: What Are 21st Century Skills? (aeseducation.com) Fuente: www.edacom.mx/cuales-son-habilidades-siglo-21
5. La programación es un proceso por el cual se escribe mediante un lenguaje de
programación una serie de instrucciones para que la computadora realice una
tarea determinada.
• Codificar el algoritmo usando
instrucciones propias de un
lenguaje de programación.
• Probar el programa.
• Validar los resultados obtenidos.
• Afinar y documentar.
• Representar la secuencia lógica
de las instrucciones (plan) usando
• Diagramas de flujo
• Seudocódigo
• Formular claramente el problema
• Especificar resultados
• Identificar información disponible
• Definir procesos necesarios.
1. Analizar
el
problema
2. Diseñar
un
algoritmo
3. Traducir
el
algoritmo
4. Depurar
el
programa
6. Los Algoritmos y los Programas
• Un Algoritmo es un conjunto finito de instrucciones y ordenadas secuencialmente, que
debe llevar a cabo un computador para lograr un resultado. Debe ser: realizable,
comprensible y preciso.
• Un programa de computador consiste de una serie de instrucciones muy precisas y
escritas en un lenguaje de programación que el computador entiende (Ejemplo: C++,
Java, Phyton, etc.).
• Tanto los algoritmos y los programas obedecen a la siguiente estructura básica:
Entradas Procesos Salidas
7. Tipos de Algoritmos
• Existen dos tipos de algoritmos.
Algoritmos convencionales:
Son los que hacen las personas todos los días en sus diferentes actividades
para solucionar problemas del trabajo o de la vida cotidiana.
Se escriben en lenguaje natural y numerando cada paso.
Algoritmos computacionales:
Son los que se elaboran para convertirlos en programas de computadora a
través de los lenguajes de programación, para dar solución a problemas de
cálculo o de manejo de información.
Se pueden representar mediante seudocódigo y diagramas de flujo
8. Ejemplo de Algoritmo
Plantee un algoritmo que permita adquirir un boleto para ir a cine.
Objetivo: Adquirir un boleto para ir a cine.
9. Ejercicios propuestos
1. Plantee un algoritmo que explique
los pasos para CARGAR UNA TAREA EN
EL PIZARRÓN DE TAREAS de Integra.
2. Ordene de forma correcta los
siguientes pasos del algoritmo para ir a
clase (agregue numeración)
• Tomar el transporte
• Vestirse
• Inicio
• Bañarse
• Salir de casa
• Desayunar
• Llegar a la puerta del colegio
• Fin
• Levantarse
• Cepillarse los dientes
• Tomar el morral
10. Al elaborar un Algoritmo…
Cuando se elabora un algoritmo se
debe tener en cuenta lo siguiente:
a. Tener claro cuál es el problema que va
a solucionar.
b. Establecer un objetivo que permita
medir la solución del problema.
c. Elaborar un algoritmo que solucione
el problema.
d. Realizar pruebas al algoritmo para
verificar los resultados.
11. Ejemplo del Ciclo de la Programación
• Elabore un programa que calcule el promedio final de un estudiante
en la asignatura de informática dadas las notas de tres períodos.
• Paso 1: Análisis del problema
• ¿Qué se desea obtener? : El promedio final de un estudiante
• ¿Datos disponibles?: Notas de tres períodos
• ¿Procesos?: Calcular promedio (sumar las notas dadas, dividir el resultado
entre 3)
12. Ejemplo (II)
• Paso 2: Diseñar un Algoritmo
Entradas Identificador Seudocódigo
Nota primer período
Nota segundo período
Nota tercer período
N1
N2
N3
Leer N1
Leer N2
Leer N3
Procesos
1. Calcular la suma de las notas
2. Dividir la suma entre 3 para hallar promedio
S
P
S = N1+N2+N3
P = S/3
Salida
Mostrar el promedio calculado P Escribir P
14. Estructuras de Control
• Las estructuras de control
permiten determinar la
secuencia de ejecución de las
sentencias o instrucciones de un
programa.
• En programación existen tres
tipos de estructuras de control, la
secuencia, las de decisión
(también llamadas selectivas o
condicionales) y las repetitivas.
15. Estructuras condicionales
• Un condicional, como su nombre
lo indica, es una condición para
elegir entre una opción u otra
• En el proceso mental
normalmente se manifiesta con
un “Si”; por ejemplo:
• Si va a llover entonces llevo el
paraguas.
• Si tengo frio entonces me pongo
un abrigo
Inicio
Abrir el agua de la
ducha
Poner la mano debajo
de la ducha
El agua está
caliente
Ducharme
Fin
Si
No
16. Los condicionales en los algoritmos
Actividad práctica - Salir de la caverna
• Piensa en una caverna que tiene una entrada y una salida. Se sabe
también que es todo un laberinto de túneles formados por el paso del
agua a lo largo de muchos años. Se requiere enviar una persona que
pueda explorar la caverna y salir sin dificultades al otro extremo. Para
ello, el grupo de espeleólogos recibe ayuda de una persona que sabe
de algoritmos, quien les entrega un algoritmo llamado “siguiendo la
pared”. Los espeleólogos no saben de algoritmos, pero tú estás en este
grupo. Debes verificar si este conjunto de instrucciones funciona para
salir de una caverna.
17. Los condicionales en los algoritmos
Inicio
Avanzo un paso
¿Puedo seguir
a la izquierda?
¿Hay pared
enfrente?
¿Puedo seguir
a la derecha?
¿Llegué al
final?
Fin
Giro 90° a la izquierda
Giro 90° a la derecha
Giro 180°
No
No
No
No
Si
Si
Si
Si
18. Los condicionales en los algoritmos
Actividad práctica - Salir de la caverna
• Debes realizar las siguientes actividades:
1. Ejecuta el diagrama de flujo paso a paso
2. Mueve un objeto en el laberinto representado por una objeto que tenga claro
cuál es el frente.
3. Ve contando los pasos requeridos para salir del laberinto.
4. Verifica si el algoritmo funciona para ambos laberintos.
5. Terminada la labor, compara el número de pasos dados en los dos laberintos.
19. Cómo funcionan las estructuras
condicionales
• Las 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.
• Cabe mencionar que la comparación se puede hacer contra otra
variable o contra una constante, según se necesite.
• Existen tres tipos básicos:
• Condicionales simples
• Condicionales dobles
• Condicionales múltiples.
20. Manejo de Operadores Relacionales
• Los operadores relacionales se usan para evaluar expresiones
condicionales y se basan en el concepto de verdadero o falso.
• En la siguiente tabla se observan estos operadores y su modo de
interpretación:
21. Manejo de Operadores Lógicos
• Son usados para
concatenar dos o más
expresiones con
operadores relacionales.
• En la siguiente tabla se
observan estos
operadores y su modo de
funcionamiento:
Operador Símbolo Funcionamiento
AND &&
El resultado es verdadero si ambas
expresiones son verdaderas.
OR ||
El resultado es verdadero si alguna
expresión es verdadera.
NOT !
El resultado invierte la condición de la
expresión.
24. Estructura de decisión Anidada
• Una estructura condicional es
anidada cuando por la rama del
verdadero o el falso de una
estructura condicional hay otra
estructura condicional.
• En el ejemplo, si la primera
condición no se cumple pasará a
comprobar la segunda condición.
25. Fuentes
López García, Juan. Guía de Algoritmos y Programación para Docentes.
Recuperado de
http://eduteka.icesi.edu.co/pdfdir/AlgoritmosProgramacion.pdf
MinTIC. Fundamentos de Programación. Currículos exploratorios. Recuperado de
http://aprende.colombiaaprende.edu.co/es/curriculostic.