lunes, 10 de octubre de 2011

Programa en Java (2do semestre).

Descripcion de la actividad.


Esta primera actividad de segundo semestre da cuenta de un brebe repaso e implementacion de todo el primer semestre y nuevos conceptos aprendidoen lo poco del 2do semestre .

4.-Analice y desarrolle un Programa que permita intercalar los dígitos de dos números enteros. Por ejemplo si se tiene 123 y 171 el número resultante debería ser: 112731.



Entrada:

Dos números enteros de 3 dígitos mayor que 99 y menor o = que 999.

Salida:

Un numero de 6 dígitos mayor que 99999 y menor o = que 999999.



 
Codigo en Java:

import java.util.Scanner;
public class Intercalar {
   public static void main() {
       int n1,n2;
    int a,b,c,d,e,f;
    int nfinal;
   
    Scanner leer= new Scanner(System.in);
    System.out.println("Ingrese el primer numero de 3 digitos");
    n1=leer.nextInt();
    System.out.println("Ingrese el segundo numero de 3 digitos");
    n2=leer.nextInt();
   
    if (n1>9 && n1<=999 && n2>9 && n2<=999)
{
a = n1/100;
n1= n1%100;
b=n1/10;
n1=n1%10;

d= n2/100;
n2= n2%100;
e= n2/10;
n2= n2%10;       

nfinal = ((a*100000) + (d*10000) + (b*1000) + (e*100)+(n1*10)+(n2));
System.out.println("El resultado es= "+nfinal);
      }
    else
        System.out.println("error de numero");
    }}


Generalizacion por diagrama de flujo.

Captura de Pantalla 




Conclusion.

Este es el resultado de un programa basico, para quien ya tiene un conociento del lenguaje de programcion en Java no les llevara mas de 15 min realizarlo, pero ideal para practicar en los momentos libres o para personas que estan recien iniciando este proceso.





Torneo de Sumos

Descripcion de atividad.

En esta actividad se pone en practica la creacion,  formación del código  y del robot. Formando estrategias de ataques y defensas a si como también lo fundamental del diseño del robot y la utilización de los sensores.
Consiste en crear un nuevo robot o modificar uno ya existente  utilizando las piezas del kit básico y del avanzado para desarrollar un lucha de “sumo”, prestando principal énfasis en el desempeño del mismo en la pelea,  además de evaluar la estrategia de ataque y defensa del robot

Diseño de Robot y uso de Sensores.

 El diseño del robot se baso en la estabilidad y potencia que pueda desarrollar  el robot mediante la lucha, junto con esto se busco  desarrollar una estrategia de ataque para vencer al enemigo.
En el  frente se implanto una especie de rampa, una “garra” y un sensor, para que de esta manera nuestro robot levante al enemigo, y al tocar el sensor  de tacto se active la “garra” para levantar y enganchar aun mas al robot contrincante para asi derrotarlo.
La ubicación del sensor de ultrasonido se instalo en la parte superior,  alejado de algún posible ataque  además,  para que cumpla  de forma eficiente su función.
La rueda de timón ubicada atrás del robot ayuda a la maniobrabilidad de este.
Para modo de defensa se instalo un sensor la parte trasera para detectar de esta manera algún posible ataque por la retaguardia.

Codigo fuente

#define CERCA 20   
#define UMBRAL 40 
sub adentro()
{                                                              // primera sub rutina
OnFwd(OUT_BC,70);                     //retroceder para no Sali de la plataforma
Wait(500);
OnRev(OUT_B,100);
OnFwd(OUT_C,100);
Wait(500);
}
sub ataque()
{                                              //segunda subrutina
OnRev(OUT_BC,100);
Wait(700);
                if(Sensor(IN_4)==1) //sensor de ataque preciso
                {
                OnRev(OUT_A,100); //subir la garra
Wait(100);
OnFwd(OUT_BC,100);
Wait(500);
OnFwd(OUT_A,100); //bajar la garra.
Wait(100);
}
}
sub defensa()
{                              //tercera subrutina
OnRev(OUT_B,100);
OnFwd(OUT_C,100); //girar 100º aprox.
Wait(500);
}
task main()
{
SetSensorLight(IN_1);
SetSensorLowspeed(IN_2);  
SetSensorTouch(IN_3);  
SetSensorTouch(IN_4); //sensores
while (true){ 
OnRev(OUT_BC,70);  /
                if(Sensor(IN_1)<UMBRAL) //condicion para no salirse
                {
                adentro();
                }
while (SensorUS(IN_2)<=CERCA)//condición para atacar
{
ataque();
}
                if(Sensor(IN_3)==1)
                {
                defensa();
                }
     }//del while
}//del main


Conclucion.

Esta actividad es la manera de aplicar la totalidad de los conocimientos de la primera mitad del primer semestre, una actividad totalmente entretenida de realizar  y una forma diferente de aprender el lenguaje de preogramacion NXC.


 

Interfaz Grafica

Descripcion Actividad.

En esta nueva actividad se implementa el desarrollo y proramacion de un programa con interfaz grafica. Poniedo por completo en practica la competencia "Desarrollo de Sofware"  de nivel 1.

Analizar y desarrollar un programa que logre extraer las vocales de una frase de largo 15.

Entrada.
Una frase de 15 caracteres.

Salida
La vocales de la frase igresada.



Codigo Fuente.


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


class RiquelmePatricioA implements ActionListener
    {
    JLabel et1,etresultado;
    JTextField t1;
 
    JButton boton;
    JFrame ventana;
    FlowLayout f= new FlowLayout();

RiquelmePatricioA()
    {
        et1= new JLabel("Ingrese Texto");
        t1= new JTextField(15);
        etresultado= new JLabel();

ventana= new JFrame("Extraccion de vocales");
  boton= new JButton("Extraer");
   etresultado= new JLabel(" "); 
    ventana.setSize(300,200);
      ventana.setLayout(f);
       ventana.add(et1);
        ventana.add(t1);
         ventana.add(boton);
          ventana.add(etresultado);
           boton.addActionListener(this);
          ventana.setVisible(true);

}






public void actionPerformed(ActionEvent e) {
     
       if(e.getSource()==boton){
       String cadena =" ";
       String Resultado=" ";
       cadena=t1.getText();
   
    if(cadena.length()==15)
    {
         for(int frase=0; frase<cadena.length();frase++) {
                char caracter = cadena.charAt(frase);
                
             if (caracter == 'a' || caracter == 'e' || caracter == 'i'|| caracter == 'o' || caracter == 'u'){
               
           
         Resultado=Resultado+ String.valueOf(caracter);
         etresultado.setText(Resultado);

              }
         }
    }


else
{ Resultado=Resultado+ String.valueOf("error");
         etresultado.setText(Resultado);
}}}}
public class RiquelmePatricio {
 public static void main() {
        RiquelmePatricioA RiquelmePatricioA= new RiquelmePatricioA();
    }

}


Pantalla del programa.



Conclusion.

Este ejemplo presenta un ejercico completo y sencillo para que pueda ser usado de  ejemplo para la programacion de interfaz grafica en lenguaje de programacion  Java usando como compilador el programa Bluej.