lenguajes de programación parte i.4

Post on 07-Jul-2015

650 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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.

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.

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.

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.

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

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.

Historia de lenguajes

Simulation Software for Future Programming Community Berkley

Herramientas de lenguajes

VisualStudio

Eclipse

Tendencias de lenguajes

Sellos Biométricos (algoritmos)

Pasaporte

Código de barraFacturación

Retina-Huella

Lector USB

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

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

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

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

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

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

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

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

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

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 (+, -, *, <, @)

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

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

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

top related