50
“Análisis de 3 lenguajes de Programación” ALUMNOS: Flores López José Fernando. Melin Bistrain Carlos Belisario. NO. CONTROL: 11400508. 11400536. PROFESOR: Sonia Alvarado Mares FECHA: 28-06-2014 INSTIT UTO TECNOL OGICO DE TEPIC

Análisis de 3 lenguajes de Programación.docx

Embed Size (px)

Citation preview

INSTITUTO TECNOLOGICO DE TEPIC

Anlisis de 3 lenguajes de Programacin

ALUMNOS: Flores Lpez Jos Fernando.Melin Bistrain Carlos Belisario.

NO. CONTROL: 11400508.11400536.

PROFESOR: Sonia Alvarado Mares

FECHA: 28-06-2014

INDICE

ContenidoINTRODUCCION2OBJETIVOS2LENGUAJE C++3ALFABETO3IDENTIFICADORES4PALABRAS RESERVADAS5TIPO DE DATOS7CONSTANTES8OPERADORES8COMPONENTES LXICOS, PATRONES Y LEXEMAS10VENTAJAS14DESVENTAJAS14MATLAB15QU ES MATLAB?15ALFABETO15IDENTIFICADORES16PALABRAS RESERVADAS16TIPO DE DATOS18OPERADORES19CONSTANTES21Componentes lxicos, patrones y lexemas22Ventajas25Desventajas25LENGUAJES PYTHON26QU ES?26ALFABETO26IDENTIFICADORES26PALABRAS RESERVADAS27TIPO DE DATOS27TIPOS DE OPERADORES.28Componentes lxicos, patrones y lexemas29VENTAJAS32DESVENTAJAS33COMPARACION DE LENGUAJES DE ACUERDO EN SU ANALISIS LEXICO34COMPARANDO MATLAB CON C++35COMPARANDO PYTHON CON C++35CONCLUSION36REFERENCIAS37

INTRODUCCIONLenguajes de programacin: Existen diversos lenguajes de programacin cada uno de ellos cuenta con diferentes caractersticas tal como su alfabeto, sus palabras reservadas, sus tipos de datos, constantes. Estos cumplen con ciertas caractersticas que los hacen distinguirse unos de otros. En el documento abrimos pie a la investigacin de lenguajes tales como: C++, MATLAB, PYTHON.

OBJETIVOSObjetivo General: Elaborar un reporte de los componentes de tres lenguajes de programacin actuales, entre ellos alfabeto, cadenas, componentes lxicos y lexemas .Adems debe de contener una tabla comparativa de las ventajas y desventajas, segn su criterio de cada grupo de elementos mencionados anteriormente.

LENGUAJE C++QU ES? C++ es un lenguaje de programacin de uso general con un sesgo hacia la programacin de sistemas que: Es un C mejorado. Soporta abstraccin de Objetos. Soporta Programacin Orientada a Objetos. Programacin genrica.Bjarne Stroustrup(1994).

ALFABETO

Para formar los elementos bsicos del programa (constantes, variables, operadores, expresiones, etc.), C utiliza como bloques de construccin las letras maysculas de la A a la z, las minsculas de la a la z, los dgitos del O al 9 y ciertos caracteres especiales.

abcdefghij

klmnopqrst

uvwxyzABCD

EFGHIJKLMN

OPQRSTUVWX

YZ01234567

89-{}[]#()

%:;.?*+

/^&|~!=,'

Tambin se incluyen caracteres no representables tales como Espacio; tabulacin horizontal; tabulacin vertical; salto de formato y nueva lnea .Estos originalmente se incluan en los denominados caracteres de control.CARCTERSECUENCIA DE ESCAPEVALOR ASCII

Sonido (Alerta)\a007

Retroceso\b008

Tabulador horizontal\t009

Tabulador vertical\v011

Nueva lnea (avance de lnea)\n010

Avance de pagina\f012

Retorno de carro\r013

Comillas ()\034

Comilla Simple ()\039

Signo de Interrogacin ()\?063

Barra inclinada hacia atrs (\)\\092

Nulo\0000

En la mayora de los lenguajes de programacin, se consideran componentes lxicos las siguientes construcciones. (Aho, Sethi, Ullman,(1993). Las palabras reservadas Los operadores (de comparacin, asignacin, booleanos, binarios, aritmticos, etc.) Los identificadores (de variables, funciones, constantes, etc.) Las constantes o literales (enteros, reales, cadenas de caracteres, caracteres, etc.) Signos de puntuacin (parntesis, coma, punto y coma, etc.) Podemos entonces organizar c++ Por sus diferentes formas de construccin del lenguaje.

IDENTIFICADORES

En C / C + +, los nombres de las variables, etiquetas, y otros diversos objetos definidos por el usuario se denominan identificadores. Estos identificadores pueden variar de uno a varios caracteres. El primer carcter debe ser una letra o un guion bajo. Estos son algunos nombres de identificadores correctos e incorrectos: (Bjarne Stroustrup, 1994).

CorrectoIncorrecto

Count1Count

test123hi!there

high_balancehighbalance

NO hay lmite para la longitud de los identificadores. Algunas implementaciones de C reconocen slo los ocho primeros caracteres, aunque la mayora de ellas reconocen ms (tpicamente, 31 caracteres). El resto de los caracteres son utilizados para la comodidad del programador. (Bjarne Stroustrup, 1994).Este tipo de identificador se llama un nombre interno e incluye los nombres de las variables locales, por ejemplo. En C + +, no hay lmite a la longitud de un identificador, y al menos el primer carcter 1024 son significativas. Esta diferencia puede ser importante si usted est convirtiendo un programa de C a C + +. (Bjarne Stroustrup, 1994).

PALABRAS RESERVADAS

Las palabras reservadas son identificadores predefinidos que tienen significados especiales y no pueden usarse como identificadores creados por el usuario en los programas. (Bjarne Stroustrup,1994).

El primero contiene las palabras de C y que C++ como evolucin de C tambin contiene:

CadenaDescripcin

volatileEspecifica una variable que almacena datos cuyo contenido puede cambiar en cualquiermomento.

constEspecifica una variable cuyo contenido no puede cambiar bajo ninguna circunstancia.

enumEspecifica un conjunto de variables que toman valores en un orden especficoy consecutivo.

staticEspecifica una variable que slo puede cambiar por efecto del programa.

typedDefine un tipo de dato para fcil manejo del programador basado en los datos definidos.

sizeofFuncin que devuelve el tamao en bytes del tipo de dato al que se aplica.

autoUna de las cuatro clases de almacenamiento de datos.

structDefine una estructura, para mayor informacin consulte Estructuras en C.

breakObliga a salir de una estructura condicional switch.

continueInstruccin para suspender un ciclo de un bucle.

ifInstruccin Condicional.

elseInstruccin Condicional utilizada conjuntamente con el if.

whileBucle condicional que se ejecuta conforme la condicin entre el parntesis sea cierta.

forBucle que se ejecuta tantas veces como se cumplan las condiciones especificadas dentro delparntesis de la instruccin.

swithEstructura condicional Distinguida por casos.

returnEspecifica el dato que devuelve una funcin.

voidEspecifica que una funcin no devuelve valor alguno.

caseDefine los elementos de una estructura condicional.

defaultDefine las acciones a ejecutar no especificadas por una instruccin case dentro de unaestructura condicional switch.

goto

Instruccin que ejecuta un salto a otra parte del cdigo.

registerPermite almacenar un dato en el registro del sistema.

doBucle condicional que se ejecuta en conjunto con la instruccin while.

externEspecifica una variable funcin que se encuentra en un archivo fuente diferente.

unionUn tipo de dato compuesto de otros datos definidos, consulte Estructuras en C

Palabras que no provienen de C y que, por tanto, solo utiliza C++:

asmdynamic_castnamespacereinterpret_casttryboolexplicit

newstatic_casttypeidcatchfalseoperatortemplate

typenameclassfriendprivatethisusingconst_cast

inlinepublicthrowvirtualdeletemutableprotected

truewchar_t

TIPO DE DATOS

Estndar c + + no especifica un mnimo tamao o rango para los tipos bsicos (char ,int, float, double). En su lugar, se simplifican los Estados de que deben cumplir con ciertos requerimientos. Por ejemplo, Estndar C + + indica que un int se "tienen el tamao natural, sugerido por la arquitectura del entorno de ejecucin". En todos los casos, esto se cumple o exceden los rangos mnimos estipulados por Estndar C. Cada compilador c + + especifica el tamao y la variedad de los tipos bsicos en la cabecera. (Bjarne Stroustrup, 1994).CADENATAMAO EN BITSRANGO MINIMO

char8-127 - 127

unsigned char80 - 255

signed char8-127 - 127

int16 0 32-32,767 32,767

unsigned int16 o 320 65,535

signed int16 o 32-32,767 32,767

short int 16-32,767 32,767

unsigned short int160- 65,535

signed short int 16-32,767 32,767

long int32-2,147,483,647 - 2,147,483,647

signed long int 32-2,147,483,647 - 2,147,483,647

unsigned long int320- 4,294,967,295

float32Seis dgitos de precisin

double6410 dgitos de precisin

long double8010 dgitos de precisin

CONSTANTES

C++ tiene cuatro tipos bsicos de constantes: constantes enteras, constantes en coma flotante, constantes de carcter y constantes de cadena de caracteres.Las constantes enteras y en coma flotante representan nmeros. Se las denomina, en general, constantes de tipo numrico. Las siguientes reglas se pueden aplicar a todas las constantes numricas.l. No se pueden incluir comas ni espacios en blanco en la constante.2. Si se desea, la constante puede ir precedida de un signo menos (-). (Realmente, el signo menos es un operador que cambia el signo de una constante positiva, aunque se puede ver como parte de la constante misma.)3. El valor de una constante no puede exceder un lmite mximo y un mnimo especificados. Para cada tipo de constante, estos lmites varan de un compilador de C a otro. (Bjarne Stroustrup, 1994).OPERADORES

Un operador es un elemento de programa que se aplica a uno o varios operandos en una expresin O instruccin. (CRISTIAN GUILLERMO GARCA ,2012)OPERADORES RELACIONALES

CadenaAccin

>Mayor que.

>=Mayor o igual que.

Indica los bits han de ser movido a la derecha.

> o > obtenindose la respuesta en las lneas inmediatamente inferiores.

IDENTIFICADORES

Los objetos que se pueden utilizar en MATLAB han de tener un identificador que es un conjunto de caracteres. La palabra resultante ha de cumplir ciertos requisitos*No puede comenzar con un nmero*No puede coincidir con palabras reservadas como for, if, while, etc.*No puede contener espacios en blanco (Holly Moore,2007).Ejemplo:

CorrectoIncorrecto

Suma4Suma

Resultadoifif

Resultado_MatrizResultado Matriz

PALABRAS RESERVADAS

breakcasecontinueIf elseif

endforfunctionglobalotherwise

persistentreturn switchtrywhile

dispfprintfinput

NUMEROS ENTEROS Y FUNCIONES DE VARIABLE ENTERA

CADENADESCRIPCION

rem(n,m)

Resto de la divisin de n entre m (funcin vlida para n y m reales)

sign(n)

Signo de n (1 si n>0, -1 si n o == o ~= o =

~Operador lgico ~, Operador lgico&& o || o & o | o ~

Ventajas Amplio soporte matemtico. Alta precisin. Amplio soporte de funciones ya desarrolladas. Rpido prototipado. Integracin con dispositivos hardware. Una comunidad muy extendida. Magnfica ayuda. Desventajas Gestin oscura de la memoria. Problemas eventuales de velocidad. Distribucin de ejecutables.

LENGUAJES PYTHONQU ES?

Python es un lenguaje de programacin creado por Guido van Rossum a principios de los aos 90 cuyo nombre est inspirado en el grupo de cmicos ingleses Monty Python. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un cdigo legible. (ngel Luis Garca Garca, Introduccin a python, Pag. 10-22).Se trata de un lenguaje interpretado o de script, con tipado dinmico, fuertemente tipado, multiplataforma y orientado a objetos. Lenguaje interpretado o de script. (ngel Luis Garca Garca, Introduccin a python, Pag. 10-22).Pero se dice que tambin es un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa intermedio llamado intrprete, en lugar de compilar el cdigo a lenguaje mquina que pueda comprender y ejecutar directa-mente una computadora (lenguajes compilados). (Eugenia Bahit, Python para principiantes, Pag.20-27).ALFABETO

Caracteres alfanumricos: Caracteres alfabticos en mayscula (26): A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z. Caracteres alfabticos en minscula (26): a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z. Caracteres numricos (10): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Carcter de subrayado (1): _ Caracteres especiales (22): = + - * * / ( ) . , $ : % ; ! & < > ,#IDENTIFICADORES

Un identificador est formado por cualquier sucesin de letras, dgitos y caracteres de subrayado que no comience por digito, distingue entre maysculas y minsculas, pueden tener cualquier longitud, no puede coincidir con el nombre de una palabra reservada, se deben escoger identificadores significativos, es decir que poseen mayor legibilidad. (Eugenia Bahit, Python para principiantes, Pag.20-27).

CorrectoIncorrecto

Radio2Radio

Ra_DioRa Dio

Resultado_MatrizResultado-Matriz

PALABRAS RESERVADAS Las palabras reservadas de Python son las siguientes:False class finally is returnnone continue for lambda tryTrue def from nonlocal whileand del global not withas elif if or yieldassert else import pass append break except in raise print

TIPO DE DATOS

intUna variable de tipo integer o entero slo puede guardar nmeros enteros. Es decir sin coma.

floatUna variable de tipo float slo puede almacenar nmeros decimales. Tomar en cuenta que en Python, los nmeros decimales se escriben con punto en lugar de coma.

chrUna variable de tipo character slo puede guardar un carcter. O sea, un smbolo tipogrfico que puede ser una letra, un nmero, un espacio, una coma, etc.

strUna variable de tipo string o cadena slo puede almacenar una cadena de caracteres, pueden ser letras y nmeros, puntos, comas, espacios, etc.

boolUna variable booleana slo puede guardar uno de los siguientes valores: True o False (verdadero o falso).

TIPOS DE OPERADORES.

OPERADORDESCRIPCIONEJEMPLO

+SUMA3 + 2 # r es 5

-RESTA4 - 7 # r es -3

*MULTIPLICACION2 * 6 # r es 12

**EXPONENTE2 ** 6 # r es 64

/DIVISIONr = 3.5 / 2 # r es 1.75

//DIVISION ENTERAr = 3.5 // 2 # r es 1.0

%MODULOr = 7 % 2 # r es 1

&Andr = 3 & 2 # r es 2

|ORr = 3 | 2 # r es 3

~NOTr = ~3 # r es -4

^XORr = 3 ^ 2 # r es 1

> 1 # r es 1

==IGUALDADr = 5 == 3 # r es False

=ASIGNACION#r=10

MAYOR QUEr = 5 > 3 # r es True

>=MAYOR O IGUALr = 5 >= 3 # r es True