Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×

6.7. Algunas funciones incorporadas del lenguajes Pascal.

6.7.1. Funciones matemáticas: abs, sin, cos, arctan, round, trunc, sqr, sqrt, exp, ln, odd, potencias.

En el apartado 1.6.3 vimos algunas de las funciones matemáticas que incluye Pascal. Es hora de ver una lista un poco más detallada:

(* ELEVAR.PAS, Elevar un número real a otro *)
(* Parte de CUPAS5, por Nacho Cabanes       *)

program elevar;

function elevado(a,b: real): real; 
begin 
  elevado := exp(b *ln(a) ); 
end;

begin 
  writeln(elevado(2,3)); 
end. 

La deducción de esta fórmula es fácil, conociendo las propiedades de los logaritmos y las exponenciales

a^b = exp ( ln ( a^b )) = exp ( b * ln ( a ))

6.7.2. Funciones para manipular cadenas de texto.

En el apartado 4.2.3 vimos también algunas de las funciones de manipulación de cadenas de texto. Vamos a resumirlas ahora y a ver un ejemplo conjunto:

Las funciones incorporadas para el manejo de cadenas son:

Vamos a ver un ejemplo que las use:

(* CADENAS.PAS, Ejemplo de funciones de cadenas *)
(* Parte de CUPAS5, por Nacho Cabanes           *)

program cadenas;

var
    frase: string;
    numero: integer;
    codigoError: integer;

begin
    frase := 'Esta es una frase de ejemplo';
    writeln('La primera palabra (letras 1 a 4) es: ', copy(frase, 1, 4) );
    writeln('Si anadimos mas texto: ', concat(frase, ' facilito') );

    delete(frase, 6, 2);
    writeln('Si borramos la segunda palabra (letras 5 a 7) es: ', frase );

    insert('si es', frase, 6);
    writeln('Y si insertamos una nueva segunda (y tercera) palabra: ',  frase);
    writeln('La longitud de la frase es: ', length(frase) );
    writeln('Y la primera a parece en la posicion: ', pos('a', frase) );
    
    frase := '25 unidades';
    writeln('Ahora la frase es: ',  frase);
    val(frase, numero, codigoError);
    writeln('Y el doble de su valor es: ', numero*2 );
    writeln('La conversión ha sido correcta hasta la posición: ', codigoError );
end. 

(* Resultado de este programa:
La primera palabra (letras 1 a 4) es: Esta
Si anadimos más texto: Esta es una frase de ejemplo facilito
Si borramos la segunda palabra (letras 5 a 7) es: Esta  una frase de ejemplo
Y si insertamos una nueva segunda (y tercera) palabra: Esta si es una frase de ejemplo
La longitud de la frase es: 31
Y la primera a parece en la posicion: 4
Ahora la frase es: 25
Y el doble de su valor es: 50
Finalmente la frase es: 25 unidades
Y el doble de su valor es: 0
La conversion ha sido correcta hasta la posicion: 3
*)