> For the complete documentation index, see [llms.txt](https://educacion.gitbook.io/programacion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://educacion.gitbook.io/programacion/ud1-introduccion-a-programacion/introducion-a-programacion/elementos-de-un-algoritmo/funcions-predefinidas.md).

# Funcións predefinidas

<figure><img src="/files/J1vXQQ4LVAwBPX4CzXSw" alt=""><figcaption></figcaption></figure>

A práctica totalidade das linguaxes de programación incluen unha serie de **funcións predefinidas.**

{% hint style="warning" %}
En programación, unha **función** é un bloque de código reusable que realiza unha tarefa específica e pode ser chamado (invocado) desde diferentes partes dun algoritmo ou programa. A súa utilidade principal é evitar repetir código e organizar mellor a lóxica do programa.

A chamada a unha función aseméllase moito á notación das funcións matemáticas: está composta por un **nome** (que identifica á función) e uns **parámetros** (ou argumentos) entre parénteses. Estes parámetros son os datos de entrada que a función necesita para realizar a súa tarefa. Unha vez executada, a función pode **devolver un resultado** (valor de retorno) que se utilizará no lugar desde onde se chamou.
{% endhint %}

As **funcións predefinidas** son ferramentas xa construídas dentro da linguaxe que nos permiten realizar operacións comúns sen necesidade de programalas desde cero. Estas funcións ofrécennos capacidades inmediatas para traballar con matemáticas, texto, conversións de datos e moitas outras tarefas frecuentes. O seu uso é esencial para aforrar tempo e evitar reinventar solucións que xa están dispoñibles.

As **librerías** (ou bibliotecas) son coleccións organizadas destas funcións predefinidas, agrupadas por áreas de utilidade. En ferramentas como PSeInt, ainda que o concepto de librería é máis simple que en linguaxes avanzadas, igualmente encontramos un conxunto básico de funcións integradas que amplían as capacidades do núcleo do pseudocodigo. Dominar o uso destas funcións é un paso fundamental para converterse nun programador eficiente, xa que permiten resolver problemas complexos combinando ferramentas xa existentes.

No caso de PSeInt, destacamos os seguintes "librerías" e as funcións que agrupan:

* **Matemáticas:**
  * **abs(numero)**: Devolve o valor absoluto dun número.
  * **trunc(numero)**: Trunca un número decimal, eliminando a parte decimal.
  * **redon(numero)**: Redondea un número decimal ao enteiro máis próximo
  * **raiz(numero)**: Calcula a raíz cadrada dun número.
  * Trigonométricas: **sen(numero)**, **cons(numero)**, **tan(numero)**,...
  * **ln(numero)**: Calcula o logaritmo natural (base e) dun número.
  * **exp(numero)**: Calcula a exponencial (e elevado ao número).
  *
* **Cadeas:**
  * **Longitud(cadena)**: Calcula o número de caracteres dunha cadea de texto.
  * **Subcadena(cadena, inicio, fin)**: Extrae un fragmento dun cadena entre os caracteres inicio e fin.
  * **Concatenar(cadena1, cadena2)**: Une dúas cadeas de texto nunha soa.
  * **ConvertirANumero(cadena)**: Converte un texto que representa un número a valor numérico.
  * **ConvertirATexto(numero)**: Converte un número a texto.
  * **Mayusculas(cadena)**: Converte todo o texto a letras maiúsculas.
  * **Minusculas(cadena)**: Converte todo o texto a letras minúsculas.
* **Outras:**
  * **Azar(rango)**: Xera un número aleatorio dentro dun rango.
  * **Aleatorio()**: Xera un número decimal aleatorio entre 0 e 1.
  * **HoraActual()**: Obtén a hora actual do sistema.
  * **FechaActual()**: Obtén a data actual do sistema.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://educacion.gitbook.io/programacion/ud1-introduccion-a-programacion/introducion-a-programacion/elementos-de-un-algoritmo/funcions-predefinidas.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
