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.

domingo, 13 de abril de 2014

Contar cuantos elementos tiene un array

      Mientras viajaba por diversos foros de programación, encontré a alguien, quizás un joven estudiante de informática como yo, que necesitaba un código que fuera capaz de conocer cuantos elementos tiene un array.

      Por eso, decidí hoy, responder a su pregunta, con un codigo capaz de hacerlo. Estoy seguro que a ustedes también podría servirles, en el caso de que inicializen a un array con valores podrán contar cuantos valores ingresaron usando este algoritmo en C++;

///Hecho por Jorge Mesa

#include <iostream>

using namespace std;

int array[] = {3, 5, 9};

int main()
{
    cout<<"Hecho por Jorge Enrique Mesa Mosquera"<<endl;
    cout<<"Mi blog es http://algoritmosypseudocodigo.blogspot.com"<<endl;
    cout<<"Codigo que es capaz de calcular cantidad de elementos de un array" << endl;

    ///Array con elementos.
    int array[] = {3, 5, 8, 9, 1, 0};

    int tamano_del_tipo_de_dato; ///Ej. Tamaño de un Int (4 bytes), de un Char (1 byte)
    int tamano_del_array; ///Aplica sizeof al array
    int cantidad_elementos;

    ///Obtenemos el tamano de un int y del array usando sizeof.
    tamano_del_array = sizeof(array);
    tamano_del_tipo_de_dato = sizeof(int);

    ///Para calcular la cantidad de elementos
    ///Dividimos el tamano del array, entre el tamano de su tipo de dato, por ejemplo enteros.
    cantidad_elementos = tamano_del_array / tamano_del_tipo_de_dato;

    cout << endl;
    cout << "Cantidad de elementos: " << cantidad_elementos << endl;

    return 0;
}

       El codigo no necesita mayor explicacion, porque considero que está bien comentado, si alguna cosa, no duden en dejarme un comentario, estaré pendiente de todo lo nuevo que ocurra. Algo importante, que debes notar, es que el array fue inicializado, es decir, le otorgaron valores. De allí radica la importancia de saber cuantos elementos le diste.

Los arrays son imprescindibles en programacion. En algun momento los usarás!!

      En otra oportunidad, dedicaré un artículo a enseñar más sobre los arrays y sus particularidades intrinsecas, que más tarde veremos, en otro capitulo de algoritmos y pseudocodigo!!. Hasta luego.

miércoles, 9 de abril de 2014

Nuevo algoritmo: Dividir en cifras

     
Cifras es lo que vas encontrar!!
Hoy, te enseñare el algoritmo de como dividir en cifras. Aquí se observa la importancia de los comentarios en el codigo para explicarlo. Así que no es necesario que yo intervenga, si el mismo fuente es capaz de hablar por si mismo.

       Puedes reutilizarlo si deseas, siempre y cuando me colabores compartiendo el post por los medios que puedas!!.

#include <iostream>
#include <math.h>

using namespace std;

int dividir_en_digitos(int numero){
    int divisor = 10;
    int residuo = 0;
    int digito = 0;
    int cifras_descubiertas = 0;

    cout << "numero a dividir: " << numero << endl;

    ///Usa este bucle para determinar cuantas cifras posee el numero.
    while(residuo != numero){

        residuo = numero % divisor;

        divisor = divisor * 10;

        cifras_descubiertas++;

    }


    cout << "cifras descubiertas: " << cifras_descubiertas << endl;

    ///Se le resta uno a la cifras descubiertas y se eleva 10 a la n

    divisor = 10;
    divisor = pow(divisor, (cifras_descubiertas - 1));
    cout << "divisor: " << divisor << endl;

    ///numero inicial entre divisor
    ///cociente es digito.
    ///residuo se vuelve numero
    while(cifras_descubiertas != 0){

        ///El cociente son Digitos de izquiera a derecha
        digito = numero / divisor;

        ///El residuo se convierte en el numero
        residuo = numero % divisor;
        numero = residuo;

        ///El divisor disminuye
        divisor = divisor / 10;

        cout << "digito: " << digito << endl;

        cifras_descubiertas--;

    }


}

int main()
{

    int numero;

    cout << "Hecho por Jorge Mesa." << endl;
    cout << "Visita mi blog: http://algoritmosypseudocodigo.blogspot.com/" << endl;
    cout << "Ingrese un numero para mostrarlo separado en digiros: ";
    cin >> numero;

    dividir_en_digitos(numero);
    return 0;
}



      En el próximo capítulo de esta historia de algoritmos y pseudocodigos, verás la contrapartida de este codigo en C++, en pseudocodigo o en diagrama de flujo, para que tus ojos se vayan adaptando!!.

lunes, 7 de abril de 2014

Un cambio positivo: Una nueva plantilla

      Cada día de mi vida, cada vez que veía a mi blog, siempre note algo que estaba mal: Su apariencia era igual a cualquier otro en la red. Es algo que me disgustó desde un principio, porque mi contenido de la mejor calidad no se merecía tener una apariencia por defecto.

      Ahora, he comenzado el proceso para dotar de una personalidad única e irrepetible a mi blog. Porque ya no basta con contenidos de alta calidad, también necesito un apariencia única que sea reconocible por el lector.

      Para cambiar esa situación, y lograr que mi blog de algoritmos y pseudocodigo sea más original, decidí un buen día, en una noche de insomnio fuerte y persistente, buscar por internet como lograr que la apariencia de mi blog cambiara radicalmente. Y encontré un sitio que alberga plantillas para Blogger, muy genial. Se llama BTemplates.

     
Un sitio grandioso, en donde hay bastantes plantillas para escoger!! 100% recomendado.

      Ya he comenzado a implementar la plantilla en el blog, como habrás notado seguramente. Por eso pido disculpas a los lectores por la breve ausencia por unos días. Es que estaba preparando que plantilla usaría y como la personalizaré. Ahora los algoritmos y pseudocodigos, se verán mucho mejor!!.

      Este es un gran paso para el blog, y espero que Dios bendiga este blog. He ido paso a paso cambiando los menús, para hacer que los articulos antiguos aún puedan ser accedidos fácilmente. Con una plantilla de este tipo, podrás estar siempre informado de todos los articulos sin importar su fecha de publicacion.

      Deja un comentario, señalando tu opinión.!! Hasta luego!!.

lunes, 31 de marzo de 2014

Mi blog, y su campaña de crecimiento

      En mi vida como bloguero, ahora más que nunca había considerado la promoción del blog. Es algo fundamental para tener éxito, y ser reconocido por los demás. Para ello, he estado en una meditación profunda para determinar cuales serán las estrategias para que mi blog sobre algoritmos y pseudocodigo sea más conocido por las personas. Tanta información en este blog no debe perderse. XD.

      Bueno, para comenzar, he creado mi propio eslogan en un diagrama de flujo, de manera que quien vaya navegando por la red pueda reconocer quien es el dueño de esta bitácora.


      Es un eslogan que espero que tenga éxito, y que sea un buque insignia de mi blog. Para ello, resaltaré brevemente sus características:

  • Es sencillo y fácil de recordar.
  • Es original: ¿A quien se le había ocurrido usar un diagrama de flujo como insignia del blog?
  • Es intuitivo y muy ilustrativo: Porque los algoritmos siempre usan diagrama de flujo en cualquier publicacion.
      Aunque sea algo no tan importante, ni orientado a la enseñanza, considero que hablar sobre esa imagen es algo que marcará el futuro. Pienso que algún seré capaz de ponerlo en una pagina de facebook. Tarde o temprano, con la ayuda de Dios, este blog será un éxito!!

      Bueno, hasta la próxima, y gracias por leerme. Te espero mañana en mi próximo post sobre algoritmos y pseudocodigo!!.

domingo, 30 de marzo de 2014

Ahora, en proceso de crear tutoriales

He estado pensando en que, tarde o temprano tendré que comenzar un video canal en Youtube para enseñar programacion.
Por ahora, o al menos al día en que redacte este articulo no he comenzado con esa idea, aunque no abandonaran mi mente.
¿Te imaginas ver un video canal que diga " algoritmos y pseudocodigo "? Sería genial. Ya estoy en proceso de crear el contenido y ya estoy buscando los programas para grabar video.
¿Preferîas mi voz o una tipo loquendo (robotica como anonymous)?

Algoritmo: Conviertiendo Calificaciones numericas a Letras ¿Habrás aprobado el examen con una A?

Calificaciones númericas: Enunciado del Problema

      Hola, en este post, hablaremos sobre como convertir una calificación numérica, como un 20, 19, 15, 07, a una letra como una A, B, C, D hasta E. Para ello, es preciso, conocer el siguiente enunciado:

      Un algoritmo que permita convertir calificaciones numéricas, según la siguiente tabla:
A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D = 10, 11 y 12, E = 1 hasta el 9. Se asume que la nota está comprendida entre 1 y 20.

Ahora, la solución en diagrama de flujo

      Y para completar, el diagrama de flujo del algoritmo para que seas capaz de auditar el pseudocodigo por ti mismo. Vamos, sólo es cuestión de escribir el mismo pseudocodigo de arriba, en la ventana del Pseint (programa para ejecutar pseudocodigo) y luego ya verás como genera por sí mismo el diagrama correspondiente.



      Allí está el pseudocodigo en forma de diagrama de flujo, aunque no se vea muy bien porque no pude pasar bien el interprete de Pseint. Es impresionante que dicha herramienta no sea capaz de producir apropiadamente el diagrama, a pesar de que ya lleva uno años en encima. Debería unirme como colaborador del proyecto a ver si puedo reparar unos cuantos errores. XD.

Ahora, la solución en pseudocódigo

      Para solucionar el problema, es posible inferir que requeriremos de muchos condicionales if, que sean capaces de comprobar si el valor de la nota se encuentra en el rango que permite cada letra, y en consecuencia asignarle un valor en letras. Para ello, aqui te presento el algoritmo que necesitas en forma de pseudocodigo:

(Pseudocodigo 100% fiable, ya depurado)

Proceso Calificaciones
Definir calificacion_a_leer como Entero;
Escribir Sin Saltar "Ingrese calificacion en valor numerico: ";
Leer calificacion_a_leer;
Si (calificacion_a_leer = 20) || (calificacion_a_leer = 19) Entonces
Escribir Sin Saltar "Su nota: ", "A  (Brillante)";
FinSi
Si (calificacion_a_leer > 15) && (calificacion_a_leer < 19) Entonces
Escribir Sin Saltar "Su nota: ", "B  (Sobresaliente)";
FinSi
Si (calificacion_a_leer > 9) && (calificacion_a_leer < 16) Entonces
Escribir Sin Saltar "Su nota: ", "C  (Regular)";
FinSi
Si (calificacion_a_leer < 10) Entonces
Escribir Sin Saltar "Su nota: ", "E  (No muy bueno)";
FinSi
FinProceso

      En otra ocasión, mostraré su equivalente en C++, por si alguien le interesa.


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;
}