sábado, 15 de diciembre de 2012

Proyecto final Dic 2012

El proyecto del GATO propuesto en clase representa un reto importante lógico para la programación modular en C++ del curso que esta por terminar.




Las estructuras que deberan utilizarse son:
- Variables globales que serán visibles a todo el proyecto
- Variables locales y parámetros dentro de cada función
- Declaración, definición y uso de funciones
- WHILE que controle los eventos de tiro
-  SWITCH que defina la acción a realizar basado en un valor devuelto por una función
- IF para la toma de decisiones
- Salida de datos COUT
- Entrada de datos CIN
- Otros...

Más adelante en los próximos días les ire subiendo tips sobre como ir desarrollando dicho proyecto, pero creo que con el código fuente que les deje tendrán para iniciar este trabajo.

Ahhhh y antes que se me olvide, no se que tienen que ver las "cucas..."  en la materia de C++ pero les dejo el link de la anecdota que comentabamos en clase de una persona con "éstos" bichos (con un lenguaje regularmente anti-sonante jeje):

http://metalgirl.wordpress.com/2007/10/15/invasion-de-cucarachas/


Volveré a publicar el día martes que viene...

martes, 13 de noviembre de 2012

Estructuras de control y examen

Las estructuras de control son básicamente la razón por la cual los programas de computadora puedan resolver las diversas situaciones de la vida del hombre.
Recordando un poco de pasado, encontraremos que el mayor problema con el cual se enfrento el hombre fue: "...existían muchas operaciones y procesos repetitivos que debían hacerse una y otra vez, que aparte de cansados no estaban exentas de errores..."; las estructuras while, for y do while permiten al programador realizar dichas tareas eficazmente.

Hoy corresponde detallar en este blog la estructura while (Mientras) cuya finalidad es permitir la ejecución de ciertas acciones siempre y cuando exista una condición verdadera.

Por ejemplo: El ser humano come, bebe, camina, trabaja, etc. siempre y cuando haya aire que pueda respirar
* Observaciones:
  • ¿Qué es lo que el hombre hace? come, bebe, camina, trabaja, etc.
  • ¿Cuál es la condición que limita el quehacer del hombre? Debe haber aire

Por lo consiguiente el diagrama de flujo es el siguiente:
Es importante recordar que comúnmente las "Acciones" que están dentro de la estructura de control deberán de contener alguna opción por medio de la cual "Respira" se convierta en "Falso", en caso de no ser así es muy probable que el programa se bloquee creando un ciclo eterno (jejeje); para el caso del hombre sería como ser inmortal.

Otra de las estructuras de control vista en clase es el "switch" que nos permite la decisión multiple sobre una sola variable, este es el caso del siguiente programa:

Crear un programa que basado en el número de día de la semana mostrar el nombre del día:

int main() {
    int dia;
    cin>>dia;
   switch(dia) {
       case 1:
           cout<<"Domingo";
           break;
       case 2:
           cout<<"Lunes";
           break;
       case 3:
           cout<<"Martes";
           break;
       case 4:
           cout<<"Miércoles";
           break;
       case 5:
           cout<<"Jueves";
           break;
       case 6:
           cout<<"Viernes";
           break;
       case 7:
           cout<<"Sábado";
           break;
       default:
           cout<<"Error";
           break;
   }
}

Por favor realiza los siguientes ejercicios:
TAREA
* Basado en el número de MES muestra el nombre del mes
* Basado en la numeración del 1 al 4 muestra la estación del año: primavera, verano, otoño e invierno
* Desarrollar un programa que muestre un menú de opciones para el calculo de perímetros de las siguientes figuras: cuadrado, rectángulo y triangulo

GUÍA DE EXAMEN
* Partes de un programa de C++
* Tipos de datos en C++
* Declaración de variables
* Entrada y salida de datos
* Estructuras de control: if, switch, for, while

Recuerden llevar el día del examen todos los programas (en .exe) que hemos desarrollado durante las sesiones para realizar el conteo de evidencias de clase y asentar la primera calificación.

Sin mas, para dudas estoy en el correo.

sábado, 3 de noviembre de 2012

Sin clases :-(

Los saludos a todos desde este medio, desafortunamente no hubo clases el día de hoy, lo cual afecta seriamente el avance del curso; el primer examen de la materia estaba programada para la siguiente semana lo cual recorreremos una semana más, por lo cual aprovecho este medio para detallarles las actividades de esta semana:

1.- Deben enviarme el ejercicio de factorial (o será mas bien sumarial) que les explique en clase y que pedí lo terminaran entre todo el grupo.
2.- Debemos desarrollar otros ejercicios utilizando la instrucción "for", por lo cual les dejo a continuación el listado:
  1. Programa que pida la edad de 10 personas y que muestre el promedio de edades
  2. Programa que imprima los primeros 20 múltiplos del número indicado por el usuario
3.- Les pido por favor investiguen las sintaxis de la estructura de control "while"

Sin mas. les encargo esas actividades
Por favor realícenlas pues contaran como parte de la primera evaluación que haremos.

  PD. Aquí les dejo su calavera: 1 punto para examen a quienes me entreguen el segundo ejercicio con una bonita APARIENCIA ( Me refiero a algo parecido al primer ejercicio que les pase que mostraba una figura, pónganle imaginación)

miércoles, 24 de octubre de 2012

Estructura de control: CONDICIONAL C++

Al igual que en nuestra vida, en la programación de computadoras debemos tomar decisiones/caminos dependiendo de lo que acontezca.

Ej.
  • Si sales de tu casa, y te das cuenta que empieza a llover: por sentido común piensa en un paraguas ¿Hubieras pensado en dicho objeto si no hubiera estado lloviendo? (En forma instantánea has tomado una decisión basada en la situación actual) .

    Este ejemplo puede dibujarse a través de un diagrama de flujo como el que se muestra aquí.

     


     
     
     

     
    Es por ello, que todos los lenguajes de programación tienen tienen soporte en forma nativa de la primera estructura que veremos, llamada CONDICIONAL
     En C++ es definida por la palabra reservada "if" quedando el código fuente de la siguiente forma:
     
    if (Condición) {
         //Acciones en caso de SE CUMPLE la condición
    }
    else{
         // El código en caso de NO SE CUMPLE la condición
    }
     
     Para el ejemplo anterior de la lluvia el código fuente sería:
    #include <iostream>
    using namespace std;
     
    int main() {
         int clima = "2" // 1=Despejado  2=Lloviendo
         if (clima=2) {
                  cout<<"Llevar paraguas";
         } 
         else {
                  cout<<"SIN paraguas";
         }
    }

    TAREA:

  1. Realizar un programa que pida 3 números y muestre cuál es el mayor
  2. Realizar un programa que muestre si una persona es mayor de edad basado en su edad
  3. Realizar un programa que indique si un número X es múltiplo de 7



Espero no tengan inconvenientes para realizar estos pequeños ejercicios que requieren el uso de IF

Estamos en contacto por correo para dudas

sábado, 20 de octubre de 2012

Ejercicio 2. Entrada de datos C++: CIN

Saludos nuevamente
Recordando un poco sobre principios básicos de la computadora, creo que todos recordamos el siguiente diagrama:


La impresión de la hoja de presentación de la semana pasada solo tenía proceso y salida, y ahora la tabla de multiplicar cumple perfectamente con el principio básico de la computadora:

CIN <--- Entrada de datos


for (i=1; i<=10;i++){   <--- Proceso de la información
}


COUT  <--- Salida de la información


Es importante recordar que todo programa deberá cumplir con esa característica (habrá casos especiales que no tengan las 3 características pero probablemente no estarán destinadas a usuarios)

A continuación les dejo el código para la impresión de la tabla por si alguno no logró terminarla en clase, recuerden que todos sin excepción deberán probarlo en su computadora: portatil o de escritorio en su casa.

#include<iostream>
using namespace std;

int main() {
    /* Este programa va a imprimir el número de
    tabla que el usuario indique */

    int tabla;
    cout<<"Escribe el número de tabla:";
    cin>>tabla;

    // Aquí inicia la estructura de control FOR
    int i;
    for (i=1; i<=10; i++) {
        cout<<endl<<tabla<<" x "<<i<<" = "<<i*tabla;
    }

    cin.get();
}



Y para no perder el ritmo, les dejo la tarea para la clase siguiente:

TAREA:
- Desarrollar un pequeño programa, que realice la suma de 3 números e imprima el resultado.
- Desarrollar un programa que imprima "n" veces el texto "Tengo que revisar el blog de Programación II los JUEVES por la tarde. Atte.: YO", recuerden cambiar la palabra YO por su nombre.

miércoles, 10 de octubre de 2012

Tarea 1. Salida por COUT

Saludos!!

Espero todos visiten este blog tal como quedamos (todos los JUEVES), para que se enteren de la primera actividad; después de instalar CODEBLOCKs en sus computadoras de escritorio, laptops, tables, etc.

Ahora es necesario empezar a utilizar dicha herramienta con el fin de identificar sus partes y su uso, por lo cual les dejo la siguiente tarea entregable para clase inmediata. Les dejo algunas observaciones importantes:

  1. Recuerden crear un archivo en blanco (File->New->Empty File)
  2. Inmediatamente al paso 1, guarden su archivo por ejemplo "Tarea1.CPP" no se les olvide escribirlo entre comillas "...." y agregar el nombre seguido de .CPP
  3. Un vez grabado ya estas listo para escribir código e incluso para compilar y ejecutar
  4. En caso de no conocer la diferencia entre "EJECUTAR" y "COMPILAR" por favor buscar su definición y escribirlos en la libreta para futuras sesiones de clase.
  5. El código de la tarea la dejo más abajo.
  6. Una vez escrito el código localiza el menú Construir (Build), y observa las opciones: Run (Correrá el archivo ejecutable creado por la compilación) y Build and Run (Volverá a crear el ejecutable y lo ejecutará), les pido usar la segunda opción.
  7. Agregar al ejercicio una línea que imprima su nombre y grado escolar.
  8. En la carpeta donde grabaron el archivo CPP se debieron haber generado dos archivos con el mismo nombre del CPP uno debe terminar con .O y otro con .EXE (Aplicación); para comprobar que han hecho la tarea copien por favor a una USB la aplicación .EXE, o impriman por favor la pantalla de su computadora con el programa ejecutandose.
  9. POR FAVOR, NO SE LES OLVIDE HACERLO EN SUS CASAS, NO OLVIDEN QUE SERÁ MUY DIFÍCIL APRENDER SI NO LO PRACTICAN.

Este es el código fuente:

#include <iostream>
using namespace std;

int main() {
    cout<<"                       \\|||/";
    cout<<endl<<"                       (o o)";
    cout<<endl<<"              ------ooO-(_)-Ooo------";
    cout<<endl<<"              IMPRESION EN C++ (Cout)";
    cout<<endl<<"                   (MODO TEXTO)";
    cout<<endl<<"            Asignatura: PROGRAMACION II";
    cout<<endl<<"";
    cout<<endl<<"                     \\\\\\|||///";
    cout<<endl<<"                   .  =======";
    cout<<endl<<"                  / \\| O   O |";
    cout<<endl<<"                  \\ / \\` _ '/";
    cout<<endl<<"                   #    | |";
    cout<<endl<<"                  (#) (     )";
    cout<<endl<<"                   #\\//|* *|\\\\";
    cout<<endl<<"                   #\\/(  *  )/";
    cout<<endl<<"                   #   =====";
    cout<<endl<<"                   #   ( U )";
    cout<<endl<<"                   #   || ||";
    cout<<endl<<"                  .#---'| |`----.";
    cout<<endl<<"                  `#----' `-----'";
    cout<<endl<<"";
    cout<<endl<<"             ------ooO-(_)-Ooo------";

    cin.get(); // Detiene el programa hasta presionar ENTER
}

viernes, 5 de octubre de 2012

Bienvenidos alumnos 5o cuatrimestre 2012

Bienvenidos a este blog


A partir de hoy este será el medio por el cual tendremos comunicación entre semana, cada semana antes del jueves publicaré material visto en clases, o ejercicios o tareas relacionadas con la materia y que en muchos casos deberá ser presentado el día de la clase.

Los invito a visitar este blog todos los jueves para enterarse de lo que ha acontecido, en caso de no haber asistido a clase, este será un buen medio para ponerse al corriente.

Sin mas... nos leeremos pronto por aquí, no olviden dejar su comentario ( en caso de Anónimo, por favor coloquen su nombre)

Atte:
Martín C.