sábado, 29 de octubre de 2011

Leer más...

martes, 18 de octubre de 2011

Publicación Notas Segundo corte

CABRERA B. CARLOS A. 20440519770 3.5
 GONZÁLEZ R. SERGIO A. 20441117360 3.5
 HENAO G. JORGE E. 20441115888 5.0
 MARTÍN G. FRANKY R. 20441115459 3.5
 ROJAS S. ANDRES F. 20441112498 3.0
Leer más...

jueves, 6 de octubre de 2011

En memoria de Steve Jobs


 
En memoria de Steve Jobs, una frase escrita por el: "Tu tiempo es limitado, no lo gastes viviendo la vida de otro. No te dejes atrapar por dogma - que significa vivir siguiendo el pensamiento de otro - No dejes que el ruido de las opiniones de los demás ahogue tu propia voz. Y ten el coraje de seguir tu corazón y tu intuición. Ellos de alguna manera, ya saben lo que tú quieres llegar a ser. Todo lo demás es secundario" - Steve Jobs
Leer más...

Educacion gratuita para todos! No a la ley 30, no a la reforma neoliberal de Santos!

Leer más...

Taller de Arreglos

A medida que avanzan con la materia pues vamos viendo conceptos nuevos y que se pueden aplicar tanto para
- Disminuir lineas de codigo
- Mas claridad y criterio a la hora de programar
- Obtener una “idea” de como un problema se puede resolver de diversas maneras

¿ Qué es un arreglo ?

Un arreglo ó vector es un conjunto de variables que poseen el mismo nombre y el mismo tipo de dato con la unica diferencia que está ubicada en una posicion diferente.

¿ Cómo es su sintaxis ?
Pues un arreglo debe ser declarado asi:
tipo de dato nombre del arreglo [ número de variables que se quiere tener ] ;
Llevado a un ejemplo tangible seria: int edad [ 19 ];

Eso quiere decir que tendremos 20 variables llamadas edad que son de tipo entero ( int ).

¿ Pero qué es eso de que int edad [ 19 ] tiene 20 variables si yo veo 19 ?

Bien ese es una tipica pregunta, porque es muy cierto ¿ Por qué ponemos 19 si queremos 20 ? , la respuesta es porque la maquina comienza a contar desde el cero ( 0 ).

Ejemplo:
¿ Cuántos dedos tengo en la mano ? -> 10 ( me responderia una persona )
¿ Cuántos dedos tengo en la mano ? -> 9 ( me responderia una maquina )
Porque la persona comienza a contar desde uno ( 1 ), y la maquina desde cero ( 0 ).
Otro ejemplo, voy a un baño y veo a 2 personas entonces:
- Para mi ( como persona ) que cuento desde el 1 hay dos personas, osea:
persona 1 y persona 2 —> (persona 1 + persona 2) = 2 personas
- Pero para el lenguaje de programacion ( como maquina ) que cuenta desde el 0 hay 2 también, pero contadas desde el cero, osea:
persona 0 y persona 1 —> (persona 0 + persona 1) = 2 personas
Eso es explicandolo de manera didactica, pero bueno si bien es cierto quiza a unos ya les habran dado la regla general
aquella regla dice que: ” Los arreglos van de la posicion cero a la posicion n-1( donde n es la cantidad total de variables que queremos tener )
Y eso es lo mismo que se explica de manera mas didactica, vamos con un ultimo ejemplo:
Si quiero 5 caramelos entonces n=5 y el concepto dice que los arreglos van de 0 hasta n-1. Por lo tanto lo unico que hacen es reemplazar valores:
n-1 -> 5-1 —> 4. Entonces mi arreglo caramelos va a ser asi: int caramelos [4].

¿ Cuál es su uso ?
Como está en el concepto es un conjunto de variables es decir que en un arreglo puedo tener N variables y ahorrarme estar declarando esas N variables manualmente, por ejemplo:

Declarar: int n1,n2,n3,n4,n5,n6,n7,n8;

Es lo mismo que declarar: int n[7];

como ven se ahorra mucho al hacerlo, y se ve un mejor criterio a la hora de programar ;)

Ahora vamos a hacer un ejercicio para plasmar los conceptos en un programa, vamos a ello:

Hacer un programa que pida 12 numeros en orden y que muestre de los 12 numeros solo el tercero,sexto,decimo.

#include

#include
main()
{
int x,numero[11];
cout<<“\n Ingrese los 12 numeros:\n”;
for (x=0; x<=11; x++)
{
cout<<“numero “<“: “;
cin>>numero[x];
}
cout<<“\n Tercer numero: “<2];
cout<<“\n Sexto numero: “<5];
cout<<“\n Decimo numero: “<9];
getch();
}
- linea 1 – 2: la cabecera y libreria ***
- linea 3: funcion principal ***
- linea 4 – 16: inicio y fin del programa ***
- linea 5: declaramos variables ***
Aqui podemos ver que se ha declarado dos variables:
x -> variable para el for
numero[11] -> arreglo de 12 variables llamadas numero
y ambas estan bajo el tipo de dato int, asi que van a llevar datos enteros.
- linea 6: recurso ” cout ” ***
- linea 7: instruccion repetitiva: ” for ” ***
Con la variable x declarada como entera al comienzo, vamos a hacer dos acciones 12 veces:
- Nuestra primera accion será mostrar un mensaje: ” Ingrese el numero x ” ( donde x va a ir cambiando cada ves que se repita el “for” )
Puesto a que x inicialmente tiene cero ( 0 ), lo podemos ver en la definicion del for cuando ponemos (x=0; x<=11; x++)
Ahi decimos que x tendra un valor inicial de cero y llegará hasta 11 ( porque de cero a once hay 12 numeros y eso queremos “12 numeros” ), y va a ir de 1 en 1.
Bien entonces cuando mostremos: “ingrese el numero x“,
en la primera vez dirá: “ingrese el numero 0“,
en la segunda: “ingrese el numero 1” y asi sucesivamente…
La otra acción que debemos realizar dentro del “for” será pedir el numero, lo veremos con mas detalles mas abajo.
- linea 8 – 11: inicio y fin del ” for ” ***
- linea 9: recurso ” cout ” ***
Aqui es lo que les decia antes, sobre como se va a mostrar el incremento ;)
- linea 10: recurso ” cin ” ***
Bien, ahora sabemos de sobra como ingresar variables pero con arreglos algunos se pueden confundir, por eso voy a explicarlo mas detalladamente para que se entienda bien lo que se va a hacer en ésta linea.

Como sabemos para pedir un dato se usa el recurso ” cin ” y antes lo haciamos por ejemplo de ésta manera:
cin >> numero1;

Bien, ahora como ya no estamos trabajando con variables solitarias sino con un conjunto de variables es decir un arreglo, debemos saber que en el caso de “numero” nosotros tenemos 12 ( con el mismo nombre y tipo ), y asi como les decia antes seria lo mismo que poner doce lineas asi:
cin>>numero1;
cin>>numero2;
cin>>numero3;
cin>>numero4;
y asi sucesivamente hasta pedir el numero12, pero eso NO vamos a hacer porque existen los arreglos que nos facilitan la vida evitandonos el estar declarando muchas variables para mas de usarlas una vez.. para ello tenemos nuestro numero [11]
Y asi mismo eso quiere decir que tengo un numero1,numero2,numero3,…….,numero12 pero no de manera individual sino en conjunto y se eso se denota por la posicion ya que poseen el mismo nombre y tipo, solo las podemos diferenciar por su posicion:
numero[0],numero[1],numero[2],numero[3],numero[4],numero[5],……….,numero[11]
Y si se fijan en el “for” la variable x va a ir incrementandose desde 0 hasta 11 de 1 en 1. Entonces podemos usar ese incremento para indicarle la posicion del arreglo en la que estamos pidiendole que ingrese el dato, de ésta manera:
- Cuando inicia el for, x vale cero entonces pedimos: numero [x] que equivale a pedir numero [0]
- Luego el for incrementa en 1, x vale 1 ( 0+1 ) entonces pedimos: numero [x] que equivale a pedir numero [1]
- Luego el for incrementa en 1, x vale 2 ( 1+1 ) entonces pedimos: numero [x] que equivale a pedir numero [2]
- Luego el for incrementa en 1, x vale 3 ( 2+1 ) entonces pedimos: numero [x] que equivale a pedir numero [3]
Y asi sucesivamente hasta llegar a que x=11 y se pide: numero [11] ese seria el ultimo. ( ya que queriamos 12 y de cero a once hay 12 ).
- linea 12,13,14: recurso ” cout ” ***
Como en el enunciado nos pedian que mostremos los que estan en la posicion 3 , 6 y 10 pues vamos a mostrarlos
y como ya venimos viendo seria:
* Para la posicion 3 —-> numero[2] ( porque va de cero a n-1 es decir de cero a 3-1 )
* Para la posicion 6 —-> numero[5] ( porque va de cero a n-1 es decir de cero a 6-1 )
* Para la posicion 10 —-> numero[9] ( porque va de cero a n-1 es decir de cero a 10-1 )
- linea 15: pausando el programa ***
Muy bien esta es la parte bàsica de lo que debemos saber sobre arreglos para realizar eficientemente muchos ejercicios donde nos piden variedad de variables. Cualquier duda/sugerencia/comentario hagalo saber el taller o en este Blog.
Leer más...

Grupo de Maperos 2011

Taller OpenStretMap Octubre 2010

Lógica Computacional e Introducción a la Programación

Libro de Lógica de Programación

Mapa

Visita Tecnológica Universidad de Antioquia

Taller de SIG Libre en Neiva Nov.28/2009

Preparese para las visitas tecnológicas 2010

Cholupa Visita Tecnológica a Medellín U de Antioquia

Registro

Lógica Computacional

Lógica Computacional