Ahora tenemos nueva apariencia!! Disfrutala

Ahora el blog ha cambiado radicalmente su apariencia, para mejorar y llegar a ser el más innovador algún día!!.

Ahora actualizando el blog cada día que puedo.

Ahora haciendo mejor el blog, para que puedas encontrar lo que deseas!!!

Próximamente videotutoriales en Youtube!

Hey, ¿Estás preparado? Ahora haré videotutoriales por Youtube para que sigas avanzando en la programación.

sábado, 29 de marzo de 2014

Potenciacion: Algoritmo Resuelto en Pseudocodigo y en C++

Uff, ya pasó más de un día desde que publique el algoritmo en diagrama de flujo de la potenciacion. Ahora, te mostraré su equivalente en C++ y en pseudocodigo. ¿Por qué? Porque siempre es necesario que seas capaz de comprobar si hiciste bien los deberes, y la mejor forma es comparando tu trabajo con la respuesta correcta, de manera que así irás asimilando mejor como se programa.

Bueno, al grano. Aquí está el algoritmo en pseudocodigo.Ah, y tienes que probarlo en Pseint, para ver si te da la salida correcta.

Proceso Potenciacion
Definir n,exponente Como Entero;
Definir resultado Como Entero;
Definir i Como Entero;
Escribir 'Hecho por Jorge Enrique Mesa Mosquera';
Escribir 'Mi blog es http://algoritmosypseudocodigo.blogspot.com';
Escribir 'Ingrese n: ' Sin Saltar;
Leer n;
Escribir 'Ingrese exponente: ' Sin Saltar;
Leer exponente;
i<-1;
resultado<-n;
Si exponente=0 Entonces
resultado<-1;
FinSi
Mientras i<exponente Hacer
resultado<-resultado*n;
i<-i+1;
FinMientras
Escribir 'Resultado: ',resultado Sin Saltar;
FinProceso

Y para finalizar, la respuesta en C++. Es importante notar, que la salida está completamente funcional. Allí la dejo para que hagas un análisis y aprendas mejor la lógica de la progrmación. Si alguna cosa ocurre, no dudes en dejar un comentario, o una pregunta por el chat. Estaré atento al blog.

#include<iostream>
using namespace std;

int main() {
	int exponente;
	int i;
	int n;
	int resultado;
	cout<<"Hecho por Jorge Enrique Mesa Mosquera"<<endl;
	cout<<"Mi blog es http://algoritmosypseudocodigo.blogspot.com"<<endl;
	cout<<"Ingrese n: ";
	cin>>n;
	cout<<"Ingrese exponente: ";
	cin>>exponente;
	i=1;
	resultado=n;
	if (exponente==0) {
		resultado=1;
	}
	while (i<exponente) {
		resultado=resultado*n;
		i=i+1;
	}
	cout<<"Resultado: "<<resultado;
	return 0;
}




viernes, 28 de marzo de 2014

Potenciacion: ¿Cual es su algoritmo?

Introducción al algoritmo

      ¿Que algoritmo veremos hoy? Hoy, hablaremos sobre la potenciación, como hacerla en C++.
¿Por qué? Es indispensable conocerla y cómo implementarla nosotros mismo para no depender de librerías externas.

      La potenciación, como fórmula matemática se define como: "El resultado de multiplicar un numero, llamado base, por si mismo n cantidad de veces, la cual se denomina exponente". A partir de dicha notación matemática exacta, comenzaremos a desglosar como será el algoritmo.

Allí se observa la base y su exponente. Es algo imprescindible para ser considerado potencia

Análisis del problema en busca de soluciones


      Analizando el problema superficialmente, se descubre que necesitaremos un contador que multiplique al numero por si mismo, n cantidad de veces. Por inferencia, deducimos que tendríamos que usar un bucle tipo while o for. (prefiero el Mientras). Pero, hay que considerar dos casos particulares de la potenciacion:

  1. Un número elevado a cero, es 1.
  2. Un número elevado a uno, es el mismo número.
      Para lograr la primera primera regla, es preciso implementar un condicional tipo SI, para detectar al exponente 0. En cuánto a la segunda regla, es necesario inicializar el contador a 1, de manera, que si el programa entra en el bucle con un exponente 1, salga al ser iguales entre ambos.

Solución en Diagrama de Flujo generado por Pseint

      La solución, está hecha en este diagrama de flujo en donde se evidencia el algoritmo en su forma más pura. Para generarlo, use Pseint, un programa de libre descarga que es capaz de ejecutar pseudocodigo. Link para ir a la pagina oficial de Pseint y descargarlo.

      Tu trabajo, como lector de este blog, es encontrar el pseudocodigo en Pseint que usé yo, para hacer esa imagen. Es una tarea de análisis. Ah, y además debes ser capaz de encontrar su equivalente en C++ de forma que tengas el algoritmo en pseudocodigo, en C++, y en diagrama de flujo. En sus tres modalidades.





      

martes, 25 de marzo de 2014

Raiz cuadrada aproximada (Solución en pseudocodigo y en C++)

      Si deseas ver el articulo en donde publico el diagrama de flujo, visita Raiz cuadrada aproximada: Diagrama de flujo.

      Bueno, despúes de una larga espera,.para que ustedes mismo sean capaces de validar su trabajo, les muestro la solución en pseudocódigo y en algoritmo en C++. Es importante que sepas que este fue el codigo que use para generar el diagrama de flujo. Ah, siento no poder resaltar el pseudocodigo como lo hace con C++, es que el script que hace eso no tiene esa opción, algún día se la añadiré.

      En pseudocódigo:

Proceso Raiz_Aproximada
Definir variable_raiz,i,n Como Entero;
Definir n_impar Como Entero;
Escribir 'Hecho por Jorge Enrique Mesa Mosquera';
Escribir 'Mi blog es http://algoritmosypseudocodigo.blogspot.com';
Escribir 'Ingrese un numero: ';
Leer n;
n_impar<-1;
variable_raiz<-0;
Mientras n>0 Hacer
n<-n-n_impar;
variable_raiz<-variable_raiz+1;
n_impar<-n_impar+2;
FinMientras
Escribir 'La raiz aproximada es: ',variable_raiz,' y con excedente: ',n;
FinProceso

      Raiz cuadrada en C++:
//Este es el codigo en C++
//Si usas Pseint, podrás escribir el algoritmo en pseudocodigo para luego
//exportarlo a C++. Asi es mejor y será de mayor aprendizaje

#include<iostream>

using namespace std;

int main() {
	int i;
	int n;
	int n_impar;
	int variable_raiz;
	cout <<"Hecho por Jorge Enrique Mesa Mosquera"<<endl;
	cout <<"Mi blog es http://algoritmosypseudocodigo.blogspot.com"<<endl;
	cout <<"Ingrese un numero: "<<endl;
	cin >> n;
	n_impar=1;
	variable_raiz=0;
	while (n > 0) {
		n=n-n_impar;
		variable_raiz=variable_raiz+1;
		n_impar=n_impar+2;
	}
	cout<<"La raiz aproximada es: "<<variable_raiz<<" y con excedente: "<<n<<endl;
	return 0;
}





      ¿Que hemos aprendido? Has aprendido a trasladar un diagrama de flujo hacia codigo real. Es algo muy indispensable, debido a que, no siempre los algoritmos los hacemos nosotros porque muchos ya fueron inventados hace años, y casi siempre los encontramos en forma de diagrama de flujo. Sencillamente, es un ejercicio para comprender la lógica del programa obviando los detalles menores como los errores de escritura.

lunes, 24 de marzo de 2014

Raiz cuadrada aproximada (Diagrama de Flujo)

      Hoy, para ejercitar el cerebro, probaré que tanto has practicado. Tu tarea es convertir un diagrama de flujo, a pseudocodigo y más tarde a código fuente en C++. Para ello, hoy te regalaré un algoritmo sencillo: La raiz cuadrada por el método de las restas sucesivas.

      Oh!!! ¡¡Que clase de cosa es esa?? Es una forma de obtener la raiz cuadrada de un numero n, restando un numero impar que se incrementa mientras que el resultado sea mayor a cero.

      Es un método bastante sencillo de implementar en un ordenador, y servirá como tarea de pseudocodigo y algoritmos en C++. Ahora comenzaremos a analizar paso a paso que debemos hacer para que nuestro programa funcione. Ahora, a continuación el diagrama de flujo necesario para el algoritmo:

Diagrama de flujo del metodo de raiz cuadrada por restas sucesivas
      
       Oh!! ¿Y ahora qué? Recuerda: Debes convertir este diagrama de flujo a su equivalente tanto en pseudocodigo como en C++. ¿¿Ah, dificil o fácil??

       En el próximo articulo, daré la solución al problema planteado. Bueno, hasta luego, y a romper neuronas se ha dicho!!!


domingo, 23 de marzo de 2014

Nuevo: Ahora mayor interacción social en el blog.

      He estado pensando en añadir gadgets al blog que permitan un chat tipo caja. Y lo he conseguido. ¿Para que agregar una caja de chat al blog?

      Para hacerlo más interáctivo, para formar una comunidad alrededor del blog. Para ello, he visitado la página web de Cbox, y al registrarme me han dado lo necesario para poner su chat en mi blog.

Caja de Chat usando Cbox
      Ahora, si necesitas hablar sobre algoritmos y pseudocodigo, programacion y mucho más relacionado con la informática y los programas, ya tienes la posibilidad de hablar con otros usuarios con intereses similares al tuyo, sin abandonar esta pagina web. Estaré pendiente para responder tus dudas en el mismo instante en que las publicas.

      He dedicado una entrada de esta bitácora digital, porque me ha parecido un avance importante en el diseño de este blog. Es un paso más en el tiempo que tarde o temprano ayudará a mantener en pie a este espacio.

      ¿Por qué he escogido Cbox? Lo he elegido por la simple razón de ser más funcional frente a otros tipos de chats. Permite usuarios sin registración, algo importante ya que permite flexibilidad 

      Es muy versátil y lo mejor, es gratis. No hay que pagar ni un centavo por las caracteristcias básicas, las cuales son más que suficientes para montar un blog. Con este avance, espero haber atinado al éxito. Sólo es cuestión de tiempo para medir que tan exitosa ha resultado esta idea.

      Bueno, a seguir programando algoritmos y a escribir con lápiz o papel nuestro pseudocódigo!! Hasta pronto!! No olvides dejar un comentario o comentar usando la nueva caja de chat del lado derecho.

¿Cómo transcribir un algoritmo a un lenguaje de programacion sin fallar?

      ¿Has escrito tu pseudocodigo muy bien, pero al trasladarlo a la realidad, es decir escribirlo en C++, Java, u otro lenguaje real, no sabes como hacerlo??.

      Entonces, tienes que tomar conciencia y saber que la parte más díficil ya la has hecho. Y siguiendo estás simples reglas será más fácil para ti traducirlo a un lenguaje real:

  • Trata de buscar equivalentes entre lo que haces en pseudocódigo y lo que puedes hacer en un lenguaje real. Por ejemplo: Imprimir variable x (En pseudocódigo) es equivalente a cout << variable x; (En C++) o printf("%s", variable x)
  • Lee tutoriales de programacion en Java, en C++ o cualquiera que sea el lenguaje que necesites. Así irás aprendiendo que capacidades proporciona cada uno.
No importa cual es tu lenguaje de programacion, siempre podrás pasar tu algoritmo a él.


      Y lo mas importante: Lee codigo y trata de entenderlo. Porque de nada sirve que leas un libro gigante sobre el lenguaje que deseas y jamás hayas programado algo en él. Práctica todos los días y aprenderás.

      Recuerda: Un programador debe saber resolver problemas. Lo demás con la práctica vendrá por si sólo.