Buscar este blog

lunes, 9 de abril de 2012

Dia 9 de Abril 2012


LUNES DIA 9 DE ABRIL DEL 2012


calcular en Devv c++


La letra del NIF se obtiene a partir de un algoritmo conocido como módulo 23. El algoritmo consiste en aplicar la operación aritmética de módulo 23 al número del DNI. El módulo 23 es el número entero obtenido como resto de la división entera del número del DNI entre 23. El resultado es un número comprendido entre el 0 y el 22. En base a una tabla conocida se asigna una letra. La combinación del DNI con esa letra es el NIF.
Este mismo algoritmo también puede utilizarse para el calculo del NIE. En el caso que el NIE empiece por X, se calcula despreciando la X y utilizando los 7 dígitos, si el NIE empieza por Y, se sustituye la letra Y por el número 1, si el NIE empieza por Z, se sustituye la letra Z por el número 2 y se realiza el mismo cálculo.
El algoritmo no se aplica para obtener el Código de Identificación Fiscal (CIF), que es el "NIF" propio de las personas jurídicas, pues la letra que tiene no se basa en una fórmula, sino que identifica el tipo de entidad (p.e. B para Sociedades Limitadas; G para Asociaciones sin ánimo de lucro y otros tipos no definidos, etc.).

Tabla de asignación

012345678910111213141516171819202122
TRWAGMYFPDXBNJZSQVHLCKE
No se utilizan las letras: I, Ñ, O, U
La I y la O se descartan para evitar confusiones con otros caracteres, como 1, l o 0.
Se usan veintitrés letras por ser este un número primo.

Ej:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    char letras[] =  {'T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E'};
    int dni;
 
    printf("introduce tu dni (sin letra): ");
    scanf("%d",&dni);
    printf("\n\ntu nif es %d-%c",dni,letras[dni%23]);
    system("PAUSE");
    return EXIT_SUCCESS;
}



Crearemos entonces una tabla que contenga los módulos acumulados por mes.
MesesEFMAMJJASOND
Año regular033614625035
Año bisiesto034025036146
Por último nuestro algoritmo quedaría así:
d = ((A - 1) % 7 + \left ( \frac{A-1}{4} - \frac{3 \cdot \left( \frac{A - 1}{100} + 1 \right)}{4} \right ) % 7 + M + D % 7) % 7 \,\!
Donde:
M \,\! = Módulo correspondiente al mes.



















                                                                                                                                              JOSE SOTO

miércoles, 4 de abril de 2012

Google Project Glass

Es una noticia que ha saltado hace pocos minutos según las fuentes del propio Google News y para que os hagáis una idea de lo que va aquí os dejo un video, que seguro que luego tendréis tiempo de leer la noticia en sí. Un sólo apunte antes, esto está en fase de desarrollo así que nadie se emocione...


martes, 3 de abril de 2012

Hoy hemos seguido con el mismo tema de ayer y hemos echo algunos ejercicios mas.
He aqui uno de ellos...
Habia que hayar el divisor de un numero...

int main(int argc, char *argv[])
{
  
  
  int num1,i;
  printf ("Escribe un numero ");
  scanf ("%d",&num1);
  for (i=1;i<=num1;i++)
  {
      if (num1%i==0)
      {
                    printf("%d es divisor de %d\n",i,num1);
      }
  }
    system("PAUSE");
    return EXIT_SUCCESS;
}

Luego a segunda hora hemos estado con Teo que hemos seguido implementando una base de datos en Access .



Solo hay 10 clases de personas,las que entienden el codigo binario y las que no.
By Carlos

lunes, 2 de abril de 2012

MATRICES

MATRICES.-

Una matriz es un vector multidimensional.

Las matrices pueden se de 2,3,4,5,...., dimensiones.


Ejemplo. Matriz bidimensional.

Declaración.

Matriz:ARRAY [1...4 , 1...4] de entero.

Manipulación.

[   ]  Operador.

Escritura.

Matriz [3] [1] <-- (-89)

      Usando la primitiva de escritura: leer (matriz [4] [2] )

Lectura.

a <-- matriz [1] [3]

       Usando la primitiva: escribir (matriz [4] [2] )

- Son necesarios dos indices.
- Se cuenta primero la fila y despues la columna.


1
2
3
4
1




2




3
-89



4





Recorrido de la matriz.

Var
a: ARRAY [1...3 , 1...5] de entero
fila : entero
columna : entero
PARA fila = 1 HASTA 3

INICIO
           PARA columna = 1 HASTA 5
           a [fila]  [columna] <-- 0   (todo tendrá valor 0)
FIN


Ejemplo: Hacer un programa con 2 marices de 50 X 50 de enteros. En la primera matriz  leer los primeros 250 datos de teclado.
A la segunda matriz ,asignar valor 0 a las posiciones en las que hemos introducido un numero negativo en la primera matriz, asignar 1 donde sea numero positivo, y 0 donde sea negativo en la matriz primera.

PROGRAMA MATRICES.

INICIO
VAR
a :  ARRAY [1....50 , 1....50] de entero
b : ARRAY  [1....50 , 1....50] de entero
fila: entero
columna: entero

PARA fila = 1 HASTA 50
         INICIO
                    PARA columna 1 HASTA 50
                             INICIO
                                        escribir ("introduce un numero")
                                        leer (a [fila] [columna] )
                             FIN
          FIN
          PARA fila = 1 HASTA 50
          INICIO
                     PARA columna 1 HASTA 50
                              INICIO
                              SI (a [fila] [columna] > 0)
                                  INICIO
                                              b [fila] [columna] <-- 1
                                  FIN
                                  SINO
                                   INICIO
                                              SI (a [fila] [columna] = 0)
                                               INICIO
                                                          b[fila] [columna] <--  -1
                                               FIN
                                               SINO
                                               INICIO
                                                          b [fila] [columna] <--  0
                                                FIN
                                   FIN
            FIN
FIN




Hoy tambien hemos empezado a ver el programa DEV++ 4.9.9.2  para programar en C++




Con Teo hemos estado usando el ACCESS para implementar las tablas y empezar a usar programas de gestion de bases de datos.


Mañana continuaremos. HASTA PRONTO  y no olvideis supermineralizarse y vitaminarse.