Unidad04-Clases_YR

Anuncio
Introducción a la Programación
Prof. Yerson Rodríguez
Conceptos
Expresiones
Una expresión es un
conjunto de datos o
funciones unidos por
operadores
aritméticos. Los tipos
de datos que se usen
en ella deben ser
compatibles entre si.
También se les llama
operandos.
Los operadores son
símbolos que indican
como son manipulados
los datos. Se pueden
clasificar en los
siguientes grupos:
aritméticos, lógicos,
relacionales, unitarios,
lógicos para manejo de
bits, de asignación,
operador ternario para
expresiones
condicionales y otros.
1
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
Expresiones algebraícas
Un ejemplo de
expresión algebraica o
aritmética sería la
ecuación matemática:
ax2 + bx + c
que escrita en Pascal
quedaría:
a * sqr(x) + b * x + c
Unidad IV
Las expresiones
algebraicas o aritméticas
son relacionadas por los
operadores aritméticos.
Los más conocidos son:
+, -, *, /
Todos son operadores
binarios, excepto + y –
cuando se usan como
signos. A diferencia de los
tres primeros cuyos
operandos pueden ser
enteros o reales, / sirve sólo
para operandos reales.
2
Introducción a la Programación
Prof. Yerson Rodríguez
Operadores aritméticos
Operador
Significado
Ejemplo
Resultado
+
Suma
A+B
Suma de A y B
-
Resta
A–B
Diferencia de A y B
∗
Multiplicación
A∗B
Producto de A por B
/
División
A/B
Cociente de A por B
div
División entera
A div B
Cociente entero de A por B
mod
Módulo
A mod B
Resto de A por B
shl
Desplazamiento a la izquierda
A shl B
Desplazar a la izq. B bits
shr
Desplazamiento a la derecha
A shr B
Desplazar a la derecha B bits
3
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
Operadores de relación
Los operadores de relación se utilizan para expresar
condiciones y describen una relación entre dos valores
Unidad IV
Operador
Significado
>
Primer operando mayor que el segundo
<
Primer operando menor que el segundo
=
Primer operando igual que el segundo
>=
Primer operando mayor o igual que el segundo
<=
Primer operando menor o igual que el segundo
<>
Primer operando distinto de el segundo
4
Introducción a la Programación
Prof. Yerson Rodríguez
Conceptos
Expresiones lógicas
Una expresión lógica es
una expresión que
puede ser verdadera o
falsa. Se forman
comparando los valores
de las expresiones
utilizando los
operadores de relación
o los operadores de
comparación contra los
operadores lógicos.
Recordemos que los
operadores de relación
pueden aplicarse para
comparar dos operandos
cualesquiera y, como
sucede con los
operadores lógicos, su
resultado será un valor
booleano (verdadero o
falso).
Ejemplo.
((x * 2 > y - 3) or (x > y - 1)) and (y < 5)
5
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
Operadores: and, or, not
Operadores lógicos
Unidad IV
Operando 1
Operando 2
Resultado
operación and
Resultado
operación or
True
True
True
True
True
False
False
True
False
True
False
True
False
False
False
False
Operando 1
Resultado
operación not
True
False
False
True
6
Introducción a la Programación
Prof. Yerson Rodríguez
Prioridad
Orden de operaciones
Para las operaciones aritméticas y lógicas existen reglas de
precedencia (prioridad) que permiten definir el orden de
evaluación de tales operaciones, en caso que halla más de una.
Prioridad
Operador
1
not
2
*, /, div, mod, and
3
+, -, or
4
>, <, =, > =, < =, < >
Si existen ( ), el contenido se evalúa primero.
7
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
Prioridad
Orden de operaciones
La expresión:
x – (A + B div 2) + y * z
Se evalúa de la
siguiente forma:
x – (A + B div 2) + y * z
* 3
1 div
2
+
4
+
Unidad IV
8
Introducción a la Programación
Prof. Yerson Rodríguez
Prioridad
Reglas de evaluación
1.
2.
3.
Todas las subexpresionnes entre paréntesis se evalúan
primero. Las subexpresiones con paréntesis anidados se
evalúan de adentro hacia fuera; el paréntesis más interno
se evalúa primero.
Prioridad de operaciones. Dentro de una misma expresión
o subexpresión, los operadores se evalúan en el siguiente
* / div mod and : primero
orden:
+ - or
: segundo
Regla asociativa izquierda. Los operadores en una misma
expresión o subexpresión con igual nivel de prioridad (tal
como * y /) se evalúan de izquierda a derecha.
9
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
Concepto
Funciones de Librería
Una función es un
subprograma que recibe
como argumentos o
parámetros datos de tipo
numérico, o no numérico
(char, string, boolean u
otros) y devuelve un
resultado. Esta
característica la diferencia
de un procedimiento.
Unidad IV
En Turbo Pascal existen dos
grandes grupos de
funciones:
• Funciones predefinidas,
internas o estándar.
• Funciones definidas por el
usuario.
10
Introducción a la Programación
Prof. Yerson Rodríguez
Funciones de Librería
Turbo Pascal
incorpora todas las
funciones estándar de
ISO Pascal y añade
otras nuevas.
Borland divide las
funciones predefinidas
en los siguientes
grupos:
1. Funciones de asignación
dinámica de memoria.
2. Funciones de transferencia.
3. Funciones matemáticas.
4. Funciones Trigonométricas.
5. Funciones ordinales.
6. Funciones de cadena.
7. Funciones de dirección y
punteros.
8. Funciones especiales.
11
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
Definidas en TP
Funciones de Librería
Función
Argumento (x)
Descripción
Abs(x)
Real o Integer
Devuelve el valor absoluto del argumento
ArcTan(x)*
Real o Integer
Devuelve el arco tangente del argumento
Cos(x)*
Real o Integer
Devuelve el coseno del argumento
Exp(x)
Real o Integer
Devuelve el exponencial del argumento
Frac(x)
Real
Devuelve la parte decimal del argumento
Int(x)
Real
Devuelve la parte entera del argumento
Ln(x)
Real o Integer
Devuelve el logaritmo natural del argumento
Pi
Real
Devuelve el valor de Pi
Round
Real o Integer
Devuelve el entero más próximo al argumento
Sin(x)*
Real o Integer
Devuelve el seno del argumento
Sqr(x)
Real o Integer
Devuelve el cuadrado del argumento
Sqrt (x)
Real o Integer
Devuelve la raíz cuadrada del argumento
Trunc(x)
Real
Devuelve la parte entera del argumento
* El argumento de estas funciones se da siempre en radianes
Unidad IV
12
Introducción a la Programación
Prof. Yerson Rodríguez
Definidas en TP
Funciones de Librería
Función
Descripción
Ord (x)
Devuelve el número ordinal correspondiente al argumento
Chr (x)
Devuelve el carácter ASCII correspondiente al argumento
Succ (x)
Devuelve el sucesor del argumento o error si no lo tiene
Pred (x)
Devuelve el predecesor del argumento
Odd (x)
Devuelve true si el argumento es un n° impar y false si es par.
Hi (x)
Devuelve el valor del byte de mayor peso del argumento
Lo (x)
Devuelve el valor del byte de menor peso del argumento
Swap (x)
Devuelve los bytes de orden alto y bajo intercambiados
Inc (x [,n] )
Devuelve x incrementado en n si este último existeo en 1 si no.
Dec (x [,n] )
Devuelve x decrementado en n si este último existeo en 1 si no.
Random ([n])
Devuelve un número pseudoaleatorio en el rango de 0 a 1 ó 0 a n
13
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
F. matemáticas
Funciones de Librería
Trunc (truncamiento).
Round (redondeo).
La función Trunc suprime la parte
decimal de un número real.
La función Round permite
redondear un número real a un
número entero.
Formato
Formato
Trunc (x)
Round (x)
x : expresión numérica tipo real.
x : expresión numérica tipo real.
Ejemplo
Ejemplo
Trunc (5.99)
{ devuelve 5 }
Trunc (-12.345) { devuelve –12 }
Round (4.448)
Round (18.77)
Unidad IV
{ devuelve 4 }
{ devuelve 19 }
14
Introducción a la Programación
Prof. Yerson Rodríguez
F. matemáticas
Funciones de Librería
Abs
Frac
La función Abs devuelve el valor
absoluto de un número.
La función Frac devuelve la parte
decimal de un número real.
Formato
Formato
Abs (x)
Frac (x)
x : expresión tipo entero o real.
x : expresión numérica tipo real.
Ejemplo
Ejemplo
Abs (-64)
{ devuelve 64 }
Abs (-12.345) { devuelve 12.345 }
Abs (3.97)
{ devuelve 3.97 }
Frac (28.44894)
Frac (18.77)
{ devuelve 0.44894 }
{ devuelve 0.77}
15
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
F. matemáticas
Funciones de Librería
Int
Exp
La función Int devuelve la parte
entera decimal de un número real.
La función Exp devuelve la
función exponencial de x,
potencia de e elevado a la x (ex).
Formato
Formato
Int (x)
Exp (x)
x : expresión tipo entero o real.
x : expresión real o entera.
Ejemplo
Ejemplo
Int (321.004)
Int (45.438)
Unidad IV
{ devuelve 321.0 }
{ devuelve 45.0 }
Exp (4.5)
{ equivale a e4.5 o bien
2.7182824.5 }
16
Introducción a la Programación
Prof. Yerson Rodríguez
F. matemáticas
Funciones de Librería
Ln
La función Ln devuelve el
logaritmo natural (en base e) de x,
el resultado es real.
Formato
Pascal no tiene una función de
potenciación xy. Sin embargo, con
Exp y Ln se puede diseñar una
función que eleva un número a
una potencia dada.
Formula
xy = Exp ( y * Ln(x))
Ln (x)
x : expresión tipo entero o real.
Comentario
Ln(x) es la inversa de Exp(x), osea,
x = Ln y ; y = ex.
Definición
function potencia (x, y : real): real;
begin
potencia := Exp(Ln(x) * y)
end;
17
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
F. matemáticas
Funciones de Librería
Sqr
Sqrt
La función Sqr devuelve el
cuadrado de x, ósea x2.
La función Sqrt devuelve la raíz
cuadrada de x.
Formato
Formato
Sqr (x)
Sqrt (x)
x : expresión tipo entero o real.
x : expresión real.
Ejemplo
Ejemplo
Sqr (7)
Sqr (6.077)
Unidad IV
{ devuelve 49 }
{ devuelve 36.92993 }
Sqrt (25)
Sqrt (3.141592)
{ devuelve 5 }
{ devuelve 1.77245 }
18
Introducción a la Programación
Prof. Yerson Rodríguez
F. trigonométricas
Funciones de Librería
Sin
Cos
La función Sin devuelve el seno
del ángulo.
La función Cos devuelve el
coseno del ángulo.
Formato
Formato
V = Sin (x)
V = Cos (x)
x : expresión tipo real en radianes.
x : expresión tipo real en radianes.
Ejemplo
Ejemplo
Sqr (7)
Sqr (6.077)
{ devuelve 49 }
{ devuelve 36.92993 }
Sqrt (25)
Sqrt (3.141592)
{ devuelve 5 }
{ devuelve 1.77245 }
19
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
F. trigonométricas
Funciones de Librería
ArcTan
Ord
La función ArcTan devuelve el
arco tangente de x, ósea, el
ángulo cuya tangente es x.
La función Ord devuelve la
posición ordinal del valor x.
Formato
Formato
V = ArcTan (x)
Ord (x)
x : expresión tipo real.
x : expresión ordinal.
Otras funciones trigonométricas
Ejemplo
Tan(x) = Sin(x) / Cos(x)
Cot(x) = Cos(x) / Sin(x)
Sec(x) = 1 / Cos(x) ; Cosec(x) = 1/Sin(x)
Unidad IV
Type sem=(lun,mar,mie,jue,vie,sáb,dom);
Ord (mar)
{ devuelve 1 }
20
Introducción a la Programación
Prof. Yerson Rodríguez
F. ordinales
Funciones de Librería
Chr
Pred
Devuelve el carácter del código
ASCII correspondiente a x. Es
opuesta a Ord.
La función Pred devuelve el valor
que precede a x.
Formato
Formato
Chr (x)
Pred (x)
x : entero.
x : expresión ordinal.
Ejemplo
Ejemplo
Chr (64)
Chr (89)
{ devuelve @ }
{ devuelve Y }
Pred (25)
Pred (‘z’)
{ devuelve 24 }
{ devuelve ‘x’ }
21
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
F. ordinales
Funciones de Librería
Succ
Pi
La función Succ devuelve el valor
que le sigue a x.
La función Pi devuelve el valor de
la constante matemática, el valor
devuelto es real.
Formato
Formato
Succ (x)
x : entero.
Ejemplo
Succ (‘w’)
Chr (99)
Unidad IV
{ devuelve ‘x’ }
{ devuelve 100 }
Pi
var
numpi : real;
begin
real := pi;
write (‘Valor de Pi: ’, numpi:4:25)
end.
{devuelve 3.141592653588304530}
22
Introducción a la Programación
Prof. Yerson Rodríguez
F. de bajo nivel
Funciones de Librería
Hi
Lo
La función Hi devuelve el valor del
byte de mayor peso de x.
La función Lo devuelve el valor
del byte de menor peso de x.
Formato
Formato
Var := Hi (x)
Var = Lo (x)
Ejemplo
Ejemplo
x contiene un valor de $5F3F.
x contiene un valor de $5F3F.
Var := Hi ($5F3F)
{ Var toma el valor: $005F}
Var := Lo ($5F3F)
{ Var toma el valor: $003F}
23
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
F. Incremento/dec.
Funciones de Librería
Inc
Dec
La función Inc incrementa un
valor de tipo ordinal.
La función Dec decrementa un
valor de tipo ordinal.
Formato
Formato
Inc (x [,n])
Dec (x [,n])
x : variable tipo ordinal.
n: variable tipo entero, si existe.
x : variable tipo ordinal.
n: variable tipo entero, si existe.
Ejemplo
Ejemplo
Inc (x)
Inc (x,n)
Unidad IV
{ x:=x+1 }
{ x:=x+n }
Dec (x)
Dec (x,n)
{ x:=x-1 }
{ x:=x-n }
24
Introducción a la Programación
Prof. Yerson Rodríguez
Bibliografía
Joyanes A., Luis, Programación en Turbo/Borland Pascal 7. 3ra Ed. Osborne/McGrawHill Interamericana, Madrid, 1998
Rodnay, Zaks, Programación en Pascal, Turbo Pascal. 1ra Ed. Anaya Multimedia,
Madrid, 1986
Joyanes A., Luis, Turbo/Borland Pascal 7. 1ra Ed. Osborne/McGraw-Hill
Interamericana, Madrid, 1997
Noton, Peter. Introducción a la Computación. 3ra Edición. México. McGraw-Hill
Interamericana, México, D.F., 2003.
Prieto E., Alberto y otros, Introducción a la Informática. 3da Ed. McGraw-Hill
Interamericana, Madrid, 2002
Mata T., Ramón, Cushman, Pauline, Introducción a la Programación. 1ra Ed. McGrawHill Interamericana, México, D.F., 2001
25
Unidad IV
Introducción a la Programación
Prof. Yerson Rodríguez
Recursos Internet
www.glencoe.com/norton/online
Website con información general de computación y apoyo al libro ”Introducción a la Computación” de
Noton, Peter.
http://atc.ugr.es/intro_info_mcgraw.html
Página web para uso de estudiantes y profesores sobre el libro “Introducción a la Informática” de
Prieto E., Alberto y otros.
http://www.lawebdelprogramador.com/cursos/Pascal/Turbo
Sítio web que provee información de interés sobre programación en Pascal, cursos, tutoriales, etc.
http://www.ctv.es/USERS/pacoga/progpas.htm
Sítio web que provee información de interés sobre programación en Pascal, cursos, tutoriales, etc.
http://ar.geocities.com/nrs_arg/pascalmania/sources.htm
Sítio web que provee información de interés sobre programación en Pascal, cursos, tutoriales, etc.
http://www.terra.es/personal2/cesar.zm/comienzo.htm
Sítio web que provee tutoriales gratuítos de Pascal.
http://www.fortunecity.com/skyscraper/seagate/1072/libreria.htm
Sitio web con programas en Turbo Pascal.
Unidad IV
26
Descargar