ÍNDICE
1. Introducción a la programación 1.1. ¿Qué es la programación?
- 1.2. ¿Por qué es importante aprender a programar?
- 1.3. Breve historia de la programación
- 1.4. Fundamentos de la programación
VIII. Conclusiones
A. Resumen de lo aprendido B. Perspectivas futuras en la programación C. Recursos para seguir aprendiendo.
I. Introducción a la programación
Aprender programación tiene varios beneficios, entre ellos:
Habilidad en demanda: La programación es una habilidad altamente valorada en la economía actual, con una gran demanda en la industria tecnológica y otras áreas relacionadas.
Creatividad y solución de problemas: La programación permite a las personas crear soluciones innovadoras para resolver problemas complejos y fomenta la creatividad y la resolución de problemas.
Pensamiento lógico: La programación requiere pensamiento lógico y estructurado, lo que ayuda a desarrollar habilidades cognitivas que se pueden aplicar en otros aspectos de la vida.
Mejora del rendimiento académico: Aprender programación puede mejorar el rendimiento académico en matemáticas, ciencias y otras áreas.
Trabajo en equipo: La programación a menudo se realiza en equipo, lo que fomenta la colaboración y el trabajo en equipo.
Emprendimiento: La programación también puede ayudar a las personas a desarrollar sus propios negocios y emprendimientos tecnológicos.
En resumen, aprender programación es beneficioso tanto para el desarrollo personal como profesional y se ha convertido en una habilidad fundamental en la economía actual.
1.3. Breve historia de la programación
En la siguiente tabla se resumen algunos períodos y lenguajes importantes en dicha evolución:
Charles Babbage, conocido como el Padre de las computadoras, diseñó una máquina totalmente mecánica capaz de realizar cualquier tipo de cálculo matemático: la Máquina Analítica.
Aunque la máquina analítica no fue construida hasta 150 años después por el Museo de Londres, Ada Lovelace fue la primera persona que se interesó por la inexistente máquina de Babbage y desarrolló un algoritmo capaz de ser utilizado en ella. De allí que Ada Lovelace sea considerada como la primera programadora de ordenadores de la historia.
Nacido el 2 de Noviembre de 1815 en Lincoln, Lincolnshire (Inglaterra), publicó en el año 1854 las leyes del pensamiento sobre las cuales se basan las teorías matemáticas de Lógica y Probabilidad. El álgebra de Boole consiste en un método para resolver problemas de lógica que recurre solamente a los valores binarios 1 y 0 y a tres operadores: AND (y), OR (o) y NOT (no). Comenzaba el álgebra de la lógica, llamada Algebra Booleana que ahora encuentra aplicación en la construcción de ordenadores, circuitos eléctricos, programación, etc.
Claude Shannon
El trabajo de Boole llegó a ser un paso fundamental en la revolución de los ordenadores cuando Claude Shannon, en 1938, demostró como las operaciones booleanas elementales se podían representar mediante circuitos conmutadores eléctricos, y cómo la combinación de estos podía representar operaciones aritméticas y lógicas complejas. Shannon demostró asimismo que el álgebra de Boole se podía utilizar para simplificar circuitos conmutadores.
Alan Mathison Turing (1912-1954) diseñó una calculadora universal para resolver cualquier problema, la "máquina de Turing". Tuvo mucha influencia en el desarrollo de la lógica matemática. En 1937 hizo una de sus primeras contribuciones a la lógica matemática y en 1943 plasmó sus ideas en una computadora que utilizaba tubos de vacío.
Johann Ludwig Von Neumann (1903-1957), genio de las matemáticas, quien tuvo el honor de asistir a las clases de Albert Einstein en la universidad de Berlín. Autor de trabajos de lógica simbólica, matemática pura y aplicada, física y tecnología, publicó un artículo acerca del almacenamiento de los programas, en 1945. Proponía que los programas se guardaran en memoria al igual que los datos, en forma binaria. Esto tuvo como consecuencia el aumento de velocidad de los cálculos y la ausencia de errores producidos por fallos mecánicos al programar la máquina mediante cables.
Entre algunos lenguajes importantes que fueron desarrollados en este período se encuentran:
- Años 40:
1943 - Plankalkül, diseñado, pero sin implementar durante medio siglo1943 - se crea el sistema de codificación ENIAC.
1949 - 1954 -- una serie de conjuntos de instrucciones nemotécnicas, como la de ENIAC, comenzando en 1949 con C-10 para BINAC (que luego evolucionaría en UNIVAC). Cada conjunto de instrucciones estaba destinado a un fabricante específico.
- Años 50:
- Fortran (Formula Translation): (1955), creado por John Backus. Utilizado para cálculos numéricos y usado en aplicaciones científicas y de ingeniería.
- LISP (List Procesor): (1958), creado por John McCarthy. Usado en Inteligencia Artificial, su elementos principal es la Lista.
- COBOL (Common Business-Oriented Language): fue el primer lenguaje en el que no había que programar directamente en código binario, y fue Grace Murray Hoper en 1952, una oficial de la Marina de Estados Unidos desarrolló el primer compilador, un programa que puede traducir enunciados parecidos al inglés en un código binario comprensible para la maquina llamado COBOL, está orientado principalmente a los negocios, o informática de gestión, recursos humanos, etc.
- Lenguaje Ensamblador: lenguaje de bajo nivel que usa instrucciones básica para programar circuitos integrados, microcontroladores, etc.
- Años 60:
- BASIC (Beginner’s All-purpose Symbolic Instruction Code): Lenguaje orientado a la enseñanza de los conceptos básicos de programación.
- 1970
- Pascal (nombrado así en honor al matemático y físico Francés Blaise Pascal): Lenguaje de alto nivel usado para la enseñanza de la programación estructurada. Pascal es un lenguaje de programación creado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos.
- 1972
- C (Basado en un programa anterior llamado “B”): Es uno de los lenguajes más populares y del él derivan otros como C++, java, etc. Creado entre 1969 y 1972 en los Laboratorios Bell, es uno de los más utilizados en el mundo. Si bien es ejecutado en la mayoría de los sistemas operativos, es de propósito general, con lo cual es muy flexible.
- 1983
- C++ (Formalmente “C con clases”; ++ es el operador de incremento en “C”): Una extensión de C con mejoras y orientado a objetos.
- 1987
- Perl (“Pearl” ya estaba ocupado): Aplicaciones de bases de datos, programación web, programación de gráficos, administración de sistemas, etc. Creado Larry Wall, Pearl es una sigla que significa Practical Extraction and Report Language. Es un lenguaje de propósito general que sirve practicamente para todo, como puede ser la generación y tratamiento de ficheros, para analizar datos y textos, y muchas otras cosas más. Si bien hay proyectos complejos y completos escritos en Pearl, son los menos.
- 1991
- Python ( en honor a la compañía de comedia británica Monty Python): Usado para desarrollo de aplicaciones web, seguridad informática, etc. Un lenguaje de programación multiplataforma y multiparadigma, que también es de propósito general. Esto significa que soporta la orientación a objetos, la programación imperativa y funcional. Su simpleza, legibilidad y similitud con el idioma inglés lo convierten en un gran lenguaje ideal para principiantes.
- 1994
- PHP Creado en 1994 por el programador canadiende Rasmus Lerdorf, nunca pretendió ser un lenguaje de programación, sino que fue creado con la intención de contar con un conjunto de herramientas para el mantenimiento de las páginas web. Es de fácil acceso para nuevos programadores y a su vez ofrece a los más experientes muchas posibilidades.
- 1995
- Java (inspirado en la taza de café consumida mientras se desarrollaba el lenguaje): Actualmente uno de los lenguajes más usados para aplicaciones web.
Los fundamentos de la programación son los conceptos básicos y las herramientas esenciales que se utilizan para crear programas informáticos. Algunos de los fundamentos de la programación incluyen:
Tipos de datos: Los tipos de datos son la forma en que se representan los valores en un programa. Por ejemplo, los tipos de datos más comunes son números enteros, números de punto flotante, cadenas de texto y booleanos.
- Variables y constantes: Las variables y constantes son nombres que se utilizan para referirse a valores en un programa. Las variables pueden cambiar de valor a lo largo del tiempo, mientras que las constantes tienen un valor fijo.
Operadores aritméticos y lógicos: Los operadores aritméticos se utilizan para realizar operaciones matemáticas, como sumas, restas, multiplicaciones y divisiones. Los operadores lógicos se utilizan para comparar valores, como igualdad, desigualdad, mayor que, menor que, entre otros.
Estructuras de control de flujo: Las estructuras de control de flujo se utilizan para controlar el flujo de ejecución de un programa. Las estructuras más comunes son las sentencias if/else, while y for.
Funciones y procedimientos: Las funciones y procedimientos son bloques de código que se pueden reutilizar en un programa. Las funciones reciben uno o varios valores de entrada y devuelven un valor de salida, mientras que los procedimientos no devuelven ningún valor.
Estructuras de datos: Las estructuras de datos se utilizan para organizar y almacenar datos en un programa. Algunas de las estructuras más comunes son los arrays o matrices, las listas enlazadas, las pilas y las colas.
Programación orientada a objetos: La programación orientada a objetos es un paradigma de programación que se basa en la creación de objetos, los cuales tienen propiedades y métodos. La POO se utiliza para crear programas más modulares y fáciles de mantener.
Estos son algunos de los fundamentos de la programación que cualquier programador debe conocer para poder crear programas informáticos.
Compilación es el proceso encargado de traducir un programa en código fuente a programa en código objeto (que usa el lenguaje binario).
Compilador: programa que traduce un programa escrito en lenguaje de alto nivel a lenguaje de máquina.
El lenguaje pseudocódigo es un lenguaje de programación simplificado que se utiliza para expresar algoritmos de forma clara y estructurada, sin necesidad de conocer un lenguaje de programación específico. El pseudocódigo se utiliza como un lenguaje intermedio entre el lenguaje natural y el lenguaje de programación real.
El objetivo del pseudocódigo es ayudar a los programadores a diseñar algoritmos de forma más sencilla y clara, permitiéndoles enfocarse en la lógica y la estructura de un programa, sin preocuparse por detalles técnicos del lenguaje de programación que se utilizará para implementar el programa.
El pseudocódigo no tiene una sintaxis fija, pero generalmente se basa en una combinación de lenguaje natural y elementos de programación, como estructuras de control de flujo, variables y operaciones matemáticas.
El uso del pseudocódigo puede ser especialmente útil para programadores principiantes o para aquellos que necesitan comunicar ideas de programación a personas no técnicas. Además, el pseudocódigo se utiliza con frecuencia en la enseñanza de la programación en escuelas y universidades, para ayudar a los estudiantes a comprender los conceptos básicos de la programación antes de aprender un lenguaje de programación real.
Aquí te presento un ejemplo sencillo de un programa escrito en pseudocódigo que calcula el promedio de tres números:
scss# Inicio
num1, num2, num3, promedio: numérico
// Se declaran las variables
Escribir("Ingresa el primer número: ")
Leer(num1)
// Se piden los valores al usuario
Escribir("Ingresa el segundo número: ")
Leer(num2)
Escribir("Ingresa el tercer número: ")
Leer(num3)
promedio = (num1 + num2 + num3) / 3 // Se calcula el promedio
Escribir("El promedio es: ", promedio) // Se muestra el resultado
# Fin
Este ejemplo utiliza variables numéricas para almacenar los valores y el promedio de los tres números. Luego se piden los valores al usuario mediante la función Leer
, se realiza la operación matemática para calcular el promedio y se muestra el resultado mediante la función Escribir
. La estructura del programa sigue una secuencia lógica de instrucciones que se indican mediante comentarios y estructuras de control de flujo.
2.3.- Análisis de problemas en programación
El análisis de problemas en programación es el proceso de entender y definir claramente el problema que se quiere resolver con un programa. Este proceso es esencial antes de comenzar a escribir el código, ya que permite identificar los requisitos y restricciones que deben considerarse durante la programación.
Aquí te presento algunos pasos comunes que se siguen en el análisis de problemas en programación:
Definir el problema: En este paso se debe comprender claramente el problema que se quiere resolver. Se debe considerar qué es lo que se espera que haga el programa, quién lo usará y en qué situaciones.
Identificar los requisitos: En este paso se deben identificar los requisitos que el programa debe cumplir, como los datos de entrada que se necesitan, los cálculos o procesamiento de datos que se deben realizar y los datos de salida que se esperan obtener.
- Identificar las restricciones: En este paso se deben identificar las restricciones que deben considerarse durante el diseño del programa, como el tiempo de ejecución, los recursos de hardware y software disponibles, los límites de memoria y otros requisitos específicos.
Definir el alcance: En este paso se debe definir el alcance del programa, es decir, qué partes del problema se van a resolver y qué partes quedan fuera del alcance.
Identificar alternativas: En este paso se deben identificar diferentes formas de abordar el problema y evaluar las ventajas y desventajas de cada una.
Diseñar la solución: En este paso se debe diseñar una solución al problema que se ajuste a los requisitos y restricciones identificados. Esto incluye la definición de la estructura del programa, los algoritmos y las estructuras de datos necesarias.
Verificar y validar la solución: En este paso se deben verificar y validar la solución diseñada, asegurándose de que se cumplan los requisitos y restricciones identificados, y corrigiendo cualquier problema identificado durante la verificación.
Al seguir estos pasos, se puede realizar un análisis de problemas efectivo en programación, lo que permite diseñar soluciones eficaces y eficientes que cumplan con las necesidades del usuario y las restricciones técnicas y de recursos disponibles.
Los diagramas de flujo son una herramienta gráfica utilizada en programación para representar la secuencia de pasos de un algoritmo o proceso. Se utilizan para visualizar el flujo de control de un programa y permiten entender y comunicar la lógica detrás de un programa de manera clara y concisa.
Un diagrama de flujo se compone de diferentes símbolos y conectores, que representan diferentes tipos de acciones y decisiones. Los símbolos se conectan mediante flechas que indican la dirección del flujo de control del programa.
Los símbolos más comunes utilizados en los diagramas de flujo son:- Inicio/Fin: Representa el inicio o fin del programa o proceso.
- Proceso: Representa una operación o acción que se realiza en el programa.
- Decisión: Representa una bifurcación en el flujo del programa, que depende de una condición lógica.
- Entrada/Salida: Representa la entrada o salida de datos del programa.
- Conector: Se utiliza para unir diferentes partes del diagrama de flujo.
Los diagramas de flujo son útiles para la programación ya que permiten:
- Visualizar y entender la lógica detrás de un programa de manera clara y concisa.
- Identificar los puntos críticos y los errores en el flujo del programa.
- Facilitar la comunicación y colaboración entre diferentes miembros de un equipo de programación.
- Planificar y diseñar la estructura del programa antes de comenzar a escribir el código.
En resumen, los diagramas de flujo son una herramienta poderosa y útil en programación para diseñar y planificar la estructura del programa y comunicar la lógica detrás de un algoritmo o proceso de manera clara y concisa.
Los lenguajes de programación son un conjunto de reglas y estructuras sintácticas y semánticas que se utilizan para escribir programas de computadora. Estos lenguajes permiten a los programadores comunicarse con la computadora y darle instrucciones sobre cómo realizar tareas específicas.
Hay muchos lenguajes de programación diferentes, cada uno con sus propias características, fortalezas y debilidades. Algunos de los lenguajes de programación más populares son:
Java: Un lenguaje de programación orientado a objetos muy popular utilizado para desarrollar aplicaciones web y móviles, así como para crear software de escritorio.
Python: Un lenguaje de programación interpretado de alto nivel y fácil de aprender, utilizado para una amplia gama de aplicaciones, desde ciencia de datos hasta inteligencia artificial.
C++: Un lenguaje de programación de bajo nivel utilizado para programación de sistemas, juegos y aplicaciones que requieren un alto rendimiento.
- JavaScript: Un lenguaje de programación interpretado que se utiliza principalmente para la programación web del lado del cliente, como la validación de formularios y la creación de animaciones.
PHP: Un lenguaje de programación interpretado diseñado específicamente para el desarrollo de aplicaciones web.
Ruby: Un lenguaje de programación interpretado de alto nivel utilizado principalmente para el desarrollo web y la automatización de tareas.
Swift: Un lenguaje de programación de código abierto desarrollado por Apple, utilizado para el desarrollo de aplicaciones iOS, macOS y watchOS.
Kotlin: Un lenguaje de programación moderno que se ejecuta en la máquina virtual de Java y se utiliza principalmente para el desarrollo de aplicaciones Android.
Hay muchos otros lenguajes de programación disponibles y cada uno tiene sus propias fortalezas y debilidades. La elección del lenguaje de programación depende de muchos factores, como el tipo de aplicación que se está desarrollando, la experiencia del programador y las necesidades específicas del proyecto.
Existen varios tipos de lenguajes de programación, cada uno con sus propias características y usos. Aquí se presentan algunos de los tipos más comunes:
Lenguajes de programación de bajo nivel: Son lenguajes que están muy cerca del lenguaje de máquina (binario) y que permiten un control muy preciso del hardware. Ejemplos: lenguaje ensamblador, lenguaje de máquina.
- Lenguajes de programación de alto nivel: Son lenguajes que están más alejados del lenguaje de máquina y que permiten escribir programas de manera más abstracta. Ejemplos: Java, Python, Ruby, C++, etc.
Lenguajes de programación interpretados: Son lenguajes que no necesitan ser compilados y que se ejecutan directamente en la máquina virtual o intérprete. Ejemplos: Python, JavaScript, Ruby, etc.
Lenguajes de programación compilados: Son lenguajes que necesitan ser compilados antes de poder ejecutarse. El proceso de compilación convierte el código fuente en código máquina, que luego se puede ejecutar directamente en la computadora. Ejemplos: C++, Java, etc.
Lenguajes de programación orientados a objetos: Son lenguajes que utilizan conceptos de objetos y clases para modelar problemas y soluciones. Ejemplos: Java, C++, Python, Ruby, etc.
Lenguajes de programación funcionales: Son lenguajes que se basan en el paradigma de programación funcional, donde las funciones son el elemento principal de la programación y se utilizan para resolver problemas. Ejemplos: Haskell, Lisp, etc.
Lenguajes de programación de scripting: Son lenguajes que se utilizan para escribir pequeñas aplicaciones o scripts que se ejecutan en sistemas operativos o programas. Ejemplos: Python, Perl, Ruby, etc.
Estos son solo algunos de los tipos de lenguajes de programación disponibles, y existen muchos otros que se utilizan en diferentes ámbitos y situaciones. La elección del lenguaje de programación depende del tipo de proyecto, las necesidades específicas del mismo, y la experiencia y preferencias del programador.
3.2.- Lenguaje de programación SCRATCH
Scratch es un lenguaje de programación visual y un entorno de programación creado por el MIT para enseñar a los niños los conceptos básicos de la programación de manera divertida e interactiva. Scratch utiliza bloques de código gráficos que se pueden arrastrar y soltar para crear programas.
Los programas de Scratch se construyen mediante la colocación de bloques de programación en un área de trabajo llamada "escenario". Cada bloque representa una acción o evento que se puede llevar a cabo en el programa. Algunos ejemplos de bloques incluyen "Mover 10 pasos", "Cambiar color de fondo", "Reproducir sonido" y "Si tocas el objeto".
Scratch también permite a los usuarios crear personajes y objetos personalizados para sus programas. Los usuarios pueden seleccionar una biblioteca de objetos y sonidos predefinidos, o crear sus propias imágenes y sonidos.
El primer paso es crear una cuenta en Scratch para trabajar online en la web: https://scratch.mit.edu/
2.- Inicia sesión con tu cuenta de usuario para acceder al entorno de programación:
liveworksheets.com
No hay comentarios:
Publicar un comentario