Raquel López

Just another WordPress.com weblog

INVESTIGACION DE OPERACIONES ()

La investigación en Ganadería de Cariamanga, busca la optimización de recursos para lograr producir el mayor número de productos lacteos y sus derivados, teniendo en cuenta entre otros motivos, temas como el cuidado veterinario (el tratamiento de enfermedades y la higiene), como el mantenimiento, mejoramiento y cambio de pastizales, además del desarrollo tecnológico.

Esta es la razon por la que los Profesionales en Formación  de IV Ciclo de Administración de Empresas e Informática  de la UTPL Extensión Cariamanga, en la materia de INVESTIGACION DE OPERACIONES, han creido conveniente investigar la producción lechera de Cariamanga,  ya que uno de los factores que contribuyen a la subsistencia y el progreso de las sociedades es el que se refiere al desarrollo de los métodos de cría, engorde y reproducción de animales para obtener un provecho de ellos, es decir, la Ganadería. Los métodos de investigación basados en la producción animal han supuesto una mejora en la calidad de vida y el bienestar de la sociedad ocasionados por la abundancia y la diversificación de la alimentación de los individuos.

Vacas productoras de leche

Vacas productoras de leche

Para la elaboración de este reportaje contamos con la colaboración de algunos productores de leche de la ciudad, se logro determinar que la producción lechera de la ciudad es de aproximadamente 1000 litros diarios de leche,  que es comercializada de algunas maneras:   leche por botellas, en quesillo y en queso.

Luego de esta investigación creemos que es conveniente dar valor agregado a nuestra producción, por lo que se planteó un modelo matemático referente a  la posibilidad de producir queso y yogurt , los resultados  de esta investigación se exponen el dia 26 deEnero en las Instalaciones de la UTPL EXTENSION CARIAMANGA.

ESTADISTICA_Diferencial e Inferencial

 

 

 

 

 

 

 

ESTADISTICA DIFERENCIAL E INSCRIPTIVA

 

 

OBJETIVOS GENERALES

1.      Conocer los procedimientos de recopilación y organización de datos de una manera adecuada y técnica

2.      Aplicar adecuadamente las formulas estadísticas y manejar correctamente tablas y datos

3.      Elaborar las presentaciones graficas adecuadas sobre determinados datos y presentarlos de manera imparcial e insesgada.

4.      Analizar e interpretar datos o de nuestras poblaciones y pruebas de hipótesis.

OBJETIVOS ESPECIFICOS

1.      Definir las nociones básicas en estadística la aplicación de formulas estadísticas.

2.      Analizar datos y encontrar medios de tendencia central y de dispersión.

  

 

 MÉTODOS ESTADÍSTICOS

La materia prima de la estadística consiste en conjuntos de números obtenidos al contar o medir elementos. Al recopilar datos estadísticos se ha de tener especial cuidado para garantizar que la información sea completa y correcta.

El primer problema para los estadísticos reside en determinar qué información y en que cantidad se ha de reunir. En realidad, la dificultad al compilar un censo está en obtener el número de habitantes de forma completa y exacta; de la misma manera que un físico que quiere contar el número de colisiones por segundo entre las moléculas de un gas debe empezar determinando con precisión la naturaleza de los objetos a contar. Los estadísticos se enfrentan a un complejo problema cuando, por ejemplo, toman una muestra para un sondeo de opinión o una encuesta electoral. El seleccionar una muestra capaz de representar con exactitud las preferencias del total de la población no es tarea fácil.

Para establecer una ley física, biológica o social, el estadístico debe comenzar con un conjunto de datos y modificarlo basándose en la experiencia. Por ejemplo, en los primeros estudios sobre crecimiento de la población, los cambios en el número de habitantes se predecían calculando la diferencia entre el número de nacimientos y el de fallecimientos en un determinado lapso. Los expertos en estudios de población comprobaron que la tasa de crecimiento depende sólo del número de nacimientos, sin que el número de defunciones tenga importancia. Por tanto, el futuro crecimiento de la población se empezó a calcular basándose en el número anual de nacimientos por cada 1.000 habitantes. Sin embargo, pronto se dieron cuenta que las predicciones obtenidas utilizando este método no daban resultados correctos. Los estadísticos comprobaron que hay otros factores que limitan el crecimiento de la población. Dado que el número de posibles nacimientos depende del número de mujeres, y no del total de la población, y dado que las mujeres sólo tienen hijos durante parte de su vida, el dato más importante que se ha de utilizar para predecir la población es el número de niños nacidos vivos por cada 1.000 mujeres en edad de procrear. El valor obtenido utilizando este dato mejora al combinarlo con el dato del porcentaje de mujeres sin descendencia. Por tanto, la diferencia entre nacimientos y fallecimientos sólo es útil para indicar el crecimiento de población en un determinado periodo de tiempo del pasado, el número de nacimientos por cada 1.000 habitantes sólo expresa la tasa de crecimiento en el mismo periodo, y sólo el número de nacimientos por cada 1.000 mujeres en edad de procrear sirve para predecir el número de habitantes en el futuro.

 

 

 

 

 

POBLACIÓN, INDIVIDUO, CARÁCTER

El primer campo de actuación de la estadística, como se ha visto, es la demografía. De esta ciencia ha tomado la nomenclatura (población, individuo…).

Se llama población al conjunto de todos los elementos cuyo conocimiento interesa. Cada uno de esos elementos es un individuo. Si se está estudiando el resultado de ciertos experimentos químicos, cada uno de esos experimentos será un individuo estadístico y el conjunto de todos los posibles experimentos en esas condiciones será la población.

Cada individuo puede ser descrito mediante uno o varios caracteres. Por ejemplo, si los individuos son personas, el sexo, el estado civil, el número de hermanos o su estatura son caracteres. Y si el individuo es una reacción química, el tiempo de reacción, la cantidad de producto obtenido o si éste es ácido o básico serán posibles caracteres que pueden analizarse.

Un carácter puede ser cuantitativo si es medible numéricamente o cualitativo si no admite medición numérica. El número de hermanos y la estatura son caracteres cuantitativos mientras que el sexo y el estado civil son caracteres cualitativos.

Los distintos valores que puede tomar un carácter cuantitativo configuran una variable estadística. La variable estatura, en cierta población estadística, toma valores en el intervalo 147-205; y la variable número de hermanos toma los valores 0, 1, 2, 3, 4, 5, 6, 7 y 8. Una variable estadística como esta última es discreta, ya que sólo admite valores aislados. Una variable estadística es continua si admite todos los valores de un intervalo, como ocurre con la estatura.

 

 

 

ESTADÍSTICA DESCRIPTIVA

La estadística descriptiva analiza, estudia y describe a la totalidad de individuos de una población. Su finalidad es obtener información, analizarla, elaborarla y simplificarla lo necesario para que pueda ser interpretada cómoda y rápidamente y, por tanto, pueda utilizarse eficazmente para el fin que se desee. El proceso que sigue la estadística descriptiva para el estudio de una cierta población consta de los siguientes pasos:

• Selección de caracteres dignos de ser estudiados.

 

 

• Mediante encuesta o medición, obtención del valor de cada individuo en los caracteres seleccionados.
• Elaboración de tablas de frecuencias, mediante la adecuada clasificación de los individuos dentro de cada carácter.
• Representación gráfica de los resultados (elaboración de gráficas estadísticas).
• Obtención de parámetros estadísticos, números que sintetizan los aspectos más relevantes de una distribución estadística.

 

 

 

 

 

 

 

ESTADÍSTICA INFERENCIAL

La estadística descriptiva trabaja con todos los individuos de la población. La estadística inferencial, sin embargo, trabaja con muestras, subconjuntos formados por algunos individuos de la población. A partir del estudio de la muestra se pretende inferir aspectos relevantes de toda la población. Cómo se selecciona la muestra, cómo se realiza la inferencia, y qué grado de confianza se puede tener en ella son aspectos fundamentales de la estadística inferencial, para cuyo estudio se requiere un alto nivel de conocimientos de estadística, probabilidad y matemáticas.

 

Tablas estadísticas

     

Tablas estadísticas, recopilaciones numéricas bien estructuradas y fáciles de interpretar de las que se vale el estadístico para sintetizar los datos obtenidos con el fin de hacer un uso sencillo de ellos o bien para darlos a conocer de forma comprensible.

Existen infinidad de tablas estadísticas, pero las más básicas son las tablas de frecuencias, las de frecuencias relativas y frecuencias acumuladas, las de frecuencias con datos agrupados en intervalos y las de doble entrada.

   

TABLAS DE FRECUENCIAS

Estas tablas constan de dos columnas. En la primera se escriben los valores de la variable, xi. En la segunda las correspondientes frecuencias, fi. Estas sencillas tablas se utilizan, únicamente, cuando la variable es discreta y admite pocos valores (a lo sumo, de 12 a 16).

La tabla siguiente da la distribución de la variable “número de hijos” correspondiente a un conjunto de 43 familias:

 

 

   

 

TABLAS DE FRECUENCIAS RELATIVAS Y FRECUENCIAS ACUMULADAS

Una tabla de frecuencias se puede ampliar con nuevas columnas con las frecuencias relativas y las frecuencias acumuladas. La tabla anterior con estos nuevos datos sería:

 

 

   

 

TABLAS DE FRECUENCIAS CON DATOS AGRUPADOS EN INTERVALOS

Cuando la variable es continua, o es discreta pero toma una gran cantidad de valores, conviene dividir el rango de la variable en unos pocos intervalos (entre 6 y 12) y repartir los valores en ellos. El resultado será una tabla de frecuencias en la cual la variable, en lugar de tomar valores numéricos concretos, varía dentro de intervalos.

Cuando se necesita (por ejemplo para el cálculo de parámetros) que cada intervalo quede representado por un único número, se toma su punto medio, al que se llama marca de clase.

En la tabla adjunta se muestra cómo se han repartido 1.200 calificaciones entre 0 y 10, en 10 intervalos iguales —columna (a). Las marcas de clase (centros de los intervalos) están en la columna (b), las frecuencias en la (c), las frecuencias relativas en la (d), las frecuencias acumuladas en la (e) y las frecuencias acumuladas relativas en la columna (f).

   

TABLAS DE DOBLE ENTRADA

En las distribuciones bidimensionales, en las que a cada individuo le corresponden dos valores, xi, yi, puede suceder que cada par de valores (xm, yn) ocurra varias veces, es decir, lleve apareada una frecuencia. En tal caso conviene disponer los resultados mediante una tabla de doble entrada como la que se muestra a continuación, correspondiente a los resultados de un colectivo de 125 personas puntuadas por su sensibilidad ecológica, xi, y por sus conocimientos de biología, yi:

 

 

 

 

 

 

Gráficas estadísticas

     

Gráficas estadísticas, representaciones gráficas de los resultados que se muestran en una tabla estadística. Pueden ser de formas muy diversas, pero con cada tipo de gráfica se cumple un propósito. Por ejemplo, en los medios de comunicación, libros de divulgación y revistas especializadas se encuentran multitud de gráficas estadísticas en las que, con notable expresividad, se ponen de manifiesto los rasgos de la distribución que se pretende destacar. Los diagramas de barras, los diagramas de sectores, los histogramas y los polígonos de frecuencias son algunas de ellas.

   

DIAGRAMA DE BARRAS

En este tipo de gráfica, sobre los valores de las variables se levantan barras estrechas de longitudes proporcionales a las frecuencias correspondientes. Se utilizan para representar variables cuantitativas discretas.

El diagrama de barras siguiente representa la distribución del número de hijos de 43 familias:

 

 

   

HISTOGRAMA Y POLÍGONO DE FRECUENCIAS

Los histogramas se utilizan para representar tablas de frecuencias con datos agrupados en intervalos. Si los intervalos son todos iguales, cada uno de ellos es la base de un rectángulo cuya altura es proporcional a la frecuencia correspondiente. El histograma que se muestra a continuación es el correspondiente a la tabla de frecuencias con intervalos adjunta (1.200 calificaciones distribuidas en 10 intervalos):

 

Si se unen los puntos medios de la base superior de los rectángulos se obtiene el polígono de frecuencias.

   

HISTOGRAMA Y POLÍGONO DE FRECUENCIAS ACUMULADAS

Si se representan las frecuencias acumuladas de una tabla de datos agrupados se obtiene el histograma de frecuencias acumuladas o su correspondiente polígono. He aquí los que se obtienen de la tabla de 1.200 calificaciones:

 

 

   

DIAGRAMA DE SECTORES

En un diagrama de este tipo, los 360º de un círculo se reparten proporcionalmente a las frecuencias de los distintos valores de la variable. Resultan muy adecuados cuando hay pocos valores, o bien cuando el carácter que se estudia es cualitativo. El diagrama de sectores siguiente refleja el resultado de una encuesta (realizada a 300 personas) sobre los tipos de película preferidos por el público en general:

 

 

 

TEORIA.ECONOMICA_Oferta y Demanda

TEORIA ECONOMICA

Fuerzas del Mercado

Fuerzas del mercado, influencia que ejercen los mercados sobre una economía concreta. Dependen de la oferta y demanda, que determinan los precios, y de la asignación de recursos. En una economía de mercado pura, las fuerzas de éste no tienen limitación alguna.

 

Clasificación de los bienes y servicios

Bienes

Los bienes de clasifican en bienes sustitutos, privados, deudores, complementarios, independientes, e inferiores.

Bines Sustitutos: Son aquellos que se pueden sustituir por otro bien. Ejm: Al pan se lo puede sustituir con galletas.

Bines Complementarios: Es aquel que se puede complementar con otro bien. Ejm:

Al café se le puede complementar con leche entonces es café – leche.

Bines Independientes: Son aquellos bienes que no dependen de otro bien. Ej.:

Sal, azúcar, etc.

Bines inferiores: Son aquellos bienes que por su costo son de baja calidad. Ejm: En vez de comprar mortadela especial, compramos mortadela corriente.

Fases del ciclo contable

Auge: Cuando hay bastante

Depresacion: Cuando se empieza a terminar

Crisis: Cuando no hay nada

Reanimación: Cuando empieza a haber

Agentes Económicos

Los agentes económicos somos cada uno de nosotros, es aquel que puede repartir algo. Personas familias, empresas, estados y todos el resto del mundo.

Introduccion

Para entender mejor el estudio de la teoría económica, necesitamos entender ciertos términos utilizados con frecuencia.

Hipotesis: En lógica filosófica, se entiende por hipótesis un enunciado (o un conjunto de enunciados) que precede a otros enunciados y constituye su fundamento.

Teoria: La teoría es una hipótesis comprobada. Ejm. Cuando la oferta baja el precio del producto sube.

Funciones: Es una relación en donde una variable (dependiente) se determina por el otro valor de la otra variable (independiente).

Equilibrio: Es una igualdad entre las dos fuerzas del mercado(oferta y demanda) que una vez alcanzada tiende a persistir.

Equilibrio Parcial: Es el análisis y la comprobación del equilibrio de las unidades decisorias (consumidor, dueños de la empresa).

Equilibrio general: Es encontrar el equilibrio de la sociedad en general es decir todas las unidades decisorias simultaniamente.

Economia Positiva: Es aquella rama de la economía que estudia como la sociedad resuelve sus problemas sus problemas.

Economia Positiva: Es aquella rama de la economía que estudia a la sociedad como debe resolver sus problemas.

Concepto de teoría económica

Es la ciencia que estudia los bienes y servicios para satisfacer las necesidades del ser humano.

Concepto de microeconomía: Es ladisciplina de la economía cuyo objetivo es el estudio del comportamiento individual de los agentes económicos, principalmente las empresas y los consumidores.

OFERTA Y DEMANDA

Oferta y demanda, en economía, instrumentos esenciales para la determinación de los precios. Según la teoría (o ley) de la oferta y la demanda, los precios de mercado de los bienes y servicios se determinan por la intersección de la oferta y la demanda. En teoría, cuando la oferta supera la demanda, los productores deben reducir los precios para estimular las ventas; de forma análoga, cuando la demanda es superior a la oferta, los compradores presionan al alza el precio de los bienes. Cuando se utilizan los términos oferta y demanda, no se está hablando de la cantidad total de bienes vendidos o comprados, puesto que en cualquier transacción la cantidad vendida siempre será igual a la cantidad comprada, sino que se está aludiendo a la cantidad total de bienes y servicios que los productores desean vender a un precio concreto, y a la cantidad total de bienes y servicios que los consumidores comprarían en función de los distintos precios, lo que a veces se denomina demanda efectiva.

La teoría de la oferta y demanda tiene en cuenta el efecto sobre los precios de los costes de producción, pero considera que este efecto es indirecto, porque afecta a los precios a través de la oferta, la demanda o ambas. Existe otra serie de factores que afectan de forma indirecta a los precios, como puede ser un cambio en los gustos de los consumidores —o hábitos de consumo— (que se prefieran abrigos de pieles sintéticas a abrigos de pieles naturales), o las prácticas restrictivas del comercio como los monopolios, trusts y cártels. Según algunos economistas, son tantos los factores que afectan por vías indirectas a los precios que los términos oferta y demanda son conceptos genéricos que engloban un conjunto de fuerzas económicas determinantes de los precios, y por lo tanto no son la última causa determinante de los precios.

El mecanismo de fijación de precios mediante el juego de la oferta y la demanda sólo es operativo en sistemas económicos donde impera la libre competencia . La creciente intervención pública de los mercados pretende reducir el alcance del mecanismo de la oferta y la demanda. Durante la II Guerra Mundial muchos países limitaron y restringieron la operatividad del sistema de oferta y demanda mediante regulaciones de precios y racionamientos. Los sistemas comunistas con economías centralizadas, es decir, aquellos donde el Estado controla los medios de producción y la actividad económica, el mecanismo oferta-demanda desaparece. Sin embargo, desde principios de la década de 1990, muchos países que en el pasado tenían economías centralizadas han acabado adoptando mecanismos de liberalización del mercado.

CURVA DE LA DEMANDA

 

Existen dos formas de la demanda

1.      Cambio la cantidad demandada

2.      Cambio en la demanda

Denominamos cambio la cantidad demandada cuando se produce por la alteración de solamente una de las variables que es el precio además el movimiento se produce a lo largo de la misma curva de la demanda.

Desplazamiento de la curva hacia arriba significa un aumento de la cantidad demandada

 

Desplazamiento de la curva de demanda hacia abajo trae como consecuencia una disminución de la cantidad demandada al mismo precio.

 

Ejemplo:

1.      La ecuación siguiente determina la demanda para un bien X.

a)      Elaborar la tabla de demanda

b)      Diga cual es el precio significativo al que los individuos demandan mayor cantidad.

c)      Cual será la mayor demanda si el bien es libre.

Ecuacion= QDx = 10-Px        Px= Q-10

Literal a y b

Px

QDx

0

1

2

3

4

5

6

7

8

9

10

10

9

8

7

6

5

4

3

2

1

0

                                Px

                                  10

 

 

 

 

 

 

                           Px Significativo

                                                                                        Qx

                                                                                    9  10


 

d)      La mayor demanda es 9.

CURVA DE LA OFERTA

    

Desplazamiento de la curva de la oferta

El desplazamiento de la cantidad ofrecida se presenta bajo dos formas:

1.      Desplazamiento de la cantidad ofrecida

2.      Desplazamiento de la oferta

 Se denomina desplazamiento de la cantidad ofrecida cuando varia el precio del bien situando dos puntos en la misma curva de la oferta siendo por lo tanto un desplazamiento hacia arriba o hacia abajo.

La economía mundial

Las cosas habituales que damos por sentadas a menudo nos ponen en contacto con gentes y lugares distantes. Por ejemplo, pensemos en la ropa que se pone, un día cualquiera, una oficinista de Tijuana, México, y en el desayuno que toma cada mañana. Tras levantarse y asearse, se viste con un suéter y un par de pantalones caquis. Bebe un café y come un plátano antes de encaminarse al trabajo. Cada uno de esos productos tiene un origen distinto, en diferentes lugares del mundo, que forman parte de la rutina diaria de esta mujer.

Comencemos con el suéter. Su historia se inicia con las ovejas paciendo en las llanuras de Australia. Allí se esquiló su lana, y en una planta textil australiana se convirtió en hilo y se tiñó. El hilo fue trasladado a una fábrica en España, donde se tejió y confeccionó siguiendo un patrón concebido por un diseñador de moda italiano. Desde España, ese suéter viajó hasta un almacén en las inmediaciones de Ciudad de México y, luego, a un centro comercial de Tijuana, donde la mujer lo compró.

El algodón con el que se han hecho los pantalones caquis procede de un campo de Pakistán. Este algodón fue cosechado y desmotado en una localidad cercana y, posteriormente, transportado hasta Karachi, donde trabajadores de una fábrica lo tejieron y terminaron en la tela caqui. En una factoría indonesia, una mujer que trabaja para un vendedor americano cortó esos pantalones, enviados finalmente al almacén de la compañía de venta al por menor en Los Ángeles, donde fueron adquiridos por el vendedor de un pequeño comercio de Tijuana, donde captaron la atención de la mujer.

El grano de café se cultivó en las montañas de Kenia, donde los asalariados de una plantación lo cosecharon, secaron y descascarillaron para producir el grano de café que se embarcó en las costas africanas con destino el puerto de Veracruz. Desde el almacén de un importador de esta ciudad, viajó hasta una fábrica de Colima, donde unos trabajadores lo tostaron y envasaron para distribuir ese café que ha tomado la mujer.

El plátano que adquirió la protagonista de esta historia en el supermercado local, creció en un árbol de Ecuador que, una vez recogido, fue embarcado hacia el mercado mayorista de Los Ángeles y, desde allí, transportado primero a un almacén y, después, al supermercado.

Así, antes de dejar su hogar, esta mujer ha utilizado y consumido productos que la vinculan a personas de los cinco continentes. Aunque quizás no es consciente de ello, el vehículo que conduce, así como las actividades que realiza en su trabajo y fuera de él, pueden hacerle entrar en contacto con trabajadores de otras partes del mundo, que nunca conocerá, pero cuyas vidas están entrelazadas dentro de la compleja red que constituye la economía global.

 

 

 

 

 

Historia de la globalización

En la antigüedad, los mercaderes transportaban los bienes más exóticos y caros a través de largas distancias. Las caravanas llevaban la seda china al Imperio romano, y durante la edad media los árabes vendieron marfil de África oriental y especias de Indonesia a los comerciantes de Venecia. De todas maneras, hasta el año 1500 el comercio a larga distancia jugó un papel económico poco importante en algunas partes del mundo, y casi toda la población se suministraba de alimentos y fibras cultivados a escasa distancia de sus hogares.

Una verdadera economía global se empezó a desarrollar en el siglo XV, con la era de los descubrimientos, cuando el esfuerzo político y militar de naciones emergentes y los avances en las técnicas náuticas posibilitaron a los mercaderes europeos establecer una red comercial por todo el mundo. Los europeos levantaron colonias, plantaciones esclavistas y puertos exportadores en regiones tropicales para el cultivo de productos imposibles de conseguir en Europa, como azúcar, tabaco, café y especias. Los europeos también se apropiaron de áreas de América del Norte y Siberia por sus pieles y abundante madera.

Durante el siglo XIX, la industrialización en Europa y América del Norte incrementó el volumen y la importancia del comercio internacional. Los países desarrollados importaban materias primas y alimentos de todo el mundo, y exportaban bienes manufacturados. Debido a que los propietarios de los negocios en los países industrializados retenían los beneficios generados por el comercio y la manufactura, las gentes de otras partes del mundo no podían proveerse de la tecnología necesaria para competir con las industrias de Europa y América del Norte. Sin esta nueva tecnología, continuaron vendiendo materias primas y adquiriendo bienes manufacturados. La principal excepción a este mecanismo fue Japón, cuyo fuerte gobierno protegió a los productores locales de la competencia foránea y encaminó el capital del país hacia el sector industrial. En el siglo XX, el mundo estaba dividido en dos partes desiguales: los países industrializados y el resto del mundo, donde los primeros dominaban económica y militarmente.

En el siglo XX, ciertos nuevos desarrollos aceleraron la vía de la globalización y fortalecieron los lazos económicos entre los países. Uno de los cambios más importantes se debió a la bajada de los costes de transporte, posible por la disponibilidad de combustible barato. Otro desarrollo clave fue el surgimiento de más y más empresas multinacionales, o corporaciones con operaciones económicas en más de un país. Un tercer factor que ha promovido la globalización ha sido la creación de instituciones económicas internacionales, como el Banco Internacional para la Reconstrucción y el Desarrollo (BIRD, integrado en el Banco Mundial), el Fondo Monetario Internacional (FMI) o la Organización Mundial del Comercio (OMC), para ayudar a regular el flujo comercial y monetario entre las naciones. Por último, los avances en las telecomunicaciones y en la informática han facilitado mucho a los empresarios la gestión económica coordinada entre las divisiones corporativas, los clientes y los vendedores en diferentes partes del mundo.

Globalización y desarrollo

Los países en vías de desarrollo de Centroamérica, América del Sur, África y Asia exportaban materias primas y cultivos comerciales (para su venta al otro lado del océano), y compraban bienes manufacturados. La gente de esos países cubría sus necesidades diarias mediante una agricultura de subsistencia y la manufactura a pequeña escala. Poco a poco, su población se hizo cada vez más dependiente de la economía global, porque las manufacturas locales no podían competir con los baratos productos industriales exportados por las naciones desarrolladas (de Europa occidental, Estados Unidos, Canadá, Australia, Nueva Zelanda y Japón). Para reducir su dependencia, numerosos países en vías de desarrollo intentaron fortalecer sus economías creando industrias, obras hidráulicas y carreteras entre los años sesenta y setenta. Algunos impusieron altas tarifas aduaneras y otras barreras comerciales con el fin de proteger a su industria de la competencia de las manufacturas importadas. Sin embargo, los gobiernos, con frecuencia, efectuaron unas inadecuadas elecciones financieras; los proyectos de infraestructura hidráulica y para el tráfico rodado, a menudo, excedieron las necesidades locales; los intereses de los dirigentes políticos prevalecieron, en ocasiones, sobre los del país en cuestiones industriales; y la protección comercial degeneró en la producción de bienes de peor calidad. Como consecuencia, estos productos no podían competir en el mercado mundial con los de los países industrializados, de mayor calidad. Así, numerosos países en vías de desarrollo tenían ingresos reducidos con los que pagar los créditos pedidos para sufragar su expansión.

Un número reducido de países tuvo éxito en su camino hacia la industrialización durante el siglo XX. Los más notables fueron Corea del Sur, Taiwan, Singapur y Hong Kong (RAE). Al igual que Japón en el siglo XIX, establecieron tasas aduaneras y otras barreras para proteger los productos locales de la competencia foránea e invirtieron en desarrollo industrial. Como Japón, se centraron en la venta exterior de sus productos para crear riqueza en sus países. A finales del siglo XX, algunos expertos consideraron a esas economías más bien como desarrolladas que en vías de desarrollo, aunque Corea del Sur ha sufrido un fuerte revés por la crisis financiera de 1997. Siguiendo pautas similares, China ha avanzado rápidamente gracias a un fuerte crecimiento de la exportación de sus manufacturas industriales a finales del siglo XX.

Mientras tanto, las multinacionales del mundo desarrollado se asentaban en ciertos países en vías de desarrollo, donde la mano de obra era barata, en especial en el Sureste asiático, Centroamérica y América del Sur. Estas plantas generaban pocos beneficios a largo plazo para las economías locales. Los beneficios salían del país hacia los accionistas multinacionales. Además, los países en vías de desarrollo se vieron forzados a participar en una ‘subasta a la baja’ para atraer al capital multinacional inversor. Si un país en vías de desarrollo o su población exigían mayores salarios, mejoras en las condiciones de trabajo o en la protección ambiental, las multinacionales a menudo trasladaban la producción a otro país con menores costes.

A finales del siglo XX, numerosos países en vías de desarrollo, en especial en África, todavía carecían de un sector industrial fuerte. Estas naciones continuaban con la exportación de cultivos comerciales y materias primas, cuyos ingresos les permitían importar los bienes manufacturados y servicios de los que carecían. Un énfasis en la exportación de esos productos provocó incrementos en la producción. Con las mejoras en el transporte, los países comenzaron a competir en la venta de los mismos productos, por lo que más bienes y una competencia creciente hundieron los precios. Este ciclo perpetuó la pobreza.

Ante la imposibilidad de atraer la inversión y de pagar las importaciones, numerosas naciones deudoras apelaron al Banco Mundial y al Fondo Monetario Internacional en las décadas de 1980 y 1990 para ampliar los plazos de amortización de los créditos y solicitar otros nuevos. Como contrapartida, estos países debían presentar un plan de reforma que incluyera programas de privatización y una reducción de los gastos públicos. Estas medidas tendían a asegurar el pago de la deuda, pero fueron, a menudo, penosas.

 

La globalización de la agricultura

Con el desarrollo de la refrigeración y el abaratamiento del transporte a larga distancia a finales del siglo XX, cada vez son más numerosos los agricultores que compiten en el mercado global. La harina de panificación, por ejemplo, puede provenir de trigo cultivado en América del Norte, América del Sur, Europa o Australia, indistintamente, con las premisas de buena calidad y bajo precio. Con tractores y otros medios mecánicos, un agricultor puede producir igual que docenas de trabajadores manuales. Esto hace posible que la agricultura mecanizada de América del Norte, Europa y Australia, donde los costes laborales son elevados, venda más en el mercado mundial que los productores a pequeña escala de los países en vías de desarrollo, con menores costes de mano de obra. Además, los países desarrollados, en especial los Estados Unidos, exportan excedentes agrícolas —básicamente trigo, con dificultades para su cultivo en los países de clima tropical— a países en vías de desarrollo de África y otros lugares, con fuertes subsidios o incluso gratis, como ayuda alimentaria.

En el ámbito local, los cultivos alimentarios no pueden competir con esas baratas importaciones de alimentos. Los cultivadores a pequeña escala de muchos países en vías de desarrollo, incapaces de sobrevivir, se vieron obligados a vender sus tierras a productores mayores que podían afrontar la mecanización. Otros, redujeron los cultivos destinados al mercado local en beneficio de productos comerciales, como bananas, café, cacao y caña de azúcar, que no pueden ser cultivados en los climas más fríos de los países industrializados. Por ello, fueron numerosos los países en vías de desarrollo, en especial de África, que pasaron a depender de los alimentos importados.

La globalización de la industria y los servicios

A finales del siglo XX, los departamentos de investigación, desarrollo, comercialización y gestión financiera de una empresa no precisaban localizarse en el mismo lugar o, incluso, en el mismo país. El incremento de las actividades terciarias o de servicios dominaba la economía de los países más desarrollados, mientras que la industria perdía importancia. Con el fin de reducir costes, las compañías trasladaron algunas labores de manufactura a países en vías de desarrollo, donde los salarios eran inferiores. Esto ocurría especialmente con las actividades dedicadas al textil o al ensamblaje de piezas.

Otras actividades continuaban realizándose en los países desarrollados, porque requerían una mano de obra especializada o una proximidad al mercado. Como ejemplos, cabe citar todas aquellas ligadas a la sanidad, los servicios financieros, la venta al detalle, la ingeniería y el software, consideradas actividades de servicios. Este sector crecía en importancia en las economías desarrolladas de América del Norte, Europa, Australia, Nueva Zelanda y Japón, mientras que la industria lo hacía con rapidez en los países en vías de desarrollo. Las clases de manufacturas que permanecían en los países más desarrollados incluían la construcción, el tratamiento de alimentos y actividades tecnológicas que comprendían la maquinaria o la elaboración de ciertos productos químicos.

Muchos de los países desarrollados se agruparon formando grandes bloques comerciales, o uniones económicas, para promover su prosperidad mutua. Como ejemplos, cabe mencionar a la Unión Europea (UE) y a la zona de libre comercio establecida por el Tratado de Libre Comercio Norteamericano (TLC). Estos bloques comerciales ampliaron así sus áreas de mercado, dentro de las cuales las compañías podían operar sin tasas aduaneras u otra clase de barreras.

 

 

Un mundo único

Los hechos acontecidos en un país pueden repercutir en cualquier otro lugar del mundo. Como muestra, a finales de la década de 1990, una notable recesión económica en Japón se difundió al Sureste asiático. Los países de esta región contaban con los bancos japoneses para hacer crecer sus economías y con sus consumidores, que constituían un mercado fundamental para sus productos. La recesión obligó a los bancos japoneses a restringir sus inversiones y compras, lo que hizo vacilar a otras economías asiáticas. Además, otros inversores extranjeros se asustaron y retiraron sus capitales del Sureste asiático, por lo que miles de tailandeses, indonesios y de otros países vecinos perdieron sus empleos al contraerse sus economías.

Mientras tanto, la economía de los Estados Unidos crecía constantemente. A la vez que caían las economías asiáticas, sus monedas perdían valor frente al dólar estadounidense y sus exportaciones eran más competitivas. Numerosas compañías asiáticas buscaron mejorar sus resultados mediante la exportación de bienes a los Estados Unidos, y, a finales de años noventa, los consumidores estadounidenses adquirieron numerosos productos asiáticos baratos. Esto terminó por resultar positivo para los inversores y trabajadores asiáticos, que confiaron en el poderoso mercado estadounidense para sanear sus hundidas economías. De hecho, en 1999, la larga recesión japonesa dio señales de finalizar.

Sin embargo, estas aparentes buenas noticias tuvieron su aspecto negativo. La economía japonesa en crecimiento atrajo inversores extranjeros que alzaron el valor del yen japonés frente al dólar y, con ello, el precio de los bienes japoneses en los mercados internacionales. Un yen poderoso trajo dos peligros. Primero, que las exportaciones japonesas fueran demasiado caras, posibilitando una caída de sus ventas y una nueva recesión en Japón. Segundo, que mientras los bienes japoneses subían su precio en dólares, el peligro de inflación en los Estados Unidos aumentaba. Una creciente inflación en los Estados Unidos conllevaría el incremento de la tasa de interés y provocaría una caída de la bolsa, deteniendo su expansión económica. Si flaqueara la economía estadounidense, sus efectos negativos afectarían a inversores y exportadores de todo el planeta.

Por todo el mundo, tanto los países ricos como los pobres se han vuelto más interdependientes económicamente y se enfrentan a problemas que afectan a todos ellos. El último ejemplo de un reto conjunto es el ecológico. Altos niveles de consumo y un desarrollo económico muy rápido han provocado graves impactos medioambientales, como el agotamiento de los recursos, la contaminación y la transformación de los hábitats naturales para su aprovechamiento económico. A largo plazo, el éxito de la globalización depende de su habilidad para llevar la prosperidad económica a toda la población mundial sin originar mayor daño ambiental.

 

ESTRUCTURAS_Punteros_Listas_Enlazadas_Dobles_Circulares

//Estas son las listas enlazadas simples

CONSEPTO:

Listas enlazadas simples

La lista enlazada básica es la lista enlazada simple la cual tiene un enlace por nodo. Este enlace apunta al siguiente nodo en la lista, o al valor NULL (apunta a tierra) o a la lista vacía, si es el último nodo.

Singly-linked-list.svg
Una lista enlazada simple contiene dos valores: el valor actual del nodo y un enlace al siguiente nodoCodigo Fuente     /*********LISTAS ENLAZADAS SIMPLES********/
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include<stdio.h>
#include<fcntl.h>
#include<io.h>
#include<stdlib.h>
#include<fcntl.h>
#include<sys\stat.h>
#include<io.h>
#include<process.h>
#include<alloc.h>
#include”iomanip.h”

 
//ESTRUCTURA CON NODOS
typedef struct nodo
{
    int num;
    struct nodo *sig;

}tipoNodo;
 //DECLARACION DE LOS PORTOTIPOS

 void menupuntero();
 void presentar();

 //PARA UZAR LOS PUNTEROS
 tipoNodo *crearNuevo();
 void crear();
 void nuevo();
 void modificar();
 void buscar();
 void eliminacion();
 void eliminarcabeza();
 void eliminar();
 void ordenar();
 void as();
 void des();
 void oras();
 void ordes();
 void insertar();
 void insertar_ordenado();
 void insertar_cabeza();
 void insertar_final();
 void presentar();
 tipoNodo *cab;

 //OPCION BUSCAR
 void busquedaC();

 //CONSTANTES
 const npun=20;
 //FUNCION PRINCIPAL
 void main()
 {
    menupuntero();

 }
 //CONPARTIMINETO DEL PROYECTO

 //MENUS DE PRESENTACION

 void menupuntero()
 {
    textmode(BW80);
    cprintf(“ABC”);

  char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS***     º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº [1]  CREAR                     º\n”;
   cout<<“\t\tº [2]  NUEVO                     º\n”;
   cout<<“\t\tº [3]  MODIFICAR                 º\n”;
   cout<<“\t\tº [4]  BUSCAR                    º\n”;
   cout<<“\t\tº [5]  ELIMINAR                  º\n”;
   cout<<“\t\tº [6]  ORDENAR                   º\n”;
   cout<<“\t\tº [7]  INSERTAR                  º\n”;
   cout<<“\t\tº [8]  PRESENTAR                 º\n”;
   cout<<“\t\tº [x]  SALIR                     º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :crear();break;
 case ‘2’ :nuevo(); break;
 case ‘3’ :modificar(); break;
 case ‘4’ :buscar(); break;
 case ‘5’ :eliminacion(); break;
 case ‘6’ :ordenar(); break;
 case ‘7’ :insertar(); break;
 case ‘8’ :presentar(); break;

 
   }

  }
 while(opl!=’x’);
}
 //PARA EL MANEJO DE LAS LISZTAS ENLAZADAS

 //ME PERMITE CREAR CABEZA

void crear()
{
   textcolor(4);
  clrscr();
  cab=crearNuevo();
  cout<<“INGRESE CABEZA:\t”;
  cin>>cab->num;
  cab->sig=NULL;

 

 

}
//ME PERMITE INGRESAR UN NUEVO NUMERO

void nuevo()
{
   textcolor(41);
  clrscr();
  tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE VALOR:\t”;
  cin>>elem->num;
  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=NULL)
  {
    recorrer= recorrer->sig;
  }
  recorrer->sig=elem;
  elem->sig=NULL;

}

//ESTA OPCION ME PERMINTE MODIFICAR

void modificar()
{

    textcolor(42);
    clrscr();
    tipoNodo * elem,* nuevo;
    elem=crearNuevo();
    cout<<“INGRESE VALOR QUE SE VA HA MODIFICAR:\t “;
    cin>>elem->num;
    // elem->sig=NULL;
    tipoNodo * recorrer;
    recorrer=cab;
    while(recorrer->sig == elem)
    cout<<“INGRESE NUMERO:\t”;
    cin>>nuevo->num;
    recorrer=recorrer->sig;
    recorrer->sig=elem;
    elem->sig=NULL;
}

//ME PERMIOTE BUSCAR

void buscar()
{
    textcolor(30);
   clrscr();
   tipoNodo *elem;
   int x;
   cout<<“VALOR QUE VA A BUSCAR:\t”;
   cin>>x;
   while(elem!=NULL && elem->num!=x)
   {
      elem=elem->sig;
   }

}
//ESTE MENU ES DE ELIMINACION

void eliminacion()
{
  char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS**      º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº 1.-  ELIMINAR                  º\n”;
   cout<<“\t\tº 2.-  ELIMINAR CABEZA           º\n”;
   cout<<“\t\tº x.-  SALIR                     º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :eliminar();break;
 case ‘2’ :eliminarcabeza(); break;

   }

  }
 while(opl!=’x’);

}

//ME PERMITE ELIMINAR CABEZA
void eliminarcabeza()
{
    clrscr();
    tipoNodo *aux;
    cab=cab->sig;
    aux->sig=NULL;
    free(aux);
}

//ME PERMITE ELIMINAR UNO DE LOS NUMEROS INGRESADOS

void eliminar()
{
   clrscr();
   tipoNodo *aux;
   int n;
   cout<<“INGRESE ELEMENTO QUE VA HA ELIMINAR:\t”;
   cin>>n;
    if(n==cab->num)
  eliminarcabeza();
    else{
     tipoNodo *ant=cab;
     aux=cab->sig;
     while((aux!=NULL)&&(aux->num!=n))
     {
       ant=aux;
       aux=aux->sig;

     }
     if(aux!=NULL)
     {
 ant->sig=aux->sig;
 aux->sig=NULL;
 free(aux);

     }
     else
       cout<<“NO SE ENCUENTRA”;

    }

}

//ESTA OPCION ES DE ORDENAMIENTO

void ordenar()
{

   textcolor(3);
  char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS**      º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº 1.-  ORDENAMIENTO ASCENDENTE   º\n”;
   cout<<“\t\tº 2.-  ORDENAMIENTO DESCENDENTE  º\n”;
   cout<<“\t\tº x.-  SALIR                     º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :as();break;
 case ‘2’ :des(); break;

   }

  }
 while(opl!=’x’);
}

//ME PERMITE ORDENAR DE FORMA ASCENDENTE
void as()
{
   clrscr();
   tipoNodo *aux,*aux1;
   int b;
   aux=cab;
   while(aux!=NULL)
   {
     aux1=aux;
     aux1=aux1->sig;
     while(aux1!=NULL)
     {
       if(aux->num>aux1->num)
       {
  b=aux1->num;
  aux1->num=aux->num;
  aux->num=b;
  aux1=aux1->sig;
       }
       else
       {
   aux1=aux1->sig;
       }
     }
     aux=aux->sig;
   }
}
void oras()
{
  as();
  clrscr();
  tipoNodo *aux;
  int w;
  aux = cab;
  w=10;
  while (aux!= NULL)
  {
    gotoxy(15,8);cout<<“ORDENACION ASCENDENTE”;
    gotoxy(w,10);
    cout<< aux->num;
    aux = aux->sig;
    w=w+5;
  }
  getch();

}
void des()
{
  clrscr();
  tipoNodo *aux,*aux1;
  int b;
  aux=cab;
  while(aux1!=NULL)
  {
    aux1=aux;
    aux1=aux1->sig;
    while(aux1!=NULL)
    {
      if(aux->num>aux1->num)
      {
 b=aux1->num;
 aux1->num=aux->num;
 aux->num=b;
 aux1=aux1->sig;
      }
      else
      {
 aux1=aux1->sig;
      }
    }
    aux=aux->sig;
  }
}

 

void ordes()
{

  des();
  tipoNodo *aux;
  int w;
  aux = cab;
  w=10;
  while (aux!= NULL)
  {
    gotoxy(15,8);cout<<“ORDENACION DESCENDENTE”;
    gotoxy(w,10);
    cout<< aux->num;
    aux = aux->sig;
    w=w+5;
  }
  getch();

}
//ESTA OPCION ME PERMITE INSERTAR

void insertar()
{
    textcolor(5);
   char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS**      º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº 1.-  INSERTAR ORDENADO         º\n”;
   cout<<“\t\tº 2.-  INSERTAR FINAL            º\n”;
   cout<<“\t\tº 3.-  INSERTAR CABEZA           º\n”;
   cout<<“\t\tº x.- SALIR                      º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :insertar_ordenado();break;
 case ‘2’ :insertar_final(); break;
 case ‘3’ :insertar_cabeza(); break;
   }

  }
 while(opl!=’x’);

}
//ME PERMITE INSERTAR UN NUMERO PERO YA ORDENADO

void insertar_ordenado()
{

  clrscr();
  tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE UN VALOR:\t”;
  cin>>elem->num;
  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=NULL)
  {
    recorrer= recorrer->sig;
  }
  recorrer->sig=elem;
  elem->sig=NULL;

  as();
  oras();

 

}

//ME PERMITE INSERTAR UN NUMERO AL FINAL
void insertar_final()
{
  clrscr();
  tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE EL VALOR FINAL:\t”;
  cin>>elem->num;
  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=NULL)
  {
    recorrer= recorrer->sig;
  }
  recorrer->sig=elem;
  elem->sig=NULL;

}

//ME PERMITE INSERTAR UNA NUEVA CABEZA
void insertar_cabeza()
{
   cab=crearNuevo();
  cout<<“INGRESE CABEZA:\t”;
  cin>>cab->num;
  cab->sig=NULL;

}
/*ESTA OPCION ME PERMITE PRESENTAR TODOS LOS NUMEROS
 QUE INGRESE, ELIMINE ORDENE Y INSERTE*/

void presentar()
{
   textcolor(6);
  clrscr();
  tipoNodo *recorrer;
  recorrer=cab;
  while(recorrer!=NULL)
  {
   cout<<recorrer->num;
    recorrer=recorrer->sig;
  }
  getch();
}
tipoNodo *crearNuevo()

{
   tipoNodo *nodo1;
   nodo1 =(tipoNodo*)malloc(sizeof(tipoNodo)) ;
   if(!nodo1)
   cout<<“No se ha reservado memoria\n”;
   return nodo1; //devuelve la direccion de la memoria reservada
}

//Listas Dobles

CONSEPTO

Lista Doblemente Enlazada

Un tipo de lista enlazada más sofisticado es la lista doblemente enlazada o lista enlazadas de dos vías. Cada nodo tiene dos enlaces: uno apunta al nodo anterior, o apunta al valor NULL o a las lista vacía si es el primer nodo; y otro que apunta al siguiente nodo siguiente, o apunta al valor NULL o a la lista vacía si es el último nodo.

Doubly-linked-list.svg
Una lista doblemente enlazada contiene tres valores: el valor, el link al nodo siguiente, y el link al anteriorCODIGO FUENTE    

 /*********LISTAS DOBLES********/
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include<stdio.h>
#include<fcntl.h>
#include<io.h>
#include<stdlib.h>
#include<fcntl.h>
#include<sys\stat.h>
#include<io.h>
#include<process.h>
#include<alloc.h>
#include”iomanip.h”

 
//ESTRUCTURA CON NODOS
typedef struct nodo
{
    int num;
    struct nodo *sig,*ante;

}tipoNodo;
 //DECLARACION DE LOS PORTOTIPOS

 void menupuntero();
 void presentar();

 //PARA UZAR LOS PUNTEROS
 tipoNodo *crearNuevo();
 void crear();
 void nuevo();
 void modificar();
 void buscar();
 void eliminacion();
 void eliminarcabeza();
 void eliminar();
 void ordenar();
 void as();
 void des();
 void oras();
 void ordes();
 void insertar();
 void insertar_ordenado();
 void insertar_cabeza();
 void insertar_final();
 void presentar();
 tipoNodo *cab;
  tipoNodo *cola;

 //OPCION BUSCAR
 void busquedaC();

 //CONSTANTES
 const npun=20;
 //FUNCION PRINCIPAL
 void main()
 {
    menupuntero();

 }
 //CONPARTIMINETO DEL PROYECTO

 //MENUS DE PRESENTACION

 void menupuntero()
 {
    textmode(BW80);
    cprintf(“ABC”);

  char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº**MENU LISTAS ENLAZADAS DOBLES  º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº [1]  CREAR                     º\n”;
   cout<<“\t\tº [2]  NUEVO                     º\n”;
   cout<<“\t\tº [3]  MODIFICAR                 º\n”;
   cout<<“\t\tº [4]  BUSCAR                    º\n”;
   cout<<“\t\tº [5]  ELIMINAR                  º\n”;
   cout<<“\t\tº [6]  ORDENAR                   º\n”;
   cout<<“\t\tº [7]  INSERTAR                  º\n”;
   cout<<“\t\tº [8]  PRESENTAR                 º\n”;
   cout<<“\t\tº [x]  SALIR                     º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :crear();break;
 case ‘2’ :nuevo(); break;
 case ‘3’ :modificar(); break;
 case ‘4’ :buscar(); break;
 case ‘5’ :eliminacion(); break;
 case ‘6’ :ordenar(); break;
 case ‘7’ :insertar(); break;
 case ‘8’ :presentar(); break;

 
   }

  }
 while(opl!=’x’);
}
 //PARA EL MANEJO DE LAS LISZTAS ENLAZADAS DOBLES

 //ME PERMITE CREAR CABEZA

void crear()
{
   textcolor(4);

   clrscr();
   cab=NULL;
   cab=crearNuevo();
   cout<<“INGRESE CABEZA:\t”;
   cin>>cab->num;
   cab->ante=NULL;
   cab->sig=NULL;
   cola=cab;

 

     }
//ME PERMITE INGRESAR UN NUEVO NUMERO

void nuevo()
{
   textcolor(41);
  clrscr();
  tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE VALOR:”;
  cin>>elem->num;
  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=NULL)

    recorrer= recorrer->sig;

  recorrer->sig=elem;
  elem->sig=NULL;

}

//ESTA OPCION ME PERMINTE MODIFICAR

void modificar()
{

    textcolor(42);
    clrscr();
    tipoNodo * elem,* nuevo;
    elem=crearNuevo();
    cout<<“INGRESE VALOR QUE SE VA HA MODIFICAR:\t “;
    cin>>elem->num;
    // elem->sig=NULL;
    tipoNodo * recorrer;
    recorrer=cab;
    while(recorrer->sig == elem)
    cout<<“INGRESE NUMERO:\t”;
    cin>>nuevo->num;
    recorrer=recorrer->sig;
    recorrer->sig=elem;
    elem->sig=NULL;
}

//ME PERMIOTE BUSCAR

void buscar()
{
    textcolor(30);
   clrscr();
   tipoNodo *elem;
   int x;
   cout<<“VALOR QUE VA A BUSCAR:\t”;
   cin>>x;
   while(elem!=NULL && elem->num!=x)
   {
      elem=elem->sig;
   }

}
//ESTE MENU ES DE ELIMINACION

void eliminacion()
{
  char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS**      º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº 1.-  ELIMINAR                  º\n”;
   cout<<“\t\tº 2.-  ELIMINAR CABEZA           º\n”;
   cout<<“\t\tº x.-  SALIR                     º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :eliminar();break;
 case ‘2’ :eliminarcabeza(); break;

   }

  }
 while(opl!=’x’);

}

//ME PERMITE ELIMINAR CABEZA
void eliminarcabeza()
{
    clrscr();
    tipoNodo *aux;
    cab=cab->sig;
    aux->sig=NULL;
    free(aux);
}

//ME PERMITE ELIMINAR UNO DE LOS NUMEROS INGRESADOS

void eliminar()
{
   clrscr();
   tipoNodo *aux;
   int n;
   cout<<“INGRESE ELEMENTO QUE VA HA ELIMINAR:\t”;
   cin>>n;
    if(n==cab->num)
  eliminarcabeza();
    else{
     tipoNodo *ant=cab;
     aux=cab->sig;
     while((aux!=NULL)&&(aux->num!=n))
     {
       ant=aux;
       aux=aux->sig;

     }
     if(aux!=NULL)
     {
 ant->sig=aux->sig;
 aux->sig=NULL;
 free(aux);

     }
     else
       cout<<“NO SE ENCUENTRA”;

    }

}

//ESTA OPCION ES DE ORDENAMIENTO

void ordenar()
{

   textcolor(3);
  char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS**      º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº 1.-  ORDENAMIENTO ASCENDENTE   º\n”;
   cout<<“\t\tº 2.-  ORDENAMIENTO DESCENDENTE  º\n”;
   cout<<“\t\tº x.-  SALIR                     º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :as();break;
 case ‘2’ :des(); break;

   }

  }
 while(opl!=’x’);
}

//ME PERMITE ORDENAR DE FORMA ASCENDENTE
void as()
{
   clrscr();
   tipoNodo *aux,*aux1;
   int b;
   aux=cab;
   while(aux!=NULL)
   {
     aux1=aux;
     aux1=aux1->sig;
     while(aux1!=NULL)
     {
       if(aux->num>aux1->num)
       {
  b=aux1->num;
  aux1->num=aux->num;
  aux->num=b;
  aux1=aux1->sig;
       }
       else
       {
   aux1=aux1->sig;
       }
     }
     aux=aux->sig;
   }
}
void oras()
{
  as();
  clrscr();
  tipoNodo *aux;
  int w;
  aux = cab;
  w=10;
  while (aux!= NULL)
  {
    gotoxy(15,8);cout<<“ORDENACION ASCENDENTE”;
    gotoxy(w,10);
    cout<< aux->num;
    aux = aux->sig;
    w=w+5;
  }
  getch();

}
void des()
{
  clrscr();
  tipoNodo *aux,*aux1;
  int b;
  aux=cab;
  while(aux1!=NULL)
  {
    aux1=aux;
    aux1=aux1->sig;
    while(aux1!=NULL)
    {
      if(aux->num>aux1->num)
      {
 b=aux1->num;
 aux1->num=aux->num;
 aux->num=b;
 aux1=aux1->sig;
      }
      else
      {
 aux1=aux1->sig;
      }
    }
    aux=aux->sig;
  }
}

 

void ordes()
{

  des();
  tipoNodo *aux;
  int w;
  aux = cab;
  w=10;
  while (aux!= NULL)
  {
    gotoxy(15,8);cout<<“ORDENACION DESCENDENTE”;
    gotoxy(w,10);
    cout<< aux->num;
    aux = aux->sig;
    w=w+5;
  }
  getch();

}
//ESTA OPCION ME PERMITE INSERTAR

void insertar()
{
    textcolor(5);
   char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS**      º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº 1.-  INSERTAR ORDENADO         º\n”;
   cout<<“\t\tº 2.-  INSERTAR FINAL            º\n”;
   cout<<“\t\tº 3.-  INSERTAR CABEZA           º\n”;
   cout<<“\t\tº x.- SALIR                      º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :insertar_ordenado();break;
 case ‘2’ :insertar_final(); break;
 case ‘3’ :insertar_cabeza(); break;
   }

  }
 while(opl!=’x’);

}
//ME PERMITE INSERTAR UN NUMERO PERO YA ORDENADO

void insertar_ordenado()
{

  clrscr();
  tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE UN VALOR:\t”;
  cin>>elem->num;
  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=NULL)
  {
    recorrer= recorrer->sig;
  }
  recorrer->sig=elem;
  elem->sig=NULL;

  as();
  oras();

 

}

//ME PERMITE INSERTAR UN NUMERO AL FINAL
void insertar_final()
{
  clrscr();
  tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE EL VALOR FINAL:\t”;
  cin>>elem->num;
  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=NULL)
  {
    recorrer= recorrer->sig;
  }
  recorrer->sig=elem;
  elem->sig=NULL;

}

//ME PERMITE INSERTAR UNA NUEVA CABEZA
void insertar_cabeza()
{

   tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE NUEVA CABEZA:”;
  cin>>elem->num;
  cab->ante = elem;
  elem->sig = cab;
  elem->ante = NULL;
  cab = elem;

 

}
/*ESTA OPCION ME PERMITE PRESENTAR TODOS LOS NUMEROS
 QUE INGRESE, ELIMINE ORDENE Y INSERTE*/

void presentar()
{
   textcolor(6);
  clrscr();
  tipoNodo *recorrer;
  recorrer=cab;
  while(recorrer!=NULL)
  {
   cout<<recorrer->num;
    recorrer=recorrer->sig;
  }
  getch();
}
tipoNodo *crearNuevo()

{
   tipoNodo *nodo1;
   nodo1 =(tipoNodo*)malloc(sizeof(tipoNodo)) ;
   if(!nodo1)
   cout<<“No se ha reservado memoria\n”;
   return nodo1; //devuelve la direccion de la memoria reservada
}

LISTAS CIRCULARES

CONSEPTO

Listas enlazadas circulares

En una lista enlazada circular, el primer y el último nodo están unidos juntos. Esto se puede hacer tanto para listas enlazadas simples como para las doblemente enlazadas. Para recorrer un lista enlazada circular podemos empezar por cualquier nodo y seguir la lista en cualquier dirección hasta que se regrese hasta el nodo original. Desde otro punto de vista, las listas enlazadas circulares pueden ser vistas como listas sin comienzo ni fin. Este tipo de listas es el más usado para dirigir buffers para “ingerir” datos, y para visitar todos los nodos de una lista a partir de uno dado.

Circularly-linked-list.svg
Una lista enlazada circular que contiene tres valores enterosCODIGO FUENTE

#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include<stdio.h>
#include<fcntl.h>
#include<io.h>
#include<stdlib.h>
#include<fcntl.h>
#include<sys\stat.h>
#include<io.h>
#include<process.h>
#include<alloc.h>

 

//ESTRUCTURA CON NODOS
typedef struct nodo
{
    int num;
    struct nodo *sig;
    struct nodo *ante;
}tipoNodo;
 //declaracion de prototipos

 void menupuntero();
 void presentar();

 //Para el manejo de punteros
 tipoNodo *crearNuevo();
 void crear();
 void nuevo();
 void modificar();
 void buscar();
 void eliminarcabeza();
 void eliminar();
 void ordenar();
 void insertar_ordenado();
 void insertar_cabeza();
 void insertar_final();
 void presentar();
 tipoNodo *cab;
 tipoNodo *cola;
 //busqueda del puntero
 void busquedaC();

 //Constantes
 const npun=20;
 //Variables Globales
// puntero pun[npun];

 //funcion principal
 void main()
 {
    menupuntero();
 }
 //compartimiento del proyecto
 //menus de presentacion

 void menupuntero()
 {
  char opl=’0′;
  do
  {
     clrscr();
   cout<<“\t\tÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»\n”;
   cout<<“\t\tº***MENU LISTAS ENLAZADAS**      º\n”;
   cout<<“\t\tº                                º\n”;
   cout<<“\t\tº 1.  CREAR                      º\n”;
   cout<<“\t\tº 2.  NUEVO                      º\n”;
   cout<<“\t\tº 3.  MODIFICAR                  º\n”;
   cout<<“\t\tº 4.  BUSCAR                     º\n”;
   cout<<“\t\tº 5.  ELIMINAR CABEZA            º\n”;
   cout<<“\t\tº 6.  ORDENAR                    º\n”;
   cout<<“\t\tº 7.  PRESENTAR                  º\n”;
   cout<<“\t\tº 8.  ELIMINAR                   º\n”;
   cout<<“\t\tº 9.  INSERTAR ORDENADO          º\n”;
   cout<<“\t\tº a.  INSERTAR CABEZA        º\n”;
   cout<<“\t\tº b.  INSERTAR FINAL             º\n”;
   cout<<“\t\tº x.  SALIR                      º\n”;
   cout<<“\t\tÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n”;

   gotoxy (30,20);cout<<“SELECCIONE OPCION:”;
   cin>>opl;
   switch(opl)
   {
 case ‘1’ :crear();break;
 case ‘2’ :nuevo(); break;
 case ‘3’ :modificar(); break;
 case ‘4’ :buscar(); break;
 case ‘5’ :eliminarcabeza(); break;
 case ‘6’ :ordenar(); break;
 case ‘7’ :presentar(); break;
 case ‘8’ :eliminar(); break;
 case ‘9’ :insertar_ordenado(); break;
 case ‘a’ :insertar_cabeza(); break;
 case ‘b’ :insertar_final(); break;

 
   }

  }
 while(opl!=’x’);
}
 //PARA EL MANEJO DE LOS PUNTEROS

void crear()

{
   cab=NULL;

   cab=crearNuevo();
   cout<<“INGRESE CABEZA:”;
   cin>>cab->num;
   cab->sig=cab;
  cab->ante=cab;
  cola=cab;
}

void nuevo()
{

   tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE VALOR:”;
  cin>>elem->num;
  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=cab)

  recorrer= recorrer->sig;

  recorrer->sig=elem;
  elem->sig=cab;
  getch();
}

 

void modificar()
{

    clrscr();
    tipoNodo * elem,* nuevo;
    elem=crearNuevo();
    cout<<“INGRESE VALOR QUE SE VA HA MODIFICAR: “;
    cin>>elem->num;
    // elem->sig=NULL;
    tipoNodo * recorrer;
    recorrer=cab;
    while(recorrer->sig == elem)
    cout<<“INGRESE NUMERO:”;
    cin>>nuevo->num;
    recorrer=recorrer->sig;
    recorrer->sig=elem;
    elem->sig=NULL;
}

 

void buscar()
{
   tipoNodo *elem;
   int x;
   cout<<“VALOR QUE VA A BUSCAR:”;
   cin>>x;
   while(elem!=NULL && elem->num!=x)
   {
      elem=elem->sig;
   }

}

 

void eliminarcabeza()
{
    tipoNodo *aux;
    cab=cab->sig;
    aux->sig=NULL;
    free(aux);
}

 

void eliminar()
{
   tipoNodo *aux;
   int n;
   cout<<“INGRESE ELEMENTO QUE VA HA ELIMINAR:”;
   cin>>n;
    if(n==cab->num)
  eliminarcabeza();
    else{
     tipoNodo *ant=cab;
     aux=cab->sig;
     while((aux!=NULL)&&(aux->num!=n))
     {
       ant=aux;
       aux=aux->sig;

     }
     if(aux!=NULL)
     {
 ant->sig=aux->sig;
 aux->sig=NULL;
 free(aux);

     }
     else
       cout<<“NO SE ENCUENTRA:”;

    }
}

 

void ordenar()
{
 // int aux1;
 tipoNodo *aux,*aux1;
 aux=cab;
 while(aux->sig!=NULL)
 {
      aux1=aux->sig;
  while(aux1!=NULL)
  {
   //aux1=aux->sig;
   int naux=0;
   if(aux->num <aux1->num)
   {
    naux=aux->num;
    aux->num=aux1->num;
    aux->num=naux;
   }
   aux1=aux1->sig;
  }
  aux=aux->sig;
 }

       /* aux=crearNuevo();
 tem=crearNuevo();
 aux=cab;
 tem=aux;
 while(aux!=NULL){
  tem=aux;
  while(tem->sig!=NULL){
   tem=tem->sig;
   if(aux->num>tem->num){
    aux2=aux->num;
    aux->num=tem->num;
    tem->num=aux2;
   }
  }
  aux=aux->sig; */
 }
//getch();

 

 

void insertar_ordenado()
{
  tipoNodo *ant;
  tipoNodo *aux;
int n;
 //cout<<“INGRESE NUMERO A ORDENAR:”
// cin>>n;
  if(n>cab->num)
       // insertar_cabeza(n);

  // else
      ant = cab;
      aux = cab->sig;
  while((aux!=NULL) && (n<aux->num))
   {
     ant = aux;
     aux = aux->sig;
   }
   nodo *nuevo;
   nuevo = crearNuevo();
   nuevo->num =n;
   ant->sig = nuevo;
   nuevo->sig = aux;

}
void insertar_final()
{
  tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE EL VALOR AL FINAL:”;
  cin>>elem->num;
  cola->sig = elem;
  elem->ante = cola;
  elem->sig = cab;
  cola = elem;
/*  nodo *recorrer;
  recorrer=cab;
  while(recorrer->sig!=NULL)

    recorrer= recorrer->sig;

  recorrer->sig=elem;
  elem->sig=NULL;  */
 // getch();

}
void insertar_cabeza()
{
 tipoNodo *elem;
  elem=crearNuevo();
  cout<<“INGRESE EL VALOR A INSERTAR:”;
  cin>>elem->num;
  cab->ante = elem;
  elem->sig = cab;
  elem->ante = NULL;
  cab = elem;
}

 
void presentar()
{
  tipoNodo * aux;
  aux = cab;
  for(int c=0;c<=1;c++)
  {
    cout<<” “<<aux->num; aux=aux->sig;
      while(aux!=cab)
      {
 cout<<aux->num;
 aux=aux->sig;
      }
  }

 

 
 /*
  tipoNodo *recorrer;
  recorrer=cab;
  while(recorrer!=NULL)
  {
    cout<<” “<<recorrer->num;
    recorrer=recorrer->sig;
  }
 //  insertar_final();  */
  getch();
}

 

tipoNodo *crearNuevo()

{
   tipoNodo *nodo1;
   nodo1 =(tipoNodo*)malloc(sizeof(tipoNodo)) ;
   if(!nodo1)
   cout<<“No se ha reservado memoria\n”;
   return nodo1; //devuelve la direcc. de la memoria reservada
}

UTPL.eccutpl_Estructura de Datos_Recursividad

ESTRUCTURA DE DATOS CON RECURSIVIDAD

Ejercicios con recursividad de la serie Fibonacci.

Tres distintas soluciones:

//Programa que permite realizar la serie Fibonacci de n numeros.
// Ejercicio con recursividad

#include<iostream.h>
#include<conio.h>
//prototipo
void  funcion1( int n);
//variables globales
int b=1,c=1,f=0;
//funcion principal
void main()
{
 int a;
 clrscr();
 cout<<“ingrese los n numeros e la fibonaci”;
 cin>>a;
 funcion1(a);
 getch();
}
void funcion1(int n)
{
 cout<<f;
 b=c;
 c=f;
 f=b+c;
 if(n>1)
 {
  n–;
  funcion1(n);
 }
}

//Este ptograma es mas optimo que el otro
//Presenta la serie de fibonacci de n Numeros

#include<iostream.h>
#include<conio.h>
void  fibo (int n,int b,int c,int f);
void main()
{
 clrscr();
  fibo(5,1,1,0);
 getch();
}
void  fibo (int n,int b,int c,int f)
{
 cout<<f<<“\n\n”;
 if(n>1)
 {
  fibo((n-1),c,b,(f+c));
 }
 
}
 


//Presenta la serie de fibonacci de dos Numeros

#include<iostream.h>
#include<conio.h>
void  fibo (int n,int f,int aux);
void main()
{
 clrscr();
 fibo(5,0,1);
 getch();
}
void  fibo (int n,int f,int aux)
{
   cout<<f;
   if(n>1)
  fibo((n-1),(f+aux),f);
}

¿Que es una estructura y que es un dato?

¿Que es estructura? 

La estructura es la disposición y orden de las partes dentro de un todo. También puede entenderse como un sistema de conseptos coherentes enlazados, cuyo objetivo es precisar la esencia  del objeto de estudio. Tanto la realidad como el lenguaje  tienen estructura. Uno de los objetivos de la semantica y de la ciencia consiste en que la estructura del lenguaje refleje fielmente la estructura de la realidad.

¿Que es dato?

El dato es una representación simbólica (numérica, alfabética, etc.), atributo o característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero convenientemente tratado (procesado) se puede utilizar en la realización de cálculos o toma de decisiones. Es de empleo muy común en el ámbito informatico

En programacion un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo

Un dato por sàmismo no constituye información, es el procesado de los datos lo que nos proporciona información

Un dato por sí mismo no constituye información, es el procesado de los datos lo que nos proporciona información

Las computadoras: aspectos fundamentales

COMPUTADORA: Una computadora es una colección de recursos incluyendo dispositivos de proceso electrónico, programas almacenados y conjunto de datos que bajo el control de los programas almacenados, de manera automática admite entradas, produce salidas, almacena, recupera y procesa datos, pudiendo también transmitirlos y recibirlos hacia y desde otra computadora.

Unidad central de procesamiento: La Unidad Central de Proceso, CPU, ó simplemente el procesador. Es el componente en una computadora digital que interpreta las instrucciones y procesa los datos contenidos en los programas de computadora. Los CPU proporcionan la característica fundamental de la computadora digital, la programabilidad, y son uno de los componentes necesarios encontrados en los ordenadores o computadores de cualquier tiempo, junto con el almacenamiento primario y las facilidades de entrada/salida. Es conocido como microprocesador  el CPU que es manufacturado con circuitos integrados.  Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los otros tipos de CPU, y hoy en día, el término “CPU” es aplicado usualmente a algún tipo de microprocesador.

Memoria: Circuitos electrónicos para almacenamiento de programas y datos.La memoria puede estar constituida físicamente por:Un conjunto de circuitos electrónicos, en cuyo caso estaremos haciendo referencia a la memoria interna.

Monitor: Pantalla de visualización que se utiliza para presentar las salida desde una computadora.

Impresora: Dispositivo que convierte la salida de la computadora en imágenes impresas.

Teclado: Conjunto de teclas de entrada, contiene las teclas de una máquina de escribir convencional además algunas otras teclas especiales.

Ratón: Es un dispositivo puntero y de dibujo. A medida que se hace rodar sobre el escritorio, en cualquier dirección, el  cursor (puntero) de la pantalla se mueve en forma correspondiente.

Chip: Un chip es un circuito integrado que contiene desde unas docenas hasta varios millones de componentes electrónicos(transistores, resistencias, etc). Los términos chip y circuito electrónico son sinónimos.