Skip to content

Programación - 01 - Introducción a la Programación Software. 1DAM. Curso 2022-2023

Notifications You must be signed in to change notification settings

joseluisgs/Programacion-01-2022-2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Programación - 01 - Introducción a la Programación Software

Tema 01 Introducción a la Programación Software. 1DAM. Curso 2022/2023.

imagen

Contenidos

  1. Algoritmos y Programas
  2. Paradigmas de Programación
  3. Fases de la Programación
  4. Tipos de Lenguajes
  5. Compiladores e Intérpretes
  6. Lenguajes más usados

Algoritmos y Programas

Algoritmo: secuencia ordenada de pasos, descrita sin ambigüedades, que conducen a la solución de un problema dado.

Los algoritmos son independientes de los lenguajes de programación y de las computadoras donde se ejecutan. Un mismo algoritmo puede ser expresado en diferentes lenguajes de programación y podría ser ejecutado en diferentes dispositivos. Piensa en una receta de cocina, ésta puede ser expresada en castellano, inglés o francés, podría ser cocinada en fogón o vitrocerámica, por un cocinero o más, etc. Pero independientemente de todas estas circunstancias, el plato se preparará siguiendo los mismos pasos.

La diferencia fundamental entre algoritmo y programa es que, en el segundo, los pasos que permiten resolver el problema, deben escribirse en un determinado lenguaje de programación para que puedan ser ejecutados en el ordenador y así obtener la solución.

Los lenguajes de programación son sólo un medio para expresar el algoritmo y el ordenador un procesador para ejecutarlo. Mediante el lenguaje creramos programas que ejecutan uno o más algoritmos en un sistema específico.

En esencia, todo problema se puede describir por medio de un algoritmo y las características fundamentales que éstos deben cumplir son:

  • Debe ser preciso e indicar el orden de realización paso a paso.
  • Debe estar definido, si se ejecuta dos o más veces, debe obtener el mismo resultado cada vez.
  • Debe ser finito, debe tener un número finito de pasos.

Paradigmas de Programación

Paradigma de programación: es un modelo básico para el diseño y la implementación de programas. Este modelo determinará como será el proceso de diseño y la estructura final de un programa. Son las reglas del juego. Tienes una pelota o balón y una portería, pero no es lo mismo jugar al fútbol que al balonmano. Pero en ambos tu objetivo es introducir el balón en la portería y anotar más que tu rival. Igual pasa con los lenguajes, existen reglas y según las usemos podremos hacer unas cosas u otras. Tipos: Programación Estructurada, Programación Modular, Programación Declarativa Programación Orientada a Objetos, Programación Reactiva, etc.

Fases de Programación

El proceso de creación de software puede dividirse en diferentes fases:

  • Fase de resolución del problema: Análisis y Diseño.
  • Fase de implementación: Codificación y Pruebas.
  • Fase de explotación y mantenimiento.

Tipos de Lenguajes

Cercanía al programador

  • Alto nivel: C, C++, Java, Kotlin, Python, etc.
  • Bajo nivel: ensamblador, máquina, etc.

Generaciones

  • Primera generación: lenguaje maquina.
  • Segunda generación: se crearon los primeros lenguajes ensambladores.
  • Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol…
  • Cuarta generación: son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje.
  • Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Ej. LISP

Traductores: Compiladores e Intérpretes

La traducción de un programa escrito en un lenguaje de programación a un lenguaje de máquina se realiza mediante un traductor. Este traductor puede ser un compilador o un intérprete. Sus fases principales, son:

  • Análisis léxico: se analiza el programa fuente y se separa en tokens.
  • Análisis sintáctico: se analiza la estructura del programa y se comprueba que la sintaxis sea correcta.
  • Análisis semántico: se comprueba que el programa tenga sentido y que no haya errores.
  • Optimización: se realiza una serie de optimizaciones para mejorar el rendimiento del programa.

Lenguaje compilado

Gracias al compiladores se convierte el código a binarios que se ejecutan en el sistema operativo.

Lenguaje interpretado

Los lenguaje interpretados, necesita de dicho intérprete, que lea la instrucción que se necesita ejecutar, realice el proceso de traducción de la misma y la ejecute.

Lenguaje mixto o intermedio

Es un lenguaje que se compila a un código objeto o intermedio y se interpreta en una máquina virtual . Ej. Java o Kotlin.

Referencias

Recursos

Autor

Codificado con 💖 por José Luis González Sánchez

Twitter GitHub

Contacto

Cualquier cosa que necesites házmelo saber por si puedo ayudarte 💬.

              

¿Un café?

joseluisgs




Licencia de uso

Este repositorio y todo su contenido está licenciado bajo licencia Creative Commons, si desea saber más, vea la LICENSE. Por favor si compartes, usas o modificas este proyecto cita a su autor, y usa las mismas condiciones para su uso docente, formativo o educativo y no comercial.

Licencia de Creative Commons
JoseLuisGS by José Luis González Sánchez is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
Creado a partir de la obra en https://github.com/joseluisgs.

About

Programación - 01 - Introducción a la Programación Software. 1DAM. Curso 2022-2023

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published