Lenguajes de programación parte i.4

32
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

description

UpMor - Parte IV - Conceptos y Generalidades Lenguajes de Programación.

Transcript of Lenguajes de programación parte i.4

Page 1: Lenguajes de programación parte i.4

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
Page 3: Lenguajes de programación parte i.4
Page 4: Lenguajes de programación parte i.4

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

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

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

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

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

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

Historia de lenguajes

Page 11: Lenguajes de programación parte i.4

Simulation Software for Future Programming Community Berkley

Page 12: Lenguajes de programación parte i.4

Herramientas de lenguajes

Page 13: Lenguajes de programación parte i.4

VisualStudio

Page 14: Lenguajes de programación parte i.4
Page 15: Lenguajes de programación parte i.4

Eclipse

Page 16: Lenguajes de programación parte i.4

Tendencias de lenguajes

Page 17: Lenguajes de programación parte i.4
Page 18: Lenguajes de programación parte i.4
Page 19: Lenguajes de programación parte i.4

Sellos Biométricos (algoritmos)

Pasaporte

Código de barraFacturación

Retina-Huella

Lector USB

Page 20: Lenguajes de programación parte i.4

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

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

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

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

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

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

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

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

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

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

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

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

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