funciones y fórmulas de tp pc1 pucp - la faku
TRANSCRIPT
-
7/28/2019 Funciones y Frmulas de TP PC1 PUCP - La Faku
1/4Faku
aFaku
La F
aku
a Faku
La
Faku
LaFaku
aFaku
LaFaku
La
Faku
aFaku
LaFak
aFa
TECNICAS DE PROGRAMACION
FUNCIONES Y FORMULAS PARA PC N
1
Prof. Hernan Oscanoa V.
Funciones Aritmeticas Standards
Pascal incluye un gran numero de funciones predefinidas que pueden ser utilizados en las ex-presiones entre constantes y variables. El Cuadro 1 muestra las funciones aritmeticas estandardivididos en tres grupos:
Las funciones de conversion Funciones trigonometricas
Otras funciones
Cualquier funcion opera en un parametro que esta dentro de sus parentesis. El parametro es unaexpresion de un tipo especfico (observe que la expresion puede ser una variable o constante).Antes de utilizar cualquiera de estas funciones, es necesario conocer el tipo de par ametro que lafuncion usa y el tipo del valor de retorno (que es tambien el tipo de la funcion). Las funciones deconversion, por ejemplo, toman parametros reales y retornan resultados enteros. Otras funcionesutilizan parametros ya sea enteros o reales, y producen diferentes tipos. El tipo de valor devueltoes importante a la hora de asignar la funcion a una variable.
Formato de Funcion Valor Retornado Parametro Resultado
Funciones de Conversion
ROUND(x) x redondeado al entero mas cercano REAL INTEGERTRUNC(x) x con parte fraccional truncada REAL INTEGER
*Funciones Trigonometricas
ARCTAN(x) Arcotangente de x REAL/INTEGER REALCOS(x) Coseno de x REAL/INTEGER REALSIN(x) Seno de x REAL/INTEGER REAL
Funciones Miscelaneas
ABS(x) Valor absoluto de x REAL/INTEGER REAL/INTEGEREXP(x) Exponencial de x (ex) REAL/INTEGER REALLN(x) Logaritmo natural de x REAL/INTEGER REALSQR(x) Cuadrado de x (x2) REAL/INTEGER REAL/INTEGER
SQRT(x) Raz cuadrada de x (x) REAL/INTEGER REAL*Todos los angulos estan expresados en radianes.
Cuadro 1: Funciones Aritmeticas Standards
Funciones Aritmeticas Adicionales
Pascal tiene un numero considerable de funciones aritmeticas adicionales. De estas funciones,especialmente necesitara dos de ellas:
FRAC(n) devuelve la parte decimal del numero real n INT(n) devuelve la parte entera del numero real n
1
-
7/28/2019 Funciones y Frmulas de TP PC1 PUCP - La Faku
2/4Faku
aFaku
La F
aku
a Faku
La
Faku
LaFaku
aFaku
LaFaku
La
Faku
aFaku
LaFak
aFa
Por ejemplo1:
1 Writeln (FRAC ( 8 , 2 2 ) : 2 : 2 ) ; {p r od u ce 0 , 2 2 }2 Writeln ( I N T ( 8 . 2 2 ) 2 : 2 ) ; {p r od u ce 8 , 0 0 }
Ambas funciones devuelven numeros reales.
Otro par de funciones que se utilizan para generar numeros aleatorios son:
RANDOM devuelve un numero real aleatorio entre 0 y 1 (el cero esta incluido) RANDOM(n) devuelve un entero aleatorio entre 0 y el numero entero n (el cero esta incluido)
Prueba estas dos declaraciones:
1 RANDOMIZE;2 Writeln (RANDOM: 2 : 2 ) ;3 Writeln (RANDOM( n ) ) ;
donde n es un numero entero variable de lectura desde el teclado. Utilice las dos declaraciones
en un programa y vea los resultados de varias ejecuciones. Ellos deben ser diferentes en cadaejecucion. RANDOMIZE planta semillas para que los numeros generados sean diferentes en cadaejecucion.
Funciones Matematicas No Standards
Algunas de las funciones matematicas que requerimos no se encuentran disponibles; sin embargose puede expresar estas en base al standard disponible, como se ve en el Cuadro 2.
Funcion Equivalente Funcion Equivalente
an = en ln(a) csc() = 1
sin()
logb(x) = ln(x)
ln(b)cos1(x) = arctan
1 x2x
tan() =
sin()
cos()sin1(x) = arctan
x
1 x2
cot() =cos()
sin()sinh(x) =
ex ex
2
sec() =1
cos()cosh(x) =
ex + ex
2
Cuadro 2: Funciones Matematicas No Standards
Funciones Standards Para Caracteres
Hay cuatro funciones estandar que se dedican a las operaciones de manipulacion de caracteres:
ORD(c) devuelve el numero ordinal del caracter c CHR(n) devuelve el caracter representado por el numero ordinal n PRED(c) devuelve el caracter c anterior en la secuencia ordinal SUCC(c) devuelve el siguiente caracter despues de c en la secuencia ordinal
1Los trozos de codigo muestran una forma que al escribirlos dentro de un programa se muestre en la consola el
resultado de la funcion implicada en una lnea. No queriendo decir que es la unica forma de su utilizacion.
2
-
7/28/2019 Funciones y Frmulas de TP PC1 PUCP - La Faku
3/4Faku
aFaku
La F
aku
a Faku
La
Faku
LaFaku
aFaku
LaFaku
La
Faku
aFaku
LaFak
aFa
Usted puede obtener el numero ordinal de un caracter mediante el uso de la funcion ORD, comoen el siguiendo el ejemplo:
1 Writeln (ORD( A ) ) ; {El o rd i n a l d e l c ar a c te r A e s 65 }
El numero ordinal del caracter es el que le corresponde en la codificacion decimal ASCII.
Se tiene que resaltar que la funcion ORD opera tambien con valores booleanos de la siguienteforma:
1 Writeln (ORD(TRUE) ) ; {E l o r d i n a l d e TRUE e s 1}2 Writeln (ORD(FALSE) ) ; {E l o r d i n a l d e FALSE e s 0 }
Operadores A Nivel De Bits
Un Byte es equivalente a 8 bits, esto significa que con Byte puedes tener 256 combinacionesposibles de ceros y unos. Pascal, permite realizar operaciones con bits, como son el despla-zamiento de bits hacia izquierda y derecha con las funciones shift y utilizar los operadoreslogicos AND, OR, XOR, NOT.
SHR: Desplaza hacia la derecha los bits de n el numero de posiciones establecidas por m.Los bits que salen por el extremo derecho se pierden.
Sintaxis: n S H R m
Ejemplo: 125 SHR 3 = 15
En Binario:
125 0000000001111101 SHR 3 = 0000000000001111 15 SHL: Desplaza hacia la izquierda los bits de n el numero de posiciones establecidas por m.
Los bits que salen por el extremo izquierdo se pierden.
Sintaxis: n S H L m
Ejemplo: 1 0 S H L 2 = 4 0En Binario:
10 0000000000001010 SHL 2 = 0000000000101000 40 AND: Si el bit de n es uno y el correspondiente a m tambien lo es, el resultado es uno, y en
el resto de casos es cero.
Sintaxis: n A N D m
Ejemplo: 29 AND 30 = 28
En Binario:
29 0000000000011101 AND30
0000000000011110
28 0000000000011100 OR: Si el bit de n es cero y el correspondiente a m tambien lo es, el resultado es cero, y en
el resto de casos es uno.
Sintaxis: n O R m
Ejemplo: 1 7 O R 3 0 = 3 1
En Binario:
17 0000000000010001 OR30 000000000001111031 0000000000011111
3
-
7/28/2019 Funciones y Frmulas de TP PC1 PUCP - La Faku
4/4Faku
aFaku
La F
aku
a Faku
La
Faku
LaFaku
aFaku
LaFaku
La
Faku
aFaku
LaFak
aFa
XOR: Si el bit de n y el correspondiente a m son diferentes, el resultado es uno, y en el restode casos es cero
Sintaxis: n X O R m
Ejemplo: 103 XOR 25 = 126
En Binario:
103 0000000001100111 XOR25 0000000000011001126 0000000001111110
NOT: Si el bit de n es uno, lo cambia por cero y viceversa.Sintaxis: NOT n
Ejemplo: NOT 25 = 65510
En Binario:
NOT 0000000000011001 = 1111111111100110 65510
Los operadores AND y OR se pueden interpretar como la multiplicacion y la suma en ciertos casos
especiales.
Hernan Oscanoa [email protected]
Escrito con LA
TEX2e
4