Documento/Email Para uso compartido Público
Educación
tecnológica
Unidad 1
Conceptos Básicos de Programación
Deivys Guillermo Morales Uribe
1
Documento/Email Para uso compartido Público
Contenidos
Tema 1: Introducción a los lenguajes de programación
Tema 2: Algoritmos
Tema 3: Programación estructurada
Conclusiones
Prueba tu conocimiento
Bibliografía
2
Documento/Email Para uso compartido Público
Tema 1
Introducción a los lenguajes de
programación
Los lenguajes de programación son sistemas formales diseñados para expresar
instrucciones que una computadora puede seguir. Estos lenguajes actúan
como intermediarios entre los seres humanos y las máquinas, permitiendo la
creación de programas y software. Su objetivo principal es facilitar la
comunicación efectiva entre los desarrolladores y las computadoras,
brindando un marco estructurado para especificar algoritmos y procesos.
El conocimiento de lenguajes de programación puede ofrecer numerosos
beneficios en el mundo laboral, independientemente del campo profesional,
como lo son: Habilidades Técnicas Versátiles, Resolución de Problemas,
Automatización y Eficiencia, Colaboración Interdisciplinaria, Competitividad
en el Mercado Laboral y Emprendimiento Tecnológico entre otros
3
Documento/Email Para uso compartido Público
Los lenguajes de programación
Los lenguajes de programación son conjuntos de reglas y símbolos utilizados
para comunicarse con las computadoras y darles instrucciones precisas para
realizar tareas específicas. Estos lenguajes actúan como intermediarios entre
la mente humana y la ejecución de operaciones en una máquina
Tipos de lenguajes
Los lenguajes de programación se pueden clasificar en varios tipos según su
nivel de abstracción y el propósito para el cual fueron diseñados. Aquí hay
algunas categorías principales
4
Documento/Email Para uso compartido Público
Conceptos importantes
5
Documento/Email Para uso compartido Público
En resumen, los lenguajes de programación son herramientas fundamentales
que permiten a los desarrolladores expresar soluciones a problemas mediante
la creación de software. La elección de un lenguaje depende de los requisitos
del proyecto, la preferencia del desarrollador y las características específicas
que ofrece cada lenguaje
6
Documento/Email Para uso compartido Público
Tema 2
Algoritmos
Un algoritmo es un conjunto preciso y ordenado de pasos o reglas definidas
que describe cómo realizar una tarea o resolver un problema específico. En
términos más simples, es una secuencia de instrucciones que se siguen para
realizar una tarea particular o alcanzar un objetivo determinado. Los
algoritmos son fundamentales en la ciencia de la computación y la
programación, ya que proporcionan la base para el diseño y la implementación
de software.
Los algoritmos pueden encontrarse en diversas áreas de la vida cotidiana y no
solo en la informática. Por ejemplo, las recetas de cocina, las instrucciones de
ensamblaje de muebles o las direcciones para llegar a un lugar específico son
todos ejemplos de algoritmos en el sentido más amplio de la palabra. En el
ámbito de la informática, los algoritmos son esenciales para resolver
problemas, ordenar datos, realizar búsquedas y ejecutar una variedad de
tareas computacionales
7
Documento/Email Para uso compartido Público
Un algoritmo es una secuencia de pasos bien definidos y ordenados que
describe la ejecución de una tarea o la resolución de un problema específico.
Es una receta detallada que guía la realización de una serie de operaciones
para lograr un resultado deseado.
Un ejemplo sencillo de un algoritmo:
8
Documento/Email Para uso compartido Público
Representación de un algoritmo
Un algoritmo se puede representar de varias maneras, dentro de ellas las más
reconocidas son a través de pseudocódigo o de diagramas de flujo.
Pseudocódigos
Un pseudocódigo es un lenguaje de programación simple y no específico que
se utiliza para describir un algoritmo de manera clara y comprensible, sin tener
que seguir la sintaxis de un lenguaje de programación real. Es una herramienta
útil para planificar y expresar la lógica de un algoritmo antes de implementarlo
en un lenguaje de programación específico.
Veamos algunos ejemplos:
9
Documento/Email Para uso compartido Público
Un algoritmo usando pseudocódigos que muestre como preparar un café:
En este pseudocódigo sencillo, cada paso es secuencial y representa una
acción simple en el proceso de preparación del café. No hay ciclos ni
condicionales ya que, en este caso, la preparación del tinto sigue un flujo lineal
sin decisiones complejas o repeticiones. Cabe mencionar que en situaciones
más complejas o en algoritmos que involucren toma de decisiones, se podrían
incorporar estructuras como condicionales o ciclos según sea necesario
Un algoritmo mediante pseudocódigo donde se lean 2 números, luego los
sume y finalmente mostrarlos por pantalla
10
Documento/Email Para uso compartido Público
En este pseudocódigo simple, estamos utilizando la operación de entrada
(Leer) para obtener dos números del usuario, luego calculamos la suma de
esos dos números y finalmente mostramos el resultado mediante la operación
de salida (Mostrar). Este ejemplo sigue la estructura básica de secuencia y
muestra cómo se pueden realizar operaciones aritméticas simples en un
pseudocódigo
Un algoritmo en pseudocódigo que muestre como cruzar una calle, en este
caso, utilizaremos una estructura iterativa para simular esperar a que el
semáforo esté en verde
En este pseudocódigo, La estructura iterativa "Mientras" representa la acción
de esperar a que el semáforo esté en verde. Mientras el semáforo no esté en
verde, se seguirá mostrando el mensaje "Esperar a que el semáforo esté en
verde".
11
Documento/Email Para uso compartido Público
Una vez que el semáforo está en verde (la condición es falsa), el programa sale
del bucle y procede a la siguiente instrucción, que es mostrar el mensaje
"Cruzar la calle".
Este es un ejemplo muy simple y no tiene en cuenta otros factores que podrían
estar involucrados en cruzar la calle, como mirar a ambos lados o esperar a
que los autos se detengan. La simplicidad es intencional para ilustrar la
estructura básica del pseudocódigo. En la práctica, un algoritmo más detallado
y preciso sería necesario para modelar con mayor realismo el proceso de
cruzar la calle
Diagramas de flujo
Un diagrama de flujo es una representación gráfica de un algoritmo o proceso,
que utiliza símbolos para representar diferentes pasos o actividades y flechas
para indicar la dirección del flujo. Los diagramas de flujo son herramientas
visuales que ayudan a comprender y comunicar de manera efectiva la lógica y
la secuencia de un procedimiento
Los diagramas de flujo son una elección popular para representar algoritmos
debido a su capacidad para proporcionar una visualización clara y concisa de
la lógica de un proceso. Estos diagramas utilizan símbolos gráficos para
representar operaciones, decisiones y el flujo general del algoritmo, lo que
facilita su comprensión tanto para programadores como para personas no
técnicas. La simplicidad inherente de los símbolos permite una representación
visual fácil de entender, lo que es valioso al planificar la lógica de un algoritmo
12
Documento/Email Para uso compartido Público
antes de comenzar la implementación; Los diagramas de flujo también son
útiles en entornos educativos, ya que ofrecen una herramienta didáctica
efectiva para enseñar conceptos de programación y algoritmos.
Algunos de los símbolos necesarios para crear diagramas de flujo se
representan en la siguiente tabla:
Símbolo Nombre Uso
Indica el principio y el fin del proceso, Por
Terminal tanto, un diagrama de flujo debe de iniciar y
terminar con este símbolo
Proceso Ilustra una operación, una actividad o una
tarea que conlleva a un cambio.
Representan las decisiones que deben
tomarse para seguir uno u otro curso dentro
Decisión del proceso (dentro del rombo se debe de
escribir la pregunta)
Entrada Representa la entrada de la información
Salida Representa la salida de la información
Indica la conexión con otros procesos o
Conectores procesos que se han realizado en distintas
páginas
Flecha de Conecta (Une) cada símbolo e indica el
conexión sentido o flujo del proceso
13
Documento/Email Para uso compartido Público
Para representar un algoritmo usando pseudocódigos se deben de usa al
menos las figuras indicadas en el cuadro anterior.
Veamos algunos ejemplos:
Un algoritmo usando diagramas de flujo que muestre como preparar un café:
Un algoritmo mediante diagrama de flujo donde se lean 2 números, luego
los sume y finalmente mostrarlos por pantalla
14
Documento/Email Para uso compartido Público
Un algoritmo usando diagrama de flujo que muestre como cruzar una calle,
en este caso, utilizaremos una estructura iterativa para simular esperar a que
el semáforo esté en verde
En resumen: Un algoritmo es un conjunto de instrucciones o reglas definidas
y no ambiguas, ordenadas y finitas que permite, típicamente, solucionar un
problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o
actividades
15
Documento/Email Para uso compartido Público
Tema 3
Programación estructurada
La programación estructurada es un paradigma de programación que se basa
en la idea de dividir un programa en estructuras más pequeñas y manejables,
utilizando principalmente tres estructuras de control fundamentales:
secuencia, selección e iteración. Este enfoque se desarrolló en la década de
1960 como respuesta a las preocupaciones sobre la complejidad y la falta de
mantenibilidad de los programas grandes y no estructurados.
16
Documento/Email Para uso compartido Público
Características de la programación estructurada
Ejercicio de aplicación: en el siguiente ejemplo se aplicarán secuencias,
condicionales y bucles:
Se desea realizar un algoritmo usando diagrama de flujo para ir al trabajo
Secuencia
17
Documento/Email Para uso compartido Público
Es importante tener en cuenta que existen muchas rutas para dar
cumplimiento a objetivo deseado, también es importante tener en cuenta
que pueden ¿haber subrutinas que harán del problema algo complejo o
sencillo.
Condicionales
Realizaremos una subrutina del problema anterior, “Subrutina – ir al trabajo
si es día laboral”
Bucles
Existen diferentes tipos de bucles (for, while, entre otros) que dependerá del
lenguaje de programación a utilizar, pero la idea de un bucle siempre es la
misma.
Realizaremos una subrutina del problema anterior, “Subrutina – puede o no
tomar el bus para ir a trabajo”
18
Documento/Email Para uso compartido Público
Ejercicio de aplicación: se desea crear un diagrama de flujo básico, que genere
el proceso para realizar una llamada telefónica y comunicar un mensaje,
implementar secuencias, condicionales y bucles
19
Documento/Email Para uso compartido Público
Ejercicio de aplicación: se desea realizar un algoritmo usando diagrama de
flujo y pseudocódigo para solicitar la edad de una persona y luego mostrarla
por pantalla
Pseudocódigo Diagrama de flujo
Inicio
Entrar datos, edad
Leer edad
Mostrar “su edad es “+ edad
Fin
Ejercicio de aplicación: se desea realizar un algoritmo que sume 2 números
capturados desde el teclado y que luego muestre el resultado por pantalla,
realizar el pseudocódigo y el diagrama de flujo.
20
Documento/Email Para uso compartido Público
Pseudocódigo Diagrama de flujo
Inicio
Variables num1, num2
Total = 0
Entrar num1, num2
Leer num1, num2
Calcular Total = num1 + num2
Mostrar Total.
Fin
Ejercicio de aplicación: Dada la siguiente ecuación matemática se desea
realizar el pseudocódigo y el diagrama de flujo. Ecuación: 2x + 3
21
Documento/Email Para uso compartido Público
Pseudocódigo Diagrama de flujo
Inicio
Leer x
Proceso = 2 * x + 3
Imprimir proceso
fin
En resumen: La programación estructurada es un paradigma de programación
que se basa en el uso de tres estructuras de control básicas: secuencia,
condicional e iterativa. Los programas estructurados son más fáciles de
entender, analizar y depurar que los programas escritos utilizando otros
paradigmas de programación
22
Documento/Email Para uso compartido Público
Conclusiones
• En la introducción a los lenguajes de programación, se destaca su papel
como herramientas que permiten a los programadores comunicarse con
las computadoras. Estos lenguajes actúan como intermediarios,
traduciendo instrucciones humanas a un formato comprensible por la
máquina. La elección del lenguaje adecuado depende del contexto y los
requisitos del proyecto, y existen diversos tipos de lenguajes, cada uno
con sus ventajas y desventajas.
• Los algoritmos son fundamentales en informática, con aplicaciones
diversas desde inteligencia artificial hasta optimización de procesos. Su
eficiencia y evolución constante son clave, pero también surgen desafíos
éticos, como la transparencia y la equidad en su implementación
• En el contexto de la programación estructurada, se destaca su enfoque
organizado y modular para el desarrollo de software. Este paradigma
fomenta la creación de programas mediante la utilización de estructuras
de control como secuencias, selecciones y bucles
23
Documento/Email Para uso compartido Público
Prueba tus conocimientos
A continuación, encontrarás 3 preguntas sobre los temas vistos, estas no son
calificables, tienen como fin que puedas verificar tu aprendizaje.
Discute las respuestas con tus compañeros y docente durante el encuentro
sincrónico.
1. ¿Cuál es el papel principal de los lenguajes de programación?
• Realizar operaciones matemáticas avanzadas
• Facilitar la comunicación entre humanos.
• Actuar como intermediarios para traducir instrucciones humanas a un
formato comprensible por la máquina.
2. ¿Qué caracteriza a la programación estructurada?
• Enfoque organizado y modular con estructuras de control como
secuencias, selecciones y bucles
• Enfoque caótico y desorganizado.
• Uso excesivo de bucles sin estructuras de control.
24
Documento/Email Para uso compartido Público
3. ¿Qué es un algoritmo?
• Una herramienta física.
• Un conjunto de pasos bien definidos para realizar una tarea.
• Un lenguaje de programación.
25
Documento/Email Para uso compartido Público
Bibliografía
• Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009).
"Introduction to Algorithms" (3ra ed.). The MIT Press
• Sebesta, R. W. (2012). "Conceptos de Lenguajes de Programación"
(10ma ed.). Pearson Educación
• Díaz, E., Rubio, M., & Arciniegas, J. L. (2008). "Programación
Estructurada en Lenguaje C". Alfaomega
26
Documento/Email Para uso compartido Público
27