SlideShare una empresa de Scribd logo
UNIVERSIDAD NACIONAL DE INGENIERÍA
FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS
DEPARTAMENTO DE SISTEMAS Y TELEMÁTICA
Docente:
ANIVAL TORRE CAMONES
Semestre: 2023-1
INTRODUCCION A LA
COMPUTACION
LENGUAJES DE
PROGRAMACION
2
Semana 2
Contraste
Revise
Practique
Recomendaciones
Lenguaje de programación
1
Clasificación de los lenguajes de programación
2
Biblioteca
3
Depuración
4
Contenido
Compilador
5
Interprete
6
Introducción
Un lenguaje de programación es el
medio a través del cual le comunicamos
a la computadora la secuencia de
instrucciones para llevar a cabo
actividades.
COMPUTACION
HARDWARE SEGURIDAD
INTELIGENCI
A ARTIFICIAL
SOFTWARE
PROGRAMA
LENGUAJES
PROGRAM.
REDES
BASE DE
DATOS
SISTEMAS
OPERATIVOS
APLICATIVOS
Ingeniería del Software
• La programación es sólo una etapa del proceso de desarrollo.
• Modelo de desarrollo “en cascada”:
Página 6
Mantenimiento
Prueba y depuración
Programación
Diseño
Análisis
Planificación Recursos necesarios, presupuesto, plan, …
¿Qué?
¿Cómo?
Implementación
7
Clasificación de los Lenguajes de
programación
• Es el que entienden los circuitos del computador (CPU)
• Inconvenientes:
• depende del modelo de computadora.
• el repertorio de instrucciones es muy reducido.
• es muy laborioso.
Lenguaje máquina
• Código nemotécnico para recordar mejor las
instrucciones máquina.
• Se mantienen los otros inconvenientes del lenguaje
máquina.
Ensamblador
(lenguaje de bajo nivel)
• No dependen de la computadora, y facilitan la tarea de
programación.
Lenguajes de alto nivel
• Genealogía de lenguajes
Página 8
BASIC
1964
Logo
1968
Ruby
1993
Python
1991
Eiffel
1986
Modula
1975
Fuente: http://www.levenez.com/lang/
Versiones / Estándares
Prolog
1970
Haskell
1987
C#
2000
Java
1995
C++
1983
Smalltalk
1971
Scheme
1975
PL/I
1964
Simula
1964
Ada
1979
C
1971
Pascal
1970
CPL
1963
COBOL
1959
ALGOL
1958
FORTRAN
1954
Lisp
1958
Lenguajes de alto nivel
9
Lenguajes de alto nivel
•(Formula Translation): Primer LAN(década de los 50). Aplicaciones científico-
técnicas (grandes computadores y supercomputadores)
54 FORTRAN
•(COmmon Busines Oriented Language): 1960. Aplicaciones comerciales y de
gestión.
59 COBOL
•(Beginner’s All-purpose Symbolic Instruction Code). Desarrollado a mediados de los
60 como lenguaje interactivo para principiantes de programación.
64 BASIC
•es el lenguaje más popular. Versión de Microsoft del BASIC. Permite crear
programas en un ambiente visual (lenguaje de 4ª generación).
Visual BASIC
•Desarrollado en Bell Labs a comienzos de los 70. Es complejo, pero es potente,
flexible y eficiente (el más utilizado para PCs y estaciones de trabajo).
71 C:
10
• Creado por Wirth en 1971. El mejor lenguaje para aprender a programar y describir algoritmos.
71 Pascal
• Es un lenguaje definido por el Ministerio de Defensa de USA a finales de los 70. Esta basado en el Pascal
y tiene unas reglas muy estrictas.
79 Ada
• Ideado a comienzos de los 80 en los BellLabs. Es una variante del C que permite utilizar la moderna
metodología de la programación (“programación orientada a objetos”)
83 C++
• Desarrollado en 1991 por Sun, es similar a C++ pero más sencillo de aprender y usar. Muy usado para
programa interactivos y dinámicos (“applets” de web). Se ha definido un computador virtual Java
compatible, cualquier computador con un programa que lo emule puede ejecutar aplicaciones Java.
95 Java
Lenguajes de alto nivel
11
• (LISt Processing): Finales de los 50. Procesamiento de
datos no numéricos (caracteres, palabras y otros
símbolos). Se usa en Inteligencia Artificial.
58 LISP
• (Programming Logic): Trabaja con relaciones lógicas
entre hechos. Muy usado en inteligencia artificial.
70 PROLOG
• versión simplificada del LISP para niños.
68 LOGO
Lenguajes de alto nivel
• Traducción
Compiladores:
Compilan y enlazan
programas completos
Intérpretes:
Compilan, enlazan
y ejecutan instrucción
a instrucción
Página 12
Fundamentos de la programación: Computadoras y
programación
Compilador
Enlazador
Código
objeto de
biblioteca
Código fuente
num1 = int(input("Ingrese el primer número: "))
num2 = int(input("Ingrese el segundo número: "))
resultado = num1 + num2
print("La suma de", num1, "y", num2, "es igual a",
resultado)
Código objeto 0100010100111010011100…
Programa
ejecutable
Para una arquitectura concreta
y un sistema operativo
Lenguajes de alto nivel
13
Lenguajes de programación
Traductores
• Traducción: Proceso por el cual se convierte el texto del
programa de entrada en el de salida.
• Lenguaje fuente: lenguaje en el que se escribe la entrada
• Lenguaje objeto: lenguaje en el que se escribe la salida. En
general, muy diferente del lenguaje fuente
• Compilador: Programa que acepta como entrada un texto
de programa escrito en un cierto lenguaje de alto nivel y
genera como salida texto de programa en otro lenguaje,
generalmente lenguaje de máquina.
14
Lenguajes de programación
Compiladores
• Compilar ≈ Convertir de un formato a otro
• El significado deberá permanecer
inalterado en la conversión
• La entrada está escrita en un lenguaje 
Tiene estructura
• Semántica asociada y descrita en términos
de esa estructura
• El compilador “comprende” el programa y
recolecta su significado en una representación
semántica intermedia
• A la hora de generar la salida  se genera
estructura y significado
15
Lenguajes de programación
Intérpretes
• Es la forma de trabajar cada vez más frecuente,
• En vez de traducir, realiza las acciones
directamente
• Por ejemplo, la máquina virtual de Python.
• Ventajas del uso de intérpretes
• Portabilidad: Un intérprete se escribe,
habitualmente, en lenguaje de alto nivel.
• Sencillez: Escribir un intérprete es menos
costoso que escribir un compilador.
• Señalización y manejo de errores: los
compiladores cuidan “demasiado” la
eficiencia de código.
• Seguridad: Funcionamiento más
transparente al usuario.
• Desventajas: Velocidad de los programas
interpretados y consumo de memoria.
16
Lenguajes de programación
Compiladores vs. Intérpretes
• Compiladores:
• El procesamiento del
programa es considerable.
• El mecanismo de
interpretación previsto es la
CPU (hw).
• La ejecución del programa
traducido es relativamente
rápida.
• Intérpretes:
• El procesamiento del
programa es entre mínimo y
moderado
• El mecanismo de
interpretación es un
programa (sw).
• La ejecución del programa
es, en general, más lenta y
más segura.
Calculando valores
Operadores y Expresiones
Aprendiendo a programar con Python
Objetivo: Efectuar operaciones con los datos
• Necesitamos expresar operaciones
• Utilizamos símbolos: operadores
• Expresamos cálculos: expresiones
Fuente: https://pixabay.com/en/computer-laptop-notebook-159466/
Programa
Entrada
(input)
Resultado
(output)
5 7 12
5
¿
+
?
7
dato dato
operador
expresión
Efectuando cálculos
¿Cómo expresamos cálculos?
Operadores para tipos numéricos
• Operadores sobre int y float
12
+ - *
Suma Rest Multiplicación
>>> 7+5 >>> 7-5 >>> 7*5
Salida
>>> 7/5
2 35 1.4
/
División
Operadores aritméticos
Más operadores aritméticos
Inverso
aditivo
>>> -5
Salida
**
Exponenciación
//
División entera
%
Módulo
-
>>> 7**5 >>> 7//5 >>> 7%5
-5 16807 1 2
• Operadores sobre int y float
Operadores para tipos numéricos
Precedencia y asociatividad
• Expresiones con más de un operador se
evalúan por precedencia
• Operaciones con igual precedencia se
resuelven por orden de asociatividad
>>> (3+5//4-2)-2**4+3*(7-2)
Salida
1
Operadores para tipos numéricos
Precedencia y asociatividad
>>> (3+5//4-2)-2**4+3*(7-2)
Salida
Operador Preced. Asociatividad Ejemplo Resultado
** 1 Derecha a
izquierda
2**3**2 512
+, - (unarios) 2 -2**2 -4
*, /, //, % 3 Izquierda a
derecha
15/3*2 10
+, - (binarios) 4 Izquierda a
derecha
3-4+5 4
• Dentro de cada paréntesis se evalúa:
1
Operadores para tipos numéricos
Operadores de comparación
• Se aplican a int o float
< <= > >= != ==
• Siempre entregan un tipo bool
True
Menor
>>> 5<5.1
Salida
Mayor o igual
>>> 3>=5
Distinto
>>> 3!=5
Igualdad
>>> 6==9
False True False
Operadores para tipos numéricos
Operadores lógicos o booleanos
• Se aplican a bool
not and or
• Siempre entregan un tipo bool
True
>>> not 3>5
Conjunción lógica (Y)
>>> 3>5 and 2<6
Disyunción lógica (O)
>>> 3>5 or 2<6
False True
Negación
Operadores para tipos lógicos
Precedencias actualizadas
Operador Asociatividad Ejemplo Resultado
** Derecha a izquierda 2**3**2 512
+, - (unarios) -2**2 -4
*, /, //, % Izquierda a derecha 15/3*2 10
+, - (binarios) Izquierda a derecha 3-4+5 4
<. <=, >, >=, !=, == Izquierda a derecha 3<4<=4<5 True
not not not 5>2 True
and Izquierda a derecha not True and False False
or Izquierda a derecha True or True and False True
>>> 5//4 > 3 or 2<5**2 True
Operadores numéricos y lógicos
Ante la duda, use paréntesis
Paréntesis tienen la mayor prioridad
> 3 or 2<5**2
>>> 5//4
True
• Es equivalente a:
>>> ((5//4) > 3) or (2<(5**2))
True
Sumando y multiplicando str
• Operadores para str
+
Concatenación
'Yo soy tu padre'
Salida
*
Repetición
>>> "Yo soy " + "tu padre" >>> "Ja" * 4
'JaJaJaJa'
Operadores para tipos de textos
Operadores de datos en Python
• Aritméticos: + - * / // %
• Comparación: < <= > >= == !=
• Lógicos: not and or
• Texto: + *
• Reglas para evaluar expresiones que
usan múltiples operadores
Resumiendo
TALLER
PROBLEMA 01
Dado dos números enteros, hallar la suma
ENTRADA SALIDA
Variable Símbolo Variable Símbolo
Primer numero num1 Suma resultado
Segundo numero num2
INICIO
num1, num2
num1, num2, resultado: Entero
resultado=num1+num2
resultado
FIN
Seudocódigo
Inicio
//Variables
num1, num2, resultado: Entero
//Entrada
Leer num1, num2
//Proceso
resultado=num1+num2
//Salida
Escribir resultado
Fin
PYTHON
num1 = int(input("Ingrese el primer número: "))
num2 = int(input("Ingrese el segundo número: "))
resultado = num1 + num2
print("La suma de", num1, "y", num2, "es igual a",
resultado)
print("Operaciones aritméticas")
n1 = int(input("ingrese el primer numero = "))
n2 = int(input("ingrese el segundo numero = "))
s = n1 + n2
r = n1 - n2
m = n1 * n2
p = n1**n2
print("suma = ", s)
print("resta = ", r)
print("multiplicación = ", m)
if(n2==0):
print("no se puede dividir")
else:
d = n1 / n2
print("división = ", d)
print("potenciación = ", p)
TALLER
PROBLEMA 02
Hallar el cociente y el residuo de dos números enteros.
ENTRADA SALIDA
Variable Símbolo Variable Símbolo
Dividendo num1 Cociente c
Divisor num2 Residuo r
INICIO
num1, num2
num1, num2,c, r: Entero
cociente=num1//num2
C, r
FIN
Seudocódigo
Inicio
//Variables
num1, num2, c, r: Entero
//Entrada
Leer num1, num2
//Proceso
c=num1/num2
r=num1 mod num2
//Salida
Escribir resultado
Fin
PYTHON
num1 = int(input("Ingrese el dividendo: "))
num2 = int(input("Ingrese el divisor: "))
cociente = num1 // num2
residuo = num1 % num2
print("El cociente de la división es", cociente)
print("El residuo de la división es", residuo))
residuo=num1 mod num2
33
Donde quiera que usted vea un negocio exitoso,
alguien ha tomado una decisión valiente.
Seamos dueños de nuestro propio destino

Más contenido relacionado

Similar a Semana 2 Lenguajes de programación.pptx

02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
NancyHerrera88
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
kfacu
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
Nicolas Mestanza
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de Programación
MaraIsabel87
 
Programa c++
Programa c++Programa c++
Programa c++
Pablo
 
Exposición
ExposiciónExposición
Exposición
Pablo
 
lenguaje c.ppt
lenguaje c.pptlenguaje c.ppt
lenguaje c.ppt
DAVIDCASTRO109642
 
Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01
Fernando Jim
 
Universidad de panamá kathia j
Universidad de panamá kathia jUniversidad de panamá kathia j
Universidad de panamá kathia j
Joel Boya
 
C++
C++C++
C++
Pablo
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
justo morales
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
Elba Sepúlveda
 
Sesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.pptSesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.ppt
samirvidal1
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
Cecilia Díaz
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
detlefsen
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
detlefsen
 
Diap 01
Diap 01Diap 01
Diap 01
Jose Luis
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
AnaisMar22
 
Tema1
Tema1Tema1
Tema1
UH
 
Tema1
Tema1Tema1
Tema1
UH
 

Similar a Semana 2 Lenguajes de programación.pptx (20)

02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de Programación
 
Programa c++
Programa c++Programa c++
Programa c++
 
Exposición
ExposiciónExposición
Exposición
 
lenguaje c.ppt
lenguaje c.pptlenguaje c.ppt
lenguaje c.ppt
 
Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01Tema1b 120417003759-phpapp01
Tema1b 120417003759-phpapp01
 
Universidad de panamá kathia j
Universidad de panamá kathia jUniversidad de panamá kathia j
Universidad de panamá kathia j
 
C++
C++C++
C++
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
 
Sesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.pptSesión1 Algoritmia Básica.ppt
Sesión1 Algoritmia Básica.ppt
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Diap 01
Diap 01Diap 01
Diap 01
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
 
Tema1
Tema1Tema1
Tema1
 
Tema1
Tema1Tema1
Tema1
 

Más de PriceSanchezJose

Presentación Gruffffffffffffffffffffpo 1.pptx
Presentación Gruffffffffffffffffffffpo 1.pptxPresentación Gruffffffffffffffffffffpo 1.pptx
Presentación Gruffffffffffffffffffffpo 1.pptx
PriceSanchezJose
 
Clase 11.1 Noviembre 30 Elección del consumidor ,Preferencias.ppt
Clase 11.1  Noviembre 30 Elección del consumidor ,Preferencias.pptClase 11.1  Noviembre 30 Elección del consumidor ,Preferencias.ppt
Clase 11.1 Noviembre 30 Elección del consumidor ,Preferencias.ppt
PriceSanchezJose
 
Clase 4.1 Sept 20 2023 Cómo funciona la economía.pptx
Clase 4.1 Sept 20 2023 Cómo funciona la economía.pptxClase 4.1 Sept 20 2023 Cómo funciona la economía.pptx
Clase 4.1 Sept 20 2023 Cómo funciona la economía.pptx
PriceSanchezJose
 
Clase Abril 4 Su proyecto de investigación.pptx
Clase Abril 4 Su proyecto de investigación.pptxClase Abril 4 Su proyecto de investigación.pptx
Clase Abril 4 Su proyecto de investigación.pptx
PriceSanchezJose
 
Modificación COSTOS - Cristian.pptx
Modificación COSTOS - Cristian.pptxModificación COSTOS - Cristian.pptx
Modificación COSTOS - Cristian.pptx
PriceSanchezJose
 
01 PRESENTACIÓN DEL CURSO (1).pptx
01 PRESENTACIÓN DEL CURSO (1).pptx01 PRESENTACIÓN DEL CURSO (1).pptx
01 PRESENTACIÓN DEL CURSO (1).pptx
PriceSanchezJose
 

Más de PriceSanchezJose (6)

Presentación Gruffffffffffffffffffffpo 1.pptx
Presentación Gruffffffffffffffffffffpo 1.pptxPresentación Gruffffffffffffffffffffpo 1.pptx
Presentación Gruffffffffffffffffffffpo 1.pptx
 
Clase 11.1 Noviembre 30 Elección del consumidor ,Preferencias.ppt
Clase 11.1  Noviembre 30 Elección del consumidor ,Preferencias.pptClase 11.1  Noviembre 30 Elección del consumidor ,Preferencias.ppt
Clase 11.1 Noviembre 30 Elección del consumidor ,Preferencias.ppt
 
Clase 4.1 Sept 20 2023 Cómo funciona la economía.pptx
Clase 4.1 Sept 20 2023 Cómo funciona la economía.pptxClase 4.1 Sept 20 2023 Cómo funciona la economía.pptx
Clase 4.1 Sept 20 2023 Cómo funciona la economía.pptx
 
Clase Abril 4 Su proyecto de investigación.pptx
Clase Abril 4 Su proyecto de investigación.pptxClase Abril 4 Su proyecto de investigación.pptx
Clase Abril 4 Su proyecto de investigación.pptx
 
Modificación COSTOS - Cristian.pptx
Modificación COSTOS - Cristian.pptxModificación COSTOS - Cristian.pptx
Modificación COSTOS - Cristian.pptx
 
01 PRESENTACIÓN DEL CURSO (1).pptx
01 PRESENTACIÓN DEL CURSO (1).pptx01 PRESENTACIÓN DEL CURSO (1).pptx
01 PRESENTACIÓN DEL CURSO (1).pptx
 

Último

Sangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdfSangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdf
Ani Ann
 
DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.
DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.
DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.
Aurelio Hugo Ramos Mamani
 
Planeacion de encuentro grupaldel buen trato mayo 01
Planeacion de encuentro grupaldel buen trato mayo 01Planeacion de encuentro grupaldel buen trato mayo 01
Planeacion de encuentro grupaldel buen trato mayo 01
MariaBarrios245321
 
algo sucedio_letra y acordes de guitarra.pdf
algo sucedio_letra y acordes de guitarra.pdfalgo sucedio_letra y acordes de guitarra.pdf
algo sucedio_letra y acordes de guitarra.pdf
Ani Ann
 
Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...
Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...
Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...
AMADO SALVADOR
 
Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024
Yes Europa
 
357028432-Operador-de-Grua-Articulada.pdf
357028432-Operador-de-Grua-Articulada.pdf357028432-Operador-de-Grua-Articulada.pdf
357028432-Operador-de-Grua-Articulada.pdf
CarlosCubas29
 
´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura
´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura
´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura
AnthonylorenzoTorres
 
Explora el boletín del 13 de junio de 2024
Explora el boletín del 13 de junio de 2024Explora el boletín del 13 de junio de 2024
Explora el boletín del 13 de junio de 2024
Yes Europa
 
Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024
Yes Europa
 
Análisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptxAnálisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptx
GabrielaBianchini6
 
Mapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docxMapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docx
t2rsm8p5kc
 

Último (12)

Sangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdfSangre que me da la paz C_letra y acordes.pdf
Sangre que me da la paz C_letra y acordes.pdf
 
DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.
DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.
DISPOSITIVOS DE SEGURIDAD, EN MAQUINARIA PESADA.
 
Planeacion de encuentro grupaldel buen trato mayo 01
Planeacion de encuentro grupaldel buen trato mayo 01Planeacion de encuentro grupaldel buen trato mayo 01
Planeacion de encuentro grupaldel buen trato mayo 01
 
algo sucedio_letra y acordes de guitarra.pdf
algo sucedio_letra y acordes de guitarra.pdfalgo sucedio_letra y acordes de guitarra.pdf
algo sucedio_letra y acordes de guitarra.pdf
 
Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...
Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...
Catálogo General Ideal Standard 2024 Amado Salvador Distribuidor Oficial Vale...
 
Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024Explora el boletin del 17 de mayo de 2024
Explora el boletin del 17 de mayo de 2024
 
357028432-Operador-de-Grua-Articulada.pdf
357028432-Operador-de-Grua-Articulada.pdf357028432-Operador-de-Grua-Articulada.pdf
357028432-Operador-de-Grua-Articulada.pdf
 
´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura
´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura
´PUNTOS GEODESICOS.doc trabajo de ingeniería pintura
 
Explora el boletín del 13 de junio de 2024
Explora el boletín del 13 de junio de 2024Explora el boletín del 13 de junio de 2024
Explora el boletín del 13 de junio de 2024
 
Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024Explora el boletín del 10 de junio de 2024
Explora el boletín del 10 de junio de 2024
 
Análisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptxAnálisis de Políticas Educativas (presentación).pptx
Análisis de Políticas Educativas (presentación).pptx
 
Mapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docxMapa-conceptual-de-los-Carbohidratos.docx
Mapa-conceptual-de-los-Carbohidratos.docx
 

Semana 2 Lenguajes de programación.pptx

  • 1. UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS DEPARTAMENTO DE SISTEMAS Y TELEMÁTICA Docente: ANIVAL TORRE CAMONES Semestre: 2023-1 INTRODUCCION A LA COMPUTACION
  • 4. Lenguaje de programación 1 Clasificación de los lenguajes de programación 2 Biblioteca 3 Depuración 4 Contenido Compilador 5 Interprete 6
  • 5. Introducción Un lenguaje de programación es el medio a través del cual le comunicamos a la computadora la secuencia de instrucciones para llevar a cabo actividades. COMPUTACION HARDWARE SEGURIDAD INTELIGENCI A ARTIFICIAL SOFTWARE PROGRAMA LENGUAJES PROGRAM. REDES BASE DE DATOS SISTEMAS OPERATIVOS APLICATIVOS
  • 6. Ingeniería del Software • La programación es sólo una etapa del proceso de desarrollo. • Modelo de desarrollo “en cascada”: Página 6 Mantenimiento Prueba y depuración Programación Diseño Análisis Planificación Recursos necesarios, presupuesto, plan, … ¿Qué? ¿Cómo? Implementación
  • 7. 7 Clasificación de los Lenguajes de programación • Es el que entienden los circuitos del computador (CPU) • Inconvenientes: • depende del modelo de computadora. • el repertorio de instrucciones es muy reducido. • es muy laborioso. Lenguaje máquina • Código nemotécnico para recordar mejor las instrucciones máquina. • Se mantienen los otros inconvenientes del lenguaje máquina. Ensamblador (lenguaje de bajo nivel) • No dependen de la computadora, y facilitan la tarea de programación. Lenguajes de alto nivel
  • 8. • Genealogía de lenguajes Página 8 BASIC 1964 Logo 1968 Ruby 1993 Python 1991 Eiffel 1986 Modula 1975 Fuente: http://www.levenez.com/lang/ Versiones / Estándares Prolog 1970 Haskell 1987 C# 2000 Java 1995 C++ 1983 Smalltalk 1971 Scheme 1975 PL/I 1964 Simula 1964 Ada 1979 C 1971 Pascal 1970 CPL 1963 COBOL 1959 ALGOL 1958 FORTRAN 1954 Lisp 1958 Lenguajes de alto nivel
  • 9. 9 Lenguajes de alto nivel •(Formula Translation): Primer LAN(década de los 50). Aplicaciones científico- técnicas (grandes computadores y supercomputadores) 54 FORTRAN •(COmmon Busines Oriented Language): 1960. Aplicaciones comerciales y de gestión. 59 COBOL •(Beginner’s All-purpose Symbolic Instruction Code). Desarrollado a mediados de los 60 como lenguaje interactivo para principiantes de programación. 64 BASIC •es el lenguaje más popular. Versión de Microsoft del BASIC. Permite crear programas en un ambiente visual (lenguaje de 4ª generación). Visual BASIC •Desarrollado en Bell Labs a comienzos de los 70. Es complejo, pero es potente, flexible y eficiente (el más utilizado para PCs y estaciones de trabajo). 71 C:
  • 10. 10 • Creado por Wirth en 1971. El mejor lenguaje para aprender a programar y describir algoritmos. 71 Pascal • Es un lenguaje definido por el Ministerio de Defensa de USA a finales de los 70. Esta basado en el Pascal y tiene unas reglas muy estrictas. 79 Ada • Ideado a comienzos de los 80 en los BellLabs. Es una variante del C que permite utilizar la moderna metodología de la programación (“programación orientada a objetos”) 83 C++ • Desarrollado en 1991 por Sun, es similar a C++ pero más sencillo de aprender y usar. Muy usado para programa interactivos y dinámicos (“applets” de web). Se ha definido un computador virtual Java compatible, cualquier computador con un programa que lo emule puede ejecutar aplicaciones Java. 95 Java Lenguajes de alto nivel
  • 11. 11 • (LISt Processing): Finales de los 50. Procesamiento de datos no numéricos (caracteres, palabras y otros símbolos). Se usa en Inteligencia Artificial. 58 LISP • (Programming Logic): Trabaja con relaciones lógicas entre hechos. Muy usado en inteligencia artificial. 70 PROLOG • versión simplificada del LISP para niños. 68 LOGO Lenguajes de alto nivel
  • 12. • Traducción Compiladores: Compilan y enlazan programas completos Intérpretes: Compilan, enlazan y ejecutan instrucción a instrucción Página 12 Fundamentos de la programación: Computadoras y programación Compilador Enlazador Código objeto de biblioteca Código fuente num1 = int(input("Ingrese el primer número: ")) num2 = int(input("Ingrese el segundo número: ")) resultado = num1 + num2 print("La suma de", num1, "y", num2, "es igual a", resultado) Código objeto 0100010100111010011100… Programa ejecutable Para una arquitectura concreta y un sistema operativo Lenguajes de alto nivel
  • 13. 13 Lenguajes de programación Traductores • Traducción: Proceso por el cual se convierte el texto del programa de entrada en el de salida. • Lenguaje fuente: lenguaje en el que se escribe la entrada • Lenguaje objeto: lenguaje en el que se escribe la salida. En general, muy diferente del lenguaje fuente • Compilador: Programa que acepta como entrada un texto de programa escrito en un cierto lenguaje de alto nivel y genera como salida texto de programa en otro lenguaje, generalmente lenguaje de máquina.
  • 14. 14 Lenguajes de programación Compiladores • Compilar ≈ Convertir de un formato a otro • El significado deberá permanecer inalterado en la conversión • La entrada está escrita en un lenguaje  Tiene estructura • Semántica asociada y descrita en términos de esa estructura • El compilador “comprende” el programa y recolecta su significado en una representación semántica intermedia • A la hora de generar la salida  se genera estructura y significado
  • 15. 15 Lenguajes de programación Intérpretes • Es la forma de trabajar cada vez más frecuente, • En vez de traducir, realiza las acciones directamente • Por ejemplo, la máquina virtual de Python. • Ventajas del uso de intérpretes • Portabilidad: Un intérprete se escribe, habitualmente, en lenguaje de alto nivel. • Sencillez: Escribir un intérprete es menos costoso que escribir un compilador. • Señalización y manejo de errores: los compiladores cuidan “demasiado” la eficiencia de código. • Seguridad: Funcionamiento más transparente al usuario. • Desventajas: Velocidad de los programas interpretados y consumo de memoria.
  • 16. 16 Lenguajes de programación Compiladores vs. Intérpretes • Compiladores: • El procesamiento del programa es considerable. • El mecanismo de interpretación previsto es la CPU (hw). • La ejecución del programa traducido es relativamente rápida. • Intérpretes: • El procesamiento del programa es entre mínimo y moderado • El mecanismo de interpretación es un programa (sw). • La ejecución del programa es, en general, más lenta y más segura.
  • 17.
  • 18. Calculando valores Operadores y Expresiones Aprendiendo a programar con Python
  • 19. Objetivo: Efectuar operaciones con los datos • Necesitamos expresar operaciones • Utilizamos símbolos: operadores • Expresamos cálculos: expresiones Fuente: https://pixabay.com/en/computer-laptop-notebook-159466/ Programa Entrada (input) Resultado (output) 5 7 12 5 ¿ + ? 7 dato dato operador expresión Efectuando cálculos ¿Cómo expresamos cálculos?
  • 20. Operadores para tipos numéricos • Operadores sobre int y float 12 + - * Suma Rest Multiplicación >>> 7+5 >>> 7-5 >>> 7*5 Salida >>> 7/5 2 35 1.4 / División Operadores aritméticos
  • 21. Más operadores aritméticos Inverso aditivo >>> -5 Salida ** Exponenciación // División entera % Módulo - >>> 7**5 >>> 7//5 >>> 7%5 -5 16807 1 2 • Operadores sobre int y float Operadores para tipos numéricos
  • 22. Precedencia y asociatividad • Expresiones con más de un operador se evalúan por precedencia • Operaciones con igual precedencia se resuelven por orden de asociatividad >>> (3+5//4-2)-2**4+3*(7-2) Salida 1 Operadores para tipos numéricos
  • 23. Precedencia y asociatividad >>> (3+5//4-2)-2**4+3*(7-2) Salida Operador Preced. Asociatividad Ejemplo Resultado ** 1 Derecha a izquierda 2**3**2 512 +, - (unarios) 2 -2**2 -4 *, /, //, % 3 Izquierda a derecha 15/3*2 10 +, - (binarios) 4 Izquierda a derecha 3-4+5 4 • Dentro de cada paréntesis se evalúa: 1 Operadores para tipos numéricos
  • 24. Operadores de comparación • Se aplican a int o float < <= > >= != == • Siempre entregan un tipo bool True Menor >>> 5<5.1 Salida Mayor o igual >>> 3>=5 Distinto >>> 3!=5 Igualdad >>> 6==9 False True False Operadores para tipos numéricos
  • 25. Operadores lógicos o booleanos • Se aplican a bool not and or • Siempre entregan un tipo bool True >>> not 3>5 Conjunción lógica (Y) >>> 3>5 and 2<6 Disyunción lógica (O) >>> 3>5 or 2<6 False True Negación Operadores para tipos lógicos
  • 26. Precedencias actualizadas Operador Asociatividad Ejemplo Resultado ** Derecha a izquierda 2**3**2 512 +, - (unarios) -2**2 -4 *, /, //, % Izquierda a derecha 15/3*2 10 +, - (binarios) Izquierda a derecha 3-4+5 4 <. <=, >, >=, !=, == Izquierda a derecha 3<4<=4<5 True not not not 5>2 True and Izquierda a derecha not True and False False or Izquierda a derecha True or True and False True >>> 5//4 > 3 or 2<5**2 True Operadores numéricos y lógicos
  • 27. Ante la duda, use paréntesis Paréntesis tienen la mayor prioridad > 3 or 2<5**2 >>> 5//4 True • Es equivalente a: >>> ((5//4) > 3) or (2<(5**2)) True
  • 28. Sumando y multiplicando str • Operadores para str + Concatenación 'Yo soy tu padre' Salida * Repetición >>> "Yo soy " + "tu padre" >>> "Ja" * 4 'JaJaJaJa' Operadores para tipos de textos
  • 29. Operadores de datos en Python • Aritméticos: + - * / // % • Comparación: < <= > >= == != • Lógicos: not and or • Texto: + * • Reglas para evaluar expresiones que usan múltiples operadores Resumiendo
  • 30. TALLER PROBLEMA 01 Dado dos números enteros, hallar la suma ENTRADA SALIDA Variable Símbolo Variable Símbolo Primer numero num1 Suma resultado Segundo numero num2 INICIO num1, num2 num1, num2, resultado: Entero resultado=num1+num2 resultado FIN Seudocódigo Inicio //Variables num1, num2, resultado: Entero //Entrada Leer num1, num2 //Proceso resultado=num1+num2 //Salida Escribir resultado Fin PYTHON num1 = int(input("Ingrese el primer número: ")) num2 = int(input("Ingrese el segundo número: ")) resultado = num1 + num2 print("La suma de", num1, "y", num2, "es igual a", resultado)
  • 31. print("Operaciones aritméticas") n1 = int(input("ingrese el primer numero = ")) n2 = int(input("ingrese el segundo numero = ")) s = n1 + n2 r = n1 - n2 m = n1 * n2 p = n1**n2 print("suma = ", s) print("resta = ", r) print("multiplicación = ", m) if(n2==0): print("no se puede dividir") else: d = n1 / n2 print("división = ", d) print("potenciación = ", p)
  • 32. TALLER PROBLEMA 02 Hallar el cociente y el residuo de dos números enteros. ENTRADA SALIDA Variable Símbolo Variable Símbolo Dividendo num1 Cociente c Divisor num2 Residuo r INICIO num1, num2 num1, num2,c, r: Entero cociente=num1//num2 C, r FIN Seudocódigo Inicio //Variables num1, num2, c, r: Entero //Entrada Leer num1, num2 //Proceso c=num1/num2 r=num1 mod num2 //Salida Escribir resultado Fin PYTHON num1 = int(input("Ingrese el dividendo: ")) num2 = int(input("Ingrese el divisor: ")) cociente = num1 // num2 residuo = num1 % num2 print("El cociente de la división es", cociente) print("El residuo de la división es", residuo)) residuo=num1 mod num2
  • 33. 33 Donde quiera que usted vea un negocio exitoso, alguien ha tomado una decisión valiente. Seamos dueños de nuestro propio destino