SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
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

Tabla SiMbolos, victor mamani catachura, boreasH,Compiladores
Tabla SiMbolos, victor mamani catachura, boreasH,CompiladoresTabla SiMbolos, victor mamani catachura, boreasH,Compiladores
Tabla SiMbolos, victor mamani catachura, boreasH,Compiladoresvictor mamani
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionMaria Garcia
 
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación Jersson Marquinho Roldan Lopez
 
Les07 (using the set operators)
Les07 (using the set operators)Les07 (using the set operators)
Les07 (using the set operators)Achmad Solichin
 
Normalizacion de Base de datos - Grupo 6
Normalizacion de Base de datos - Grupo 6Normalizacion de Base de datos - Grupo 6
Normalizacion de Base de datos - Grupo 6NimrodRodrguez
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Daniel Gómez
 
Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Javier Calderon
 
Exposición cajero automatico
Exposición cajero automaticoExposición cajero automatico
Exposición cajero automaticoGeor_1710
 
Análisis y especificación de requerimientos
Análisis y especificación de requerimientosAnálisis y especificación de requerimientos
Análisis y especificación de requerimientosFranklin Parrales Bravo
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQLRonald Rivas
 
4.guia modelo relacional
4.guia modelo relacional4.guia modelo relacional
4.guia modelo relacionalZulma Bautista
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Desarrollo de aplicaciones web con casos de uso
Desarrollo de aplicaciones web  con casos de usoDesarrollo de aplicaciones web  con casos de uso
Desarrollo de aplicaciones web con casos de usoJosafat Mtz
 

La actualidad más candente (20)

Tabla SiMbolos, victor mamani catachura, boreasH,Compiladores
Tabla SiMbolos, victor mamani catachura, boreasH,CompiladoresTabla SiMbolos, victor mamani catachura, boreasH,Compiladores
Tabla SiMbolos, victor mamani catachura, boreasH,Compiladores
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
BASE DE DATOS (modelo jerárquico - diagrama entidad-relación
 
Les07 (using the set operators)
Les07 (using the set operators)Les07 (using the set operators)
Les07 (using the set operators)
 
Normalizacion de Base de datos - Grupo 6
Normalizacion de Base de datos - Grupo 6Normalizacion de Base de datos - Grupo 6
Normalizacion de Base de datos - Grupo 6
 
Practica i prolog
Practica i prologPractica i prolog
Practica i prolog
 
2. Modelo ER - Relacional
2. Modelo ER - Relacional2. Modelo ER - Relacional
2. Modelo ER - Relacional
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
 
Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2
 
Exposición cajero automatico
Exposición cajero automaticoExposición cajero automatico
Exposición cajero automatico
 
Análisis y especificación de requerimientos
Análisis y especificación de requerimientosAnálisis y especificación de requerimientos
Análisis y especificación de requerimientos
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQL
 
4.guia modelo relacional
4.guia modelo relacional4.guia modelo relacional
4.guia modelo relacional
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
09 guiados spinner Java
09 guiados spinner Java09 guiados spinner Java
09 guiados spinner Java
 
Programación en N-capas
Programación en N-capasProgramación en N-capas
Programación en N-capas
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Desarrollo de aplicaciones web con casos de uso
Desarrollo de aplicaciones web  con casos de usoDesarrollo de aplicaciones web  con casos de uso
Desarrollo de aplicaciones web con casos de uso
 

Similar a 1___LENGUAJES DE PROGRAMACION_2023.pdf

Programacion
ProgramacionProgramacion
ProgramacionMirian
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONBryan Perdomo
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONPEDRO Borja
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionElder Giron
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
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ónKatherine 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
 
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.pptxGabrielAstete1
 
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
Programaciontelmalj
 
METODOS DE ELEMENTOS DE PROGRAMACIÒN
METODOS DE ELEMENTOS DE PROGRAMACIÒNMETODOS DE ELEMENTOS DE PROGRAMACIÒN
METODOS DE ELEMENTOS DE PROGRAMACIÒNFreddy Cedeño
 

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

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 

Último (7)

Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 

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.