lunes, 9 de junio de 2014

Tecnologia verde


Las actividades humanas, desde la obtención de una materia prima, hasta el desecho de los residuos generados tras la obtención de un producto tecnológico, pueden tener consecuencias nefastas para la conservación del medio ambiente.

Impacto ambiental directo.
La ejecución de obras públicas (carreteras, pantanos, etc.) y las explotaciones mineras modifican el ecosistema en el que habitan muchas especies animales y vegetales.

Contaminación.
Quizá sea el efecto más apreciable. El incremento en el consumo de energía ha hecho que aumenten considerablemente las proporciones de determinados gases (dióxido de carbono, óxidos de azufre, etc.) en la atmósfera, sobre todo cerca de las áreas industrializadas. 


De bolsa a combustible.

La empresa japonesa Blest Corporation creó una máquina que convierte las bolsas de plástico en aceite para ser utilizado como combustible. Esta máquina no es únicamente para fines industriales, sino que puede instalarse en los hogares. 




Lámparas de bajo consumo.

Las lamparitas de bajo consumo no solo cuidan el medio ambiente, sino también tu bolsillo. Ahorran energía, al utilizar un 75% menos de electricidad que las lámparas comunes. 



Automóvil híbrido.

¿Quieres liberarte de la dependencia de los combustibles fósiles y aportar tu grano de arena al cuidado del planeta? Considera cambiar tu automóvil por un híbrido. Incluso cuando lo utilizas con gasolina gasta menos combustible, ya que al tener un motor más pequeño es más eficiente que un auto tradicional.


Paneles solares.

¿Una fuente de energía limpia que no es demasiado costosa y puede ayudarte a bajar los costos energéticos de tu hogar mientras cuidas el medio ambiente? Los paneles de energía solar.


Avión solar.

El avión Solar Impulse, Este aeroplano no contaminante ya ha realizado vuelos de más de 17 horas de duración y promete ser el futuro de la aeronáutica.



Haciendo agua del aire.

Aqua sciences.
Varios sistemas que permiten crear agua extrayendo el hidrógeno del aire ya están en funcionamiento en diversos puntos del mundo. Ideales para solucionar el problema de la falta de agua en zonas que han sufrido desastres naturales o que carecen de este recurso, estas máquinas llevan esperanza a donde aparentemente no la hay.









viernes, 6 de junio de 2014

ARRAY


¿QUE ES UN ARRAY?

En programacion, una matriz o vector (llamado en inglés array) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).
En principio, se puede considerar que todas las matrices son de una dimensión, la dimensión principal, pero los elementos de dicha fila pueden ser a su vez matrices (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de matrices multidimensionales, aunque las más fáciles de imaginar son los de una, dos y tres dimensiones.
Estas estructuras de datos son adecuadas para situaciones en las que el acceso a los datos se realice de forma aleatoria e impredecible. Por el contrario, si los elementos pueden estar ordenados y se va a utilizar acceso secuencial sería más adecuado utilizar una lista , ya que esta estructura puede cambiar de tamaño fácilmente durante la ejecución de un programa.

Tipos de Array







ARRAY UNIDIMENSIONAL 

Un array de una dimensión (unidimensional), también llamado vector o fila, es un tipo de datos estructurado compuesto de un número determinado de elementos, de tamaño fijo y elementos homogéneos (del mismo tipo). La característica de tamaño fijo se refiere a que el tamaño del array debe ser conocido en tiempo de compilación.
Por ejemplo, si deseamos conservar las puntuaciones de los 50 estudiantes de un examen de informática, se necesita reservar cincuenta posiciones de memoria, dar un nombre al arreglo y a cada uno de los 50 estudiantes asignarles una posición o índice del arreglo.


Arrays unidimensionales: Los vectores

ARRAYS BIDIMENSIONALES

Un array bidimensional (también llamado tabla o matriz) es un array con dos índices. Al igual que los vectores deben ser ordinales. Se declaran de igual manera que los arrays de una dimensión.
Un array bidimensional recoge valores de una tabla de doble entrada. Cada uno de los elementos se identifica y se asigna mediante una variable ($nombre) seguida de dos ([]) que contienen los índices del array.Los índices puede ser escalares -equivaldrían al número de fila y columna que la celda ocuparía en la tabla, o puede ser asociativo que equivaldría en alguna medida a usar como indices los nombres de la fila y de la columna
Un array bidimensional (tabla o matríz) es un array con dos índices, al igual que los vectores que deben ser ordinales o tipo subrango.
Monografias.com




ARRAYS MULTRIDIMENSIONALES 
Los arrays multidimensionales son un estructuras de datos que almacenan los valores en más de una dimensión. Los arrays que hemos visto hasta ahora almacenan valores en una dimensión, por eso para acceder a las posiciones utilizamos tan solo un índice. Los arrays de 2 dimensiones guardan sus valores, por decirlo de alguna manera, en filas y columnas y por ello necesitaremos dos índices para acceder a cada una de sus posiciones. 

Dicho de otro modo, un array multidimensional es como un contenedor que guardara más valores para cada posición, es decir, como si los elementos del array fueran a su vez otros arrays. 

jueves, 5 de junio de 2014

Estructura de mientras


ESTRUCTURA MIENTRAS

WHILE - DO WHILE

Esta estructura nos permite repetir un bloque de instrucciones con una condicion y se repite siempre en cuanto esta condicion sea verdadera, sino no entra al ciclo miestras.
La estructura es la siguiente:

INICIO.
INSTRUCCION 1
MIENTRAS( CONDICION LOGICA) HAGA
INSTRUCCION 2
INSTRUCCION 3
FIN MIENTRAS
INSTRUCCION 4
FIN

El ciclo mientras (while) tiene que tener su final y salirse de el, tiene un limite y su limite es hasta que la condicion ya no se cumpla, osea que sea falsa.

EJEMPLO
:

Hacer un algoritmo que lea 5 numeros y determine la suma entre ellos.

INICIO
ENTERO: N, i, SUMA
i=1
SUMA=0
MIESTRAS(i <=5) HAGA
MOSTRAR( 'DIGITE UN NUMERO')
LEER (N)
SUMA= SUMA+N
i= i+1
FIN MIENTRAS
MOSTRAR ('LA SUMA ES:', SUMA)
FIN

Como vemos en la condicion al principio se cumple, pero como i se va incrementando, al llegar hacer mayor que 5 se sale del mientras y termina la ejecucion.
 Acontinuecion veremos unos ejercicios.

Modificar el anterior algoritmo para que obtenga el promedio de los 5 numeros.

INICIO
ENTERO: N,i, SUMA
REAL: PROMEDIO
i=1
SUMA=0
MIENTRAS (i <=5) HAGA
MOSTRAR ('DIGITE UN NUMERO')
LEER (N)
SUMA=SUMA+N
i=i+1
PROMEDIO=SUMA/5
FIN MIENTRAS.
MOSTRAR ('EL PROMEDIO ES:', PROMEDIO)
FIN

Ejercicios de estructura de condición


1- Hacer un algoritmo y flujograma para saber si un numero es positivo




Flujograma





2-  Hacer un programa para saber si un numero es negativo



Flujograma




3-Hacer un programa que diga si un numero es cero



Flujograma



Guía de trabajo #1





Estructura de condición Si - Entonces - Sino


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

Simples: 

Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma: 

Pseudocódigo:Diagrama de flujo:
Dobles: 

Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: 

Pseudocódigo:Diagrama de flujo:
Donde: 
Si:Indica el comando de comparación 
Condición : Indica la condición a evaluar 
Entonces : Precede a las acciones a realizar cuando se cumple la condición 
Instrucción(es):Son las acciones a realizar cuando se cumple o no la condición 
si no :Precede a las acciones a realizar cuando no se cumple la condición 
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones. 


Múltiples: 
Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma común es la siguiente: 

Pseudocódigo:Diagrama de flujo:
Múltiples (En caso de): 
Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma es la siguiente: 

Pseudocódigo:Diagrama de flujo:
Veamos algunos ejemplos donde se aplique todo lo anterior: 

Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo. Expresarlo en Pseudocódigo y Diagrama de flujos. 
Pseudocódigo:Diagrama de flujo:
Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno aprobó o reprobó el curso. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. 

Pseudocódigo: 

INICIO 
   Not1, Not2, Not 3 :REAL 
   Def: REAL 
   LEA Nota1, Nota2, Nota3 
   Def ß (Not1 + Not2 + Not3) /3 
   Si Def < 3 entonces 
      Escriba “Reprobó el curso” 
   Sino 
      Escriba “Aprobó el curso” 
   Fin-Si 
FIN 

Diagrama de flujo: 


Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.

Diagrama de flujos


Pero ¿qué es un modelo? Un modelo es una representación de una realidad compleja. Modelar es desarrollar una descripción lo más exacta posible de un sistema y de las actividades llevadas a cabo en él.
Cuando un proceso es modelado, con ayuda de una representación gráfica (diagrama de flujo de proceso), pueden apreciarse con facilidad las interrelaciones existentes entre distintas actividades, analizar cada actividad, definir los puntos de contacto con otros procesos, así como identificar los subprocesos comprendidos. Al mismo tiempo, los problemas pueden ponerse de manifiesto claramente dando la oportunidad al inicio de acciones de mejora.

Reglas para la construcción de un diagrama de flujo


1: Todo programa de flujo debe tener un inicio y fin
2. Las lineas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas, verticales y horizontales.
FIND.png

3. Todas las lineas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas. la conexión puede ser a un símbolo que exprese lectura, proceso, decisión, impresión, conexión o fin de diagrama.

4. El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda a derecha

5. La notación utilizada en el diagrama de flujo debe ser independiente del lenguaje de programación. La solución presentada en el diagrama puede escribirse posteriormente y fácilmente en diferentes lenguajes de programación.

6. Es conveniente cuando realizamos una tarea compleja poner comentarios que expresen o ayuden a en tender lo que hicimos.

7. Si el diagrama de flujo requiriera mas de una hoja para su construcción, debemos utilizar los conectores adecuados y enumerar las paginas convenientemente.

Algoritmo con Pseudocodigo



¿Pseudocódigo ?

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizara para la codificación del mismo. 

Las principales características de este lenguaje son: 

* Se puede ejecutar en un ordenador 
* Es una forma de representación sencilla de utilizar y de manipular. 
* Facilita el paso del programa al lenguaje de programación. 
* Es independiente del lenguaje de programación que se vaya a utilizar. 
* Es un método que facilita la programación y solución al algoritmo del programa


Por ejemplo supongamos que la nota para aprobar un examen es de 60. El enunciado en Pseudocódigo sería:
Si calificación >= 60 entonces
Mostrar "Aprobado"
FinSi
El mismo enunciado se puede escribir en C++ como:
if ( calif >= 60 )
cout << "Aprobado";
Nótese que la operación de trasladar el Pseudocódigo a código fuente, se lo realiza con el mínimo esfuerzo, no se necesita de un mayor análisis.
Llevando el Ejemplo a Pseudocódigo.
Se puede refinar más aun el algoritmo:
Inicializar variables.
Inicializar los aprobados (aprobados) en 0
Inicializar los reprobados (reprobados) en 0
Inicializar el número de estudiantes (estudiantes) en 0
Introducir las primeras 10 calificaciones y contar los aprobados y los reprobados.
Mientras (while) el contador estuantes es menor o igual que 10 entonces
Introducir el siguiente resultado de examen
Si el estudiante aprobó
Sumar 1 a aprobados
Si no
Sumar 1 a reprobados
FinSi
Sumar 1 al contador estudiantes
FinMientras
Imprimir un resumen de los resultados de exámenes y decidir si se debe aumentar o no la colegiatura.
Imprimir el número de aprobados
Imprimir el número de reprobados
Si estudiantes es más 8 entonces
Imprimir "Aumentar la colegiatura".
FinSi

miércoles, 4 de junio de 2014

Algoritmo


¿Un algoritmo es?
Un algoritmo es un procedimiento a seguir, para resolver un problema en términos de:
1. Las acciones por ejecutar y el
2. El orden en que dichas acciones deben ejecutarse
Un algoritmo nace en respuesta a la aparición de un determinado problema. Una algoritmo esta compuesto de una serie finita de pasos que convergen en la solución de un problema, pero además estos pasos tienen un orden específico.
Entenderemos como problema a cualquier acción o evento que necesite cierto grado de análisis, desde la simpleza de cepillarse los dientes hasta la complejidad del ensamblado de un automóvil. En general, cualquier problema puede ser solucionado utilizando un algoritmo, en este sentido podemos utilizar los algoritmos para resolver problemas de computo.
Un algoritmo para un programador es una herramienta que le permite resaltar los aspectos más importantes de una situación y descartar los menos relevantes. Todo problema de cómputo se puede resolver ejecutando una serie de acciones en un orden específico.
Por ejemplo considere el algoritmo que se elaboraría para el problema o situación de levantarse todas las mañanas para ir al trabajo:
1-Salir de la cama
2-quitarse el pijama
3-ducharse
4-vestirse
5-desayunar
6-arrancar el automóvil para ir al trabajo o tomar transporte.


¿Para que sirve un algoritmo?

Su importancia radica en mostrar la manera de llevar a cabo procesos y resolver típica mente problemas matemáticos (o de otro tipo). Al igual que las funciones matemáticas, los algoritmos reciben una entrada y la transforman en una salida ("efecto caja negra").

 Sin embargo, para que un algoritmo pueda ser considerado como tal, debe ser determinista (definido), finito y eficiente. Por eficiente se entiende que las instrucciones encuentran la solución en el menor tiempo posible; finito implica que tiene un determinado número de pasos, es decir, que termina; y determinista, que si se sigue el mismo proceso más de una vez se llega siempre al mismo resultado. 

ejemplos
Algoritmo para cambiar foco de lampara de una mesa:
1-Inicio (lampara)
2-Desconctar la lampara
3-Retirar el foco
4-Sacar el foco nuevo del empaque
5-Fin

Al realizar una suma:
1-Inicio
2- Pensar en los numeros
3-Escribir los numeros
4-sumar los numeros
5-resultado

6-fin

¿QUE ES LÓGICA?


¿La lógica es?
 Es la forma correcta de llegar a la respuesta equivocada pero sintiéndote contento contigo mismo.

¿Para que sirve la lógica?La lógica sirve para explicar fenómenos de la vida cotidiana, basándose en la razón como principal interviniente en este proceso; el pensar lógicamente ayuda a el hombre a interrogarse por el funcionamiento de todo lo que nos rodea, la lógica sirve para argumentar y es de cierta manera un pensamiento o una idea que nos fluye por una acción que realizamos en nuestra vida diaria. 
En esta formación usted podrá desarrollar procesos de trabajo tales como uso de aplicaciones de tipo general o específico, diseño de sistemas y bases de datos, así como el manejo de redes y la lógica computacional para plantear soluciones a problemas relacionados con la informática.
Justificar a ambos ladosLas  Programación es vital para entender que la elaboración del software requiere que el ingeniero tenga un pensamiento lógico, razonado y sistemático, para plasmar dichos procesos de uso cotidiano en sentencias entendibles por la computadora y, por ende, la utilización de ésta como un medio electrónico para realizar diferentes tareas.


Ejercicios de lógica

1. Silencio: Si Ángela habla más bajo que Rosa y Celia habla más alto que Rosa, ¿habla Ángela más alto o más bajo que Celia? 

 2. La nota media: La nota media conseguida en una clase de 20 alumnos ha sido de 6. Ocho alumnos han suspendido con un 3 y el resto superó el 5. ¿Cuál es la nota media de los alumnos aprobados?

 3. Los cuatro atletas: De cuatro corredores de atletismo se sabe que C ha llegado inmediatamente detrás de B, y D ha llegado en medio de A y C. ¿Podría Vd. calcular el orden de llegada?

 4. Seis amigos de vacaciones: Seis amigos desean pasar sus vacaciones juntos y deciden, cada dos, utilizar diferentes medios de transporte; sabemos que Alejandro no utiliza el coche ya que éste acompaña a Benito que no va en avión. Andrés viaja en avión. Si Carlos no va acompañado de Darío ni hace uso del avión, podría Vd. decirnos en qué medio de transporte llega a su destino Tomás.


5. Los cuatro perros: Tenemos cuatro perros: un galgo, un dogo, un alano y un podenco. Éste último come más que el galgo; el alano come más que el galgo y menos que el dogo, pero éste come más que el podenco. ¿Cuál de los cuatro será más barato de mantener?.

 6. Tenis de categoria: En un partido del prestigioso torneo de tenis de Roland Garros se enfrentaron Agasy y Becker. El triunfo correspondió al primero por 6-3 y 7-5. Comenzó sacando Agasy y no perdió nunca su saque. Becker perdió su servicio dos veces. Agasy rompió el servicio de su rival en el segundo juego del primer set y, ¿en qué juego del segundo set? 

 7. Serpientes marinas: Un capitán en el Caribe fue rodeado por un grupo de serpientes marinas, muchas de las cuales eran ciegas. Tres no veían con los ojos a estribor, 3 no veían nada a babor, 3 podían ver a estribor, 3 a babor, 3 podían ver tanto a estribor como a babor, en tanto que otras 3 tenían ambos ojos arruinados. ¿Cuál es el mínimo número de serpientes necesarias para que con ellas se den todas esas circunstancias? 

 8.El paro aumenta: Con motivo de realizar un estudio estadístico de los componentes de una población, un agente analizó determinadas muestra de familias. El resultado fue el siguiente: 
1) Había más padres que hijos. 
2) Cada chico tenía una hermana. 
3) Había más chicos que chicas. 
4) No había padres sin hijos. 
¿Qué cree Ud. que le ocurrió al agente? 

 9. Partido de tenis: Santana ganó a Orantes un set de tenis por 6-3. Cinco juegos los ganó el jugador que no servía. ¿Quién sirvió primero? 


10. Caballos: El caballo de Mac es más oscuro que el de Smith, pero más rápido y más viejo que el de Jack, que es aún más lento que el de Willy, que es más joven que el de Mac, que es más viejo que el de Smith, que es más claro que el de Willy, aunque el de Jack es más lento y más oscuro que el de Smith. ¿Cuál es el más viejo, cuál el más lento y cuál el más claro? 
En ocasiones, ciertas personas se encuentran en una situación crítica, y sólo por su agudeza e inteligencia pueden salir de ella. 


Soluciones a los ejercicios de lógica:

1. Silencia: Más bajo. 

2. La nota media: Ocho. 

3. Los cuatro atletas: B-C-D-A. 

4. Seis amigos de vacaciones: En coche. 

5. Los cuatro perros: El galgo. 

6. Tenis de categoría: En el juego número once. 


7. Serpientes marinas: Había 3 serpientes totalmente ciegas y 3 con ambos ojos sanos. 

8. El paro aumenta: El agente pasó a engrosar la lista de parados, por incompetente, al haber llegado a la conclusión primera de que había más padres que hijos. 


9. Partido de tenis: Quienquiera que sirviese primero sirvió cinco juegos, y el otro jugador sirvió cuatro. Supóngase que quien sirvió primero ganó x de los juegos que sirvió, e y del resto de los juegos. El número total de juegos perdidos por el jugador que los sirvió es, entonces, 5-x+y. Esto es igual a 5 (se nos dijo que la que no sirvió ganó cinco juegos); por tanto, x=y, y el primer jugador ganó un total de 2x juegos. Porque sólo Santana ganó un número par de juegos, él debió ser el primero en servir. 

10. Caballos: El más viejo el de Mac, el más lento el de Jack y el más claro el de Smith.