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