Curso de Programación – CLASE 11

(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)


FUNCIONES

Las funciones en programación nos permiten simplificar ciertas operaciones matemáticas.


Las funciones se utilizan colocando su nombre seguido de los argumentos para la misma encerrados entre paréntesis, pueden utilizarlas dentro de cualquier expresión, y cuando se evalúe la misma, se reemplazará por el resultado correspondiente.

Lista de funciones disponibles en PseINT:

Función:Significado:
RC(X) o RAIZ(X)Raíz Cuadrada de X.
ABS(X)Valor Absoluto de X.
LN(X)Logaritmo Natural de X.
EXP(X)Función Exponencial de X.
SEN(X)Seno de X.
COS(X)Coseno de X.
TAN(X)Tangente de X.
ASEN(X)Arcoseno de X.
ACOS(X)Arcocoseno de X.
ATAN(X)Arcotangente de X.
TRUNC(X)Parte entera de X.
REDON(X)Entero más cercano a X.
AZAR(X)Entero aleatorio en el rango [0;x-1].
ALEATORIO(A,B)Entero aleatorio en el rango [A;B].
LONGITUD(S)Cantidad de caracteres de la cadena S.
MAYUSCULAS(S)Retorna una copia de la cadena S con todos sus caracteres en mayúsculas.
MINUSCULAS(S)Retorna una copia de la cadena S con todos sus caracteres en minúsculas.
SUBCADENA(S,X,Y)Retorna una nueva cadena que consiste en la parte de la cadena S que va desde la posición X hasta la posición Y (incluyendo ambos extremos). Las posiciones utilizan la misma base que los arreglos, por lo que la primera letra será la 0 o la 1 de acuerdo al perfil del lenguaje utilizado.
CONCATENAR(S1,S2)Retorna una nueva cadena, resulta de unir las cadenas S1 y S2.
CONVERTIRANUMERO(X)Recibe una cadena de caracteres que contiene un número y devuelve una variable numérica con el mismo.
CONVERTIRATEXTO(S)Recibe un real y devuelve una variable numérica con la representación como cadena de caracteres de dicho real.
El módulo (resto de la división entera) no se encuentra entre las funciones, ya que fue implementado como operador.
Las funciones trigonométricas reciben el ángulo en radianes. Para facilitar las conversiones se puede usar la constante PI (Ej: si A es un ángulo en grados, su coseno se obtiene con “cos(A*PI/180)”).

Funciones más utilizadas en C++ para matemáticas y manejo de cadenas:


Matemáticas:

Función:Significado:
abs(x)Devuelve el valor absoluto de un número (siempre positivo).
pow(x, y)Calcula x elevado a la potencia y.
sqrt(x)Calcula la raíz cuadrada de un número.
ceil(x)Redondea un número hacia arriba al entero más cercano.
floor(x)Redondea un número hacia abajo al entero más cercano.
rand()Genera un número entero aleatorio entre 0 y RAND_MAX (valor definido en cstdlib).

Manejo de cadenas:

Función:Significado:
string str = "Hola";Crea una cadena de texto (objeto std::string).
strlen(str)Devuelve la longitud de una cadena.
strcmp(str1, str2)Compara dos cadenas y devuelve 0 si son iguales.
strcat(str1, str2)Concatena dos cadenas (juntarlas).
str.substr(inicio, longitud) Extrae una subcadena de la cadena original, comenzando desde la posición
‘inicio‘ y con una longitud ‘longitud‘.

Funciones más utilizadas en Python para matemáticas y manejo de cadenas:


Matemáticas:

Función:Significado:
abs(x)Devuelve el valor absoluto de un número (siempre positivo).
pow(x, y)Calcula x elevado a la potencia y.
sqrt(x)Calcula la raíz cuadrada de un número.
ceil(x)Redondea un número hacia arriba al entero más cercano.
floor(x)Redondea un número hacia abajo al entero más cercano.
random.randint(a, b)Genera un número entero aleatorio entre a y b (ambos inclusive).

Manejo de cadenas:

Función:Significado:
cadena = "Hola"Crea una cadena de texto (string).
len(cadena)Devuelve la longitud de una cadena.
cadena.upper()Retorna una copia de la cadena con todos sus caracteres en mayúsculas.
cadena.lower()Retorna una copia de la cadena con todos sus caracteres en minúsculas.
cadena1 == cadena2Compara dos cadenas y devuelve True si son iguales, False en caso contrario.
cadena1 + cadena2Concatena dos cadenas (juntarlas).
cadena[inicio:fin]Extrae una subcadena de la cadena original, comenzando desde la posición ‘inicio‘ hasta ‘fin‘ (sin incluir la posición ‘fin‘).

EJEMPLOS


Vamos a crear nuestro primer programa haciendo uso de la función RAIZ(X):

Ingresamos un valor en la variable (a), luego el programa calcula su raíz haciendo uso de la función raiz.

Analizamos el código

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Algoritmo Calcular_raiz
Escribir "Ingrese un número para calcular su raíz: "
Leer a
Escribir "La raíz del número ingresado es: ",raiz(a)
FinAlgoritmo
Algoritmo Calcular_raiz Escribir "Ingrese un número para calcular su raíz: " Leer a Escribir "La raíz del número ingresado es: ",raiz(a) FinAlgoritmo
Algoritmo Calcular_raiz
	Escribir "Ingrese un número para calcular su raíz: "
	Leer a
	Escribir "La raíz del número ingresado es: ",raiz(a)
FinAlgoritmo

Ejecutamos el programa


Veamos el código en C++:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Hacemos uso de la cmath para calcular la raíz con la función sqrt.
#include <iostream>
#include <cmath>
using namespace std;
double a;
int main()
{
cout << "Ingrese un número para calcular su raíz: ";
cin >> a;
cout << "La raíz del número ingresado es: " << sqrt(a) << endl;
return 0;
}
// Hacemos uso de la cmath para calcular la raíz con la función sqrt. #include <iostream> #include <cmath> using namespace std; double a; int main() { cout << "Ingrese un número para calcular su raíz: "; cin >> a; cout << "La raíz del número ingresado es: " << sqrt(a) << endl; return 0; }
// Hacemos uso de la cmath para calcular la raíz con la función sqrt.
#include <iostream>
#include <cmath>

using namespace std;

double a;

int main()
{
    cout << "Ingrese un número para calcular su raíz: ";
    cin >> a;
    cout << "La raíz del número ingresado es: " << sqrt(a) << endl;
    return 0;
}

Vamos a analizar línea por línea este código en C++:

Línea 1: // Hacemos uso de la cmath para calcular la raíz con la función sqrt.

Hacemos uso del archivo cmath que se encuentra en la biblioteca estándar de C++ para calcular la raíz utilizando la función sqrt.

Líneas 2 y 3: #include \n#include

Incluimos los archivos iostream para la entrada y salida y cmath para utilizar funciones matemáticas en el programa.

Línea 4: using namespace std;

Declaramos que queremos usar el espacio de nombres estándar de C++ std lo que significa que podemos acceder a las clases, objetos y funciones del lenguaje sin tener que especificar su nombre completo con el prefijo std::.

Línea 5: double a;

Declaramos una variable llamada a de tipo doble, un número decimal con coma flotante.

Líneas 6-7: int main() { … }

Definimos la función principal del programa que es el punto de entrada y salida. La función se llama main y devuelve un valor de tipo entero 0 si todo va bien.

Línea 8: cout << "Ingrese un número para calcular su raíz: ";

Imprimimos en la pantalla el texto Ingrese un número para calcular su raíz seguido del caracter de nueva línea endl.

Línea 9: cin >> a;

Leemos desde la entrada estándar, por ejemplo el teclado un valor numérico y lo asignamos a la variable a.

Línea 10: cout << "La raíz del número ingresado es: " << sqrt(a) << endl;

Imprimimos en la pantalla el texto La raíz del número ingresado es seguido de la raíz cuadrada del valor leído calculada utilizando la función sqrt y finalmente un caracter de nueva línea endl.

Línea 11: return 0;

Devolvemos el valor 0 indicando que el programa ha terminado correctamente.


Ahora el código en PYTHON:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import math
print("Ingrese un número para calcular su raíz: ")
a = int(input())
print("La raíz del número ingresado es: ", math.sqrt(a))
import math print("Ingrese un número para calcular su raíz: ") a = int(input()) print("La raíz del número ingresado es: ", math.sqrt(a))
import math

print("Ingrese un número para calcular su raíz: ")
a = int(input())
print("La raíz del número ingresado es: ", math.sqrt(a))

Vamos a analizar línea por línea este código en PYTHON:

Línea 1: import math

Importamos el módulo matemático de Python, que contiene funciones como la raíz cuadrada (sqrt).

Línea 2: print("Ingrese un número para calcular su raíz: ")

Imprimimos en la pantalla el texto “Ingrese un número para calcular su raíz:“, solicitando al usuario que ingrese un número.

Línea 3: a = int(input())

Leemos desde la entrada estándar (por ejemplo, el teclado) un valor numérico y lo convertimos a un entero (int). Guardamos este valor en la variable “a“.

Línea 4: print("La raíz del número ingresado es: ", math.sqrt(a))

Imprimimos en la pantalla el texto “La raíz del número ingresado es:“, seguido de la raíz cuadrada del valor leído (calculada utilizando la función sqrt() del módulo matemático) y un espacio en blanco.


TAREA PARA EL HOGAR

  1. Utilizando alguna de las funciones, realizar un programa que convierta una cadena ingresada en minúsculas a mayúsculas.
  2. Pon a prueba cualquier otra función que te parezca interesante para mejorar algún programa previo.