Sentando bases de programación

Hace algunos días atras estuve ayudandole a mi cualte el yazpik con un programa en perl que le habian encargado, y pues este programa utilizaba unos metodos llamados Push y Pop (Meten y sacan respectivamente un elemento de una pila), de los cuales creo que no teniamos la mas minima idea de que hacian y mucho menos como funcionaban internamente, pero lo resolvimos. Después de eso he pasado varios días tratando de comprender como trabajan la listas enlazadas (Listas simples) y aunque en la carrera debí haberlo hecho creo que no fue así, creo que nunca se profundizo en el tema a pesar de ser tan útiles. Es importante comprender como es el proceso de direccionamiento a memoria con apuntadores (Referencias) a la hora de estar programando, ya que esto nos permite declarar estructuras complejas que permiten variar su tamaño dependiendo de cómo se vaya necesitando dentro del programa y nos facilitan la programación. Este es el caso de las Listas y es por ello que considero que es importante dedicarles tiempo para poder entenderlas.

Estas estructuras de datos resultaron ser muy abstractas para mi, pero también muy interesantes; alguna vez escuche en una edición pasada del CONSOL un comentario por parte Gabriel Guerrero (el cual considero uno de los más grandes promotores de la programación en México) que decía: hay que remontarse a las bases de la programación para poder llegar a ser un buen programador (algo así) y al parecer tiene toda la razón, creo que mí buen amigo Federico Mena pretende precisamente enseñarme eso en este proceso de Enseñanza-Aprendisaje.


Representación grafica de una lista enlazada.

El código que utilice en el desarrollo de un modulo de mi programa y que me distrajo y frustro por varios días es el siguiente:


using System;

public class Pila {
	class Nodo {                      //Representa a un objeto nodo
		public Tortuga tortuga;   //dentro de la pila. 
		public Nodo siguiente;
	}

	Nodo inicial; // Cabecera de la pila.

	//Constructor
        public Pila () 
	{
		inicial = null;
	}

	//Introduce un nuevo elemento a la pila
        public void Push (Tortuga t) 
	{
		Nodo nod;
		nod = new Nodo();
		
		nod.tortuga = t;
		nod.siguiente = inicial;
		inicial = nod;
		
	}

        // Saca el ultimo elemento de la pila
	public Tortuga Pop () 
	{
		Tortuga aux;
		
		aux = inicial.tortuga;
		inicial = inicial.siguiente; 
		return aux;                   
		
	}
}

Este código depende de otros modulos así es que si intentan compilarlo no jalará, lo importante es ver los métodos Push y Pop para saber como trabajan con las Pilas y listas en C-Sharp.

Bookmark the permalink. RSS feed for this post.

One Response to Sentando bases de programación

Ender dijo...

Hola, me parece muy bien que postees ondas de programación en tu blog, muy bien que le estés entrando al direccionamiento dinámico, creo que es algo para lo que C y muchos de los lenguajes que de èl provienen se pintan solos (tengo que aclarar que nunca he utilizado Perl).

El siguiente salto es empezar a trabajar con árboles que funcionan de una manera muy parecida pero con enlaces dobles (binarios) o múltiples.

Este tipo de herramientas (Listas y Árboles) son estrcuturas de datos que optimizan el espacio en memoria y que no limitan el número de elementos que se pueden meter. Los arreglos son cosas muy rígidas y no deberían de usarse en programación de cierto nivel, está chido que comiences a entrarle a esto.

Saludos, del miembro del tocheta team que se había mantenido en las penumbras.

Con tecnología de Blogger.

Search

Swedish Greys - a WordPress theme from Nordic Themepark. Converted by LiteThemes.com.