Sei sulla pagina 1di 13

Algoritmos y Programación

Sesión 1
Conociendo el contexto de la programación
Ing. José Nicolás González Jiménez
Definición
• La palabra algoritmo deriva del matemático árabe Al’Khwarizmi, del
siglo VIII

• Tratado de los números, combina la rigurosidad de los griegos con la


simplicidad de los indios.

• Ada Lovelace (Augusta Ada Byron) creó el primer algoritmo


programable en la máquina analítica de Babbage (1843)
Características
• Lista de instrucciones claras y definidas para resolver un problema.
• Cada paso se escribe de manera no ambigua.
• Número finito de pasos.
• Se ejecuta un paso a la vez.
• Se evalúa cada paso y se determina el siguiente paso.
Experimento
• Observa el siguiente video
• Describe el video en uno o dos párrafos.
• Comparte tu descripción con un compañero y opinen con que se puede
mejorar.
Descripción del video
• Es un video de 1:13 minutos de duración.
• Inicia con el nombre de Telmex y el programa al que pertenece.
• En el segundo 4, después de una transición, el video inicia con un fondo en
franjas azules y letras negras grandes, mostrando la pregunta que pretende
explicar.
• Todo el video es narrado por un voz masculina relacionada con un personaje
animado que es el que da las explicaciones.
• Durante el video se utilizan símbolos y dibujos que se relacionan con lo que
dice el personaje animado.
• El video tiene 12 transiciones.
• Al final muestra de nuevo el nombre y logo de Telmex y una dirección de
internet.
Ejemplo

Se realiza un juego en el salón de clases.


Dicho juego se llevará a cabo por parejas y será de eliminación directa.
Para la primer ronda de cada alumno, se utilizará el orden encontrado en la lista de asistencia.
Cada par de alumnos pensará en un número entero del 1 al 100.
El profesor pensará en otro número entero.
El alumno con el número más alejado del que el profesor dice quedará descalificado.
Después de la primer ronda, los alumnos que no hayan sido descalificados seguirán compitiendo en parejas hasta que
sólo un alumno sea el ganador.
Ejemplo
¿Es claro el ejercicio anterior?

¿Qué le modificarías para mejorarlo?


Software
• “Parte blanda”
• Elementos intangibles de la computadora
• Conjunto de programas que permiten el uso del hardware
• Tipos:
• Base (o de sistema)
• De utilidades
• De aplicación
Software base (o de sistema)
• Controla el funcionamiento de programas
• Administra recursos de hardware
• Ejemplos:
• Sistemas operativos
• Software de diagnóstico
• Software de mantenimiento
Software de utilidades

• Amplían la funcionalidad del sistema operativo


• Herramientas de servicio
• Interactúan con el sistema de archivos
• Ejemplos:
• Liberador de espacio en disco duro
• Recuperación de archivos borrados
• Defragmentación de discos
• Compresión de datos
• Antivirus
• Protectores de pantalla
• Escritura en CD/DVD
• Ensambladores
• Compilares
• Intérpretes
Software de aplicación
• Programas para aplicaciones específicas
• Generalmente no interactúan con el hardware ni con el sistema de
archivos
• La interacción se da por medio del SO
• Desarrollados en base a la lógica de negocios
• Ejemplos:
• Suite Office
• Sistemas ERP y CRM
• Páginas web
• Juegos
Lenguajes de programación

Interpretes:
• Analiza el código fuente y lo ejecuta directamente.
• No previene errores de sintaxis ni lógicos en el código.
• No genera un archivo de aplicación.
• La ejecución del código depende de la presencia del interprete.
Compiladores:
• Analiza el código fuente y lo traduce en lenguaje máquina.
• Previene errores de sintaxis en el código.
• No previene errores lógicos en el código
• Genera un archivo de aplicación o librería.
• Una vez generada la aplicación su ejecución es independiente de la
presencia del compilador.
Conceptos importantes
• Programa: Planificación ordenada de las diferentes partes que componen algo que se va a realizar.
• Código fuente: Conjunto de líneas de texto que son las instrucciones que debe seguir la
computadora para ejecutar un programa.
• Código objeto: Sistema de códigos directamente interpretable por un microprocesador.
• Código ejecutable: Programas o aplicaciones.
• Lenguaje de programación: Lenguaje formal diseñado para realizar procesos que pueden ser
llevados a cabo por computadoras.
• Interprete: Programa informático que analiza y ejecuta código fuente.
• Compilador: Programa informático que traduce un programa escrito en un lenguaje de
programación a otro. Usualmente el segundo es lenguaje máquina.

Potrebbero piacerti anche