> 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/ud5-entrada-e-saida-da-informacion/introduccion.md).

# Introducción

Un ordenador é unha máquina electrónica que recibe e procesa datos para convertelos en información. Esta formado basicamente por dúas partes: un conxunto de circuítos integrados que constitúen a parte física que se denomina hardware, e un conxunto programas exercen o control sobre o hardware, que denominaremos software.

Para a execución dun programa, o ordenador carga en memoria principal o conxunto de instrucións e os datos sobre as que se van levar a cabo. Os datos sobre os que traballa o programa poden ser de distinta natureza, e denomínanse constantes ou variables.

### Datos <a href="#datos" id="datos"></a>

Os datos son representacións simbólicas ou numéricas de feitos, conceptos ou instruccións que se utilizan como entrada e saída nos programas informáticos. Os datos poden ser de diversos tipos, incluíndo:

* **Datos estructurados:** Son datos organizados nunha forma específica, como táboas nunha base de datos relacional ou listas nunha folla de cálculo. Os datos estruturados solen seguir un formato definido e almacéncense en campos e rexistros.
* **Datos non estructurados**: Estes datos non seguen un formato fixo e poden incluír texto sen formato, imaxes, videos, arquivos de audio, correos electrónicos, etc. Os datos non estruturados son comúns na web e en aplicacións que manexan contido multimedia.
* **Datos semiestructurados:** Estes datos están organizados nunha forma parcialmente estruturada, como documentos XML ou JSON, que conteñen etiquetas ou marcas para describi-la estructura pero permiten certa flexibilidade na representación.

Una vez que finaliza a execución do programa, os datos calculados que se manteñan en memoria principal vanse perder, co que será necesario almacenalos en memoria secundaria.

### Tipos de memoria <a href="#tipos-de-memoria" id="tipos-de-memoria"></a>

* **Memoria principal:** Á memoria principal é un tipo de memoria volátil, de acceso moi rápido e capacidade reducida, no que se almacenan as instruccións e datos dos programas que estan ou van estar en execución. Exemplos de memoria principal son a memoria RAM, as cachés ou os rexistros do procesador.
* **Memoria secundaria:** A memoria secundaria é un tipo de memoria non volatil, de acceso mais lento e maior capacidade, onde se almacena de xeito indefinido a información do ordenador. As memorias mais utilizadas de este tipo son as SSD.

### Elementos para o almacenamento da información <a href="#elementos-para-o-almacenamento-da-informacion" id="elementos-para-o-almacenamento-da-informacion"></a>

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

Durante o seu procesamento, un programa vai a poder traballar con información que reciba do usuario introducida mediante o teclado, ou por información almacenada no equipo o en algún outro equipo con que estea conectado en rede. De manera xeral, a información vaise almacenar utilizando algun dos seguintes elementos:

* **Ficheiros:** Os datos vanse escribir en ficheiros que van a poder ser escritos, lidos e modificados posteriormente. Na xestión dos ficheiros interven o sistema de arquivos do sistema operativo.
* **Bases de datos:** Trátase de aplicacions conxunto de programas que actúan como interface entre o usuario e a base de datos permitindo engadir, recuperar, modificar a información engadindo funcións adicionais como a administración, explotación e monitorización. Os tipos de bases de datos mais populares na actualidade son:
  * **Relacionales:** Implementan o modelo relacional, e utilizanse principalmente en aplicaciones transaccionais (OLTP), como pode ser un ERP ou un Ecommerce. Son fiables en priorizan a transaccionalidade a consistencia dos datos (Propiedades ACID). Exemplos de BD relacionales son MySQL, Oracle, SQL Server, MariaDB,...
  * **NoSQL:** Solucinan carencias do modelo relacional como a representación da información non estructurada. Priorizan a dispoñibilidade e escalabilidad horizontal por enrriba da fiabilidade, e utilizanse en entornos (OLAP) como aplicacións de analítica de datos. Existen 4 grandes familias: Documentales (MongoDB), Columnares (Cassandra, HBase), Clave Valor (DynamoDB) e basadas en grafos (Neo4j).
* **Servicios Cloud:** Servicios de almacenamento en red que permiten o almacenamento de información. Son servicios distribuidos e de alta dispoñibilidade, que encapsulan bases de datos e outras aplicacións.


---

# 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/ud5-entrada-e-saida-da-informacion/introduccion.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.
