SlideShare una empresa de Scribd logo
LENGUAJES DE
PROGRAMACIÓN
Profesora: Teresa Garzón
Departamento de Tecnología e Informática
FUNDAMENTOS DE PROGRAMACIÓN
1. ¿QUÉ ES UN PROGRAMA? ELEMENTOS.
2. ALGORITMOS
3. PSEUDOCÓDIGO Y DIAGRAMAS DE FLUJO
(DFD)
4. LENGUAJES DE PROGRAMACIÓN
1. CLASIFICACIÓN
2. GENERACIONES
3. LENGUAJES MÁS EMPLEADOS. INDICE
TIOBE
5. TRADUCTORES: COMPILADOR E
INTÉRPRETE
6. INTERFAZ GRÁFICA DE USUARIO
7. DEPURACIÓN DE CÓDIGO
1.¿QUÉ ES UN PROGRAMA?
 Un programa es una secuencia de pasos o instrucciones
para realizar una tarea específica en una computadora.
 Para escribir programas empleamos los lenguajes de
programación.
 Un programa permite especificar de manera precisa sobre
qué datos debe operar una computadora, cómo deben ser
almacenados o transmitidos y qué acciones debe tomar
bajo una variada gama de circunstancias.
 Los elementos son: variables, constante, sentencias
2.ALGORITMO
 Un algoritmo es un conjunto ordenado de operaciones que
permite hacer un cálculo y hallar la solución de un tipo de
problemas.
Ejemplos de algoritmos:
 El algoritmo para cálculo de la división,
 El algoritmo para hallar las raíces cuadradas…. (es el
método de resolución del problema).
 Algoritmo para resolver una ecuación de segundo
grado.
 Calcular el área de un rectángulo, triángulo…
Fases de un algoritmo:
3.PSEUDOCÓDIGO Y DFD
 El pseudocódigo es una descripción de alto nivel
compacta e informal del algoritmo de un programa.
 Consiste en escribir el algoritmo en lenguaje natural,
de forma comprensible, describiendo cada paso del
programa.
 Un Diagrama de Flujo de Datos o DFD es la
representación gráfica de un algoritmo
Ejemplo pseudocódigo
Algoritmo Suma // Suma dos valores y devuelve la suma
Escribir "Ingrese el primer numero:"
Leer A
Escribir "Ingrese el segundo numero:"
Leer B
// Se calcula la suma y se guarda el resultado en la variable C mediante la asignación
C  A+B
// finalmente, se muestra el resultado, precedido de un mensaje para avisar al usuario,
todo en una sola instrucción Escribir
Escribir "El resultado es: ",C
FinAlgoritmo
ALGORITMO: AREA TRIÁNGULO
DFD DEL ALGORITMO SUMA
DIAGRAMA DE FLUJO DE DATOS
LENGUAJES DE PROGRAMACIÓN
Un lenguaje de programación es un lenguaje formal que
permite dar órdenes o instrucciones al ordenador
para que ejecute un programa.
Ejemplos de lenguajes:
• Fortran (1957), Cobol (1959)
• Basic (1964) para estudiantes
• Pascal, publicado en 1970
• C (1972), C++(objetos), C#
• JavaScript, PHP (1997), ASP (desarrollo web)
• Python(1989)
• Visual Basic (1991)
• Java (1995),
• Gambas (VB para Linux, 2002)
4. LENGUAJES DE PROGRAMACIÓN
• Un lenguaje de programación es un lenguaje formal
que explica una serie de instrucciones para que una
computadora (ordenador, tablet, smartphone u otros
dispositivos móviles y electrónicos) generen diversas
clases de datos.
• Los lenguajes de programación pueden usarse para
crear programas que pongan en práctica algoritmos
específicos, los cuales controlan el comportamiento
físico y lógico de una computadora.
Algunos lenguajes
LENGUAJE USOS VENTAJAS INCONVENIENTES IDE
JAVA Aplicaciones web, aplic.
de escritorio, en
servidores, móviles
Popularidad y
demanda
Lenguaje estable
Gran comunidad
de apoyo
Plataforma Java, con decenas
de miles de clases. Precisa
mayor capacidad de
pensamiento analítico.
Perdona mucho menos los
fallos.
Netbeans ,
Eclipse
C++ Alto rendimiento, portable,
permite llamadas al sistema,
ensamblador…
Multiplataforma
multiparadigma,
muy extendido
lenguaje muy amplio (con
muchos años y muchas líneas
de código), El manejo de
librerías es más complicado
que otros lenguajes como Java
o .NET. No visual
Visual Studio,
DevC++
C# Aplic.móviles, desarrollo de
juegos y software
empresarial
Fácil de
aprender, API
deventanas
La plataforma .NET con
muchas clases,
El despliegue en ciertos
entornos puede ser
complejo
Visual Studio
PYTHON Aplic web y escritorio, IA,
machine learning,
scripts, drones, robótica,
webscripting, análisis de
big data,videojuegos…
Sintaxis sencilla,
gran comunidad,
módulos para
todo
No indicado para
aplicaciones
móviles
Thonny,
Anaconda,
Visual Studio
Code,
Eclipse,PyDev
El índice Tiobe
• El índice TIOBE o índice de la comunidad de programación
TIOBE mide la popularidad de los lenguajes de
programación. Fue creado por la compañía TIOBE, con
sede en Eindhoven, Países Bajos.
• Hay 3 candidatos al título de lenguaje del año 2022:
Python, C y C++.
• Python y C han ganado multiples veces anteriormente,
C++ sólo lo hizo en 2003. El incremento de popularidad de
C++ va en detrimetno de Java. C++ sobrepasa a Java por
1ª vez en la historia del TIOBE index, pasando Java a la
posición 4 ahora.
• Es la primera vez que Java no es parte del top 3 desde que
empezó el ranking del TIOBE index en 2001.
https://www.tiobe.com/tiobe-index/
Tiobe Index – diciembre 2022
Ranking dec-2022
Lenguajes más usados en 2021
https://www.tiobe.com/tiobe-index/
LENGUAJES MÁS USADOS EN 2019
• El Índice TIOBE se elabora a partir de diversos criterios o
parámetros, por ejemplo, el número de ingenieros cualificados
en determinado lenguaje, las búsquedas que hacen los
usuarios a través de los buscadores solicitando información de
los distintos lenguajes de programación, la demanda de cursos
o los lenguajes que están siendo más usados.
4.1. CLASIFICACIÓN DE LOS LENGUAJES
• 1. Lenguaje máquina: lo comprende directamente la
máquina (computadora) y utiliza el alfabeto binario, es
decir, el 0 y el 1.
• 2. Lenguajes de bajo nivel: a diferencia del lenguaje
máquina es más sencillo de utilizar, pero dependen
mucho de la máquina o computadora. Ensambladores
• 3. Lenguajes de programación de alto nivel: son más
fáciles de aprender porque se emplean palabras o
comandos del lenguaje natural, generalmente del
inglés. Este es el caso del Python, C++,BASIC, C, Java…
Según el nivel de abstracción, los lenguajes de programación
se clasifican en:
LENGUAJES DE BAJO NIVEL
• LENGUAJE MÁQUINA: binario ejecutable
• LENGUAJE ENSAMBLADOR: Consiste en un
conjunto de nemónicos que representan
instrucciones básicas para el microprocesador.
Depende de la arquitectura del ordenador. (código de
instrucciones máquina, nº de bits, direcc. Memoria…)
LENGUAJES DE ALTO NIVEL
• Son lenguajes independientes de la
arquitectura del ordenador.
• Permiten al programador olvidarse del
funcionamiento interno de la máquina (código
de instrucciones máquina, nº de bits, direc.
Memoria…)
• Se dividen en generaciones
• C/C++, Java, Python, Basic, Javascript….
LENGUAJES DE ALTO NIVEL
Los tipos de lenguajes de programación de alto nivel, según
su utilidad y filosofía, son:
• Lenguajes imperativos: Cobol, Pascal, C y Ada.
• Lenguajes declarativos: el Lisp y el Prolog.
• Lenguajes de programación orientado a objetos: Java,
Smalltalk y el C++.
• Lenguajes orientados al problema: son aquellos lenguajes
específicos para gestión.
• Lenguajes de programación natural: son los nuevos
lenguajes que pretender aproximar el diseño y la
construcción de programas al lenguaje de las personas.
(lenguajes de la IA: Lisp, Prolog)
CLASIFICACIÓN SEGÚN EL PARADIGMA
DE PROGRAMACIÓN
• LENGUAJES IMPERATIVOS: especifican un algoritmo
para resolver el problema. Ej: C, Pascal, PHP, Basic…
• LENGUAJES DECLARATIVOS: especifican las
propiedades que la solución debe tener, pero no el
detalle de la implementación.Ej:Lisp, Prolog
• LENGUAJES ORIENTADOS A OBJETOS: el programa
es una colección de objetos que interactúan
enviándose mensajes. Java, C++, Python…
TIPOS DE LENGUAJES DE
PROGRAMACION LENG. DE BAJO NIVEL
LENG. DE ALTO NIVEL
LENG. COMPILADOS
LENG. INTERPRETADOS
DECLARATIVOS
IMPERATIVOS
ORIENTADOS A
OBJETOS
4.2.GENERACIONES DE LENGUAJES
• Primera generación: el lenguaje máquina (binario).
• Segunda generación: lenguaje ensamblador de bajo nivel. Se usan en
kernels y unidades de hardware, además de ser usados comúnmente
para edición de vídeo, gráficos y videojuegos.
• Los lenguajes de tercera generación - 3GL, son lenguajes de alto nivel,
como C, C++, C#, Java, BASIC, JavaScript y Visual Basic.
• Los lenguajes de cuarta generación - 4GL, son lenguajes que consisten
en declaraciones similares a las declaraciones hechas en un lenguaje
humano. Los lenguajes de cuarta generación se usan comúnmente en la
programación de bases de datos y los ejemplos de scripts incluyen Unix
Shell, Perl, PHP, Python, Ruby y SQL.
• Los lenguajes de quinta generación - 5GL, son lenguajes de
programación que contienen herramientas visuales para ayudar a
desarrollar un programa y lenguajes de la IA. Ejemplos de lenguajes de
quinta generación incluyen Mercury, OPS5, Lisp y Prolog.
• En resumen, los lenguajes de las generaciones 1GL y 2GL son también
de bajo nivel y los de las generaciones 3GL, 4GL y 5GL son de alto nivel.
GENERACIONES DE LENGUAJES
• 1GL: Lenguaje máquina (binario)
• 2GL: Lenguaje Ensamblador
• 3GL: son lenguajes de programación de alto nivel imperativo,
pero mucho más utilizados y vigentes en la actualidad (Python
1989, Java (1995), ALGOL 8, PL/I, PASCAL, MODULA).
• 4GL:Lenguajes de cuarta generación: usados en aplicaciones
de gestión y manejo de bases de datos: NATURA, SQL (1974), y
lenguajes de scripts, como Unix Shell, Perl, PHP, Python (1989),
Ruby (1995)
• Lenguajes de quinta generación: creados para la inteligencia
artificial y para el procesamiento de lenguajes naturales (LISP,
PROLOG).
1GL.
1940-50
2GL.
1950-60
3GL
1970-80-90
4GL:BBDD y
scripts
5GL: IA y
Visuales
5. TRADUCTORES
• Todos los lenguajes de programación generan
un programa que para ser ejecutado debe ser
traducido a binario.
• Un traductor convierte el código del programa
(código fuente) a binario (código maquina)
• Los traductores se dividen en 2 categorías:
• COPILADORES
• INTÉRPRETES
COMPILADORES E INTERPRETES
• COMPILADOR: traduce todo el programa a código máquina
y genera un archivo ejecutable. (programa.exe)
• VENTAJAS: mayor velocidad de ejecución. Genera un
ejecutable
• Ejemplos: Javascript, Basic
COMPILADOR
ARCHIVO EJECUTABLE .EXE
CÓDIGO FUENTE
• Un intérprete es un programa capaz de analizar y ejecutar otros
programas. Va interpretando instrucción a instrucción, y
normalmente no guardan el resultado de dicha traducción. Basic,
Javascript, Python son interpretados.
•Inconvenientes:
• Más lento que el compilador.
• El programa intérprete debe estar en memoria
INTÉRPRETE
MÁQUINA VIRTUAL JAVA
• En el caso de Java, el código fuente es traducido a
bitecodes (código intermedio). Éste es interpretado por
la Máquina Virtual Java (JVM)
• Ventajas: portabilidad (multiplataforma)
SEGÚN LA FORMA DE EJCUCIÓN
El código fuente debe ser traducido a
código máquina. Hay dos formas:
• LENGUAJES COMPILADOS
• LENGUAJES INTERPRETADOS
6. INTERFAZ GRÁFICA DE USUARIO
• GUI: Graphical User Interface
• Sistema visual de ventanas, menús,
controles…y demás elementos gráficos que
componen la interfaz gráfica de la aplicación.
• Con ella interactúa el usuario
• Debe ser amigable: fácil de usar.
IDE: integrated Development
Environment
• ENTORNO DE DESARROLLO INTEGRADO
• Programa que sirve para crear otros
programas
• Software de desarrollo
• Incluye opciones para editar código, compilar,
depurar, generar ejecutable…
• Depurar es identificar errores en tiempo de
compilación para corregirlos (debugger).
IDE Eclipse
7. DEPURACIÓN DEL CÓDIGO
•Depurar código significa eliminar errores del
código.
•DEPURACIÓM: Proceso de detección y corrección
de errores en el código antes de convertir el código
fuente a binario (ejecutable).
•Debbuger: parte del compilador que permite
depurar, con puntos de ruptura, ejecución paso a
paso….
8. PROGRAMACIÓN MODULAR
•Al aplicar la programación modular, un problema
complejo debe ser dividido en varios subproblemas
más simples, y estos a su vez en otros subproblemas
más simples aún.
•Esto debe hacerse hasta obtener subproblemas lo
suficientemente simples como para poder ser resueltos
fácilmente con algún lenguaje de programación.
•Esta técnica se llama refinamiento sucesivo, divide y
vencerás o análisis descendente (Top-Down).
•Un 'módulo' es cada una de las partes de un
programa que resuelve uno de los subproblemas en
que se divide el problema complejo original.
9. REUTILIZACIÓN DE CÓDIGO
• Las funciones o módulos son reutilizables: se
pueden usar en todos los programas que las
llamen.
• Ejemplos: función potencia(), función raíz(),
función NumAleatorio(), función
imprimirMensajeError()
10. POO
• La programación orientada a objetos (POO) es un
modelo de programación que organiza el diseño de
software en torno a datos u objetos, en lugar de
funciones y lógica.
• Un objeto se puede definir como un campo de datos
que tiene atributos y comportamiento únicos.
• La programación orientada a objetos se centra en los
objetos que los desarrolladores quieren manipular en
lugar de enfocarse en la lógica necesaria para
manipularlos. Este enfoque de programación es
adecuado para programas que son grandes, complejos
y se actualizan o mantienen activamente.

Más contenido relacionado

La actualidad más candente

Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
Deivis Romero
 
Aula 02 : hardware.
Aula 02 : hardware.Aula 02 : hardware.
Aula 02 : hardware.
Rubens Vinicius Conte
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
PraShant Kumar
 
Manual de formateo de sistema operativo
Manual de formateo de sistema operativoManual de formateo de sistema operativo
Manual de formateo de sistema operativo
Jhon Ortiz
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01
Facultad de Ciencias y Sistemas
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Discovering Computers: Chapter 12
Discovering Computers: Chapter 12
Anna Stirling
 
Programming
ProgrammingProgramming
Programming
abdulkareem_nm
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
Sivant Kolhe
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
rulfur
 
EJERCICIOS DE EXCEL
EJERCICIOS DE EXCELEJERCICIOS DE EXCEL
EJERCICIOS DE EXCELTeffy CB
 
Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)
JhensOliver
 
Metodologias da Engenharia do Conhecimento - Aula 2/3
Metodologias da Engenharia do Conhecimento - Aula 2/3Metodologias da Engenharia do Conhecimento - Aula 2/3
Metodologias da Engenharia do Conhecimento - Aula 2/3
Roberto C. S. Pacheco
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Raja Hamid
 
Taller en clase grado 11 1 p
Taller en clase grado 11 1 pTaller en clase grado 11 1 p
Taller en clase grado 11 1 p
Lic. Oney Begambre
 
CapíTulo 1 IntroduçãO à InformáTica
CapíTulo 1   IntroduçãO à InformáTicaCapíTulo 1   IntroduçãO à InformáTica
CapíTulo 1 IntroduçãO à InformáTicaguest501765
 
Programacion Orientada a Objetos y a Eventos
Programacion Orientada a Objetos y a EventosProgramacion Orientada a Objetos y a Eventos
Programacion Orientada a Objetos y a EventosNICK
 
Arquitectura de hardware y software
Arquitectura de hardware y softwareArquitectura de hardware y software
Arquitectura de hardware y softwareYesid Albarracin
 
Seminários G5 - Apresentação 3 e 4 geração
Seminários G5 - Apresentação 3 e 4 geraçãoSeminários G5 - Apresentação 3 e 4 geração
Seminários G5 - Apresentação 3 e 4 geração
Anderson Andrade
 

La actualidad más candente (20)

Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
Aula 02 : hardware.
Aula 02 : hardware.Aula 02 : hardware.
Aula 02 : hardware.
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
Manual de formateo de sistema operativo
Manual de formateo de sistema operativoManual de formateo de sistema operativo
Manual de formateo de sistema operativo
 
Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01Introducción a la Programación :: Unidad 01 :: Parte 01
Introducción a la Programación :: Unidad 01 :: Parte 01
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Discovering Computers: Chapter 12
Discovering Computers: Chapter 12Discovering Computers: Chapter 12
Discovering Computers: Chapter 12
 
Programming
ProgrammingProgramming
Programming
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
EJERCICIOS DE EXCEL
EJERCICIOS DE EXCELEJERCICIOS DE EXCEL
EJERCICIOS DE EXCEL
 
SOFTWARE LIBRE Y PROPIETARIO
SOFTWARE LIBRE Y PROPIETARIOSOFTWARE LIBRE Y PROPIETARIO
SOFTWARE LIBRE Y PROPIETARIO
 
Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)
 
Metodologias da Engenharia do Conhecimento - Aula 2/3
Metodologias da Engenharia do Conhecimento - Aula 2/3Metodologias da Engenharia do Conhecimento - Aula 2/3
Metodologias da Engenharia do Conhecimento - Aula 2/3
 
Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2Programming fundamentals lecture 1&2
Programming fundamentals lecture 1&2
 
Taller en clase grado 11 1 p
Taller en clase grado 11 1 pTaller en clase grado 11 1 p
Taller en clase grado 11 1 p
 
CapíTulo 1 IntroduçãO à InformáTica
CapíTulo 1   IntroduçãO à InformáTicaCapíTulo 1   IntroduçãO à InformáTica
CapíTulo 1 IntroduçãO à InformáTica
 
Programacion Orientada a Objetos y a Eventos
Programacion Orientada a Objetos y a EventosProgramacion Orientada a Objetos y a Eventos
Programacion Orientada a Objetos y a Eventos
 
Arquitectura de hardware y software
Arquitectura de hardware y softwareArquitectura de hardware y software
Arquitectura de hardware y software
 
Seminários G5 - Apresentação 3 e 4 geração
Seminários G5 - Apresentação 3 e 4 geraçãoSeminários G5 - Apresentação 3 e 4 geração
Seminários G5 - Apresentação 3 e 4 geração
 

Similar a 1___LENGUAJES DE PROGRAMACION_2023.pdf

Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
En La Vereda de Mi Casaa!
 
Programacion
ProgramacionProgramacion
Programacion
Mirian
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
Ly Andre
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
Bryan Perdomo
 
Exposicion
ExposicionExposicion
Exposicion
JhulinoHurtado
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACION
PEDRO Borja
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
Elder Giron
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
José Juan Jáuregui bustamante
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
KathGon1
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
Katherine Gonzales
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónfercho-nava
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
FabricioMontero9
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
FabricioMontero9
 
Introducción a los lenguajes de programación.pptx
Introducción a los lenguajes de programación.pptxIntroducción a los lenguajes de programación.pptx
Introducción a los lenguajes de programación.pptx
GabrielAstete1
 
Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)
Jesús Navarro
 
Programacion
ProgramacionProgramacion
Programacion
telmalj
 
METODOS DE ELEMENTOS DE PROGRAMACIÒN
METODOS DE ELEMENTOS DE PROGRAMACIÒNMETODOS DE ELEMENTOS DE PROGRAMACIÒN
METODOS DE ELEMENTOS DE PROGRAMACIÒN
Freddy Cedeño
 
Programacion
ProgramacionProgramacion
Programacion
Delfys Solo YO
 

Similar a 1___LENGUAJES DE PROGRAMACION_2023.pdf (20)

Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Programacion
ProgramacionProgramacion
Programacion
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
Universidad autónoma de chiapas
Universidad autónoma de chiapasUniversidad autónoma de chiapas
Universidad autónoma de chiapas
 
Exposicion
ExposicionExposicion
Exposicion
 
Programación
ProgramaciónProgramación
Programación
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACION
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
Evolucion de los lenguajes de programación
Evolucion de los lenguajes de programaciónEvolucion de los lenguajes de programación
Evolucion de los lenguajes de programación
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Introducción a los lenguajes de programación.pptx
Introducción a los lenguajes de programación.pptxIntroducción a los lenguajes de programación.pptx
Introducción a los lenguajes de programación.pptx
 
Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)Introducción a Python 3.4 (Presentación)
Introducción a Python 3.4 (Presentación)
 
Programacion
ProgramacionProgramacion
Programacion
 
METODOS DE ELEMENTOS DE PROGRAMACIÒN
METODOS DE ELEMENTOS DE PROGRAMACIÒNMETODOS DE ELEMENTOS DE PROGRAMACIÒN
METODOS DE ELEMENTOS DE PROGRAMACIÒN
 
Programacion
ProgramacionProgramacion
Programacion
 

Último

Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
Yisel56
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 

Último (7)

Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 

1___LENGUAJES DE PROGRAMACION_2023.pdf

  • 1. LENGUAJES DE PROGRAMACIÓN Profesora: Teresa Garzón Departamento de Tecnología e Informática
  • 2. FUNDAMENTOS DE PROGRAMACIÓN 1. ¿QUÉ ES UN PROGRAMA? ELEMENTOS. 2. ALGORITMOS 3. PSEUDOCÓDIGO Y DIAGRAMAS DE FLUJO (DFD) 4. LENGUAJES DE PROGRAMACIÓN 1. CLASIFICACIÓN 2. GENERACIONES 3. LENGUAJES MÁS EMPLEADOS. INDICE TIOBE 5. TRADUCTORES: COMPILADOR E INTÉRPRETE 6. INTERFAZ GRÁFICA DE USUARIO 7. DEPURACIÓN DE CÓDIGO
  • 3. 1.¿QUÉ ES UN PROGRAMA?  Un programa es una secuencia de pasos o instrucciones para realizar una tarea específica en una computadora.  Para escribir programas empleamos los lenguajes de programación.  Un programa permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias.  Los elementos son: variables, constante, sentencias
  • 4. 2.ALGORITMO  Un algoritmo es un conjunto ordenado de operaciones que permite hacer un cálculo y hallar la solución de un tipo de problemas. Ejemplos de algoritmos:  El algoritmo para cálculo de la división,  El algoritmo para hallar las raíces cuadradas…. (es el método de resolución del problema).  Algoritmo para resolver una ecuación de segundo grado.  Calcular el área de un rectángulo, triángulo…
  • 5. Fases de un algoritmo:
  • 6.
  • 7. 3.PSEUDOCÓDIGO Y DFD  El pseudocódigo es una descripción de alto nivel compacta e informal del algoritmo de un programa.  Consiste en escribir el algoritmo en lenguaje natural, de forma comprensible, describiendo cada paso del programa.  Un Diagrama de Flujo de Datos o DFD es la representación gráfica de un algoritmo
  • 8. Ejemplo pseudocódigo Algoritmo Suma // Suma dos valores y devuelve la suma Escribir "Ingrese el primer numero:" Leer A Escribir "Ingrese el segundo numero:" Leer B // Se calcula la suma y se guarda el resultado en la variable C mediante la asignación C  A+B // finalmente, se muestra el resultado, precedido de un mensaje para avisar al usuario, todo en una sola instrucción Escribir Escribir "El resultado es: ",C FinAlgoritmo
  • 11. DIAGRAMA DE FLUJO DE DATOS
  • 12. LENGUAJES DE PROGRAMACIÓN Un lenguaje de programación es un lenguaje formal que permite dar órdenes o instrucciones al ordenador para que ejecute un programa. Ejemplos de lenguajes: • Fortran (1957), Cobol (1959) • Basic (1964) para estudiantes • Pascal, publicado en 1970 • C (1972), C++(objetos), C# • JavaScript, PHP (1997), ASP (desarrollo web) • Python(1989) • Visual Basic (1991) • Java (1995), • Gambas (VB para Linux, 2002)
  • 13. 4. LENGUAJES DE PROGRAMACIÓN • Un lenguaje de programación es un lenguaje formal que explica una serie de instrucciones para que una computadora (ordenador, tablet, smartphone u otros dispositivos móviles y electrónicos) generen diversas clases de datos. • Los lenguajes de programación pueden usarse para crear programas que pongan en práctica algoritmos específicos, los cuales controlan el comportamiento físico y lógico de una computadora.
  • 14. Algunos lenguajes LENGUAJE USOS VENTAJAS INCONVENIENTES IDE JAVA Aplicaciones web, aplic. de escritorio, en servidores, móviles Popularidad y demanda Lenguaje estable Gran comunidad de apoyo Plataforma Java, con decenas de miles de clases. Precisa mayor capacidad de pensamiento analítico. Perdona mucho menos los fallos. Netbeans , Eclipse C++ Alto rendimiento, portable, permite llamadas al sistema, ensamblador… Multiplataforma multiparadigma, muy extendido lenguaje muy amplio (con muchos años y muchas líneas de código), El manejo de librerías es más complicado que otros lenguajes como Java o .NET. No visual Visual Studio, DevC++ C# Aplic.móviles, desarrollo de juegos y software empresarial Fácil de aprender, API deventanas La plataforma .NET con muchas clases, El despliegue en ciertos entornos puede ser complejo Visual Studio PYTHON Aplic web y escritorio, IA, machine learning, scripts, drones, robótica, webscripting, análisis de big data,videojuegos… Sintaxis sencilla, gran comunidad, módulos para todo No indicado para aplicaciones móviles Thonny, Anaconda, Visual Studio Code, Eclipse,PyDev
  • 15. El índice Tiobe • El índice TIOBE o índice de la comunidad de programación TIOBE mide la popularidad de los lenguajes de programación. Fue creado por la compañía TIOBE, con sede en Eindhoven, Países Bajos. • Hay 3 candidatos al título de lenguaje del año 2022: Python, C y C++. • Python y C han ganado multiples veces anteriormente, C++ sólo lo hizo en 2003. El incremento de popularidad de C++ va en detrimetno de Java. C++ sobrepasa a Java por 1ª vez en la historia del TIOBE index, pasando Java a la posición 4 ahora. • Es la primera vez que Java no es parte del top 3 desde que empezó el ranking del TIOBE index en 2001. https://www.tiobe.com/tiobe-index/
  • 16. Tiobe Index – diciembre 2022
  • 18. Lenguajes más usados en 2021 https://www.tiobe.com/tiobe-index/
  • 19. LENGUAJES MÁS USADOS EN 2019 • El Índice TIOBE se elabora a partir de diversos criterios o parámetros, por ejemplo, el número de ingenieros cualificados en determinado lenguaje, las búsquedas que hacen los usuarios a través de los buscadores solicitando información de los distintos lenguajes de programación, la demanda de cursos o los lenguajes que están siendo más usados.
  • 20. 4.1. CLASIFICACIÓN DE LOS LENGUAJES • 1. Lenguaje máquina: lo comprende directamente la máquina (computadora) y utiliza el alfabeto binario, es decir, el 0 y el 1. • 2. Lenguajes de bajo nivel: a diferencia del lenguaje máquina es más sencillo de utilizar, pero dependen mucho de la máquina o computadora. Ensambladores • 3. Lenguajes de programación de alto nivel: son más fáciles de aprender porque se emplean palabras o comandos del lenguaje natural, generalmente del inglés. Este es el caso del Python, C++,BASIC, C, Java… Según el nivel de abstracción, los lenguajes de programación se clasifican en:
  • 21. LENGUAJES DE BAJO NIVEL • LENGUAJE MÁQUINA: binario ejecutable • LENGUAJE ENSAMBLADOR: Consiste en un conjunto de nemónicos que representan instrucciones básicas para el microprocesador. Depende de la arquitectura del ordenador. (código de instrucciones máquina, nº de bits, direcc. Memoria…)
  • 22. LENGUAJES DE ALTO NIVEL • Son lenguajes independientes de la arquitectura del ordenador. • Permiten al programador olvidarse del funcionamiento interno de la máquina (código de instrucciones máquina, nº de bits, direc. Memoria…) • Se dividen en generaciones • C/C++, Java, Python, Basic, Javascript….
  • 23. LENGUAJES DE ALTO NIVEL Los tipos de lenguajes de programación de alto nivel, según su utilidad y filosofía, son: • Lenguajes imperativos: Cobol, Pascal, C y Ada. • Lenguajes declarativos: el Lisp y el Prolog. • Lenguajes de programación orientado a objetos: Java, Smalltalk y el C++. • Lenguajes orientados al problema: son aquellos lenguajes específicos para gestión. • Lenguajes de programación natural: son los nuevos lenguajes que pretender aproximar el diseño y la construcción de programas al lenguaje de las personas. (lenguajes de la IA: Lisp, Prolog)
  • 24. CLASIFICACIÓN SEGÚN EL PARADIGMA DE PROGRAMACIÓN • LENGUAJES IMPERATIVOS: especifican un algoritmo para resolver el problema. Ej: C, Pascal, PHP, Basic… • LENGUAJES DECLARATIVOS: especifican las propiedades que la solución debe tener, pero no el detalle de la implementación.Ej:Lisp, Prolog • LENGUAJES ORIENTADOS A OBJETOS: el programa es una colección de objetos que interactúan enviándose mensajes. Java, C++, Python…
  • 25. TIPOS DE LENGUAJES DE PROGRAMACION LENG. DE BAJO NIVEL LENG. DE ALTO NIVEL LENG. COMPILADOS LENG. INTERPRETADOS DECLARATIVOS IMPERATIVOS ORIENTADOS A OBJETOS
  • 26. 4.2.GENERACIONES DE LENGUAJES • Primera generación: el lenguaje máquina (binario). • Segunda generación: lenguaje ensamblador de bajo nivel. Se usan en kernels y unidades de hardware, además de ser usados comúnmente para edición de vídeo, gráficos y videojuegos. • Los lenguajes de tercera generación - 3GL, son lenguajes de alto nivel, como C, C++, C#, Java, BASIC, JavaScript y Visual Basic. • Los lenguajes de cuarta generación - 4GL, son lenguajes que consisten en declaraciones similares a las declaraciones hechas en un lenguaje humano. Los lenguajes de cuarta generación se usan comúnmente en la programación de bases de datos y los ejemplos de scripts incluyen Unix Shell, Perl, PHP, Python, Ruby y SQL. • Los lenguajes de quinta generación - 5GL, son lenguajes de programación que contienen herramientas visuales para ayudar a desarrollar un programa y lenguajes de la IA. Ejemplos de lenguajes de quinta generación incluyen Mercury, OPS5, Lisp y Prolog. • En resumen, los lenguajes de las generaciones 1GL y 2GL son también de bajo nivel y los de las generaciones 3GL, 4GL y 5GL son de alto nivel.
  • 27. GENERACIONES DE LENGUAJES • 1GL: Lenguaje máquina (binario) • 2GL: Lenguaje Ensamblador • 3GL: son lenguajes de programación de alto nivel imperativo, pero mucho más utilizados y vigentes en la actualidad (Python 1989, Java (1995), ALGOL 8, PL/I, PASCAL, MODULA). • 4GL:Lenguajes de cuarta generación: usados en aplicaciones de gestión y manejo de bases de datos: NATURA, SQL (1974), y lenguajes de scripts, como Unix Shell, Perl, PHP, Python (1989), Ruby (1995) • Lenguajes de quinta generación: creados para la inteligencia artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG). 1GL. 1940-50 2GL. 1950-60 3GL 1970-80-90 4GL:BBDD y scripts 5GL: IA y Visuales
  • 28. 5. TRADUCTORES • Todos los lenguajes de programación generan un programa que para ser ejecutado debe ser traducido a binario. • Un traductor convierte el código del programa (código fuente) a binario (código maquina) • Los traductores se dividen en 2 categorías: • COPILADORES • INTÉRPRETES
  • 29. COMPILADORES E INTERPRETES • COMPILADOR: traduce todo el programa a código máquina y genera un archivo ejecutable. (programa.exe) • VENTAJAS: mayor velocidad de ejecución. Genera un ejecutable • Ejemplos: Javascript, Basic
  • 31. • Un intérprete es un programa capaz de analizar y ejecutar otros programas. Va interpretando instrucción a instrucción, y normalmente no guardan el resultado de dicha traducción. Basic, Javascript, Python son interpretados. •Inconvenientes: • Más lento que el compilador. • El programa intérprete debe estar en memoria INTÉRPRETE
  • 32.
  • 33. MÁQUINA VIRTUAL JAVA • En el caso de Java, el código fuente es traducido a bitecodes (código intermedio). Éste es interpretado por la Máquina Virtual Java (JVM) • Ventajas: portabilidad (multiplataforma)
  • 34. SEGÚN LA FORMA DE EJCUCIÓN El código fuente debe ser traducido a código máquina. Hay dos formas: • LENGUAJES COMPILADOS • LENGUAJES INTERPRETADOS
  • 35. 6. INTERFAZ GRÁFICA DE USUARIO • GUI: Graphical User Interface • Sistema visual de ventanas, menús, controles…y demás elementos gráficos que componen la interfaz gráfica de la aplicación. • Con ella interactúa el usuario • Debe ser amigable: fácil de usar.
  • 36. IDE: integrated Development Environment • ENTORNO DE DESARROLLO INTEGRADO • Programa que sirve para crear otros programas • Software de desarrollo • Incluye opciones para editar código, compilar, depurar, generar ejecutable… • Depurar es identificar errores en tiempo de compilación para corregirlos (debugger).
  • 38. 7. DEPURACIÓN DEL CÓDIGO •Depurar código significa eliminar errores del código. •DEPURACIÓM: Proceso de detección y corrección de errores en el código antes de convertir el código fuente a binario (ejecutable). •Debbuger: parte del compilador que permite depurar, con puntos de ruptura, ejecución paso a paso….
  • 39. 8. PROGRAMACIÓN MODULAR •Al aplicar la programación modular, un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su vez en otros subproblemas más simples aún. •Esto debe hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. •Esta técnica se llama refinamiento sucesivo, divide y vencerás o análisis descendente (Top-Down). •Un 'módulo' es cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo original.
  • 40. 9. REUTILIZACIÓN DE CÓDIGO • Las funciones o módulos son reutilizables: se pueden usar en todos los programas que las llamen. • Ejemplos: función potencia(), función raíz(), función NumAleatorio(), función imprimirMensajeError()
  • 41. 10. POO • La programación orientada a objetos (POO) es un modelo de programación que organiza el diseño de software en torno a datos u objetos, en lugar de funciones y lógica. • Un objeto se puede definir como un campo de datos que tiene atributos y comportamiento únicos. • La programación orientada a objetos se centra en los objetos que los desarrolladores quieren manipular en lugar de enfocarse en la lógica necesaria para manipularlos. Este enfoque de programación es adecuado para programas que son grandes, complejos y se actualizan o mantienen activamente.