Está en la página 1de 26

Algoritmos

Computacionales
Sección: 0326
Docente: ing. Felicia
Alcántara.
Tema: términos.
Realizado por: Anyeli Yamel
De Jesús S.
Matricula: 20-SIST-1-008.

17/5/2021
TEMA- TÉRMINOS

 DEFINE QUE ES UN ALGORITMO, CARACTERÍSTICAS, Y LAS HERRAMIENTAS QUE


UTILIZA.
 RELACIONE DIAGRAMA FLUJO DE DATOS, PSEUDOCÓDIGO Y LENGUA PROGRAMACIÓN
DE ALTO NIVEL.
 DIAGRAMA DE FLUJO Y DESCRIPCIÓN DE SUS SÍMBOLOS. EJEMPLO

 LENGUAJE DE MAQUINA, COPILADOR Y TRADUCTOR E INTERPRETE, CÓDIGO FUENTE Y


CÓDIGO OBJETIVO. EJEMPLO
 CONCEPTO DATOS Y TIPOS DE DATOS. EJEMPLO
 CONCEPTO EXPRESIÓN, VARIABLE Y CONSTANTE, ARREGLOS Y TUPLAS
 RELACIONES LOS TÉRMINOS CONTADOR VS ACUMULADOR
 CONCEPTO ALGORITMO, TIPOS DE ALGORITMOS Y EJEMPLO
 DESCRIBA Y DE EJEMPLO DE LAS SIGUIENTES ESTRUCTURAS
 ESTRUCTURAS SELECTIVAS
 ESTRUCTURAS CONDICIONALES
 ESTRUCTURA CONDICIONALES SIMPLES
 ESTRUCTURAS DE CONDICIÓNALES ANIDADAS
 ESTRUCTURA DE CONTROL
 ESTRUCTURA DESDE (FOR)
 ESTRUCTURA MIENTRAS …. HACER (WHILE…DO)
 ESTRUCTURA HACER… MIENTRAS (DO.. WHILE)

 CONCEPTO BASE DE DATOS (BBDD), CARACTERÍSTICAS Y EJEMPLO


 CONCEPTO TABLA DE DATOS, TABLA DE BASE DE DATOS, CAMPO Y REGISTRO.
EJEMPLO
 ¿QUE SON Y PARA QUE SIRVEN LAS ESTRUCTURAS DE DATOS?

ALGORITMO:

En informática o programación, el algoritmo es la secuencia de instrucciones mediante


la cual podemos resolver un problema o cuestión.
De hecho, todas las tareas ejecutadas por la computadora se basan en algoritmos. Un
software o programa informático está diseñado a base de algoritmos, de modo que
podemos introducir una tarea en él y resolverla.
un algoritmo es una secuencia de instrucciones secuenciales, gracias al cual pueden
llevarse a cabo ciertos procesos y darse respuesta a determinadas necesidades o
decisiones. Se trata de conjuntos ordenados y finitos de pasos, que nos permiten
resolver un problema o tomar una decisión.
CARACTERÍSTICAS:
Todo algoritmo debe cumplir con estas características básicas:

 Tienen inicio y fin: todo algoritmo comienza en un estado inicial con una serie
de datos específicos, y culmina con una solución o salida.
 Funcionan en secuencia: un algoritmo está compuesto por una serie de pasos
ordenados.
 Las secuencias son concretas: cada paso es claro y no deja lugar a la
ambigüedad.
 Los algoritmos son abstractos: son modelos o guías para ordenar procesos.
 La cantidad de pasos de un algoritmo es finita.

HERRAMIENTAS QUE UTILIZA:


Las dos herramientas más utilizadas comúnmente para diseñar algoritmos son:

 diagramas de flujo:
El diagrama de flujo o también diagrama de actividades es una manera de
representar gráficamente un algoritmo o un proceso de alguna naturaleza, a
través de una serie de pasos estructurados y vinculados que permiten su
revisión como un todo.
 pseudocódigos:
Pseudocódigo (o falso Lenguaje). Es comúnmente utilizado por los
programadores para omitir secciones de Código o para dar una explicación
del paradigma que tomó el mismo programador para hacer sus códigos, esto
quiere decir que el pseudocódigo no es programable sino facilita la
programación. El principal objetivo del pseudocódigo es el de representar la
solución a un algoritmo de la forma más detallada posible, y a su vez lo más
parecida posible al lenguaje que posteriormente se utilizará para la
codificación de este.
•RELACIONE DIAGRAMA FLUJO DE DATOS, PSEUDOCÓDIGO Y LENGUA
PROGRAMACIÓN DE ALTO NIVEL.
La relación entre estos 3 conceptos en mi opinión es, que son similares ya que nos
presentan la información de dicho programa, es decir, el diagrama de flujo de datos
traza el flujo de la información para cualquier proceso o sistema, el PSEUDOCÓDIGO es
el lenguaje que describe un algoritmo, mientras que el lenguaje de programación de
alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la
capacidad cognitiva humana, en lugar de la capacidad con que los ejecutan las
máquinas. Ósea estos 3 nos reflejan la información que esta suministrada en dicho
programa para poder entenderlo más fácil o de manera adecuada a su capacidad
cognitiva.

•DIAGRAMA DE FLUJO Y DESCRIPCIÓN DE SUS SÍMBOLOS. EJEMPLO


El diagrama de flujo o también diagrama de actividades es una manera de representar
gráficamente un algoritmo o un proceso de alguna naturaleza, a través de una serie de
pasos estructurados y vinculados que permiten su revisión como un todo.
Símbolo del Documento Impreso
Un documento o informe impreso.

Símbolo de Multidocumento
Representa multidocumento en el proceso.
Símbolo de Entrada Manual
Representa un paso en el que se pide al usuario que introduzca la información
manualmente.

Símbolo del Conector


Indica que el flujo continúa donde se ha colocado un símbolo idéntico (que contiene la
misma letra).

Símbolo de la Base de Datos


Indica una lista de información con una estructura estándar que permite buscar y
ordenar.

Símbolo de Preparación
Representa un ajuste a otro paso en el proceso.
Símbolo de Almacenamiento Interno
Indica que la información se almacenó en la memoria durante un programa, utilizado
en diagramas de flujo de diseño de software.

•LENGUAJE DE MAQUINA, COPILADOR Y TRADUCTOR E INTERPRETE, CÓDIGO FUENTE


Y CÓDIGO OBJETIVO. EJEMPLO

El lenguaje de máquina, o código de máquina, es un lenguaje de bajo nivel compuesto


por binarios dígitos (unos y ceros). Idiomas de alto nivel, Tales como rápido y a la C + +
debe ser compilado en lenguaje máquina antes de que el código se ejecute en una
computadora.
Como las computadoras son digital dispositivos, solo reconocen datos binarios. Cada
programa, video, imagen y personaje del texto se representa en binario. Este binario
dato, o código de máquina, se procesa como datos de entrada por el CPU. La
resultante salida es enviada al sistema operativo o una solicitud, que muestra los datos
visualmente. Por ejemplo, el ASCII el valor de la letra "A" es 01000001 en el código de
máquina, pero estos datos se muestran como "A" en la pantalla. Una imagen puede
tener miles o incluso millones de valores binarios que determinan el color de cada
píxel.
COPILADOR
Un compilador es un tipo de traductor que transforma un programa entero de un
lenguaje de programación (llamado código fuente) a otro.1 Usualmente el lenguaje
objetivo es código máquina, aunque también puede ser traducido a un código
intermedio (bytecode) o a texto. A diferencia de los intérpretes, los compiladores
reúnen diversos elementos o fragmentos en una misma unidad (un programa
ejecutable o una biblioteca), que puede ser almacenada y reutilizada. Este proceso de
traducción se conoce como compilación.

Traductor
El traductor es una herramienta esencial en la programación o desarrollo,
encargándose de convertir código fuente de un determinado lenguaje de
programación a código máquina que puede «entender» directamente el ordenador.
De acuerdo con el modo en que llevan a cabo el proceso de conversión, los traductores
se dividen en dos conjuntos: intérpretes y compiladores.
Interprete
Un intérprete es un traductor que ejecuta las líneas de código que conforman un
programa una a una y directamente. Es un programa que va leyendo el código fuente
de otro programa y lo va ejecutando según lo lee.
El código máquina generado en el momento de la traducción no es almacenado para
su posterior ejecución cuando se solicite. Por tanto, el programa realizado con un
lenguaje de programación traducido por un intérprete siempre necesitará a éste para
poder ejecutarse. No existe independencia entre la fase de traducción y ejecución.
Cada vez que el programa necesite ejecutarse, el traductor tendrá que convertir el
código fuente a código máquina (interpretar). Esta característica hace que, por regla
general, los lenguajes que usan este tipo de traductor ofrezcan un menor rendimiento.

CÓDIGO FUENTE
Por código fuente se entiende todo texto legible por un ser humano y redactado en un
lenguaje de programación determinado. El objetivo del código fuente es crear normas
y disposiciones claras para el ordenador y que este sea capaz de traducirlas a su propio
lenguaje. De este modo, el texto fuente es la base de los programas y de las páginas
web.
Entre los lenguajes de programación más conocidos se encuentran:
BASIC
Java
C
C++
Pascal
Python
PHP
JavaScript

CÓDIGO OBJETIVO
En programación, cuando se desarrolla un programa, en la fase de codificación el
compilador traducirá el Código fuente a Código máquina, también llamado código
objeto, siempre y cuando, el propio compilador no detecte ningún error en dicho
código fuente.
•CONCEPTO DATOS Y TIPOS DE DATOS. EJEMPLO
En informática, los datos son representaciones simbólicas (vale decir: numéricas,
alfabéticas, algorítmicas, etc.) de un determinado atributo o variable cualitativa o
cuantitativa, o sea: la descripción codificada de un hecho empírico, un suceso, una
entidad.
Los datos son, así, la información (valores o referentes) que recibe el computador a
través de distintos medios, y que es manipulada mediante el procesamiento de los
algoritmos de programación. Su contenido puede ser prácticamente cualquiera:
estadísticas, números, descriptores, que por separado no tienen relevancia para los
usuarios del sistema, pero que en conjunto pueden ser interpretados para obtener una
información completa y específica.

Algunos tipos de datos son:

 Caracteres. Dígitos individuales que se pueden representar mediante datos


numéricos (0-9), letras (a-z) u otros símbolos.
 Caracteres Unicode. Unicode es un estándar de codificación que permite
representar más eficazmente los datos, permitiendo así hasta 65535 caracteres
diferentes.
 Numéricos. Pueden ser números reales o enteros, dependiendo de lo
necesario.
 Booleanos. Representan valores lógicos (verdadero o falso).

Ejemplos de datos
Algunos ejemplos de datos informáticos pueden ser los que componen la jerarquía de
los datos informáticos, en una pirámide ascendente de lo más básico a lo más
complejo:

 Bits. Cada entrada del lenguaje de código binario, es decir, 1 o 0.


 Caracteres. Números, letras o caracteres especiales, formados cada uno a partir
de una combinación de bits. Por ejemplo: el número decimal 99 corresponde a
1100011 en binario.
 Campos. Conjunto ordenado de caracteres, por ejemplo, una palabra, como el
nombre y/o el apellido del usuario que llena un formulario en línea.
 Registros. Conjuntos de campos ordenados, como los necesarios para iniciar
sesión en nuestro correo electrónico.
 Archivos. Conjuntos ordenados de registros, como las cookies que las páginas
web guardan en nuestro sistema y contienen la información de las sesiones que
hemos iniciado.

 CONCEPTO EXPRESIÓN, VARIABLE Y CONSTANTE, ARREGLOS Y TUPLAS


 EXPRESIÓN
Las expresiones son combinaciones de constantes, variables y
operadores de diferentes tipos que nos permiten manipular datos para
obtener información nueva. Los lenguajes de programación usan los
mismos conceptos de las operaciones matemáticas tradicionales, tales
como el agrupamiento y la precedencia de operadores. Están
compuestas de un operando y dos operadores y tienen un valor. El valor
de la expresión se obtiene al tomar los valores de los operandos y
aplicarles el operador. Los operandos pueden ser constantes, variables
u otras expresiones y se clasifican en aritméticos, relacionales, lógicos y
de conversión de tipos dependiendo del tipo de los operandos que
manipulan y del tipo del valor que regresan.

 VARIABLE
Una variable en programación es una unidad de datos que puede
cambiar de valor. Es la forma más simple de almacenamiento,
representando una zona de memoria donde se almacena un elemento
de datos.
Si un programa de computadora fuera un edificio, entonces las variables
serían los ladrillos que constituyen su base. Las variables son
componentes críticos de cualquier programa. Este no podría ser
efectivo sin variables.

 CONSTANTE
En programación, una constante es un valor que no puede ser
alterado/modificado durante la ejecución de un programa, únicamente
puede ser leído.
Una constante corresponde a una longitud fija de un área reservada en
la memoria principal del ordenador, donde el programa almacena
valores fijos.
Por ejemplo:
El valor de PI = 3,1416

 ARREGLOS
Grupo o colección finita, homogénea y ordenada de elementos. Un
arreglo (vector, array, matriz) es un conjunto de datos o una estructura
de datos homogéneos que se encuentran ubicados en forma
consecutiva en la memoria RAM (sirve para almacenar datos en forma
temporal).

 TUPLAS
Una tupla es una secuencia de valores agrupados.
Una tupla sirve para agrupar, como si fueran un único valor, varios
valores que, por su naturaleza, deben ir juntos. El tipo de datos que
representa a las tuplas se llama tuple. El tipo tuple es inmutable: una
tupla no puede ser modificada una vez que ha sido creada. Una tupla
puede ser creada poniendo los valores separados por comas y entre
paréntesis. Por ejemplo, podemos crear una tupla que tenga el nombre
y el apellido de una persona:

>>> persona = ('Perico', 'Los Palotes')


>>> persona
('Perico', 'Los Palotes')

 RELACIONES LOS TÉRMINOS CONTADOR VS ACUMULADOR


Los acumuladores son idénticos a los contadores con una sola diferencia.
Aunque los dos tienen un valor inicial y un valor incremental, la diferencia
radica en que el valor incremental está determinado por una variable.
En los lenguajes C/C++ existen instrucciones iterativas que nos sirven para crear
ciclos de instrucciones que pueden ejecutarse más de una vez, ejemplos
básicos son los ciclos For y Do-While. Los contadores y acumuladores son
elementos muy útiles al trabajar con ciclos.

 CONCEPTO ALGORITMO, TIPOS DE ALGORITMOS Y EJEMPLO


Como algoritmo denominamos un conjunto ordenado y finito de operaciones
simples a través del cual podemos hallar la solución a un problema.
Los algoritmos nos permiten ejecutar una acción o resolver un problema
mediante una serie de instrucciones definidas, ordenadas y finitas. Así, dado un
estado inicial y una entrada, y siguiendo los sucesivos pasos indicados, se llega
al estado final y se obtiene una solución.

Existen cuatro tipos de algoritmos en informática:


 Algoritmos computacionales. Un algoritmo cuya resolución depende del
cálculo, y que puede ser desarrollado por una calculadora o
computadora sin dificultades.

 Algoritmos no computacionales. Aquellos que no requieren de los


procesos de un computador para resolverse, o cuyos pasos son
exclusivos para la resolución por parte de un ser humano.

 Algoritmos cualitativos. Se trata de un algoritmo en cuya resolución no


intervienen cálculos numéricos, sino secuencias lógicas y/o formales.

 Algoritmos cuantitativos. Todo lo contrario, es un algoritmo que


depende de cálculos matemáticos para dar con su resolución.

 DESCRIBA Y DE EJEMPLO DE LAS SIGUIENTES ESTRUCTURAS

 ESTRUCTURAS SELECTIVAS
Las estructuras selectivas se utilizan para tomar decisiones lógicas; de
ahí que se suelan denominar también estructuras de decisión o
alternativas y son utilizadas en todos los lenguajes de programación, En
las estructuras selectivas se evalúan una condición y en función del
resultado de esta se realiza una opción u otra. Las condiciones se
especifican usando expresiones lógicas. La representación de una
estructura selectiva se hace con palabras en pseudocódigo (if, then, else
o bien en español si, entonces, si, no), las estructuras selectivas pueden
ser: simple, doble y múltiple.

 ESTRUCTURAS CONDICIONALES
Las estructuras condicionales comparan una variable contra otro(s)
valor(es), para que, en base al resultado de esta comparación, se siga un
curso de acción dentro del programa. Cabe mencionar que la
comparación se puede hacer contra otra variable o contra una
constante, según se necesite. Existen dos tipos básicos, las simples y las
múltiples.

Las estructuras condicionales dobles permiten elegir entre dos opciones


o alternativas posibles en función del cumplimiento o no de una
determinada condición. Se representa de la siguiente forma:
 ESTRUCTURA CONDICIONALES SIMPLES
Permite controlar la ejecución de una o más acciones cuando
sólo existe una opción (ejecutar las acciones o no ejecutarlas). Se
utiliza cuando una o varias acciones se encuentran
condicionadas para que se lleven a cabo, pero no se tiene una
opción alterna. Las estructuras condicionales simples se
representan en diagrama de flujo de forma similar a las
imágenes que se muestran a continuación.

 ESTRUCTURAS DE CONDICIÓNALES ANIDADAS


Decimos que una estructura condicional es anidada cuando por
la rama del verdadero o el falso de una estructura condicional
hay otra estructura condicional. El diagrama de flujo que se
presenta contiene dos estructuras condicionales. La principal se
trata de una estructura condicional compuesta y la segunda es
una estructura condicional simple y está contenida por la rama
del falso de la primera estructura.
 ESTRUCTURA DE CONTROL
En lenguajes de programación, las estructuras de control permiten
modificar el flujo de ejecución de las instrucciones de un programa.

Con las estructuras de control se puede:


 De acuerdo con una condición, ejecutar un grupo u otro de
sentencias (If-Then-Else).

 De acuerdo con el valor de una variable, ejecutar un grupo u


otro de sentencias (Switch-Case).

 Ejecutar un grupo de sentencias solo cuando se cumpla una


condición (Do-While).

 Ejecutar un grupo de sentencias hasta que se cumpla una


condición (Do-Until).

 Ejecutar un grupo de sentencias un número determinado de


veces (For-Next).

 Todas las estructuras de control tienen un único punto de


entrada. Las estructuras de control se pueden clasificar en:
secuenciales, iterativas y de control avanzadas. Esta es una
de las cosas que permiten que la programación se rija por
los principios de la programación estructurada.
 ESTRUCTURA DESDE (FOR)
La estructura de control for permite ejecutar un bloque de
instrucciones un número determinado de veces mientras se
cumpla una condición. Es una de las estructuras de control
repetitivas más utilizadas a pesar de que cualquier bucle for
puede reescribirse fácilmente como un bucle while y
viceversa.
La sintaxis básica de la estructura de control for es la
siguiente:

for(inicialización;condicion;incremento)
{
   //instrucciones
}

 ESTRUCTURA MIENTRAS …. HACER (WHILE…DO)


La instrucción Mientras ... Hacer es una de las alternativas para
la repetición de procesos a través del ordenador. Como
veremos, guarda cierta similitud con la instrucción
Desde ...Siguiente, hasta el punto de que en algunas ocasiones
podrá optarse por el uso de una u otra de forma indistinta.
Escribiremos esta instrucción de la siguiente manera:  
 
Mientras [Condición] Hacer
Instrucción 1
Instrucción 2
.
.
.
Instrucción n
Repetir

 ESTRUCTURA HACER… MIENTRAS (DO.. WHILE)


(Do-While). Al igual que en la estructura while las instrucciones
se ejecutan mientras la condición sea verdadera, pero la
condición se comprueba al final del ciclo, por lo que las
instrucciones se ejecutarán al menos una vez.

 Ejecuta las instrucciones que hay dentro del ciclo do – while


y va al #2.
 Evalúa condición del ciclo do –while, caso de que la
condición sea verdadera retorna al #1; en caso de que la
condición sea falsa va al #3.
 Termina el Ciclo do - while y continua la secuencia del
programa.
 CONCEPTO BASE DE DATOS (BBDD), CARACTERÍSTICAS Y EJEMPLO
Se llama base de datos, o también banco de datos, a un conjunto de
información perteneciente a un mismo contexto, ordenada de modo
sistemático para su posterior recuperación, análisis y/o transmisión. Existen
actualmente muchas formas de bases de datos, que van desde una biblioteca
hasta los vastos conjuntos de datos de usuarios de una empresa de
telecomunicaciones.

Las bases de datos son el producto de la necesidad humana de almacenar la


información, es decir, de preservarla contra el tiempo y el deterioro, para
poder acudir a ella posteriormente. En ese sentido, la aparición de la
electrónica y la computación brindó el elemento digital indispensable para
almacenar enormes cantidades de datos en espacios físicos limitados, gracias a
su conversión en señales eléctricas o magnéticas.

El manejo de las bases de datos se lleva mediante sistemas de gestión


(llamados DBMS por sus siglas en inglés: Database Management Systems o
Sistemas de Gestión de Bases de Datos), actualmente digitales y
automatizados, que permiten el almacenamiento ordenado y la rápida
recuperación de la información. En esta tecnología se halla el principio mismo
de la informática.
 Una base de datos se compone de varias tablas, denominadas
relaciones.
 No pueden existir dos tablas con el mismo nombre ni registro.
 Cada tabla es a su vez un conjunto de campos (columnas) y registros
(filas).
 La relación entre una tabla padre y un hijo se lleva a cabo por medio de
las llaves primarias y llaves foráneas (o ajenas).
 Las llaves primarias son la clave principal de un registro dentro de una
tabla y estas deben cumplir con la integridad de datos.
 Las llaves ajenas se colocan en la tabla hija, contienen el mismo valor
que la llave primaria del registro padre; por medio de estas se hacen las
formas relacionales.

Ejemplo
 El registro de estudiantes de un colegio o universidad.
 El registro de pacientes de un consultorio médico u hospital.
 La base de datos de los libros y revistas de una biblioteca o
librería.
 Los estados de cuenta bancarios de los clientes de una
institución financiera.
 CONCEPTO TABLA DE DATOS, TABLA DE BASE DE DATOS, CAMPO Y REGISTRO.
EJEMPLO
Tabla en las bases de datos, se refiere al tipo de modelado de datos donde se
guardan los datos recogidos por un programa. Su estructura general se asemeja
a la vista general de un programa de tablas

Las tablas se componen de dos estructuras:


 Campo: Corresponde al nombre de la columna. Debe ser único y
además de tener un tipo de dato asociado.
 Registro: Corresponde a cada fila que compone la tabla. Ahí se
componen los datos y los registros. Eventualmente pueden ser nulos en
su almacenamiento.

Tabla de base de datos


Las tablas son objetos de base de datos que contienen todos sus datos.
En las tablas, los datos se organizan con arreglo a un formato de filas y
columnas, similar al de una hoja de cálculo. Cada fila representa un
registro único y cada columna un campo dentro del registro. Por
ejemplo, en una tabla que contiene los datos de los empleados de una
compañía puede haber una fila para cada empleado y distintas
columnas en las que figuren detalles de estos, como el número de
empleado, el nombre, la dirección, el puesto que ocupa y su número de
teléfono particular.

 El número de tablas de una base de datos se limita solo por el número


de objetos admitidos en una base (2.147.483.647). Una tabla definida
por el usuario estándar puede tener hasta 1.024 columnas. El número
de filas de la tabla solo está limitado por la capacidad de
almacenamiento del servidor.

 Puede asignar propiedades a la tabla y a cada columna de la tabla para


controlar los datos admitidos y otras propiedades. Por ejemplo, puede
crear restricciones en una columna para no permitir valores nulos o
para proporcionar un valor predeterminado si no se especifica un valor,
o puede asignar una restricción de clave en la tabla que exige la
unicidad o definir una relación entre las tablas.
Campos
La palabra campo en el área informática se refiere a un espacio de
almacenamiento de un dato particular y sirve para clasificar información
de forma ordenada según su tipo.
Es lo que llamaríamos en un documento de Excel o una hoja de cálculo
una celda. El tipo de campo se selecciona según el atributo o valor del
dato que se quiere clasificar y almacenar. Se considera la mínima unidad
de información con que se pueden catalogar datos según su tipología o
acceder en una búsqueda específica. Los tipos de campo más conocidos
son el numérico y el alfanumérico.

Para qué sirve el campo en informática:

Como podemos ver el campo sirve para almacenar de forma ordenada y


así poder procesar información con clasificaciones mínimas, ya
catalogadas según sus características desde el mismo momento en la
información se almacena.

Registro
En informática, o concretamente en el contexto de una base de datos
relacional, un registro (también llamado fila o tupla) representa un
objeto único de datos implícitamente estructurados en una tabla. En
términos simples, una tabla de una base de datos puede imaginarse
formada de filas y columnas (campos o atributos). Cada fila de una tabla
representa un conjunto de datos relacionados, y todas las filas de la
misma tabla tienen la misma estructura. No puede haber un registro
duplicado, los datos deben ser diferentes en al menos uno de los
campos.

Un registro es un conjunto de campos que contienen los datos que


pertenecen a una misma entidad. Se le asigna automáticamente un
número consecutivo (número de registro) que en ocasiones es usado
como índice aunque lo normal y práctico es asignarle a cada registro un
campo clave para su búsqueda.
 ¿QUE SON Y PARA QUE SIRVEN LAS ESTRUCTURAS DE DATOS?
Cuando hablamos de programación, la estructura de datos está representada por
una forma determinada que tenemos de organizar los datos de un equipo
informático para que podamos utilizarlos de la manera más efectiva posible.
Dependiendo del tipo de aplicación o recurso que vayamos a usar requeriremos
una estructura de datos independiente y distinta a las demás, dado que cada una
encaja en el contexto de forma determinada y con una serie de objetivos.
Con estas estructuras tenemos la posibilidad de administrar todo tipo de datos sin
ningún tipo de obstáculo, algo que en la actualidad se usa en la red para poder
llevar a cabo, por ejemplo, los sistemas de indexado de contenidos. Y también
juegan un papel clave en la creación de los mejores algoritmos, así como en su uso
con lenguajes de programación que se benefician de ellas.
Las estructuras de datos nos permiten resolver un problema de manera más
sencilla gracias a que las reglas que las rigen nunca cambian, así que puedes asumir
que ciertas cosas son siempre ciertas. Adicionalmente son dinámicas, si usas
lenguajes de programación como Java, sabrás que necesitas definir el tamaño de
los arrays antes de ser usados. Usando una estructura de datos, puedes hacer “un
array” de tamaño indeterminado.

Ejemplo Necesito hacer un programa que apile una serie de nombre de libros como
entrada, y que me diga cuál es el último libro, el problema es que vamos a apilar N
libros.
En este ejemplo usaremos Java. El primer problema es que en Java no podemos
establecer un array de N elementos, entonces usemos la estructura de datos de
lista enlazada, que Java ya tiene implementado en la clase ArrayList.
Una lista enlazada es una estructura en donde podemos guardar N elementos,
pero no es posible referenciar cada elemento por su índice, se debe iterar cada
elemento. Para resolver el problema tenemos entonces que iterar todos los N
elementos para obtener el valor de último. Esto es un problema. Si tenemos 10000
elementos tendremos que iterarlos todos solo para obtener el último, eso hace
que el código mostrado a continuación sea más lento en tanto el número de
elementos N sea mayor.
import java.util.*;

class Main {
public static void main(String[] args) {
ArrayList<String> books = new ArrayList<String>();
books.add("book 1");
books.add("book 2");
books.add("book 3");
....
books.add("book n");

String lastBook = "";


for (String book: books) {
lastBook = book;
}
System.out.println(lastBook);
}
}
Para resolver el problema del tamaño podemos usar otra estructura de datos que
se conoce como pila, la pila es una estructura de datos que también puede guardar
N elementos, adicionalmente sigue la regla de el último elemento que entra, es el
primero que sale. Gracias a esto para resolver el problema lo único que debo hacer
es almacenarlos, y luego decirle a la estructura que retorne el último elemento.
import java.util.*;

class Main {
public static void main(String[] args) {
Stack<String> stack = new Stack<>();
stack.push("book 1");
stack.push("book 2");
stack.push("book 3");
String lastBook = stack.pop();

System.out.println(lastBook);
}
}
Este código siempre correrá velozmente, independientemente del tamaño de N.
Como puedes ver, el problema pudo resolverse de forma más sencilla gracias a el
uso de otra estructura de datos que internamente maneja reglas que nos ahorran
mucho trabajo, y corre mucho más rápido.
Disclamer: este problema puede resolverse de una forma aún más sencilla, solo lo
usé como ejemplo de cómo usar estructuras de datos.

También podría gustarte