06 inf 1141 semestre i 2015 subrutinas predefinidas

35
Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática “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

Upload: juan

Post on 11-Sep-2015

216 views

Category:

Documents


0 download

DESCRIPTION

subrutinas

TRANSCRIPT

  • 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

  • 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.

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

    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)

  • Algunas Subrutinas Predefinidas en SL que conocemos.

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

    NOMBRE cls

    PROPSITO

    Limpiar la pantalla

    PROTOTIPO sub cls()

    EJEMPLO DE USO cls()

  • Algunas Subrutinas Predefinidas en SL que conocemos.

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

    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)

  • Subrutinas Predefinidas en SL

    1. Funciones Matemticas

    2. Transformacin de Datos

    3. Cadenas de Caracteres

    4. Entrada / Salida

    5. Otras

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

  • 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

  • Subrutinas Predefinidas en SL

    1. Funciones Matemticas

    2. Transformacin de Datos

    3. Cadenas de Caracteres

    4. Entrada / Salida

    5. Otras

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

  • 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

  • Subrutinas Predefinidas en SL

    1. Funciones Matemticas

    2. Transformacin de Datos

    3. Cadenas de Caracteres

    4. Entrada / Salida

    5. Otras

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

  • 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

  • Subrutinas Predefinidas en SL

    1. Funciones Matemticas

    2. Transformacin de Datos

    3. Cadenas de Caracteres

    4. Entrada / Salida (algunas.)

    5. Otras

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

  • 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

  • Subrutinas Predefinidas en SL

    1. Funciones Matemticas

    2. Transformacin de Datos

    3. Cadenas de Caracteres

    4. Entrada / Salida (algunas.)

    5. Otras

    Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

  • Pontificia Universidad Catlica de Valparaso

    Escuela de Ingeniera Informtica

    NOMBRE PROTOTIPO DESCRIPCIN

    max sub max (valor_1, valor_2)

    retorna

    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

    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 :

    numerico) retorna numerico

    Genera un nmero pseudo-aleatorio.

    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

    (, )

    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 (,

    )

    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