Está en la página 1de 37

1.2.

1 Realiza la estructuración 5 programas


(diagrama de flujo, algoritmo y pseudocódigo),
empleando estructuras de datos y estructuras
de control.
Introducción

Estructura de datos

• En programación, una estructura de datos es una forma de organizar


un conjunto de datos elementales con el objetivo de facilitar su
manipulación. Un dato elemental es la mínima información que se tiene en
un sistema.
Arreglo:
•  Las variables que hemos utilizado hasta ahora nos permiten el
almacenamiento de un solo valor a la vez. Para resolver cierto tipo de
problemas con datos múltiples en forma eficiente, se requiere
almacenamiento en conjunto. A esta organización de elementos se le
conoce con el nombre de arreglo.
Vectores y matrices
Vectores
 Vectores, listas o unidimensionales. es un arreglo de "N" elementos
organizados en una dimensión donde "N" recibe el nombre de longitud o
tamaño del vector. Para hacer referencia a un elemento del vector se
usa el nombre del mismo, seguido del índice (entre corchetes), el cual
indica una posición en particular del vector.
Matrices
 Se puede considerar como un vector de vectores. Es, por
consiguiente, un conjunto de elementos, todos del mismo tipo,
en el cual el orden de los componentes es significativo y en el
que se necesitan especificar dos subíndices para poder
identificar a cada elemento del arreglo. También se les llama
arreglos Bidimensionales, ya que una tabla será utilizada
cuando se requiere de establecer relaciones por renglones y
columnas entre datos de un tipo común.
Pilas y colas

Cuando se introducen los arreglos, en el capitulo anterior, se dijo que eran


estructuras lineales. Al analizar las operaciones de inserción y eliminación,
se vio que los elementos podían insertarse o eliminarse en cualquier
posición del arreglo. Sin embargo, en ciertos casos los elementos deben
agregarse o quitarse solamente por un extremo.
 Pilas
Una pila es una lista de elementos a la cual se puede insertar o eliminar
elementos sólo por uno de los extremos.

Las pilas no son estructuras


Se representan:
fundamentales de datos, es
 Arreglos
decir, no están definidas
 Listas enlazadas
como tales en los lenguajes
de programación
Ejemplo
 Si se pusieran los elementos lunes, martes, miércoles, jueves y viernes
(en este orden) en PILA, la estructura quedaría como lo indica la
siguiente figura (a). Ahora bien si quitara viernes, el TOPE apuntaría a
jueves [véase la figura (b)].

PILA PILA

MÁX MÁX

: :
: :

Tope  5 Viernes 4
4 3
3 2
2
1 Jueves Tope 
1
Jueves Si se pretendiera eliminar
martes, antes deberían quitarse
Miércoles Miércoles
jueves y miércoles, para que
Martes Martes quede martes en la cima de
Lunes Lunes
PILA y pueda extraerse [véase
las siguientes figuras (b), (b) y
(c). Siguiente
(a) (b)
PILA PILA PILA

MÁX MÁX MÁX

: : :
: : :

5 5 4
4 4 3
3 3 2
2 2 1
1 1

Tope  Miércoles

Martes Tope  Martes

Lunes Lunes Tope  Lunes

(a) (b) (c)

Inserción y eliminación. (a) Luego de sacar jueves. (b)


Luego de sacar miércoles.
(c) Luego de sacar martes.
Aplicaciones
 
 Las pilas son una estructura de datos muy usada en la solución de
diversos tipos de problemas. Ahora se verán algunos de los casos más
representativos de aplicación de pilas:
 Llamadas a subprogramas
 Recursión
 Tratamiento de expresiones aritméticas

PILA

MAX

: PILA
:
...
111 222 333 444

Tope  4 444 1 2 3 4 MAX


3
2 
1 333 Tope

222

111
Colas

 es una lista de elementos en la que éstos se introducen por un extremo y


se eliminan por otro. Los elementos se eliminan en el mismo orden en que
se insertaron. Por lo tanto el primer elemento que entra a la cola será el
primero en salir. Debido a esta característica, las colas también reciben el
nombre de estructuras FIFO (First-In, First-Out: primero en entrar primero
en salir)

 Al igual que las pilas, las colas no existen como estructuras de datos
estándares en lo lenguajes de programación. Las colas pueden
representarse mediante el uso de:
 Arreglos
 Listas enlazadas
Representación de colas. (a) Cola llena. (b) Cola con
algunos elementos.
(c) Cola vacía.
FRENTE = FINAL = 0

111 1  FRENTE 111 1  FRENTE 1


2 2 2
3 3 3
222 222

333 333  FINAL

... ... ...

MÁX 999  FINAL MÁX MÁX

(a) (b) (c)

Operaciones con colas


Las operaciones que se pueden realizarse en una cola son:
 Insertar un elemento
 Eliminar un elemento
Arboles

Arboles simples
 Hace referencia a un conjunto de nodos conectados
 Es una estructura de datos ampliamente usada que limita la forma de
que un árbol. Un nodo es la unidad sobre que se construye el árbol
 Puede tener 0 o mas nodos
 a es padre de b
 Solo hay un nodo sin padres que se le conoce como raíz
 Y solo hay uno nodo que no tiene hijo se le conoce como hoja
Arboles Binarios

son estructuras matemáticas


que organizan un conjunto de
elementos. Supondremos
en este ejercicio que en un
mismo árbol no puede haber
elementos repetidos. Cada
elemento se almacena
en un nodo. Algunos de los
nodos pueden estar
relacionados, y son estas
relaciones las que definen el
árbol.
Tablas
 Tablas 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 hoja de
cálculo.
 Una tabla es utilizada para organizar y presentar información. Las tablas
se componen de filas y columnas de celdas que se pueden rellenar con
textos y gráficos Las tablas se componen de dos estructuras:

 Registro
 Campo
Tabla de acceso directo

 Una tabla hash, mapa hash o tabla de dispersión es una estructura


de datos que asocia llaves o claves con valores.

implementar sobre vectores; de una dimensión, aunque se pueden


hacer implementaciones multi-dimensionales basadas en varias claves
Tabla de búsqueda lineal (look-up).

 Es, en informática, una estructura de datos, normalmente


un arreglo o un arreglo asociativo, que se usa para substituir una
rutina de computación con una simple indexación de los
arreglos. Son muy útiles a la hora de ahorrar tiempo de
procesamiento, porque sacar un valor de memoria es mucho
más rápido que hacer una gran computación.
Introducción

Archivos
 Los archivos también denominados ficheros son una colección de
información (datos relacionados entre sí), localizada o almacenada como
una unidad en alguna parte de la computadora. Los archivos son el
conjunto organizado de informaciones del mismo tipo, que pueden
utilizarse en un mismo tratamiento; como soporte material de estas
informaciones.
Archivos

ARCHIVO LÓGICO
 Los archivos lógicos son objetos del tipo *FILE y atributo LF, estos
archivosno contienen datos, su función principal es la de filtrar los datos de
uno o más archivos físicos. Los archivos lógicos se clasifican en:
 Simples
 Múltiples
 De Unión
Archivo de registro físico
 un registro físico es el que se graba en el dispositivo de almacenamiento.

Diferencia entre un archivo de registros lógico y uno fisico


Un registro lógico es el contiene la información con la que trabaja la aplicación
y un registro físico es el que se graba en el dispositivo de almacenamiento.
Archivos de longitud fija:
 Todos los archivos son iguales, respecto a
tamaño

Archivos de longitud variable


 uno o varios de los campos que lo integran
tiene longitud variable aunque tiene una
dimensión máxima que no se sobrepasará.
Archivos secuenciales

 Es la forma básica de organizar un conjunto de registros.


En un archivo organizado secuencialmente, lo registros quedan grabados
consecutivamente cuando el archivo se utiliza como entrada.
Generalmente los campos en los archivos secuenciales quedan llenados de
acuerdo con el valor de un campo de registro.
Archivo indexado
 Es la aplicación de incluir índices en el almacenamiento de los archivos;
de esta forma nos será más fácil buscar algún registro sin necesidad de
ver todo el archivo.
Archivos permanentes

 Como su nombre lo indica en el archivo permanente debe conservarse


información de interés continuo que se extiende más allá de cualquier
periodo de auditoria en particular.
Archivos de movimientos

 Se cercan para actualizar los archivos maestros. Sus registros son de


tres tipos: alta, bajas y modificaciones.
Programación estructurada

 Concepto
El creciente empleo de los computadores ha conducido a buscar un
abaratamiento del desarrollo del software, paralelo a la reducción del costo del
hardware obtenido gracias a los avances tecnológicos. Los altos costos del
mantenimiento de las aplicaciones en producción normal también han surgido en
la necesidad de mejorar la productividad de los programadores.

 Definición Lógica:
Programación Estructurada: Es una técnica en la cual la estructura de un
programa, la escritura de sus partes se realiza tan claramente como es posible
mediante el uso de tres estructuras lógicas de control:
 Secuencia: Sucesión simple de dos o más operaciones.
 Selección: División condicional de una o más operaciones.
 Interacción: Repetición de una operación mientras se cumple una condición.
Estos tres tipos de estructuras lógicas de control pueden ser combinados para
producir programas que manejen cualquier tarea de procesamiento de
información.
Lenguaje de bajo nivel

 Es aquel en el que sus instrucciones ejercen un control directo sobre el


hardware y están condicionados por la estructura física de la
computadora que lo soporta.
 Maquina
Es el sistema de códigos directamente interpretable por un circuito micro
programable, como el microprocesador de una computadora o el
microcontrolador de un autómata. Este lenguaje está compuesto por un
conjunto de instrucciones que determinan acciones al ser tomadas por la
máquina.
 Ensamblador
Es un lenguaje de programación de bajo nivel para los computadores,
microprocesadores, microcontroladores y otros circuitos integrados
programables. Implementa una representación simbólica de los códigos de
máquina binarios y otras constantes necesarias para programar una
arquitectura dada de CPU y constituye la representación más directa del
código máquina específico para cada arquitectura legible por un programador.
Lenguaje de alto nivel

 Se caracteriza por expresar los algoritmos de una manera adecuada a la


capacidad cognitiva humana, en lugar de a la capacidad ejecutora de
las máquinas.
 En los primeros lenguajes de nivel bajo la limitación era que se
orientaban a un área específica y sus instrucciones requerían de una
sintaxis predefinida. Se clasifican como lenguajes procedimentales.
Basic

Beginner's All-purpose Symbolic Instruction Code1 (Código simbólico de
instrucciones de propósito general para principiantes en español)
Sirve facilitar la programación de computadores a estudiantes (y
profesores) que no fueran de ciencias.
Cobol

 (acrónimo de COmmon Business-Oriented Language, Lenguaje Común


Orientado a Negocios) fue creado en el año 1959 con el objetivo de
crear un lenguaje de programación universal que pudiera ser usado en
cualquier ordenador, ya que en los años 1960 existían numerosos
modelos de ordenadores incompatibles entre sí, y que estuviera
orientado principalmente a los negocios, es decir, a la llamada
informática de gestión.
Foltran

 Es un lenguaje de programación para el desarrollo de aplicaciones


matemáticas y científicas, fue el primer lenguaje de programación de
alto nivel. Estos lenguajes de alto nivel tienen entre otras las ventajas
que pueden utilizarse en cualquier computadora y son más afines al
lenguaje humano.
Pascal

 Su objetivo era crear un lenguaje que facilitara el aprendizaje de


programación a sus alumnos, utilizando la programación estructurada y
estructuración de datos. Sin embargo con el tiempo su utilización
excedió el ámbito académico para convertirse en una herramienta para
la creación de aplicaciones de todo tipo.
Fue creado en 1970
C

 Creado para el Sistema Operativo UNIX en 1973


 En 1983 se estandariza con ANSI (American National Standars Institute)
para no ser una versión ambigua de C
 Aprobada asta 1988
 Diseñado por Dennis M. Ritchie
Estructura secuencial

 Sucesión simple de dos o más


operaciones
Estructura condicional

 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 en español si - entonces - sino) y en
flujograma con una figura geométrica en forma de rombo.
 Estructura condicional simple.
Cuando se presenta la elección tenemos la opción de realizar una actividad
o no realizar ninguna.
Representación gráfica:
 Estructura condicional compuesta.
Cuando se presenta la elección tenemos la opción de realizar una actividad u
otra. Es decir tenemos actividades por el verdadero y por el falso de la condición.
Lo más importante que hay que tener en cuenta que se realizan las actividades
de la rama del verdadero o las del falso, NUNCA se realizan las actividades de las
dos ramas.

 Estructura condicional múltiple


Las estructuras de comparación múltiples, es una toma de decisión especializada
que permiten evaluar una variable con distintos posibles resultados, ejecutando
para cada caso una serie de instrucciones especificas. La estructura de selección
nos permite elegir una ruta de entre varias rutas posibles, en base al valor de
una variable que actúa como selector.
Estructura repetitiva

 Estructura repetitiva Mientras


El bucle “mientras” es una estructura
que se repite mientras una condición
sea verdadera. La condición, en forma
de expresión lógica, se escribe en la
cabecera del bucle, y a continuación
aparecen las acciones que se repiten
(cuerpo del bucle).

 Estructura repetitiva Hasta


El bucle de tipo “repetir” es muy
similar al bucle “mientras”, con la
salvedad de que la condición de salida
se evalúa al final del bucle, y no al
principio, como a continuación
veremos. Todo bucle “repetir” puede
escribirse como un bucle “mientras”,
pero al revés no siempre sucede.
 Estructura repetitiva Para
En muchas ocasiones se conoce de antemano el número de veces que se
desean ejecutar las acciones del cuerpo del bucle. Cuando el número de
repeticiones es fijo, lo más cómodo es usar un bucle “para”, aunque sería
perfectamente posible sustituirlo por uno “mientras”.
La estructura “para” repite las acciones del bucle un número prefijado de
veces e incrementa automáticamente una variable contador en cada
repetición. Su forma general es:

También podría gustarte