Vous êtes sur la page 1sur 35

Pontificia Universidad Catlica de Valparaso

Facultad de Ingeniera
Escuela de Ingeniera Informtica

Subrutinas Predefinidas

Asignatura

INF 1141 Fundamentos de Algoritmos


Profesores

Pamela Hermosilla Monckton (Paralelo 1)


Rodolfo Villarroel Acevedo (Paralelo 2)

Profesores PHM/RVA
INF1141 Fundamentos de Algoritmos

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

SUBRUTINAS PREDEFINIDAS

1. Subrutinas QUE EXISTEN en SL (Procedimientos o Funciones)


2. Pueden SER UTILIZADAS por el programador en sus algoritmos

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Algunas Subrutinas Predefinidas en SL que conocemos.


NOMBRE

imprimir

PROPSITO

imprimir en pantalla los valores traspasados como


parmetros

PROTOTIPO

sub imprimir (valor_1, valor_2, ...)

EJEMPLO DE USO

imprimir(suma es , suma)

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Algunas Subrutinas Predefinidas en SL que conocemos.


NOMBRE

cls

PROPSITO

Limpiar la pantalla

PROTOTIPO

sub cls()

EJEMPLO DE USO

cls()

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Algunas Subrutinas Predefinidas en SL que conocemos.


NOMBRE

leer

PROPSITO

Leer uno o mas valores desde el teclado y asignarlos a las


variables que se pasan como parmetros

PROTOTIPO

sub leer (variable_1, variable_2, ...)

EJEMPLO DE USO

leer(a,b,c)

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Subrutinas Predefinidas en SL

1.
2.
3.
4.
5.

Funciones Matemticas
Transformacin de Datos
Cadenas de Caracteres
Entrada / Salida
Otras

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

tan

sub tan (a : numerico)


retorna numerico

Retorna la tangente de a (expresado en radianes)

arctan

sub arctan (a : numerico)


retorna numerico

Retorna el arco tangente de a (expresado en


radianes)

cos

sub cos (a : numerico)


retorna numerico

Retorna el coseno de a (expresado en radianes)

sin

sub sin (a : numerico)


retorna numerico

Retorna el seno de a (expresado en radianes)

int

sub int (n : numerico)


retorna numrico

Retorna la parte entera de n

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

abs

sub abs (n : numerico)


retorna numerico

Retorna el valor absoluto de n

log

sub log (n : numerico)


retorna numerico

Retorna logaritmo en base 10 de n (mayor a cero).


Si n=0 ERROR de compilacin
Si n < 0 ERROR de ejecucin programa
terminar

exp

sub exp (n : numerico)


retorna numerico

Retorna e elevado a n (e es la base de los


logaritmos naturales o neperianos 2.71828)

sqrt

sub sqrt (n : numerico)


retorna numerico

Retorna la raz cuadrada de n (n >= 0)

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Subrutinas Predefinidas en SL

1.
2.
3.
4.
5.

Funciones Matemticas
Transformacin de Datos
Cadenas de Caracteres
Entrada / Salida
Otras

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

str

sub str (n : numerico, ancho :


numerico, cant_dec : numerico,
relleno : cadena) retorna cadena

Retorna la representacin del nmero n


en formato cadena.

FORMATEO
Forma 1

sub str (n : numerico) retorna


cadena

retorna numero en formato cadena con 2


decimales, ancho total NO especificado y
alineacin a la izquierda.

Forma 2

sub str (n : numerico, ancho :


numerico) retorna cadena

retorna numero en formato cadena con 2


decimales , ancho total especificado (se
cuenta el punto decimal) y alineacin a la
derecha.

Forma 3

sub str (n : numerico, ancho :


numerico, cant_dec : numerico)
retorna cadena

retorna numero en formato cadena con


acho total especificado , se especifica
cantidad de decimales y alineacin a la
derecha.

Forma 4

sub str (n : numerico, ancho :


numerico, cant_dec : numerico,
relleno : cadena) retorna cadena

Ancho total especificado , se especifica


cantidad de decimales , se rellena a la
izquierda con el carcter especificado, si
el nmero formateado tiene menos
dgitos que el ancho especificado.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

FORMA 1

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

FORMA 2

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

FORMA 3

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

FORMA 4

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

val

sub val (c : cadena)


retorna numerico

Dada una cadena c que contiene dgitos de un


nmero entero o decimal, produce un valor
numrico.
Si cadena no contiene una secuencia que
expresa un nmero retorna 0.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

EJEMPLO

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Subrutinas Predefinidas en SL

1.
2.
3.
4.
5.

Funciones Matemticas
Transformacin de Datos
Cadenas de Caracteres
Entrada / Salida
Otras

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

ascii

sub ascii (n : numerico)


retorna cadena

Retorna el carcter que se encuentra en la tabla ASCII


en la posicin n

ord

sub ord (c : cadena)


retorna numerico

Retorna la posicin que ocupa el carcter c en la tabla


ASCII

lower

sub lower (c : cadena)


retorna cadena

Dada una cadena c como parmetro retorna una


nueva cadena con los caracteres alfabticos de c
convertidos a minsculas.

El resto se mantienen igual.


upper

sub upper (c : cadena)


retorna cadena

Dada una cadena c como parmetro retorna una


nueva cadena con los caracteres alfabticos de c
convertidos a maysculas.
El resto se mantienen igual.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

strlen

sub strlen (c : cadena)


retorna numerico

Retorna la cantidad de caracteres de la cadena c

strdup

sub strdup (c : cadena; n :


numerico) retorna cadena

Dada una cadena c y un nmero n retorna una


nueva cadena compuesta por n copias de c.

substr

sub substr (c : cadena


pos_inicial : numerico
cant : numerico) retorna
cadena

Retorna una copia de una porcin de la cadena c ,


a partir de la posicin pos_inicial.
La cantidad de caracteres copiados es cant.

Si se omite cant se copian todos los caracteres


hasta el final de c.
Si pos_inicial > que el total de caracteres de la
cadena retorna cadena VACA.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Subrutinas Predefinidas en SL

1.
2.
3.
4.
5.

Funciones Matemticas
Transformacin de Datos
Cadenas de Caracteres
Entrada / Salida (algunas.)
Otras

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

beep

sub beep (frecuencia,


duracin_miliseg :
numerico)

Emite un pitido a cierta frecuencia y la ejecucin del


programa se suspende durante el tiempo que se
indica en el segundo parmetro expresado en
milisegundos.
Ambos parmetros se pueden omitir (por defecto el
pitido tiene frecuencia=500 y duracin_miliseg=100)

readkey

sub readkey (milisegundos


: numerico) retorna
numerico

Espera a que se pulse una tecla y retorna un cdigo


numrico que identifica lo pulsado por el usuario.
El tiempo que se espera depende del parmetro,
que est expresado en milisegundos, si nada se
puls en ese tiempo, retornar cero.
Si se omite el parmetro, readkey() espera
indefinidamente a que el usuario pulse una tecla.

Si el dispositivo de entrada no es el teclado, porque


por ejemplo es un archivo, retorna cero.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

get_color

sub get_color (ref primer_plano,


fondo : numerico)

Obtiene el color del texto y del fondo vigentes.

Ambos parmetros son pasados por referencia,


por lo que se deben traspasar variables.
Los colores estn identificados por un valor
entero.
set_color

sub set_color (primer_plano,


fondo : numerico)

Permite cambiar los colores que se usarn al


imprimir mensajes en la pantalla.
El primer parmetro (primer_plano) indica el
color del texto.
El segundo parmetro de set_color() indica el
color de fondo.
Si cualquiera de los parmetros es 0, el color
correspondiente no se ve afectado.
No tiene ningn efecto cuando el dispositivo de
salida no es la pantalla.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

get_curpos

sub get_curpos (ref


linea_actual, col_actual :
numerico)

Obtiene la fila y columna en la que se encuentra el


cursor en la pantalla.
Ambos parmetros son pasados por referencia, por
lo que se deben traspasar variables.
Si la salida es a un archivo fila y columna valen 0.

set_curpos

sub set_curpos (nueva_lin,


nueva_col : numerico)

Posiciona el cursor en la lnea y columna


especificadas.
La esquina superior izquierda de la pantalla
corresponde a la posicin (1, 1.
Si solo se desea cambiar la columna conservando la
fila actual, puede pasarse 0 como columna; similar
efecto se logra pasando 0 como nmero de lnea:
solo se cambia la columna.
No tiene ningn efecto cuando el dispositivo de
salida no es la pantalla.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

get_scrsize

sub get_scrsize (ref


cant_lin, cant_cols :
numerico)

Obtiene la cantidad de lneas y columnas que tiene la


pantalla.
Ambos parmetros son pasados por referencia, por lo
que se deben proveer dos nombres de variables.
El tamao habitual de la pantalla es 25 lneas por 80
columnas.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Subrutinas Predefinidas en SL

1.
2.
3.
4.
5.

Funciones Matemticas
Transformacin de Datos
Cadenas de Caracteres
Entrada / Salida (algunas.)
Otras

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

max

sub max (valor_1, valor_2)


retorna <valor_mayor>

Dados dos valores simples, retorna una copia del


mayor de ellos. Los valores pueden ser numricos,
cadenas o lgicos y ambos deben coincidir en tipo.
La cadena vaca se considera que es menor a
cualquier cadena no vaca.

min

sub min (valor_1, valor_2)


retorna <menor_valor>

Dados dos valores simples, retorna una copia del


menor de ellos.
Los valores pueden ser numricos, cadenas o
lgicos y ambos deben coincidir en tipo.

random

sub random (tope :


Genera un nmero pseudo-aleatorio.
numerico) retorna numerico
El resultado es un entero mayor o igual a cero y
menor a un valor tope que se pasa como parmetro.
Opcionalmente puede proveerse un segundo
parmetro como semilla o valor inicial que se
inyecta al generador de nmeros pseudo-aleatorios.
Si pasa este parmetro, asegrese de hacerlo una
sola vez en todo su programa.

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

NOMBRE

PROTOTIPO

DESCRIPCIN

intercambiar

sub intercambiar
(<variable_1>, <variable_2>)

Intercambia el contenido de dos variables que se


pasan como parmetros.
Las variables deben coincidir en tipo y pueden
corresponder a valores simples, arreglos, registros
o cualquier combinacin de estos.

swap

sub swap (<variable_1>,


<variable_2>)

Intercambia el contenido de dos variables que se


pasan como parmetros.
Las variables deben coincidir en tipo y pueden
corresponder a valores simples, arreglos, registros
o cualquier combinacin de estos.

Hacen lo mismo!!

Pontificia Universidad Catlica de Valparaso


Escuela de Ingeniera Informtica

Vous aimerez peut-être aussi