Conceptos Fundamentales de Programación
La programación consiste en desarrollar programas para procesar datos, se
utiliza para designar la creación de programas a pequeña escala, el desarrollo de
sistemas complejos se denomina ingeniería de software.
La programación
pretende que sus programas sean útiles y eficientes, un buen programador
llegará al mismo resultado con un mínimo de código y de la forma más clara y
lógica posible.
Explicación Sencilla de Programación
- ¿ Qué es la programación?
- Es el proceso de crear programas que trabajan con datos (por
ejemplo, aplicaciones que organizan, calculan o transforman
información).
- Cuando hablamos de programas pequeños o simples, usamos el
término programación.
- Cuando esos programas crecen y se hacen más complejos, como
sistemas grandes de empresas, hablamos de ingeniería de software.
- ¿ Qué busca un buen programa?
- Que sea útil (resuelva un problema real) y eficiente (que lo haga rápido
y sin desperdiciar recursos).
- Un buen programador intenta hacer lo mismo con menos líneas de
código, y que ese código sea claro y lógico, fácil de entender por otros
Lenguajes de Programación y Código Fuente
Los lenguajes de programación están conformados por una serie de reglas
semánticas y sintácticas que serán utilizadas por el programador y a través de las
cuales creará un programa o subprograma, las instrucciones que forman dicho
programa son conocidas como código fuente.
Explicación Sencilla de Lenguajes de Programación
- ¿ Qué es un lenguaje de programación? Es como un idioma que entienden
tanto el programador como la computadora. Está formado por:
- Reglas sintácticas: La forma correcta de escribir el código (como la
gramática).
- Reglas semánticas: El significado de lo que se escribe (como el
sentido de las frases).
- ¿ Para qué sirve? El programador usa estas reglas para crear programas o
subprogramas (partes pequeñas de un programa grande) que le dicen a la
computadora qué hacer.
- ¿ Qué es el código fuente? Son las instrucciones escritas en ese lenguaje,
línea por línea. Es lo que ves cuando estás programando: lo que tú escribes
para que la computadora lo entienda y lo ejecute.
Lenguajes de Bajo Nivel
Lenguajes de bajo nivel. Son lenguajes totalmente dependientes de la máquina, es
decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o
utilizar en otras máquinas, al estar prácticamente diseñados a la medida del
hardware, aprovechan al máximo las características del mismo. Dentro de este grupo
se encuentran:
- El lenguaje máquina: este lenguaje ordena a la máquina las operaciones
fundamentales para su funcionamiento, consiste en la combinación de 0 y 1
para formar las órdenes entendibles por el hardware de la máquina.
- El lenguaje ensamblador: es un derivado del lenguaje máquina y está formado
por abreviaturas de letras y números llamadas nemotécnicos.
Explicación Sencilla de Lenguajes de Bajo Nivel
- ¿ Qué son los lenguajes de bajo nivel?
- Son lenguajes que hablan directamente con el hardware de la
computadora.
- Están hechos a la medida de una máquina específica, así que no se
pueden usar en otras sin hacer modificaciones.
- La ventaja es que aprovechan al máximo la capacidad del hardware,
como la memoria o el procesador.
- Tipos de lenguajes de bajo nivel:
- 3 4
Lenguaje máquina:
- Es el más básico.
- Usa solo ceros y unos (binario).
- Es el lenguaje que la computadora realmente entiende.
- 0
Lenguaje ensamblador:
- Es como una versión "más legible" del lenguaje máquina.
- Usa abreviaciones llamadas nemotécnicos (por ejemplo, MOV,
ADD, SUB).
- Es más fácil para el ser humano, pero aún muy cercano al
hardware.
Lenguajes de Alto Nivel
Lenguajes de alto nivel
Se encuentran más cercanos al lenguaje natural que al
lenguaje máquina, están dirigidos a solucionar problemas mediante el uso de EDD's
que son estructuras que pueden cambiar de tamaño durante la ejecución del
programa.
Estos lenguajes solo necesitan un traductor que entienda el código
fuente como las características de la máquina, suelen usar diferentes tipos de datos
para la programación.
Explicación Sencilla de Lenguajes de Alto Nivel
- ¿ Qué son los lenguajes de alto nivel?
- Son lenguajes de programación que se parecen mas al idioma
humano, como el español o el inglés, que al lenguaje binario.
- Son mas faciles de aprender y escribir porque se enfocan en resolver
problemas, no en controlar directamente el hardware.
- ¿ Qué son las EDD's?
- Son Estructuras Dinámicas de Datos, como listas o pilas.
- Estas estructuras pueden cambiar de tamaño mientras el programa
se está ejecutando, lo que las hace muy útiles.
- ¿ Cómo funcionan estos lenguajes?
- Necesitan un traductor (como un compilador o intérprete) que:
- Entienda el código fuente que tú escribes.
- Lo adapte al tipo de computadora para que se ejecute
correctamente.
- Estos lenguajes usan diferentes tipos de datos, por ejemplo:
- Números enteros, texto, decimales, etc.
Programación Estructurada
La programación estructurada
Es un paradigma de programación orientado a
mejorar la claridad, calidad y tiempo de desarrollo de un programa de computador,utilizando únicamente subrutinas y tres estructuras:
- Secuencia
- Selección
-
Iteración
Explicación Sencilla de Programación Estructurada
- ¿ Qué es un paradigma de programación? Es una manera o estilo de organizar
el código para desarrollar programas.
- ¿ Qué es la programación estructurada? Es un estilo de programación que
busca que el código sea:
- Claro: fácil de entender.
- De calidad: bien hecho, sin errores innecesarios.
- Rápido de desarrollar: siguiendo una estructura ordenada que facilita
programar sin perderse.
- Se basa en tres estructuras clave:
- Secuencia: instrucciones que se ejecutan una tras otra en orden.
- Selección: tomar decisiones usando estructuras como if, else,
switch, etc.
- Iteración: repetir instrucciones con bucles como for, while, etc.
- Ejemplo del código de la diapositiva: Este fragmento muestra una estructura
de selección (if-else), que decide qué operación hacer dependiendo de si A es
mayor que B.
Tipos de Estructuras de Datos
- Estructuras Estáticas: No cambian de tamaño. Ejemplo: vectores.
- Estructuras Dinámicas: Sí pueden crecer o reducirse. Ejemplo: listas
enlazadas.
Clasificación Adicional de Estructuras de Datos
Programación Procedural
Programación procedural
Es un tipo de programación en donde el código se
divide en porciones llamadas "procedimientos" o "funciones". Cada vez que aparece
la palabra void indica el comienzo de una función.
Explicación Sencilla de Programación Procedural
- ¿ Qué es la programación procedural? Es un estilo de programación en el que
el código se organiza en funciones, también llamadas procedimientos. Cada
función agrupa instrucciones que realizan una tarea específica. Esto facilita
entender y mantener el programa.
- ¿ Qué significa void? Es una palabra clave en Java (y otros lenguajes) que
indica que una función no regresa ningún valor. Por ejemplo, void setup() es
una función que configura algo, pero no entrega ningún resultado directo.
- ¿ Qué hace la función setup()?
- Define el tamaño de la ventana: size(600, 600).
- Llama varias veces a otra función: delay_candelas( ... ) con los mismos
parámetros.
- ¿ Y delay_candelas( ... )?
- Esta función recibe 6 parámetros (coordenadas, líneas y candelas).
- Dentro hay un bucle for, que dibuja varias líneas usando la función
line() desplazándolas un poco cada vez.
Programación Orientada a Objetos
Programación orientada a objetos
La programación basada en objetos es muy
parecida a la procedural, con la diferencia de que agrupas las variables y las
funciones en un tipo de elemento llamado "clase".
La estructura clase está definida
con la palabra class.
Una clase permite definir un "objeto" que tiene propiedades y
comportamientos.
Luego, durante el programa, puedo definir variables que
pertenezcan a estos tipos de objetos.
Explicación Sencilla de Programación Orientada a Objetos
- ¿ Qué es la Programación Orientada a Objetos (POO)? Es un estilo de
programación donde creamos clases que representan objetos del mundo
real o de la lógica del sistema. Cada objeto tiene:
- Propiedades: tambien llamadas atributos (por ejemplo, el color de un
coche).
- Comportamientos: también llamadas métodos o funciones (por
ejemplo, arrancar el motor).
- Diferencia con la programación procedural:
- La programación procedural organiza el código por funciones.
- La programación orientada a objetos agrupa tanto las funciones como
las variables dentro de una clase.
- ¿ Qué es una clase? Es como un molde o plantilla para crear objetos. Se
define con la palabra clave class. Ejemplo básico en Java:
Clases y Objetos en Programación
Después de identificar los requerimientos de una aplicación, debemos
identificar las clases y los objetos necesarios para construir la aplicación.
CLASE
Es la abstracción de las propiedades y operaciones que ejecutan los
objetos del mundo real.
Es como un modelo que sirve de patrón para crear más
objetos.
Explicación Sencilla de Clases
- ¿ Qué se hace tras definir que debe hacer una aplicación? Se identifican las
clases y objetos que van a representar las partes clave del sistema que
queremos construir.
- ¿ Qué es una clase?
- Es como un molde que describe:
- Las propiedades que tendrá cada objeto (por ejemplo, el color,
tamaño).
- Las operaciones o comportamientos que podrá ejecutar (por
ejemplo, caminar, encenderse, calcular).
- Es un concepto abstracto: no es un objeto real, sino su plantilla.
- ¿ Qué representa? Una representación lógica y organizada de algo del
mundo real. Por ejemplo, una clase Alumno podría tener:
- Propiedades: nombre, matrícula, carrera.
- £
Métodos: inscribirse(), estudiar(), presentarExamen().
Definición de Objeto
OBJETO
- Son las instancias de una clase.
- Son los elementos del mundo real
representados en una clase.
Explicación Sencilla de Objetos
- ¿ Qué es un objeto? Un objeto es un ejemplo concreto de una clase. Por
ejemplo, si Coche es una clase, entonces miCoche es un objeto.
- ¿ Para qué sirven? Representan cosas reales o lógicas: una persona, un
producto, un archivo, un usuario.
- ¿ Qué contiene un objeto?
- Propiedades (atributos): como el nombre, color, precio.
- Comportamientos (métodos): como guardar(), enviar(), eliminar().
Programación Orientada a Eventos
Programación orientada a eventos
En este tipo de programación, el programa se
compone de procedimientos asociados a eventos.
Los eventos pueden ser
generados por la aplicación o por el usuario.
Ejemplos de procedimientos:
-
setup()
- loop()
- mousePressed()
Explicación Sencilla de Programación Orientada a Eventos
- ¿ Qué es la Programación Orientada a Eventos (POE)? Es un estilo de
programación en el que el flujo del programa depende de eventos (acciones o
sucesos), como:
- Presionar un botón.
- Mover el mouse.
- Tocar una pantalla.
- Recibir una señal interna del sistema.
- ¿ Qué es un evento? Es una acción que ocurre y que puede ser detectada por
el programa. Los eventos pueden venir:
- Del usuario (hacer clic, escribir, tocar).
- *
De la aplicación (como cuando termina un temporizador o se
completa un proceso).