Post on 16-Jan-2016
Lenguajes de Programación
Prof. Luis Eduardo Mathison B.
Revisión Enero 2003/Modif. A.Perez Ago.2003
2Prof. Luis Eduardo Mathison B.
ContenidoTEMA 2
ESTRUCTURA DE LOS LENGUAJES DE ESTRUCTURA DE LOS LENGUAJES DE PROGRAMACIONPROGRAMACION
Lenguajes Naturales Vs. Lenguajes de Prog.
A. Caracteres
B.Símbolos Básicos de Caracteres Múltiples
C. Elementos básicos de un lenguaje de programación
D. Expresiones
E.Proposiciones
Prof. Luis Eduardo Mathison B. 3
Estructura de los Lenguajes de Programación
Los lenguajes de programación al igual que los lenguajes naturales poseen componentes muy bien diferenciados, es decir, posee símbolos, palabras, oraciones, párrafos; denominados de otra manera pero con la equivalencia respectiva
Prof. Luis Eduardo Mathison B. 4
LENGUAJES NATURALES LENGUAJES DE PROGRAMACIÓN
Párrafos Proposiciones Oraciones Expresiones Tipo de Palabras (verbos, sustantivos, etc.) Elementos Básicos Palabras Símbolos Básicos
Caracteres Caracteres
Estructura de los Lenguajes de Programación
Prof. Luis Eduardo Mathison B. 5
Estructura de los Lenguajes de Programación
a. Caracteres Son los símbolos básicos con los cuales se construyen
estructuras sintácticas más complejas.
Los lenguajes naturales tienen alfabeto constituido por: letras (mayúsculas y minúsculas), dígitos y caracteres especiales ( ; , :, ? , etc.) estos símbolos son arbitrarios pero se les da un significado específico por algún acuerdo.
Prof. Luis Eduardo Mathison B. 6
Estructura de los Lenguajes de Programación
b. Símbolos Básicos de Caracteres Múltiples
Son las palabras claves, reservadas o no, o los símbolos básicos delimitados.
Tienen su significado específico lo que implica que en su interpretación no habrá ambigüedad.
El traductor reconoce este significado y el programador debe emplear el símbolo básico de caracteres múltiples exactamente en el sentido definido.
Prof. Luis Eduardo Mathison B. 7
Estructura de los Lenguajes de Programación
b. Símbolos Básicos de Caracteres Múltiples
Se dan casos en el cual dos caracteres especiales se concatenan para formar una simbología básica. Ejemplo : PASCAL la asignación es: :=
Una vez que se tiene el conjunto de los símbolos básicos, estos pueden ser utilizados para formar elementos del lenguaje a diferentes niveles de complejidad (diferentes unidades sintácticas).
Prof. Luis Eduardo Mathison B. 8
Estructura de los Lenguajes de Programación PASCAL
Fundamentos Básicos
Palabras reservadas Pascal Estandar y Turbo PascalABSOLUTE AND ARRAY ASM ASSEMBLER BEGIN
BOOLEAN BYTE CASE CHAR COMP CONSTCONSTRUCTOR DESTRUCTOR DIV DO DOUBLEDOWNTO ELSE END EXPORT EXPORTSEXTENDED EXTERNAL FAR FILE FOR FORWARD FUNCTION GOTO IF IMPLEMENTATION ININDEX INHERITED INLINE INTEGER INTERFACEINTERRUPT LABEL LIBRARY LONGINT MODNAME NEAR NIL NOT OBJECT OF OR
PACKED POINTER PRIVATE PROCEDUREPROGRAM PUBLIC REAL RECORD REPEATRESIDENT SET SHL SHORTINT SHR SINGLE
STRING THEN TO TYPE UNIT UNTIL USES
VAR VIRTUAL WHILE WITH WORD XOR
Prof. Luis Eduardo Mathison B. 9
Estructura de los Lenguajes de Programación
c. Elementos básicos de un lenguaje de programación
Son las estructuras sintácticas correspondientes a los conceptos más sencillos de los lenguajes de computación que manejan los algoritmos.
Los elementos básicos (E.B.) son:
1. Valores 3. Etiquetas
2. Nombres o identificadores 4. Cadenas
Prof. Luis Eduardo Mathison B. 10
Estructura de los Lenguajes de Programación
c. Elementos básicos de un lenguaje de programación
1. Valores a. Valores Numéricos
b. Valores Lógicos
2. Nombres Simbólicos o Identificadores
3. Etiquetas
4. Cadenas
Prof. Luis Eduardo Mathison B. 11
Estructura de los Lenguajes de Programación
c. Elementos básicos de un lenguaje de programación
1. Valores a. Valores NuméricosFORTRAN: clasifica los valores numéricos en enteros, reales y
complejos. COBOL:Literal Numérico: secuencia de dígitos (0,1,...,9). Puede contener
hasta 18 dígitos.
Literal No Numérico: secuencia de caracteres pertenecientes al conjunto de caracteres del COBOL y deben estar encerrados entre comillas y no mayor de 120 caracteres (depende de la versión).
b. Valores Lógicos FORTRAN: .TRUE. .FALSE. COBOL: No posee valores lógicos.
Prof. Luis Eduardo Mathison B. 12
Estructura de los Lenguajes de Programación PASCAL
Tipos de datos
En Turbo Pascal existen diferentes tipos de datos, los cuales utilizamos para manipular la información.
Tipo Descripción Rango
Boolean Valores True o False
Byte Números enteros 0 .. +255
Char Caracteres ASCII '$', '%', '¦', 'ß', '¢'
Comp Números reales -9.2E18 a 9.2E18
Double Números reales 5.0E -324 a 1.7E +308
Extended Números reales 1.9E -4851 a 1.1E +4932
Integer Números enteros -32768 .. +32767
Longint Números enteros -2147483648 .. +2147483647
Real Números con decimales 2.9E -39 a 1.7E +38
Shortint Números enteros -128 .. + 127
Single Números reales 1.5E -45 a 3.4E +38
String Conjunto de caracteres 'La casa', 'El toro', 'Camion' Word Números enteros 0 .. +65535
Prof. Luis Eduardo Mathison B. 13
Estructura de los Lenguajes de Programación FORTRAN
FORTRAN: Admite palabras claves (no reservadas) y
las palabras delimitadas. Algunas de ellas son:
INTEGER, REAL, COMPLEX, LOGICAL, CHARACTER, DIMENSION, DATA, FORMAT, IMPLICIT, READ. DOUBLE PRECISION, WRITE, PRINT, STOP, IF, THEN, ELSE, ENDIF, DO, ENDDO, END, CALL, GOTO, RETURN, WHILE.
Palabras Delimitadas: (Operadores Logicos)
.EQ., .NE.,.LT., .LE., .GT., .GE.,.TRUE., .FALSE. , .AND.,
.OR., .NOT.
Prof. Luis Eduardo Mathison B. 14
Estructura de los Lenguajes de Programación
COBOL: palabras claves reservadas (no
admite delimitadas).
Algunas son: ACCEPT, DELETE, INITIATE, PICTURE,
ACCESS, DELIMITED, INPUT, PLUS, ADD, IS, DELIMITER, POINTER, POSITION, AFTER, ALL, DISPLAY, DETAIL, ADVANCING, DESCENDING, TABLE, LINE, DIVIDE, PROCEDURE, PROCEED, LEFT.
Prof. Luis Eduardo Mathison B. 15
Estructura de los Lenguajes de Programación PASCAL
2. IdentificadoresSon etiquetas que nos representan variables, constantes,
procedimientos, tipos de datos, funciones..
PASCAL: Los identificadores son una secuencia de 1 a 127 caracteres, en donde el primer carácter debe ser alfabético, y el resto no debe contener espacios en blanco y caracteres especiales como son: !, %, $, &...
FORTRAN: los identificadores pueden tener hasta 6 caracteres alfabéticos (A..Z) y/o dígitos (0..9), el primero debe ser alfabético y no se aceptan caracteres especiales. Además sí el carácter de inicio del identificador es I,J,K,L,M la variable automáticamente será asumida como tipo entero. Ej.: SUELDO, X23, A, N.
COBOL: es una secuencia de caracteres alfabéticos (A..Z), y/o dígitos (0..9) y/o el guión (-), hasta una longitud máxima de 30, donde al menos uno debe ser alfabético. El primero puede ser un dígito. El guión no puede ser ni el primero ni el último. Ej.: VENTAS-NETAS, 1SALDO-ANTERIOR, 123N.
Prof. Luis Eduardo Mathison B. 16
Estructura de los Lenguajes de Programación
c. Elementos básicos de un lenguaje de programación
3. Etiquetas FORTRAN: admite etiquetas formadas por números
enteros sin signo. Ej. 40, 80, 1, 10, 14, 12 ...COBOL: permite etiquetas formadas por números o
identificadores. Ej.: 20, LECTURA-REGISTRO.
4. CadenasFORTRAN: ' ESTA ES UNA CADENA EN FORTRAN’COBOL: "CADENA EN COBOL"
Prof. Luis Eduardo Mathison B. 17
Estructura de los Lenguajes de Programación
d. Expresiones
Son unidades sintácticas mayores formadas por la agrupación definida de los símbolos básicos y los elementos básicos. Constituyen una regla que define el calculo de ciertos resultados. Si el resultado es:
numérico: se trata de una expresión aritmética.
lógico: se denomina expresión booleana. etiqueta: se denomina expresión de designación. cadena: se denomina expresión de cadena.
Prof. Luis Eduardo Mathison B. 18
Estructura de los Lenguajes de Programación
d. Expresiones
1. Aritméticas Simples
2. BooleanasFORTRAN: A .LT. B COBOL: A IS GREATER THAN B
A GREATER THAN B
Prof. Luis Eduardo Mathison B. 19
Estructura de los Lenguajes de Programación PASCAL
Operaciones BásicasLas Operaciones se realizan por medio de operadores y
operandos, donde el operador es un símbolo que indica a el compilador la operación a realizar, los operandos son los datos a quienes aferctará el operador. Existen cuatro operadores basicos y
son los siguientes: Operadores Operación* Multiplicación/ División+ Suma- Resta
Operadores DIV y MODN_Entero:= Dividendo DIV Divisor ;
N_Entero:= DividendoMOD Divisor ;
Prof. Luis Eduardo Mathison B. 20
Estructura de los Lenguajes de Programación PASCAL
Prioridad de Operadores
Cuando realizamos alguna expresión muy compleja, nos encontraremos con mas de un operador, esto no representa ningún problema, debido a que los operadores tienen una jerarquía de ejecución, es decir se realizan de izquierda a derecha los operadores de mayor a menor jerarquía. El orden de jerarquía es el siguiente:
( ) Cuentan con la mayor jerarquía.
* / DIV MOD Cuentan con la mediana jerarquía.+ - Cuentan con la menor jerarquía.
Prof. Luis Eduardo Mathison B. 21
Estructura de los Lenguajes de Programación PASCAL
Operadores Lógicos
Son todas las operaciones comparativas que podemos realizar con nuestros datos, obteniendo como unico resultado un True o
False. La siguiente tabla muestra estos operadores:
Operadores Descripción
= Igual a
<> Distinto a
< Menor que
> Mayor que
<= Menor igual que
>= Mayor igual que
Not Negación de condición
Prof. Luis Eduardo Mathison B. 22
Estructura de los Lenguajes de Programación PASCAL
e. Proposiciones
Grupo de instrucciones consecutivas que describen un algoritmo. Evaluación y almacenamiento del valor
calculado. (Proposición de Asignación) Bifurcación a una instrucción diferente a la
que correspondería ejecutar en la secuencia normal. (Proposición de Bifurcación)
Ejecución de prueba de un valor para tomar una decisión según el resultado de dicha prueba. (Proposición de Prueba o Decisión).
Provisión de E/S.
Prof. Luis Eduardo Mathison B. 23
Estructura de los Lenguajes de Programación PASCAL
e. Proposiciones1. Asignación
2. Bifurcación GO TO Etiqueta;
3. Prueba y Decisión o Condicional
4. Provision de E/S
Prof. Luis Eduardo Mathison B. 24
Estructura de los Lenguajes de Programación
e. Proposiciones
1. Asignación
Implica la evaluación de una expresión a la derecha de una símbolo que indica la asignación y el almacenamiento del valor calculado en una dirección simbólica indicada por un identificador a la izquierda del operador de asignación
Prof. Luis Eduardo Mathison B. 25
Estructura de los Lenguajes de Programación PASCAL
Operaciones Aritméticas y Expresiones
Suma:= NumeroA + NumeroB ; { A Suma se le asignara el resultado de sumar NumeroA + NumeroB }
Nombre:= 'Carlos Ramirez' ; { A Nombre se le asignara la cadena 'Carlos Ramirez' }
Prof. Luis Eduardo Mathison B. 26
Estructura de los Lenguajes de Programación
e. Proposiciones
2. Bifurcación
Permiten alterar el orden lógico de ejecución de las instrucciones, es decir permite que el programa no se ejecute secuencialmente. Su instrucción básica es el GO TO.
Prof. Luis Eduardo Mathison B. 27
Estructura de los Lenguajes de Programación
e. Proposiciones
3. Prueba y Decisión o Condicional
Se utiliza para tomar una decisión basándose en el resultado de una prueba de una valor el cual debe ser verdadero o falso.
Prof. Luis Eduardo Mathison B. 28
Estructura de los Lenguajes de Programación PASCAL
e. Proposiciones
1. Asignación Pascal: Suma:= NumeroA + NumeroB ; Nombre:= 'Carlos ' ; FORTRAN B = X + Y - Z * KCOBOL COMPUTE A = X + Y - Z * K.
ADD X, Y TO W GIVING TOTAL.
2. Bifurcación GO TO Etiqueta;COBOL: ETIQUETA.
COMPUTE W = A + B - C - D.
…...GO TO ETIQUETA.
FORTRAN 45 W = B + C - D
GO TO 45
Prof. Luis Eduardo Mathison B. 29
Estructura de los Lenguajes de Programación PASCAL
e. Proposiciones
3. Prueba y Decisión o CondicionalFORTRAN:
a) IF ARITMETICO: IF (A-B) 10,100,20 b) IF LOGICO: IF (A.EQ.B) X=B+C
Pascal:IF (A-B)<0 THEN GOTO 10
ELSE IF (A-B)=0 THEN GOTO 100 ELSE GOTO 20;
COBOL:IF SUELDO-BRUTO IS LESS THAN 100 GO TO CALC. IF SUELDO<100 COMPUTE X = B+C, ELSE COMPUTE X=0. IF SUELDO IS GREATER 100 AND HORAS LESS THAN 40
NEXT SENTENCE, OTHERWISE PERFORM CALCULAR.
Prof. Luis Eduardo Mathison B. 30
Estructura de los Lenguajes de Programación PASCAL
Sentencia IF ... THEN ... ELSE ... IF Condición THEN
Sentencia ELSE
Sentencia;
Sentencia CASE CASE Variable OF Valor 1 : Sentencia;
... Valor N : Sentencia
ELSE Sentencia
END ;
Prof. Luis Eduardo Mathison B. 31
Estructura de los Lenguajes de Programación PASCAL
Estructuras de Control :Bloques o Sentencias Compuestas
Ciclo FOR FOR Variable := V_Inicial To V_Final DO
Sentencia ;
Ciclo WHILE WHILE Condición DO Sentencia ;
Ciclo REPEAT UNTIL REPEAT
Sentencia ; ...
Sentencia ;
UNTIL Condición;
Prof. Luis Eduardo Mathison B. 32
Estructura de los Lenguajes de Programación ADA
CONTROL DE SECUENCIA
La ejecución de Ada esta orientada a sentencias como FORTRAN y Pascal.
ExpresionesExpresiones en Ada permiten primitivas y funciones definidas
para ser combinadas en secuencias de manera usual. Sentencias
Las estructuras de secuencias de control de sentencias son las usuales sentencias condicionales (if y case) y las sentencias de iteración (loop).
Todas las sentencias de control terminan con las sentencia end seguida con la palabra de dicha sentencia ejem: end if, end loop.
Asignacion: La asignación es similar que en Pascal. Ejem:
MyDay := ("SEP",12,1975);MyDay := (Year => 1975, Month =>"SEP", Day => 12);
Prof. Luis Eduardo Mathison B. 33
Estructura de los Lenguajes de Programación ADA
SENTENCIAS CONDICIONALES
Sentencia IfLa sentencia if tiene la siguiente forma:
if boolena expresion then - secuencias de sentencias
elsif boolean expresion then - secuencia de sentenciaselsif boolean expresion then
- secuencia de sentencias...else
- secuencia de sentenciasend if
Sentencia CASELa forma general de case es:
case expresion is when choice | ...| choice => secuencia de sentencias; when choice | ...| choice => secuencia de sentencias; ... when others => secuencia de sentencias;
end case;
Prof. Luis Eduardo Mathison B. 34
Estructura de los Lenguajes de Programación ADA
SENTENCIAS DE ITERACION
Sentencia LoopLa sentencia básica de iteración tiene la siguiente forma.
loop - secuencia de sentenciasend loop
La forma de terminar una sentencia de iteración loop se hace explicitamente con las sentencias exit, goto o return.
Setencias controladas pueden ser creadas con las sentencias while y for.
while boolean expresion ...
con for hay dos formas. for variable name in discrete_range; for variable name in reverse discrete_range;
Prof. Luis Eduardo Mathison B. 35
Estructura de los Lenguajes de Programación ADA
% vi Hola.ada with Text_IO; use Text_IO;procedure Doit is procedure Hola(x: in integer) is begin if x=2 then put("Hola Mundito"); else put ("Adios Mundito"); end if end Hola;y: integer;beginy:=2;Hola(y);end Doit;% ada Hola.ada%HolaHola Mundito
Prof. Luis Eduardo Mathison B. 36
Estructura de los Lenguajes de Programación Eiffel
indexing description: "Sequential lists, without commitment to a particular representation ";
deferred class LIST [G] inheritCHAIN [G] redefine forth end;feature -- Cursor movement forth is -- Move to next position; if no next position, -- ensure that `exhausted' will be true. deferred ensure then moved_forth: index = old index + 1 end;
feature -- Status reportafter: BOOLEAN is -- Is there no valid cursor position to the right of cursor? do Result := (index = count + 1) end;
before: BOOLEAN is -- Is there no valid cursor position to the left of cursor? do Result := (index = 0) end;
invariantbefore_definition: before = (index = 0); after_definition: after = (index = count + 1);
end -- class LIST
Prof. Luis Eduardo Mathison B. 37
Estructura de los Lenguajes de Programación FORTRAN
program ecuacionprint *,'Introduce a, b y c:'read *,a,b,craiz=b*b-4*a*cif (raiz .lt. 0) then
print *,'No tiene soluciones reales.'else if (raiz .eq. 0) then
sol=-b/(2*a)print *,'La unica solucion es:',sol
elseraiz=raiz**0.5sol1=(-b+raiz)/(2*a)sol2=(-b-raiz)/(2*a)print *,'Las soluciones son',sol1,'y',sol2
end ifstopend
Prof. Luis Eduardo Mathison B. 38
Estructura de los Lenguajes de Programación Cobol
===========PROGRAMA EN cobol==============
»» INICIO Antes de nada, identificamos nuestro programa. IDENTIFICATION DIVISION.PROGRAM-ID. PRUEBA.
ENVIRONMENT DIVISION.CONFIGURATION SECTION.OBJECT-COMPUTER. RMCOBOL-85 PROGRAM COLLATING SEQUENCE IS MAYUS-MINUS.SPECIAL-NAMES. Aqui hacemos que el valor de las mayúsculas y minúsculas sea el mismo y además
signamos el punto decimal como una coma. ALPHABET MAYUS-MINUS IS 1 THRU 65, 'A' ALSO 'a', 'B' ALSO 'b', 'C' ALSO 'c', 'D' ALSO 'd', 'E' ALSO 'e', 'F' ALSO 'f', 'G' ALSO 'g', 'H' ALSO 'h', 'I' ALSO 'i', 'J' ALSO 'j', 'K' ALSO 'k', 'L' ALSO 'l', 'M' ALSO 'm', 'N' ALSO 'n', 'O' ALSO 'o', 'P' ALSO 'p', 'Q' ALSO 'q', 'R' ALSO 'r', 'S' ALSO 's', 'T' ALSO 't', 'U' ALSO 'u', 'V' ALSO 'v', 'W' ALSO 'w', 'X' ALSO 'x', 'Y' ALSO 'y', 'Z' ALSO 'z', 92 THRU 97, 124 THRU 128 DECIMAL-POINT IS COMMA.
Prof. Luis Eduardo Mathison B. 39
Estructura de los Lenguajes de Programación Cobol
INPUT-OUTPUT SECTION.FILE-CONTROL.definimos los archivos con los que vamos a trabajar, su organización, su
acceso y sus claves. SELECT AGENDA ASSIGN TO RANDOM "AGENDA.DAT" ORGANIZATION INDEXED ACCESS DYNAMIC RECORD KEY KEYAGE ALTERNATE RECORD KEY KEYAGE1 FILE STATUS STAAGE. SELECT IMPRESORA ASSIGN TO PRINT "PRINTER1".DATA DIVISION.FILE SECTION.FD AGENDA LABEL RECORD STANDARD.01 REGAGE. 02 KEYAGE. 03 AGECOD PIC 9(4). 02 AGENOM PIC X(30). 02 AGEDOM PIC X(30). 02 AGEPOS PIC 99999. 02 AGEPOB PIC X(20). 02 AGEPRO PIC X(15).
Prof. Luis Eduardo Mathison B. 40
Estructura de los Lenguajes de Programación Cobol
WORKING-STORAGE SECTION.diversas variables que utilizaremos durante el programa.77 STAAGE PIC XX.77 ELE PIC 99.01 C4 PIC 9(4).01 DC4 PIC ZZZ9.01 MOTIVO PIC X(20). tablas para utilizar en el menu, con las opciones y unas frases explicativas
de la función de cada opción.01 TABLAOPCIONES. 02 FILLER PIC X(24) VALUE " CONTACTOS LISTADO ". 02 FILLER PIC X(12) VALUE " SALIR ".
01 TABLAMENSAJES1. 02 FILLER PIC X(26) VALUE "Altas, bajas, modificacion". 02 FILLER PIC X(26) VALUE "Listado por impresora de ". 02 FILLER PIC X(26) VALUE SPACES.
Prof. Luis Eduardo Mathison B. 41
Estructura de los Lenguajes de Programación Cobol
»» PROCEDURE Ahora es el momento de comenzar nuestra Procedure y colocar las Declaratives.
PROCEDURE DIVISION.DECLARATIVES.DECLA1 SECTION. USE AFTER ERROR PROCEDURE ON AGENDA.END DECLARATIVES.PRINCIPAL SECTION.antes de empezar, borramos toda la pantalla, abrimos el fichero y
comprobamos que esté perfecto para poder trabajar con el.INICIO. DISPLAY SPACES LINE 1 ERASE. OPEN I-O AGENDA. IF STAAGE NOT = "00" GO MENERROR. SALIR. MOVE 20402258 TO CUADRO PERFORM DIBUJAR THRU DIBUJA2. DISPLAY "DESEA SALIR ? " LINE 21 COL 42 LOW CONTROL "FCOLOR=BLUE". ACCEPT OP LINE 21 COL 56 OFF NO BEEP ON EXCEPTION ESCA NEXT SENTENCE. GO TRES.
Prof. Luis Eduardo Mathison B. 42
Estructura de los Lenguajes de Programación PROLOG
/*====Programa en Prolog=====*/quiere_a(maria,enrique). quiere_a(juan,jorge). quiere_a(maria,susana). quiere_a(maria,ana). quiere_a(susana,pablo). quiere_a(ana,jorge). varon(juan). varon(pablo). varon(jorge). varon(enrique). hembra(maria). hembra(susana). hembra(ana). teme_a(susana,pablo). teme_a(jorge,enrique). teme_a(maria,pablo). /* Esta linea es un comentario */ quiere_pero_teme_a(X,Y) :- quiere_a(X,Y), teme_a(X,Y). querido_por(X,Y) :- quiere_a(Y,X). puede_casarse_con(X,Y) :- quiere_a(X,Y), varon(X), hembra(Y). puede_casarse_con(X,Y) :- quiere_a(X,Y), hembra(X), varon(Y).
Prof. Luis Eduardo Mathison B. 43
Estructura de los Lenguajes de Programación c
static rqsort( low, high )register char *low, *high;/* Workhorse function called by the access routine, qsort(). */{ char *pivot, *base; static char *a, /* Used for exchange, will not be needed */ *b; /* during recusion, so they can be static.*/ static int tmp, /* That way they will not take up stack */ i; /* space. */
base = low ; /* Remember base address of array. */ pivot = high ; /* Partition off the pivot. */ high -= Width;do { while ( low < high && (*Comp)(low, pivot) <= 0 ) low += Width; while ( low < high && (*Comp)(high, pivot) >= 0 ) high -= Width;
if ( low < high ) /* Exchange low & high */ {
Prof. Luis Eduardo Mathison B. 44
Estructura de los Lenguajes de Programación Perl
9 # Declare any subroutines here11 sub xProduct(\@\@\@); # Declare as taking two pointers to
arrays12 sub dProduct(\@\@); # Declare as taking two pointers to arrays14 @one = ( 2, 4, 3);15 @two = ( 4, -1, 7);16 @result = ();18 $r = &dProduct(\@one,\@two);20 print "\n Dot Product = $r \n";22 &xProduct(\@one,\@two,\@result);24 print "\n Cross Product = \n";25 for ($i=0;$i<3;$i++) {26 for ($j=0;$j< 3;$j++) {27 printf " %4d", $result[$i][$j];28 } 29 print "\n";30 }32 exit (0);
Prof. Luis Eduardo Mathison B. 45
Lenguajes de Programación
Actividad Grupal
En la máquina y lenguaje concebido por su equipo en la actividad anterior responda:
¿Cuáles de las estructuras de los lenguajes de programación está presentes en su
concepción?
Entrega: el día de la 1era evaluación No 1.