Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas

jueves, 4 de septiembre de 2014

CONTADOR DE 4 BITS CON RESET ASÍNCRONO, PRESET Y CARGA SÍNCRONOS E INDICACIÓN DE OVERFLOW EN VERILOG

CÓDIGO EN LENGUAJE VERILOG DE UN CONTADOR DE 4 BITS CON LAS SIGUIENTES CARACTERÍSTICAS:

Reset asíncrono
Preset síncrono
Load síncrono
Indicación de overflow

module counter (CLK, RESET, PRESET, LOAD, DATOS, Q);
input CLK, PRESET, RESET, LOAD, [3:0] DATOS;
output OVERFLOW, [3:0] Q;
reg [3:0] tmp;

  always @(posedge CLK or posedge RESET)/*se activa al evento del reloj o del reset (reset asíncrono)*/
    begin
      if (RESET)  /*condicion reset, asigna valores a cero*/
        tmp = 4'b0000;
      elseif(PRESET) /*condicion preset, asigna valores a un número definido*/
        tmp = 4'b1010;  /*en este caso al valor binario 1010*/
      elseif(LOAD) /*condicion de carga, establece el valor al de los datos de entrada*/
tmp = DATOS;
      elseif(tmp == 4'b1111) /*condicion overflow, indica cuando se llega al valor binario 1111*/
OVERFLOW = '1';
      else
        tmp = tmp + 1'b1;
     end
  assign Q = tmp;
endmodule

martes, 26 de agosto de 2014

Sacar los número primos del 1 al 100 en C

Este programa en C saca los números primos del 1 al 100.

Por definición un número primo es un entero mayor que 1 que tiene únicamente dos divisores distintos: él mismo y 1.

Lo que hace el programa es tomar todos los números y dividirlos por cada uno de los 100 números, entonces verifica el número de divisores que tiene y si es igual a 2 entonces el valor actual es un número primo y lo imprime.

Para calcular los número primos hasta n cantidad, solo se debe cambiar los valores "100" de los ciclos for.

#include
int main(void)
{
for (int j=2;j<=100;j++){//por definicion el 1 no es primo, se empieza en 2
int a=0;
for(int i=1;i<=100;i++)//divide a j entre los números del 1 al 100
{
   if(j%i==0) // si num1 módulo de i es 0, incrementamos a en 1.
   a++;
}
if (a==2){ //si solo tiene dos números divisores entonces es primo y se imprime
printf("%d\n", j);
}
 }
}

sábado, 12 de julio de 2014

Apple lanza blog para Swift


Swift, el nuevo lenguajes de programación, fue la mayor novedad de Apple en el pasado WWCD 2014. Contaba ya con su página  de swift pero ahora apple ha decidido lanzar también un blog dedicado a su nuevo lenguaje. Este blog servirá para compartir noticias más recientes, y para compartir recomendaciones con los desarrolladores.
Está disponible también el tutorial de Swfit y se puede descargar de manera gratuita en iTunes.

jueves, 10 de julio de 2014

Examen JAVA Pt5

Se quiere definir una clase que permita controlar un sintonizador digital de emisoras FM; concretamente, lo que se desea es dotar al controlador de una interfaz que permita subir (up) o bajar (down) la frecuencia (en saltos de 0.5 MHz) y mostrar la frecuencia sintonizada en un momento dado (display). Supondremos que el rango de frecuencias a manejar oscila entre los 80 Mhz y los 108 MHz y que al inicio, el controlador sintoniza a 80 MHz. Si durante una operación de subida o bajada se sobrepasa uno de los dos límites, la frecuencia sintonizada debe pasar a ser la del extremo contrario. (2 p).

RESPUESTA


public class Interfaz {
    public double freq = 80;
    private static final double step = 0.5;
    private static final double min = 80;
    private static final double max = 108;
   
    public void up (){
        if(freq+step>max)
            freq = min;
        else freq += step;
       
    }
    public void down (){
         if(freq-step
            freq = max;
         else freq -= step;
    }
    public double display (){
     return freq;  
    }

}

Examen JAVA pt4

Se desea llevar un control del estado de una cuenta corriente; la cuenta corriente está caracterizada por su saldo y sobre ella se pueden realizar tres tipos de operaciones:
>> saldo: devuelve el saldo de la cuenta (puede ser negativo).
>> imposición (cantidad): ingresa en la cuenta una cantidad de dinero.
>> reintegro (cantidad): saca de la cuenta una determinada cantidad dedinero.
Suponga que la cuenta inicialmente tiene un saldo de cero. Escriba una clase
CuentaCorriente que implemente la funcionalidad descrita; escriba un pequeño
programa principal para probar su funcionamiento. (2 p).

 RESPUESTA


public class CuentaCorriente {
    double saldo = 0;
    public double getSaldo(){
        return saldo;
    }
    public void imposicion(double imp){
        saldo += imp;
    }
    public void reintegro (double rein){
        saldo -= rein;
    }
}


 public static void main(String[] args) {
        CuentaCorriente micuenta= new CuentaCorriente();
        System.out.println("saldo: "+ micuenta.saldo);
        micuenta.imposicion(800);
        System.out.println("saldo: "+ micuenta.saldo);
        micuenta.reintegro(330.20);
        System.out.println("saldo: "+ micuenta.saldo);
       

    }

Examen JAVA pt1

Escriba una clase Java que represente un círculo; el círculo queda perfectamente definido si se conoce su radio. Defina además, para esta clase, tres métodos (públicos) que permitan calcular el área del círculo (A= p · r2 ), el perímetro de la circunferencia (p= 2 · p · r) que delimita el circulo y compara dos circulos que determina el mayor en función de su radio. Para probar la funcionalidad antes definida, escriba un pequeño programa que cree un círculo con un radio dado, y que calcule (y muestre por pantalla) el área y el perímetro de su circunferencia. (1 p).

RES


 public class circulo{
        float radio;
        public static final double PI= 3.14159;
       
        public circulo(float radio){
            this.radio = radio;
        }
        public double area(){
            return PI*this.radio*this.radio;
        }
        public double perimetro(){
            return 2*PI*this.radio;
        }
        public circulo compara(circulo a, circulo b){
            if (a.radio>b.radio)
                return a;
            return b;
                       
        }
    }

 public static void main(String[] args) {
       
         circulo cir = new circulo((float) 3.0);
         circulo cir2 = new circulo((float) 8.0);
        System.out.println("el perimetro es "+ cir.perimetro());
       
        System.out.println("el area es "+ cir.area());
        circulo cir3 = cir.compara(cir,cir2);
        System.out.println("el mayor es "+ cir3.radio );
       
       

    }