You are on page 1of 21

Introduccin

La sociedad actual se encuentra totalmente sumergida en un ocano tecnolgico


donde los dispositivos electrnicos como las computadoras y los telfonos inteligentes, por
nombrar solo algunos, son indispensables para ejecutar un sinfn de tareas. Si nos
enfocamos en los dos artefactos antes mencionados podemos notar que tanto el
funcionamiento de uno como otro depende principalmente de un sistema operativo y de
diversas aplicaciones que permiten realizar diferentes acciones; por ejemplo enviar un
mensaje, realizar una llamada, etc. incluso este trabajo est siendo escrito gracias a un
programa de computadora. Todas las aplicaciones tienen una interfaz que permiten facilitar
la interaccin entre el aparato y el usuario pero para la elaboracin de esos programas son
utilizados una serie de cdices que son tan amplios que conforman en si un lenguaje; es
decir, as como el espaol, el ingls o el mandarn permiten a individuos de una misma
nacin o idioma entenderse los lenguajes de programacin permiten a las computadoras o
los telfonos entender que tarea desea el usuario ejecutar, a este lenguaje se le llama cdigo
mquina. Pero como el lenguaje maquina es muy complicado el hombre ha creado otros
tipos de lenguajes que permiten escribir el cdigo fuente de las aplicaciones y ha
desarrollado una especie de traductor llamado compilador el cual se encarga de traducir
todas las ordenes a lenguaje mquina. Para llevar a cabo toda la labor descrita
anteriormente se ha desarrollado diversas tcnicas y nuevas tecnologas las cuales se
describirn con ms detalle a continuacin.

I.

Algoritmos y Estructura de Datos


Un

algoritmo

es

un

mtodo

para

resolver

un

problema. Aunque

la

popularizacin del trmino ha llegado con el advenimiento de la era informtica,


algoritmo proviene de Mohammed al-Khowrizmi, matemtico persa que vivi durante el
siglo IX y alcanz gran reputacin por el enunciado de las reglas paso a paso para sumar,
restar, multiplicar y dividir nmeros decimales; la traduccin al latn del apellido en la
palabra algorismus deriv posteriormente en algoritmo. Euclides, el gran matemtico
griego (del siglo IV antes de Cristo) que invent un mtodo para encontrar el mximo
comn divisor de dos nmeros, se considera con Al-Khowrizmi el otro gran padre de la
algoritmia (ciencia que trata de los algoritmos).El profesor Niklaus Wirth, inventor de
Pascal, Modula-2 y Oberon, titul uno de sus ms famosos libros, Algoritmos + Estructuras
de datos = Programas, significndonos que slo se puede llegar a realizar un buen programa
con el diseo de un algoritmo y una correcta estructura de datos.
Los pasos para la resolucin de un problema son:
1. Diseo del algoritmo, que describe la secuencia ordenada de pasos sin
ambigedades que conducen a la solucin de un problema dado. (Anlisis del
problema y desarrollo del algoritmo.)
2. Expresar el algoritmo como un programa en un lenguaje de programacin
adecuado. (Fase de codificacin.)
3. Ejecucin y validacin del programa por la computadora.
Las caractersticas fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.


Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se

debe obtener el mismo resultado cada vez.


Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algn
momento; o sea, debe tener un nmero finito de pasos.

La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.


En un algoritmo de receta de cocina se tendr:

Entrada: ingredientes y utensilios empleados.


Proceso: elaboracin de la receta en la cocina.

Salida: terminacin del plato (por ejemplo, cordero)

La descripcin de un algoritmo usualmente se hace en tres niveles:


1. Descripcin de alto nivel. Se establece el problema, se selecciona un modelo
matemtico y se explica el algoritmo de manera verbal, posiblemente con
ilustraciones y omitiendo detalles.
2. Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos
que encuentran la solucin.
3. Implementacin. Se muestra el algoritmo expresado en un lenguaje de
programacin especfico o algn objeto capaz de llevar a cabo instrucciones.
Tambin es posible incluir un teorema que demuestre que el algoritmo es correcto,
un anlisis de complejidad o ambos.
La Estructura de Datos: es una forma de organizar un conjunto de datos
elementales con el objetivo de facilitar su manipulacin. Un dato elemental es la mnima
informacin que se tiene en un sistema.
Una estructura de datos define la organizacin e interrelacin de stos y un conjunto
de operaciones que se pueden realizar sobre ellos. Las operaciones bsicas son:

Alta, adicionar un nuevo valor a la estructura.


Baja, borrar un valor de la estructura.
Bsqueda, encontrar un determinado valor en la estructura para realizar una
operacin con este valor, en forma SECUENCIAL o BINARIO (siempre y
cuando los datos estn ordenados)

Otras operaciones que se pueden realizar son:

Ordenamiento, de los elementos pertenecientes a la estructura.


Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las
apareadas.

Cada estructura ofrece ventajas y desventajas en relacin a la simplicidad y


eficiencia para la realizacin de cada operacin. De esta forma, la eleccin de la estructura
de datos apropiada para cada problema depende de factores como la frecuencia y el orden
en que se realiza cada operacin sobre los datos.

Diagrama de Flujo
Es un esquema para representar grficamente un algoritmo. Se basan en la
utilizacin de diversos smbolos para representar operaciones especficas, es decir, es la
representacin grfica de las distintas operaciones que se tienen que realizar para resolver
un problema, con indicacin expresa el orden lgico en que deben realizarse.
Se les llama diagramas de flujo porque los smbolos utilizados se conectan por
medio de flechas para indicar la secuencia de operacin. Para hacer comprensibles los
diagramas a todas las personas, los smbolos se someten a una normalizacin; es decir, se
hicieron smbolos casi universales, ya que, en un principio cada usuario podra tener sus
propios smbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo
como consecuencia que slo aquel que conoca sus smbolos, los poda interpretar. La
simbologa utilizada para la elaboracin de diagramas de flujo es variable y debe ajustarse a
un patrn definido previamente.
El diagrama de flujo representa la forma ms tradicional y duradera para especificar
los detalles algortmicos de un proceso. Se utiliza principalmente en programacin,
economa y procesos industriales.
Para realizar los diagramas de flujo utilizamos distintas figuras geomtricas en
forma de caja de texto, que sirven para distinguir el tipo de tareas que se ejecutan, las
flechas indican el flujo del proceso y se valen de determinada simbologa especfica para
facilitar su comprensin.

valo o Elipse: Inicio y Final (Abre y cierra el diagrama).


Rectngulo: Actividad (Representa la ejecucin de una o ms actividades o

procedimientos).
Rombo: Decisin (Formula una pregunta o cuestin).
Crculo: Conector (Representa el enlace de actividades con otra dentro de un

procedimiento).
Tringulo boca abajo: Archivo definitivo (Guarda un documento en forma

permanente).
Tringulo boca arriba: Archivo temporal (Proporciona un tiempo para el
almacenamiento del documento).

Seudocdigo
Se trata de una herramienta que los analistas de sistemas utilizan para comunicar a
los programadores la estructura del programa que van a realizar, de forma de tener una idea
bien clara de lo que se necesita programar.
Digamos que el seudocdigo es una forma de diagramar un algoritmo para resolver
un determinado problema, sin atenerse a ningn lenguaje de programacin en especial.
En el trabajo de un analista de sistemas, una de las partes ms trabajosas es la de
determinar qu es lo que necesitan de un sistema los usuarios finales. Se dedican muchas
horas a hacer un relevamiento de los datos que sern necesarios, los tipos de
procesamientos, las salidas, etc. Y debe existir una realimentacin entre el diseo y el
usuario, para garantizar que el sistema cumpla con los requisitos del usuario.
Supongamos que tenemos un sistema para una empresa que utiliza una interfaz
grfica en Visual Basic, algunas aplicaciones especficas en C, y pginas PHP para trabajo

va Internet. Seguramente que crear un diagrama especfico para cada lenguaje sera una
tarea tediosa.
Gracias a esta herramienta, podemos reunir a todos los programadores, dar las
pautas de trabajo, y mediante el seudocdigo, cada programador sabr lo que hace el
sistema, y podr escribir el cdigo correspondiente.
Incluso dos programadores que dominen el mismo lenguaje pueden tener
metodologas de trabajo distintas. Un problema puede ser resuelto de muchas maneras, cada
una ms o menos eficiente que la otra, pero todas cumplen con el objetivo.

El seudocdigo elimina estas diferencias, dando libertad a los programadores para


que puedan ajustarse a su metodologa de trabajo.
Generalmente, este cdigo se escribe con la participacin de todos los
programadores. Esto representa la ventaja de que muchas opiniones ayudan a elegir la
mejor entre todas, logrando una solucin efectiva y eficaz al problema planteado.

Programa
Es una secuencia de instrucciones, escritas para realizar una tarea especfica en una
computadora. Este dispositivo requiere programas para funcionar, por lo general,
ejecutando las instrucciones del programa en un procesador central. El programa tiene un
formato ejecutable que la computadora puede utilizar directamente para ejecutar las

instrucciones. El mismo programa en su formato de cdigo fuente legible para humanos,


del cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un
programador estudiar y desarrollar sus algoritmos. Una coleccin de programas de
computadora y datos relacionados se conoce como software.
Generalmente, el cdigo fuente lo escriben profesionales conocidos como
programadores de computadora. Este cdigo se escribe en un lenguaje de programacin que
sigue uno de los siguientes dos paradigmas: imperativo o declarativo, y que posteriormente
puede ser convertido en un archivo ejecutable (usualmente llamado un programa ejecutable
o un binario) por un compilador y ms tarde ejecutado por una unidad central de
procesamiento. Por otra parte, los programas de computadora se pueden ejecutar con la
ayuda de un intrprete, o pueden ser empotrados directamente en hardware.
De acuerdo a sus funciones, los programas informticos se clasifican en software de
sistema y software de aplicacin. En las computadoras de 2015, al hecho de ejecutar varios
programas de forma simultnea y eficiente, se lo conoce como multitarea.
II.

Tcnicas de Programacin
La Programacin estructurada es una tcnica en la cual la estructura de un

programa se realiza tan claramente cmo es posible mediante el uso de tres estructuras
lgicas de control:

Secuencia: Sucesin simple de dos o ms operaciones.


Seleccin: bifurcacin condicional de una o ms operaciones.
Interaccin: Repeticin de una operacin mientras se cumple una condicin.

Estos tres tipos de estructuras lgicas de control pueden ser combinados para
producir programas que manejen cualquier tarea de procesamiento de informacin.
Un programa estructurado est compuesto de segmentos, los cuales puedan estar
constituidos por unas pocas instrucciones o por una pgina o ms de codificacin. Cada
segmento tiene solamente una entrada y una salida, estos segmentos, asumiendo que no
poseen lazos infinitos y no tienen instrucciones que jams se ejecuten, se denominan
programas propios. Cuando varios programas propios se combinan utilizando las tres

estructuras bsicas de control mencionadas anteriormente, el resultado es tambin un


programa propio.
La programacin Estructurada est basada en el Teorema de la Estructura, el cual
establece que cualquier programa propio (un programa con una entrada y una salida
exclusivamente) es equivalente a un programa que contiene solamente las estructuras
lgicas mencionadas anteriormente.
Una caracterstica importante en un programa estructurado es que puede ser ledo en
secuencia, desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple
el programa, lo contrario de lo que ocurre con otros estilos de programacin. Esto es
importante debido a que, es mucho ms fcil comprender completamente el trabajo que
realiza una funcin determinada, si todas las instrucciones que influyen en su accin estn
fsicamente contiguas y encerradas por un bloque. La facilidad de lectura, de comienzo a
fin, es una consecuencia de utilizar solamente tres estructuras de control y de eliminar la
instruccin de desvo de flujo de control, excepto en circunstancias muy especiales tales
como la simulacin de una estructura lgica de control en un lenguaje de programacin que
no la posea.
Tipos de Programacin Moderna
Programacin modular
Uno de los mtodos ms conocidos para resolver un problema es dividirlo en
problemas ms pequeos, llamados sub problemas. De esta manera, en lugar de resolver
una tarea compleja y tediosa, resolvemos otras ms sencillas y a partir de ellas llegamos a
la solucin. Esta tcnica se usa mucho en programacin ya que programar no es ms que
resolver problemas, y se le suele llamar diseo descendente, metodologa del divide y
vencers o programacin top-down.
Es evidente que si esta metodologa nos lleva a tratar con sub problemas, entonces
tambin tengamos la necesidad de poder crear y trabajar con subprogramas para
resolverlos. A estos subprogramas se les suele llamar mdulos, de ah viene el nombre de
programacin modular. En Pascal disponemos de dos tipos de mdulos: los procedimientos
y las funciones.

Veamos un ejemplo de cmo emplear el diseo descendente para resolver un


problema. Supongamos que un profesor quiere crear un programa para gestionar las notas
de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar
notas, cambiar notas, ver las notas segn distintas calificaciones, etc. A continuacin tienes
un esquema que representa una de las posibles divisiones del problema en mdulos.

Los procedimientos: un procedimiento es un subprograma que realiza una tarea


especfica. Para invocarlo, es decir, para hacer que se ejecute, basta con escribir su nombre
en el cuerpo de otro procedimiento o en el programa principal. Pero, hay que tener muy en
cuenta que su declaracin debe hacerse antes de que sea llamado por otro mdulo.
Una vez que has construido varios programillas en Pascal, crear un procedimiento
no es nada complicado, pues tiene prcticamente la misma estructura que un programa.
Veamos las secciones que comparten y no comparten un procedimiento y un programa
principal:
Mientras que en el programa la cabecera consta de la palabra reservada program
seguida del nombre del programa, en un procedimiento se compone de la palabra procedure
seguida del nombre del procedimiento y una lista de parmetros que es opcional.
Las secciones de declaracin de constantes (const), de tipos (type) y de variables
(var) tambin pueden aparecer en la estructura de cualquier procedimiento.
Respecto al cuerpo del procedimiento, decir que al igual que el de un programa se
delimita por las palabras reservadas begin y end, y en su interior puede contener sentencias
simples o estructuradas.

Por ltimo, comentar que ambos difieren en el signo de puntuacin que marca su
final, ya que en un programa es el punto y en un procedimiento es el punto y coma.
Todas estas diferencias y similitudes que hemos comentado, puedes apreciarlas en
los siguientes esquemas que representan las estructuras de un programa y de un
procedimiento:
program nombre_programa;

procedure nombre

const declarar_ctes;

(lista_parametros);

type declarar_tipos;

const declarar_ctes;

var declarar_vars;

type declarar_tipos;
var declarar_vars;

(*aqu iran los


subprogramas*)

(*aqu iran los


subprogramas*)

begin
cuerpo_programa

begin

end .

cuerpo_procedimiento
end ;

Los parmetros (argumentos): como habrs observado, con los procedimientos


nos llega un concepto nuevo, el de los parmetros. A los parmetros tambin se les conoce
como argumentos y tienen la misin de comunicar al procedimiento con el programa que lo
llama. Por ejemplo, si quieres hacer un subprograma que multiplique dos nmeros, lo ms
cmodo es que al llamar al procedimiento le pases los valores que participarn en la
operacin. Podra ser algo como:
procedure producto (a,b : integer; var rdo : integer) ;
(* resto del procedimiento *)

En el ejemplo anterior se observan las dos clases de argumentos que existen en


Pascal:
a)
b)

Los parmetros por valor


Los parmetros por referencia
Los parmetros por valor tienen dicho nombre porque lo que recibe el

subprograma no es ms que copias de los valores de los datos que el programa invocador le

pasa. Por tanto si en el procedimiento modificamos alguno de estos valores, los datos
originales permanecern inalterados. En el ejemplo, son a y b.
En cambio, en los parmetros por referencia lo que se pasa al procedimiento son
los datos en s. Y si ste los modifica, los cambios permanecern una vez que la ejecucin
vuelva al mdulo que invoc al procedimiento. Se utilizan para obtener valores de los
clculos que haga un subprograma, y en el anterior ejemplo es rdo.
Programacin orientada a objetos (POO)
Es una forma especial de programar, ms cercana a como expresaramos las cosas
en la vida real que otros tipos de programacin.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para
escribir nuestros programas en trminos de objetos, propiedades, mtodos y otras cosas que
veremos rpidamente para aclarar conceptos y dar una pequea base que permita soltarnos
un poco con este tipo de programacin.
Pensar en trminos de objetos es muy parecido a cmo lo haramos en la vida real.
Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO.
Diramos que el coche es el elemento principal que tiene una serie de caractersticas, como
podran ser el color, el modelo o la marca. Adems tiene una serie de funcionalidades
asociadas, como pueden ser ponerse en marcha, parar o aparcar.
Pues en un esquema POO el coche sera el objeto, las propiedades seran las
caractersticas como el color o el modelo y los mtodos seran las funcionalidades
asociadas como ponerse en marcha o parar.
Por poner otro ejemplo vamos a ver cmo modelizaramos en un esquema POO
una fraccin, es decir, esa estructura matemtica que tiene un numerador y un denominador
que divide al numerador, por ejemplo 3/2.
La fraccin ser el objeto y tendr dos propiedades, el numerador y el
denominador.
Luego podra tener varios mtodos como simplificarse, sumarse con otra fraccin
o nmero, restarse con otra fraccin, etc.
Estos objetos se podrn utilizar en los programas, por ejemplo en un programa de
matemticas hars uso de objetos fraccin y en un programa que gestione un taller de
coches utilizars objetos coche. Los programas Orientados a objetos utilizan muchos

objetos para realizar las acciones que se desean realizar y ellos mismos tambin son
objetos. Es decir, el taller de coches ser un objeto que utilizar objetos coche, herramienta,
mecnico, recambios, etc.
Las clases son declaraciones de objetos, tambin se podran definir como
abstracciones de objetos. Esto quiere decir que la definicin de un objeto es la clase.
Cuando programamos un objeto y definimos sus caractersticas y funcionalidades en
realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en
realidad hablbamos de las clases coche o fraccin porque slo estuvimos definiendo,
aunque por encima, sus formas.
Las propiedades o atributos son las caractersticas de los objetos. Cuando
definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos
hacer a la idea de que las propiedades son algo as como variables donde almacenamos
datos relacionados con los objetos.
Mtodos en las clases, son las funcionalidades asociadas a los objetos. Cuando
estamos programando las clases las llamamos mtodos. Los mtodos son como funciones
que estn asociadas a un objeto.
Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar
tenemos que especificar la clase a partir de la cual se crear. Esta accin de crear un objeto
a partir de una clase se llama instanciar (que viene de una mala traduccin de la palabra
instace que en ingls significa ejemplar). Por ejemplo, un objeto de la clase fraccin es por
ejemplo 3/5. El concepto o definicin de fraccin sera la clase, pero cuando ya estamos
hablando de una fraccin en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto.
Para crear un objeto se tiene que escribir una instruccin especial que puede ser
distinta dependiendo el lenguaje de programacin que se emplee, pero ser algo parecido a
esto.
miCoche = new Coche()

Con la palabra new especificamos que se tiene que crear una instancia de la clase
que sigue a continuacin. Dentro de los parntesis podramos colocar parmetros con los
que inicializar el objeto de la clase coche.
Estados en objetos, cuando tenemos un objeto sus propiedades toman valores. Por
ejemplo, cuando tenemos un coche la propiedad color tomar un valor en concreto, como

por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se
llama estado.
Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el
operador punto.
miCoche.color = rojo

El objeto es miCoche, luego colocamos el operador punto y por ltimo el nombre


de la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del
estado de la propiedad del objeto a rojo con una simple asignacin.
Mensajes en objetos, un mensaje en un objeto es la accin de efectuar una
llamada a un mtodo. Por ejemplo, cuando le decimos a un objeto coche que se ponga en
marcha estamos pasndole el mensaje ponte en marcha.
Para mandar mensajes a los objetos utilizamos el operador punto, seguido del
mtodo que deseamos invocar.
miCoche.ponerseEnMarcha()

En este ejemplo pasamos el mensaje ponerseEnMarcha(). Hay que colocar


parntesis igual que cualquier llamada a una funcin, dentro iran los parmetros.
Programacin concurrente
Este tipo de programacin se utiliza cuando tenemos que realizar varias acciones
a la vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso
de forma simultnea.
Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados
lentos en las acciones.

Programacin funcional
Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de
otras funciones.
Programacin lgica

Se suele utilizar en la inteligencia artificial y pequeos programas infantiles. Se


trata de una programacin basada en el clculo de predicados (una teora matemtica que
permite lograr que un ordenador basndose en hecho y reglas lgicas, pueda dar soluciones
inteligentes).
III.

Estructura de Datos en Funciones y Procedimientos


Identificador: Un identificador es una serie de caracteres formados por letras,

dgitos y el carcter subrayado (_) que no inicie con dgito, asi mismo es el nombre que
damos a todo lo que manipulamos dentro de un programa (variable, constantes, funciones,
etc). Por ejemplo variables, constantes, funciones, tipos definidos por el usuario etc.
Tipos De Datos. Todos los datos tienen un tipo asociado con ellos.

Variables. Una variable es un identificador que puede tomar diferentes valores


dependiendo del tipo que esta se declare.
En C++ se manejan varios tipos de variables: numricas, de caracteres y boolean
(cierto o falso) esencialmente.
Para declarar una variable numrica llamada peso que inicie con un valor de 0,
escribimos esto: int peso=0;
Para declarar una variable numrica llamada distancia que inicie con un valor de
2.67, escribimos esto: float distancia=2.67;
Para declarar una variable de carcter llamada inicial, con un valor de R,
escribimos esto: char inicial=R;
Para declarar una variable boolean llamada terminado, que empiece como falso,
escribimos esto: bool terminado=false;
Las variables que podemos declarar en C++; son las siguientes:
Para variables numricas sin decimales se usa: int
Para variables numricas con decimales se usa: float
Para variables de un solo caracter se usa: char

Para variables boolean se usa: bool


Inicializacin De Variables: Inicializar una variable es el darle un valor despus
que se ha declarado pero antes de que se ejecuten las sentencias en las que se emplea.
Constantes. Constantes son los valores que no pueden ser modificados. En C,
pueden ser de cualquier tipo de datos. Adems de los ejemplificados anteriormente,
Podemos crear constantes de caracteres con barra invertida. Estos corresponden a los
caracteres que son imposibles introducir desde el teclado.
Palabras Reservadas. Son palabras que tienen un significado especial para el
lenguaje y no se pueden utilizar como identificadores.
Comentarios. Los comentarios pueden aparecer en cualquier parte del programa,
mientras estn situados entre los delimitadores /* comentario */. Los comentarios son tiles
para identificar los elementos principales de un programa o para explicar la lgica
subyacente de estos.
IV.

Estructura de Datos Dinmicas y Estticas


Estructura de Datos Estticas: son aquellas en las que el tamao ocupado en

memoria se define antes de que el programa se ejecute y no puede modificarse dicho


tamao durante la ejecucin del programa.
Estas estructuras estn implementadas en casi todos los lenguajes.
Su principal caracterstica es que ocupan solo una casilla de memoria, por lo tanto
una variable simple hace referencia a un nico valor a la vez, dentro de este grupo de
datos se encuentra:
a.
b.
c.
d.
e.
f.

Enteros
Reales
Caracteres
Bolanos
Enumerados
Subrangos

Nota:Los ltimos no existen en algunos lenguajes de programacin.


Estructura de Datos Dinmicas: no tienen las limitaciones o restricciones en el
tamao de memoria ocupada que son propias de las estructuras estticas.
Mediante el uso de un tipo de datos especifico, denominado puntero, es posible
construir estructuras de datos dinmicas que no son soportadas por la mayora de los

lenguajes, pero que en aquellos que si tienen estas caractersticas ofrecen soluciones
eficaces y efectivas en la solucin de problemas complejos.
Se caracteriza por el hecho de que con un nombre se hace referencia a un grupo
de casillas de memoria.
Es decir un dato estructurado tiene varios componentes.
Clasificacin De Las Estructuras De Datos:
Estructuras De Datos Estticas
1. Simples o primitivas
a. Boolean
b. Char
c. Integer
d. Real
2. Compuestas
a. Arreglos
b. Conjuntos
c. Strings
d. Registros
e. Archivos
Estructura De Datos Dinmicas
1. Lineales
a. Pila
b. Cola
c. Lista
2. No lineales
a. rboles
b. Grafos
Estructura de decisin If-Else
Cuando el programador desea especificar en un algoritmo o programa dos o ms
caminos alternativos se debe utilizar una estructura de decisin, la cual evala una
condicin y en funcin del resultado, realiza una parte de la estructura u otra. Las
condiciones se especifican mediante expresiones lgicas. Una de las estructuras de decisin
es la estructura if-else y su sintaxis es la siguiente:
//Si se trata de dos o ms instrucciones, estas van entre
llaves { }
if (condicin)
Instrucciones a ejecutar cuando la condicin es verdadera;

else
Instrucciones a ejecutar cuando la condicin es falsa;

Estructura de decisin mltiple switch


La estructura switch evala una expresin que puede tomar n valores distintos,
segn con cul de estos valores coincida, se ejecutaran ciertas acciones, es decir, el
programa o algoritmo seguir un determinado camino entre los n posibles.
La sintaxis de la estructura switch es:
switch (expresin entera) {
case exp_constante_1:
acciones a realizar cuando la expresin tiene el
valor exp_constante_1;
break;
case exp_constante_2:
acciones a realizar cuando la expresin tiene el
valor exp_constante_2;
break;
...especificar todos los casos
default:
acciones a realizar cuando la expresin no coincide
con ninguno de los casos;
break;
}

Estructuras Repetitivas o Bucles


Las estructuras repetitivas (bucles) son aquellas que reiteran una o un grupo de
instrucciones "n" veces y dependen de una variable de control del ciclo. Es decir, ejecutan
una o varias instrucciones un nmero de veces definido. Las instrucciones bsicas que
permiten construir este tipo de estructuras son while, do ... while y for.
La Instruccin While
La instruccin while (que en castellano se traducira como mientras) ejecuta
una porcin de programa mientras se cumpla una cierta condicin.
Mientras la condicin sea verdadera, se ejecutan las instrucciones contenidas en el
while. Cuando deja de cumplirse la condicin, se sale del ciclo y se contina ejecutando el
resto del programa.
Si la condicin no se cumple ni la primera vez que se comprueba, las lneas en el
interior del while no se ejecutarn ni una vez.
La estructura general o sintaxis habitual de un bucle while es la siguiente:
while (condicin)
{
bloque de instrucciones
};

En este fragmento de cdigo estaramos indicando que mientras se cumpla la


condicin se realizan las sentencias, y en este caso si no se cumpliese la condicin se
seguira ejecutando el programa o mostrando los contenidos de la pgina web justo despus
del cierre de la instruccin while (que queda determinado por el smbolo de cierre }).
La Instruccin Do While
La estructura repetitiva do-while (en castellano equivaldra a hacer mientras) es
muy similar a la estructura while, excepto que la expresin verdadera es verificada al final
de cada iteracin en lugar de al principio. La diferencia principal con los bucles while es
que est garantizado que se ejecuten las instrucciones que contienen, al menos una vez (la
verificacin de si se tiene que repetir el proceso se realiza al final de la repeticin de la
estructura.
La estructura general o sintaxis habitual de un bucle do while es la siguiente:
do {

sentencias

} while(condicin);

En este fragmento de cdigo estaramos indicando que se ejecute una primera vez
s o s las sentencias, y que despus se evale la condicin para comprobar si se deben
ejecutar nuevamente las sentencias. Como vemos, aunque no se cumpla la condicin las
sentencias se ejecutaran al menos una primera vez.
La Instruccin For
La estructura repetitiva for (en castellano se traducira como desde) se utiliza
generalmente cuando tenemos bien determinada la cantidad de repeticiones a realizar. Se
diferencia de las anteriores en que se debe incluir en la propia instruccin una variable de
control, la cual se incrementa o decrementa de forma automtica. La estructura de estas
instrucciones viene a ser muy similar a la anterior.
La estructura general o sintaxis habitual de un bucle for es la siguiente:
for ($variable=valor_inicial; condicin; incremento) {

... sentencias;

En este fragmento de cdigo estaramos indicando que mientras se cumpla la


condicin se realizan las sentencias, y en este caso si no se cumpliese la condicin se
seguira ejecutando el programa justo despus del cierre de la instruccin for (}). Todo esto
es igual a la instruccin while anteriormente citada, salvo que en la propia declaracin de la
estructura se encuentra la variable de control, que en cada repeticin se incrementa
automticamente.

Conclusin
La investigacin realizada sirvi para conocer conceptos nuevos acerca de la
programacin y permiti entender, solo un poco, el complejo mundo que envuelve un
sistema de computadora o telefnico. Adems se puedo notar la importancia de los
lenguajes y las tcnicas de Programacin en cuanto a la utilizacin de la computadora como
una herramienta para resolver problemas. En computacin, un Problema consiste en la
necesidad de transformar un grupo de datos iniciales en un grupo diferente de datos finales
(resultados). De este modo, una computadora podr resolver un problema si alguien
desarrolla un programa que contenga las instrucciones adecuadas que permitan transformar
los datos.
Los lenguajes deben ser confiables, comprensibles, eficientes en trminos de tiempo
de ejecucin y consumo de espacio, y deben satisfacer las necesidades de una comunidad,
ya sean cientficos, hombres de negocios o usuarios no tcnicos. Cada uno estos grupos
estn acostumbrado a un vocabulario particular y una manera de ver las cosas; de este
modo, existe una gran variedad de lenguajes y muy probablemente esto continuar siendo
as.

Bibliografa

APPLEBY, Doris LENGUAJES DE PROGRAMACIN. Paradigma y Practica. Tr.


De Efrn A. Miguel . Mxico, Ed. INTEREMERICANA - McGRAW-HILL, 1998

(c 1997). 493p.
AULA Curso de orientacin escolar INFORMATICA. . Espaa, Madrid, Ed.

CULTURAL, 1995 . 325p.


JOYANES, Aguilar. PROGRAMACION EN TURBO PASCAL. Versiones 5.5, 6.0
y 7.0. 2da. Edicin. Mxico, D.F., Ed. INTERAMERICANA - McGRAW-HILL, (c.

1993). 914p.
Manual de METODOLOGA DE LA PROGRAMACIN ESTRUCTURADA.
Impartido por L.I.A Ninfa Urania Garca Ulin. Universidad Jurez Autnoma de

Tabasco. 35p.
Kernighan, Brian W. y Ritchie, Dennis M.: The C Programming Language (2nd
Edition), Prentice Hall, 1988.

You might also like