Recordando C++

Estaba en una de esas madrugadas en las que me quedo web-eando, leí­a unos artí­culos en un par de blogs, algo de Motorola Modding y respondia algunas preguntas en un par de foros… de repente una amiga en el msn messenger me pide ayuda con un programa en C++…

C++ lo deje de usar hace como 3 años, ultimamente me la he pasado con PHP y Java no recordaba siquiera como hacer algunas cosas básicas en C++.

El algoritmo pedia un programa capaz de hacer el área de un cí­rculo, un cuadrado y un triángulo; adicionalmente a esto se debia decir de que tipo era el triangulo (Equilátero, Isóceles, Escaleno), para una persona que lleva un tiempo programando esto no significa un reto, en realidad es bastante sencillo. Como era tarea de la escuela, le pidieron que lo hiciera usando funciones.

Mi amiga me mostró que tení­a hecho, le hicimos unas correcciones y metimos un pequeño menu y el primer modulo en funciones. Me dí­ cuenta que se atormentaba con el lenguaje, no lo entedia, le costaba mucho trabajo plasmar el procedimiento en el código. Lo que me lleva a una pregunta que me han hecho muchas veces…

Quiero aprender a programar ¿Como le hago?

Yo pienso que programar no es aprender un lenguaje, a lo largo de mi vida he visto a chicos de preparatoria intentando resolver algoritmos y a chicos de carrera teniendo los mismos errores que los de preparatoria.

Siempre he comentado que programar no es cosa de aprender el lenguaje que quieras C++, JAVA, PHP, ActionScript; para mi programar es el arte de hacer de una cosa compleja miles de cosas sencillas, que es una ecuación si no un montón de sumas, restas, divisiones, multiplicaciones.

Alguna vez impartí­ clases de Algoritmos a los chavos de 6to Semestre en el CONALEP (una suplencia) les puse algoritmos tan sencillos y clásicos como los factoriales, elevar una base a un exponente, el famoso palindromo, la serie de fibonacci, fue un tanto frustrante ver como se liaban con algo tan sencillo.

Programar no es saber JAVA, Pyton, Perl, programar es saber pensar de manera metódica, organizada y estructurada, seguir una secuencia de pasos para alcanzar objetivos intermedios que nos lleven a la solución de un problema.

Sinceramente ese clásico ejemplo de “Describe lo mas detalladamente posible que haces cuando te levantas y vas a la escuela” si funciona! piensenlo… aprende a pensar con lógica y ningún lenguaje de programación podrá detenerte; un lenguaje cualquiera lo aprende, cualquiera puede leer acerca de un ciclo while y decirte como funciona, pero no cualquiera sabe estructurar su pensamiento y plasmarlo en el código.

Esto ha sido producto de mis años de estudiante de ingenierí­a en sistemas, en la preparatoria odiaba los Diagramas de flujo y el pseudocódigo me daba pereza, ahora me doy cuenta que hecharle ganas a esas materias me ayudaron a pensar de la manera correcta a la hora de programar.

El ejemplo más claro se los pongo a continuación:

//Wikipedia dice que un Triangulo Isoceles es aquel que tiene
//dos lados iguales y dos ángulos interiores iguales
     if (((angulo1==angulo2 && angulo1!=angulo3) || (angulo1==angulo3&&angulo1!=angulo2) || (angulo2==angulo3&&angulo2!=angulo1)) && ((lado_base==lado2 && lado_base!=lado3)||(lado_base==lado3&&lado_base!=lado2)||(lado2==lado3&&lado2!=lado_base)))
        cout<<"\nTipo de Triangulo: ISOCELES";

Como verán una frase tan sencilla como "dos lados iguales y dos ángulos interiores iguales" se convirtió en una enorme comparación lógica (no supe como llamarla si alguien sabe que me diga por favor), lo complicado no es ponerlo en C++, es ponerlo en claro en tu mente.

Y para ti ¿Que es programar?

Acerca del Algoritmo

No es la gran ciencia... se los dejo por si quieren revisarlo.

#include 
#include 
#include 
#include 

//Prototipos de funciones.
//Sirven para declarar la forma que tendrá una funcion
//que posteriormente definiremos.
int menu ();
float circulo (float);
float cuadrado (float);
void triangulo (float, float, float, float, int, int, int);


//Inicia el Programa
int main(){
    int opcm=0, angulo1=0, angulo2=0, angulo3=0;
    float radio=0, lado=0, altura_t=0, lado_base=0, lado2=0, lado3=0;
    opcm=menu ();
    while (opcm!=4){
        switch (opcm){
        case 1: { system("cls"); 
                  cout<<"Triangulo\n\nAltura: ";
                  cin>>altura_t;
                  cout<<"\nLado Base: ";
                  cin>>lado_base;
                  cout<<"Lado 2: ";
                  cin>>lado2;
                  cout<<"Lado 3: ";
                  cin>>lado3;
                  cout<<"Angulo 1: ";
                  cin>>angulo1;
                  cout<<"Angulo 2: ";
                  cin>>angulo2;
                  cout<<"Angulo 3: ";
                  cin>>angulo3;
                 triangulo (altura_t,lado_base,lado2,lado3,angulo1,angulo2,angulo3);
                  break;
                }
                
        case 2: { system("cls");
                  cout<<"Circulo\n\nPi = 3.1416\nRadio: ";
                  cin>>radio;
                  cout<<"Area= "<>lado;
                  cout<<"Area= "<>opc;
    return opc;
}

float circulo (float radio){
    return 3.1416*radio;
    
}

float cuadrado (float lado){
      return lado*lado;
}
//Se usa triangulo (altura, lado_base, lado, lado, angulo, angulo, angulo);
void triangulo (float altura, float lado_base, float lado2, float lado3, int angulo1, int angulo2, int angulo3){
     float area=lado_base*altura/2;
     cout<<"Area= "< 

Esta compilado con Dev-C++ y no admite funciones de Borland como la usada "clrscr();" ya que usa los compiladores gcc y g++

13 Comentarios en “Recordando C++

  1. No sé en que conalep impartiste clase pero a mí me toco un maestro muy chingon que te explicaba todo de c++
    Yo comento que también depende mucho la forma de enseñar de un maestro

  2. Jajajajaja..lei los comentarios y son chistosos, hice semestre cero para entrar a la carrera de ingenieria, todo era fácil excepto la programación…Jaamáaas en mi vida la habia visto!! Todo era confuso y la maestra solo decia LA I-ÉSIMA COLUMNA Y EL Í-ÉSIMO RENGLON! fUE los mas horrible ke haya vivido!!.
    Ahora ke ya estoy mas avanzada y de nuevo llevo C++ mi profe es chido y encontre mi problema…PENSABA KE EL C++ ERA COMO UNA CALCULADORA KE SOLO DABA VALORES Y ME RESOLVIA LA VIDA!!, el chiste está en razonarlo!! Salu2!

  3. hola, exelente observacion y comentario, programar no es dominanr un lenguaje, si no tener la logico de programar, porque asi sea tan facilo como 1+1, pero si no sabemos poner en orden nuestro pensamiento, pues jama podemos resolver este problema.

    felcidades
    colega. isc next…………

  4. hola yo les tengo un reto mas simple creo que ustedes ya lo han de haber hecho un programa en dev c++ que identifique que palabra es palindroma y cual no empleando un codigo ascii de la teclas esc en la cual al precionar esta tecla deje de capturar la palabra de tipo char y la compare y determine si es palindroma o no se los suplico ya que no hay nada de informacion de esto si me ayudan se los agradesere y me responden a el siguiente correo axelfonsecaornelas@hotmail.com.mx gracias muchas gracias

  5. hola…
    tengo un problema me piden un algoritmo en c++ que calcule todos los co`mponentes de un triangulo a partir de “DOS O MAS” datos,
    y que me diga que tipo de triangulo es…
    el problema esta en como saber todos los tipos de combinaciones posibles entre datos…
    creo que se podria hacer con un monton de if pero no se si hay una forma mas facil…

  6. HOLA SABEN CON ESTOS COMENTARIOS MEDOY CUENTA QUEELPROGRAMAR ES DE SOLO LOGICA PIENSO QUE TIENEN RAZON UNO APRENDE DE LA FORMA DE COMO EL PROFE LE ENSEÑE AL ALUMNO YO CONOCIA DEVC++,C++ PERO CUANDO ME MOSTRO TURBO C LO ODIO NO ME GUSTA PARA NADA AHORA ME ENCANTA PROGRAMAR EN POO ES MUCHA MAS GRAFICA Y ESO ME ENCANTA GRACIAS POR EL CODIGO ME AYUDO BASTANTE ME GUSTARIA SER TU AMIGO CLARO SI LO DECEAS MI MAIL ES GUTIERREZALEX777@HOTMAIL.COM MUCHAS GRACIAS ATT; ALEXANDER (BOGOTA,COLOMBIA)

Comentarios cerrados.