lenguajes de programación parte i.4
DESCRIPTION
UpMor - Parte IV - Conceptos y Generalidades Lenguajes de Programación.TRANSCRIPT
![Page 1: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/1.jpg)
Las principales categorías de software son:◦ Software de sistemas (incluye a los sistemas operativos y sus
herramientas de mantenimiento): Hace funcionar a la computadora, de acuerdo al hardware existente.◦ Lenguajes de programación-Lenguaje artificial que puede ser
usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.◦ Software de aplicaciones: Programas orientados a realizar
tareas específicas (editar documentos, crear gráficas, manejar bases de datos, etc.). ◦ Plataformas (Windows, Mac OS, Unix, etc.).
Software
![Page 2: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/2.jpg)
![Page 3: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/3.jpg)
![Page 4: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/4.jpg)
Definición de LenguajesDefinición de Lenguajes
A fin de interpretar necesidades y transcribirlas a las computadoras existen lenguajes que permiten describir los pasos con mayor o menor detalle.
Clasificación de los lenguajes (desde el punto de vista de este curso): Lenguaje de programación.
Lenguaje máquina. Lenguaje bajo. Lenguaje de alto nivel.
Lenguaje de Algoritmo.
Lenguaje de diagrama de flujo.
![Page 5: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/5.jpg)
Conjunto de palabras, símbolos y reglas sintácticas mediante las cuales puede indicarse a la computadora los pasos a seguir para resolver un problema.
Los lenguajes de programación pueden clasificarse por diversos, siendo el más común su nivel de semejanza con el lenguaje natural y su capacidad de manejo de niveles internos de la máquina.
Estos lenguajes se clasifican en 3 grandes categorías:
◦ Lenguaje Máquina.◦ Lenguaje Bajo Nivel.◦ Lenguaje Alto Nivel.
![Page 6: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/6.jpg)
Son aquellos que están escritos en lenguajes directamente inteligibles por la máquina (computadora), ya que sis instrucciones son cadenas binarias(cadenas y series en digitos de 0,1) que especifican una operación y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones o código de máquina (código binario).
Ventajas: Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de
traducirlo, lo que lo hace más rápido de ejcutarse, superior a cualquier otro lenguaje de programación.
Deventajas: Dependen del hardware de la computadora y por lo tanto difiere su
ejecución en una computador a y otra. Dificultad y lentitud en la codificación. Poca fiabilidad. Gran dificultad para verificar y poner a punto los programas.
![Page 7: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/7.jpg)
Son más accesibles que los lenguajes de máquina, pero dependen de la computadora también El lenguaje por excelencia de bajo nivel es el ensamblador. Las instrucciones en lenguaje ensamblador se conocen como nemotécnicos. Por ejemplo nemotécnicos típicos de operaciones aritméticas son en Inglés: Add Sub, Div, etc (Sum, Res, Div, Etc). ADD M N P.Esta instrucción signifca sumar el contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P, lo anterior en código binario se interpretaría en Código Binario como 01 10 1001 1010 1011.
![Page 8: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/8.jpg)
Un programa en lenguaje ensamblador requiere traducirse (source code) para poder ejecutarse directamente por la computadora. Un programa traducido en lenguaje máquina se conoce como object code.Ventajas: Mayor facilidad de codificación y en general su velocidad de cálculo.Desventajas: Dependencia total de la máquina lo que impide su transportabilidad (appel-Pc). El nivel de conocimiento del programador deberá ser de alto a nivel de Hardware. Sus aplicaciones son reducidas se centran a app en tiempo real, control de procesos y de dispositivos electrónicos.
Lenaguaje Ensamblador
![Page 9: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/9.jpg)
Estos lenguajes son los más utilizados por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores. Un programa escrito en lenguaje de alto nivel es independiente de la máquina (las instrucciones no dependen del diseño del hardware o de una computadora en particular) por lo que estos programas son portables on transportables. Los programas escritos en lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificación en diferente tipo de computadoras.
Ventajas: ◦ Tiempo de formación de los progrmadores es relativamente corto en su
aprendizaje comparado con los otros lenguajes.◦ Las reglas sintácticas son similares al lenguaje humano Read, Open, Print,
Write, etc.◦ Las modifcaciones e instalaciones son más fáciles.◦ Reducción del costo◦ Transportabilidad-.
Desventajas: ◦ Incremento del tiempo de puesta a punto ya que requiere de interpretes,
traducciones, compilaciones del programa fuente antes de instalarse.◦ No se aprovechgan los recursos internos de la máquina.◦ Aumento de la ocupación de memoria y son más lentos en ejecución.
![Page 10: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/10.jpg)
Historia de lenguajes
![Page 11: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/11.jpg)
Simulation Software for Future Programming Community Berkley
![Page 12: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/12.jpg)
Herramientas de lenguajes
![Page 13: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/13.jpg)
VisualStudio
![Page 14: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/14.jpg)
![Page 15: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/15.jpg)
Eclipse
![Page 16: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/16.jpg)
Tendencias de lenguajes
![Page 17: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/17.jpg)
![Page 18: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/18.jpg)
![Page 19: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/19.jpg)
Sellos Biométricos (algoritmos)
Pasaporte
Código de barraFacturación
Retina-Huella
Lector USB
![Page 20: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/20.jpg)
Tabla 1. Identificadores (expresión regular)
[a-zA-Z][a-zA-Z0-9]* PL/I, Smalltalk
[_a-zA-Z][_a-zA-Z0-9]*C, C#, C++, Perl, PHP,
Python[_a-zA-Z$][_a-zA-Z0-9$]* Java, JavaScript
[^0-9\s]\S* Lisp, Scheme
[_a-zA-Z][_a-zA-Z0-9]* Variables de Ruby[_a-zA-Z][_a-zA-
Z0-9]*[!?]?Funciones de Ruby
[_A-Z][_a-zA-Z0-9]* Variables de Prolog
[_a-z][_a-zA-Z0-9]* Claúsulas de Prolog
Estructura de lenguages
![Page 21: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/21.jpg)
Tabla 2. Declaración de Variables
t vC, C#, C++, Java,
Perl6v: t Pascal, Ada, Eiffel
| v1 v2 | Samlltalk(declare (v
t))Lisp
global v1, v2 Python
var v JavaScript
define Dylan, Scheme
![Page 22: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/22.jpg)
Tabla 3. Operación de Asignación
=Basic, Fortran, C, C#, C++, Java, JavaScript, Perl, PHP, PHYTON
:=Pascal, Ada, Simula, Smalltalk, Eiffel,
Dylan
make "v e
Logo
set setq
Lisp
set! Scheme
is Prolog
![Page 23: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/23.jpg)
Tabla 4. Operadores igualdad y desigualdad
== === != !== JavaScript, PHP
== !=C, C#, C++, Java, Perl, Python,
Ruby= <> Basic, Pascal, Logo
= == ~~ ~= Smalltalk
== \== Prolog
eq eqv eql ne Lisp Scheme
is_equal Eiffel
.EQ. .NE. Fortran
![Page 24: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/24.jpg)
Tabla 5. Operadores igualdad y desigualdad
{ .. }C, C#, C++, Java, Perl,
PHP, JavaScript
begin .. end Ada, Pascal
foo .. end where foo in { if, do, ..} Ruby, Eiffel
sangrías Phyton
[ x y .. ] Smalltalk
[ .. ] Logo
![Page 25: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/25.jpg)
Tabla 6. if-then
if (c) bC, C#, C++, Java, JavaScript,
PHPif c then b end Ada, Eiffel, Ruby
if c then b Basic, Pascal
if c: b Python
b if c ♦ c and b Perl, Ruby
if c [b] Logoc ifTrue:b ♦ c
ifFalse:bSmalltalk
if (c): b endif PHP
c if b then Forth
(if c b) Lisp, Scheme
![Page 26: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/26.jpg)
Tabla 7. Llamadas a funciones sin/con parámetros
f() ♦ f(a,b)C, C#, C++, Java,
JavaScript,Perl, PHP, Python
f ♦ f(a,b) Ada, Pascal, Eiffel, Prolog
f f[] f.callf(a,b) f[a,b] f.call(a,b) Ruby
f ♦ f(a,b) f a,b Perl
(f) ♦ (f a b) Lisp Scheme
f value ♦ a f:b Smalltalk
CALL F ♦ CALL F(A,B) Fortran
f ♦ a b f Forth
http://expo.itch.edu.mx/view.php?f=prog_14
![Page 27: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/27.jpg)
Tipos de datos
Dato: Expresión general que describe los objetos con los cuales opera una computadora. Los datos de entrada son transformados por el programa, se procesan y generan información.
Clasificación de datos:
• Numéricos• Lógicos• Cadenas
Tipos de datos
Dato: Expresión general que describe los objetos con los cuales opera una computadora. Los datos de entrada son transformados por el programa, se procesan y generan información.
Clasificación de datos:
• Numéricos• Lógicos• Cadenas
![Page 28: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/28.jpg)
Datos Numéricos
Son aquellos que representan una cantidad o valor determinado. Se pueden representar a través de diferentes formatos (enteros, punto y fracciones decimales).
Se clasifican en :
• Tipo Numéricos Entero (integer).• Tipo Numérico Real (real).
Enteros
Conjunto finito de los números enteros. Los enteros son números completos, no tienen componentes fraccionarios o decimales; pueden ser negativos o positivos.
Ejemplo: 5,6,,-10,-10
![Page 29: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/29.jpg)
Datos Numéricos/CadenasReales
Utilizan siempre un punto decinmal y pueden ser negativos o positivos, consiste en un número enterio y una fracción decimal.
Ejemplo: 0.3461, 0.32 8.1 -1.32
Cadenas
Son datos que representan información textual, frases, símbolos, etc. No representan valor alguno para efectos numéricos, se delimitan con apóstrofes o comillas.
Se caslifican en• Tipo Character • Tipo String.
Tipo CharacterConjunto finito y ordenado de caracteres que la computadora reconoce (Ascii).
Se calsifican en:• Caracteres Alfabético (D,E, F,…..m,n..z)• Caracteres Numéricos (1,2,3…0,9)• Caracteres Especiales (+, -, *, <, @)
![Page 30: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/30.jpg)
Datos Numéricos/CadenasTipo String
Sucesión de caracteres que se encuentran delimitados por una comilla o apóstrofe o bien, doble comilla según el tipo de lenguaje de programación. La longitud de una cadena de caracteres se delimita por los separadores mencionados.
Ejemplo:“Hola Mundo Hola”, “Calle 10 de Abril”, “1965”
Denominados Boleanos, son datos que pueden adquirir uno de dos valores: Falso-Veradero.
Representan alternativas (si/no), True-False a determinadas condiciones. Ejemplo se pide un valor primos, la respuesta será Verdadera o falsa.
Lógicos
![Page 31: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/31.jpg)
Se calsifican en:• Simples• Compuestos
Simples No poseen una estructura compleja
Compuestos: Tienen estructuras predeterminadas.
• Subrango: Aquellos en los que se especifica con precisión el intervalo de valores válidos para un dato (0…100…”A…Z”), Valores reales no entran en esta clasificación, su intervalo no esta definido.
• Enumerativos: Son aquellos en los que se definen individualmente los valores para un dato.Ejemplo: (10,40, 60, 60) • Definidos por el usuario:Definidos por el usuario/programador para satisfacer necesidades del programa.
Clasificación tipo de datos
![Page 32: Lenguajes de programación parte i.4](https://reader033.vdocumento.com/reader033/viewer/2022052910/559b74951a28ab794f8b4668/html5/thumbnails/32.jpg)
Se calsifican en:• Simples• Compuestos
Constante: Son aquellas que no cambian de valor durante la ejecución de un prgrama. Se representa en la forma descrita en cada tipo de datos.
Variables: Son áquellos que pueden modificar su valor durante la ejecución de un programa en la forma descrita en cada tipo de datos.
Constantes y valores