Está en la página 1de 16

PCod

PCod....................................................................................................................................1 1. Tipos de Datos Constantes............................................................................................2 1.1. 1.2. 1.3. 1.4. 2. 3. Entero ..................................................................................................................2 Decimal ................................................................................................................2 Cadena .................................................................................................................3 Caracter ................................................................................................................3

Datos Variables ............................................................................................................4 Tipos de Datos Variables:..............................................................................................4 3.1. Arreglos:...............................................................................................................5

4.

Sentencias de Control de Flujo ......................................................................................5 4.1. 4.2. 4.3. Sentencia Condicional ...........................................................................................5 Sentencia de Bucle definido ..................................................................................6 Sentencia de Bucle indefinido................................................................................7

5.

Operadores ..................................................................................................................7 5.1. 5.2. 5.3. 5.5. 5.6. De Asignacin. ......................................................................................................7 Agrupamiento.......................................................................................................8 Aritmticos...........................................................................................................9 Relacionales........................................................................................................10 De Entrada/Salida. ..............................................................................................11

6. 7. 9.

Funciones...................................................................................................................12 Comentarios...............................................................................................................13 Ejemplos de Cdigo ....................................................................................................15

Lenguaje PCod
1. Tipos de Datos Constantes 1.1. Entero Es un nmero entero que puede ser negativo o positivo. Si es positivo no se tiene que anteponer nada al nmero pero se puede colocar el signo +, pero si es negativo se le antepone el smbolo -, luego de esto le siguen solo dgitos: Expresin Regular: ENTERO Autmata:

Ejemplos: 1024 -123 +35 1.2. Decimal Es un nmero que contiene decimales, sigue las mismas reglas que en Entero. Debe tener el punto decimal y parte decimal pero puede carecer de parte entera por lo que se considera como 0: Expresin Regular: DECIMAL Autmata:

Ejemplos: 13.563 -0.133 .343

1.3. Cadena Es un conjunto de caracteres que pueden ser cualquier carcter, exceptuando caracteres compuestos como: , , , etc. Esta cadena est encerrada entre comillas simples : Expresin Regular: CADENA Autmata:

Ejemplos: hola como estas \n

1.4. Caracter Es un solo caracter que se caracteriza por tener su cdigo ASCII. Va entre _ Expresin Regular: CARACT

Autmata:

Ejemplos: _a_ ___ 2. Datos Variables Los datos variables son los que nosotros podemos cambiar su valor en el transcurso de la ejecucin del programa. Estos los definimos nosotros al darles un nombre para poder referenciarlos y manipularlos con los operadores. Este nombre es el identificador de la variable y siempre comienza con el carcter @ seguido del nombre: Expresin Regular: IDENT Autmata:

Ejemplos: @numero1 @_1ident 3. Tipos de Datos Variables: Para usar una variable tenemos que declararla primero definiendo su tipo, el cual puede ser: Entero Decimal Cadena Carcter

La forma de declarar una variable sigue la siguiente estructura:

Ejemplos: Entero @i Decimal @flotante 3.1. Arreglos: Tambin se puede declarar arreglos de los tipos de datos especificados anteriormente. Se utiliza los operadores [ ]: Expresin Regular: CORCHE_DER CORCHE_IZQ Autmata:

La estructura de la declaracin de un arreglo es:

Ejemplos: Entero @arreglo[4] Decimal @flotantes[20] El uso de un elemento del arreglo es (ndice va desde 0 a numElementos-1):

Ejemplos: @arreglo[0] @flotantes[2] 4. Sentencias de Control de Flujo 4.1. Sentencia Condicional

Nos permite decidir, a partir del resultado de evaluar una expresin booleana, si ejecutar o no un bloque determinado, u optar entre 2 bloques posibles. Sigue la siguiente estructura:

El primer bloque de sentencias se ejecuta cuando la condicin evaluada es verdadera, cuando no lo es pasara a evaluar la siguiente condicin (SINO SI) si es que lo hubiera(opcional) y si es verdadera se ejecutara el bloque de sentencias correspondiente y as sucesivamente si hay sucesivos SINO SI, si encontramos al final un SINO(opcional), el bloque de sentencias que le corresponde se ejecutara solo si se no ha cumplido ninguna condicin anterior. Ejemplo: ENTERO @c; SI (@a>@b) @c = a; SINO SI (@b>@a) @c=b; SINO @c=0; FIN SI 4.2. Sentencia de Bucle definido En este tipo de sentencia de bucle primero, la expresin 1 representa la variable del bucle y la expresin 2 su valor de incremento por cada iteracin del bucle. La variable del bucle recorrer los valores desde el nmero dado por la expresin 1 hasta que se deje de cumplir la condicin. El bloque de sentencias se ejecutar en cada uno de los valores que tome la variable del bucle. La sentencia de bucle definido sigue la siguiente estructura:

Ejemplo: @suma=0; PARA (@i=1:1) HASTA (@i<10) HACER @suma=@suma+@i; FIN PARA

4.3. Sentencia de Bucle indefinido Nos permite repetir la ejecucin de un bloque hasta tanto una condicin deje de cumplirse. Sigue la siguiente estructura:

Ejemplo: ENTERO @res = 1; MIENTRAS (@n > 1) HACER @res = @res * @n; @n = @n 1; FIN MIENTRAS 5. Operadores 5.1. De Asignacin. Es el operador que asigna un valor a una variable dado su identificador, el operador de asignacin es el = :

Expresin Regular: ASIGN Autmata:

La forma de asignar un valor a una variable es de la siguiente manera: Donde valor puede ser una expresin aritmtica cualquiera. Debe coincidir los tipos del identificador con el tipo de valor. Ejemplos: @i = 3 @decimal = @entero/(3-2) 5.2. Agrupamiento. El operador de agrupamiento se usa para las expresiones donde necesitamos asociar elementos como en operaciones aritmticas, sentencias lgicas o relacionales. El nico operador de agrupamiento son los parntesis: Expresin Regular: PARENT_DER PARENT_IZQ

Autmata:

Ejemplos: (2+3)/(5*3) (3<2)

5.3. Aritmticos. Existen los operadores suma, resta, divisin y multiplicacin: Expresin Regular: SUMA RESTA DIVISION MULTIPLICACION MODULO

Autmata:

La jerarqua de las operaciones es de la aritmtica normal. Solo se puede aplicar entre operandos del mismo tipo variables y constantes del tipo Decimal o Entero. Se puede realizar operaciones combinadas entre datos utilizando los operadores de agrupamiento.

Ejemplos (2.45-34)/(@flotante-5.0) (23+2)/(1-1)/(2+2) 5%3 + 5/3 5.4. Lgicos. Existen los operadores negacin (NO), Y lgico (Y) y O lgico(O) y se definen por las palabras reservadas en parntesis. Estos operadores devuelven como resultado un 1(verdadero) o un 0(falso) a partir de que se cumpla o no una condicin. Se puede realizar operaciones combinadas de relaciones entre datos utilizando los operadores de agrupamiento. La jerarqua en estos operadores es Y, O, NO. Ejemplo: ((3+4>@num)Y (@i<10) ) NO (@var==1)

5.5. Relacionales. Existen los operadores menor que, menor e igual que, mayor que, mayor e igual que, igual que y diferente que. Expresin Regular: MENOR MENOR_IGUAL MAYOR MAYOR_IGUAL IGUAL DIFERENTE Autmata: < <= > >= == <>

Estos operadores permiten formar condiciones que se vuelven ms complejas si se utilizan operadores de agrupamiento en unin a operadores lgicos. Los operadores relacionales tambin devuelven un 1 o un 0 en el caso de ser la condicin verdadera o falsa respectivamente. Ejemplo: (@num1==8)Y((7+@num2)<>(5+@i)) NO(@var <=10 Y @j >=0)

5.6. De Entrada/Salida. Son los operadores para leer y escribir datos de la entrada y salida estndar, son definidos con las palabras reservadas LEER y ESCRIBIR. ESCRIBIR y LEER reciben cualquier tipo de dato estndar, bien sea un carcter, un nmero o movimientos especiales del cursor, como \n. La forma de hacer una lectura/escritura de la o a la entrada/salida estndar sigue la siguiente estructura:

Los operadores para recibir u obtener los datos son <-, -> respectivamente. Expresin Regular: ENTRADA SALIDA Autmata:

Ejemplo: ESCRIBIR>>(1+@i) LEER<<Hola Mundo

6. Funciones Las funciones son lneas de cdigo que implementamos para que realice n determinada funcin. En PCod las funciones se declaran haciendo uso de la palabra reservada FUNCION y sigue la siguiente estructura:

representa el tipo de datos que retornara o devolver la funcin con la palabra reservada RETORNAR. puede tener los siguientes valores: ENTERO DECIMAL CADENA CARACT VACIO

Como podemos notar <tipo> son los tipos de datos variables que implementa pCod a excepcin de VACIO que es un tipo especial que indica que no devolver ningn valor la funcin.

indica una lista de parmetros que podemos pasarle a la funcin, de manera que podamos utilizarlos dentro. tambin puede ser una lita vaca de parmetros, es decir que la funcin puede no recibir ningn parmetro de entrada. Cada parmetro es separado por una coma. Cada uno de los parmetros tiene la siguiente estructura:

Donde tipo puede ser cualquiera de los tipos de datos definidos en la seccin Tipos de Datos Variables: ENTERO, DECIMAL, CADENA y CARACT. Ejemplo: ENTERO FUNCION @suma(ENTERO @num1, ENTERO @num2) ENTERO @suma=@num1+@num2; RETORNAR @suma; FIN FUNCION VACIO FUNCION @valor(ENTERO @posicion, DECIMAL @valor, ENTERO @estado) SI (@estado>0) ESCRIBIR >> Posicion: ; ESCRIBIR >>@posicion; ESCRIBIR >> Valor: ; ESCRIBIR >>@valor; FIN SI FIN FUNCION 7. Comentarios Cuando se escriben programas es muy til agregar comentarios que ayuden a explicar lo que realiza un programa. En pCod se pueden utilizar dos tipos de comentarios: De una lnea y de varias lneas. Expresin Regular

COMENTARIO COMENTARIO_LINEAS ! Autmata

Ejemplo Este es un comentario de una lnea en pCod? Este es un comentario de varias lneas en pCod! 8. Sentencias

Los programas pCod se ejecutan secuencialmente, es decir, las sentencias se ejecutan una a continuacin de otra, en el mismo orden en que estn escritas en el programa. Existen varios tipos de sentencias y estos tipos son:
Sentencias de Bloque: Una sentencia de bloque es un conjunto de sentencias encerrada entre llaves: { }, que puede estar vaca. Sentencias de control de flujo: Sus estructuras o sintaxis ya han sido explicadas en paginas anteriores, sin embargo cabe resaltar que estas son sentencias que pueden agrupar dentro e ellas otras sentencias que pueden ser del mismo tipo o no. o if...else o while o for Sentencias de Expresiones o Llamada a funcin o Asignacin o Declaracin

Sentencias de salto o Retornar Sentencias de entrada y salida Comentarios Todos estos tipos de sentencias son tiles en la construccin de programas, es por ello que agrupndolas y dndoles sentido podremos desarrollar programas o secuencias de cdigo mucho ms complejos y de gran utilidad. Para aprender a escribir un cdigo de manera correcta es necesario que sigamos la sintaxis definida para cada uno de ellos, es por eso que se debe revisar el informe desde el inicio pues esta tiene la especificacin y sintaxis de cada uno adems de ejemplos prcticos.

9. Ejemplos de Cdigo En la construccin de programas necesitamos especificar cual ser el punto de partida es decir desde donde empezara el programa a ejecutarse y para ello utilizamos una funcin que es lo que primero se ejecutara en nuestro cdigo y su nombre es: principal, su sintaxis es la de cualquier otra funcin. As veamos unos ejemplos: Ejemplo 1: VACIO FUNCION @principal () ENTERO @n=10; ENTERO @i=0; ENTERO @array[@n]; MIENTRAS (@i<@n) HACER @array[@i] = @n%@i; @i = @i 1; FIN MIENTRAS PARA (@i=1:1) HASTA (@i<@n) HACER ESCRIBIR>>@array[@i]; ESCRIBIR >> ; FIN PARA FIN FUNCION Ejemplo 2: ENTERO FUNCION @suma(ENTERO @num1, ENTERO @num2) ENTERO @suma=@num1+@num2;

RETORNAR @suma; FIN FUNCION VACIO FUNCION @principal () ENTERO @num1 = 1; ENTERO @num2 = 2; ENTERO @resultado; ESCRIBIR >> Ingrese primer sumando: ; LEER << @num1; ESCRIBIR >> Ingrese segundo sumando: ; LEER << @num2; @resultado=@suma (@num1, @num2); ESCRIBIR >> El resultado de la suma es: ; ESCRIBIR >> @resultado; FIN FUNCION

También podría gustarte