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.

miércoles, 8 de agosto de 2012

Proyecto y evaluación final

Saludos!!!
Les informo que ya esta funcionando el proyecto con las ALTAS, BAJAs, CONSULTAS y MODIFICACIONES comentadas; para evitar problemas de inserción  y creación de archivos, preferí crearles un proyecto nuevo Java en NetBeans llamado "Examen2012" que podrán descargar y ejecutar, a continuación el link:

DESCARGUE AQUI

Existen dos formas de aprender a usar un programa: dando muchos clicks o leyendo su manual, en este caso, no es un manual, pero es la explicación de como fue creado y cual es la función de los principales botones, les sugiero leerlo para poder realizar las modificaciones a este proyecto para que funcione con la tabla ciudades, este es el link:


DESCARGUE MANUAL

La evaluación de este segundo parcial será de la siguiente forma:
40% Proyecto funcionando utilizando la base de datos de CIUDADES
60% Contestar examen oral sobre el funcionamiento del proyecto

Sin mas por el momento, les informo que ese mismo día sábado promediaremos y obtendremos calificaciones finales.