Buscar este blog

miércoles, 27 de junio de 2012

Pagina chulisima! xD!

http://www.elbalonrosa.com




lunes, 16 de abril de 2012

Dia 16/04

Librerias C++

#include -->Internas --> El propio lenguakje
             -->Externas--> Del usuario

1º//Cabeceras (.h,.hpp) -->Definición de datos globales y cabeceras
2º// Código (.C,.cpp) --> Implementación

EJEMPLO:

main.cpp

#include <cstdlib>
#include <iostream>
#include "libreria.h"

using namespace std;
//DECLARACION DE FUNCIONES Y PROCEDIMIENTOS



int main(int argc, char *argv[])
{
    int a,b;
    printf("Escribe un numero: ");
    scanf("%d",&a);
    printf("Escribe un numero: ");
    scanf("%d",&b);
    printf("El resultado es:   %d\n",suma(a,b));
    system("PAUSE");
    return EXIT_SUCCESS;
}

libreria.h

int suma(int a,int b);

 libreria.cpp

//FUNCIION QUE SUMA 2 NUMEROS
//RECIBE DOS NUMEROS DE ENTRAA Y DEVUELVE UN NUMERO ENTERO
//QUE ES LA SUMA DE LOS PARAMETROS DE ENTRADA

int suma(int a,int b)
{
    int c;
    c=a+b;
    return c;
}

//FIN DE LA FUNCION SUMA



Alberto





viernes, 13 de abril de 2012

13/04/2012

Con Carlos hemos visto:


Subprogramas:
    
Funciones   


Definición:
 Las funciones son bloques de código utilizados para dividir un programa en partes más pequeñas, cada una de las cuáles tendrá una tarea determinada.
                
Declaración en pseudocódigo:
Función nombre(nombre_parametro1:tipo,………):tipo de datos


Ejemplo:
//suma de dos números
Función     suma(num1:entero,num2:entero):entero
INICIO
         //variable
Resultado:entero;
Resultado ß num1+mun2
Devolver resultado
FIN


Declaración en c++:


tipo_función nombre_función (tipo y nombre de argumentos)
{
 bloque de sentencias
}


     tipo_función: puede ser de cualquier tipo de los que conocemos. El valor devuelto por la función será de este tipo. Por defecto, es decir, si no indicamos el tipo, la función devolverá un valor de tipo entero ( int ). Si no queremos que retorne ningún valor deberemos indicar el tipo vacío ( void ).

     nombre_función: es el nombre que le daremos a la función.

     tipo y nombre de argumentos: son los parámetros que recibe la función. Los argumentos de una función no son más que variables locales que reciben un valor. Este valor se lo enviamos al hacer la llamada a la función. Pueden existir funciones que no reciban argumentos.

     bloque de sentencias: es el conjunto de sentencias que serán ejecutadas cuando se realice la llamada a la función.

     Las funciones pueden ser llamadas desde la función main o desde otras funciones. Nunca se debe llamar a la función main desde otro lugar del programa. Por último recalcar que los argumentos de la función y sus variables locales se destruirán al finalizar la ejecución de la misma.


Procedimientos 


Declaración en pseudocódigo:
Procedimiento  nombre(nombre_parametro1,tipo,………):tipo de datos


Llamada:
Función      (siempre formara parte de una expresión)
Nombre(paametros1,paramatros2,…..)


Ejemplo:
         Programa prueba
         Inicio
                   Var aux:entero
                            A,b:entero
                   Escribe(“dime un numero”)
                   Leer(a)
                   Escribe(“dime un numero”)
                   Leer(a)
                   Auxßsuma(a,b) (se puede poner var o literales)
         fin


Después del recreo Manolo ha hecho su exposición sobre S.E.O (Search Engine Optimization).

JOSE ANGEL

12/04/2012


Solucion al problema del dia Anterior
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    //DECLARACIONES
    float escuela[3][5][2];
    int i,j,k,curso,asignatura,n_aprobados=0,n_suspensos=0;
    float n_media=0;
   
    //INTRODUCCION DE LAS NOTAS POR TECLADO
    for(i=0;i<3;i++)//i=curso
    {
       cout << "CURSO " << i << endl;
       for(j=0;j<5;j++)//alumno
       {
          cout << "   ALUMNO " << j << endl;
          for(k=0;k<2;k++)//nota
          {
              cout << "     Nota de la asignatura " << k << ": ";
              cin >> escuela[i][j][k];
          }
       }
    }
    //FIN INTRODUCCION DE LAS NOTAS POR TECLADO
   
    //CALCULAR LA NOTA MEDIA POR CURSO
    cout << endl << "CALCULO DE LA NOTA MEDIA" << endl;
    cout << "A que curso? [0,1,2] ";
    cin >> curso;
    for(j=0;j<5;j++)
    {
       for(k=0;k<2;k++)
       {
          n_media += escuela[curso][j][k];
       }
    }
    cout << "La nota media del curso " << curso << " es " << n_media/10 << endl;
    //FIN CALCULAR LA NOTA MEDIA POR CURSO  

    //CALCULAR EL NUMERO DE APROBADOS Y SUSPENSOS
    cout << endl << "CALCULO DE APROBADOS Y SUSPENSOS" << endl;
    cout << "De que curso? [0,1,2] ";
    cin >> curso;
    cout << "De que asignatura? [0,1] ";
    cin >> asignatura;
    for(j=0;j<5;j++)
    {
        if(escuela[curso][j][asignatura] < 5)
            n_suspensos++;
        else
            n_aprobados++;
    }
    cout << endl << "Hay " << n_suspensos << " suspensos y " << n_aprobados << " aprobados" << endl;
    //FIN CALCULAR EL NUMERO DE APROBADOS Y SUSPENSOS
    system("PAUSE");
    return EXIT_SUCCESS;

jueves, 12 de abril de 2012

Miercoles 11 de Abril.

Con Juan Carlos corregimos el ejercicio anterior de matrices.
Mandó el ejercicio siguiente:

Tengo guardado los datos de 3 cursos con 5 alumnos por curso y cada alumno tiene 2 asignaturas se pide:
   1º Pedir por teclado las notas que ha sacado cada alumno en cada asignatura y cada curso.
   2º Cual es la nota media de un determinado curso.
   3º Cuantos aprobados y suspensos hay en una determinada asignatura.
   4º Cual es de los 15 alumnos el de mejor nota media (Opcional).



Con Teo implementamos en Access el el ejercicio número 6:


EJERCICIO 6
Se desea informatizar la gestión de una tienda informática. La tienda dispone de una serie
de productos que se pueden vender a los clientes.
De cada producto informático se desea guardar el código, descripción, precio y número
de existencias. De cada cliente se desea guardar el código, nombre, apellidos, dirección y
número de teléfono.
Un cliente puede comprar varios productos en la tienda y un mismo producto puede ser
comprado por varios clientes. Cada vez que se compre un artículo quedará registrada la
compra en la base de datos junto con la fecha en la que se ha comprado el artículo.
La tienda tiene contactos con varios proveedores que son los que suministran los
productos. Un mismo producto puede ser suministrado por varios proveedores. De cada
proveedor se desea guardar el código, nombre, apellidos, dirección, provincia y número
de teléfono”.

Además estudiamos la forma de añadirle un listado de códigos postales ordenados por ciudades y poblaciones. Para ello hacemos la entidad relación de CIUDADES y POBLACIONES, el modelo relacional y lo incluimos en la base de datos anterior para que figure el código postal en la dirección del cliente y proveedor.


by JuanGa RR.

miércoles, 11 de abril de 2012

Titanic SUPER3D, mejor que el oficial!!!

Aquí os dejo el tráiler de la nueva versión del clásico Titanic que no sólo se limita a mostrarnos imágenes en 3D como hace la versión oficial, sino que actualiza contenidos y secuencias. Guau!!!


MARTES DIA 10 DE ABRIL DEL 2012

MARTES DIA 10 DE ABRIL DEL 2012

EJERCICIO DE ARRAYS

Declar una matriz,leido y guardado todos los campos, posteriormente cojemos dos vectores llamados filas y columnas, en el vector fila vamos a poner la suma de toda la fila y en vector columna la suma de todos los campos.

CODIGO:

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    //DECLARACIONES
    int matriz[4][5];
    int filas[] = {0,0,0,0};
    int columnas[] = {0,0,0,0,0};
    int i,j;
    //PIDO LOS DATOS POR TECLADO
    for(i=0;i<4;i++)
    {
       for(j=0;j<5;j++)
       {
          cout << "Introduce valor para (" << i << "," << j << "): ";
          cin >> matriz[i][j];
       }
    }
    //CALCULO EL VECTOR FILAS Y COLUMNAS
    for(i=0;i<4;i++)
    {
       for(j=0;j<5;j++)
       {
          filas[i] += matriz[i][j];
          if(i!=3)
             columnas[j] += matriz[i][j];
       }
    }
    for(i=0;i<4;i++)
       printf("%d\n",filas[i]);
       //o   cout << filas[i] << endl;
    printf("\n");
       //CON cout << endl;
    for(j=0;j<5;j++)
       printf("%d ",columnas[j]);
       // cout << filas[j] << " ";
       //CON cout << filas[j] << "\n\;
      //o   cout << filas[j] << endl;
    printf("\n");
      //CON cout << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
BASES DE DATOS:

EJERCICIO 3
A partir del siguiente enunciado diseñar el modelo entidad-relación.
“Se desea diseñar la base de datos de un Instituto. En la base de datos se desea guardar
los datos de los profesores del Instituto (DNI, nombre, dirección y teléfono). Los
profesores imparten módulos, y cada módulo tiene un código y un nombre. Cada alumno
está matriculado en uno o varios módulos. De cada alumno se desea guardar el nº de
expediente, nombre, apellidos y fecha de nacimiento. Los profesores pueden impartir
varios módulos, pero un módulo sólo puede ser impartido por un profesor. Cada curso
tiene un grupo de alumnos, uno de los cuales es el delegado del grupo”.

Se crea la base de datos en Access, junto con consultas e informes.
Se comenta la forma de programar las consultas en SQL, mediante el SELECT.

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.
              

viernes, 30 de marzo de 2012

30 de Marzo de 2012

VECTORES Y MATRICES (ARRAYS):

- Vector: Es un tipo de dato compuesto y estático. Todos son del mismo tipo.
   Declaración
      Nombre: ARRAY[1.....n] de tipo
      Ej.: números:ARRAY[1.....5] de entero

miércoles, 28 de marzo de 2012

28 de marzo

ANIDAMIENTO DE INSTRUCCIONES

Ejemplo:
i:entero
j:entero
PARA i=0 HASTA 5
Inicio
            PARA j=0 HASTA 3
            Inicio
                      Escribir ("Hola")
            Fin
Fin

-Calcular el mayor de tres numeros:

a:entero
b:entero
c:entero
Leer(a)
Leer(b)
Leer(c)
SI (a>b) AND (a>c)
Inicio
       Escribir ("El mayor es a")
Fin
SINO
Inicio
        SI (b>a) AND (b>c)
        Inicio
                Escribir ("El mayor es b")
         Fin
         SINO
         Inicio
                 Escribir ("El mayor es c")
         Fin
Fin

-Dada una fecha por teclado (dia,mes y año de tipo entero) que salga por pantalla en el formato: 28 de Marzo de 2012.

d:entero
m:entero
a:entero
Escribir ("Dime el dia (1-31)")
Leer (d)
Escribir ("Dime el numero de mes (1-12)")
Leer (m)
Escribir("Dime el año")
Leer (a)
CASO (mes)
Inicio
        Valor 1:
         Inicio
                     Escribir( "La fecha es", d, "enero", a)
         Fin
         .
         .
         .
         Valor 12:
         Inicio
                     Escribir( "La fecha es", d, "diciembre", a)
         Fin
Fin



ESTRUCTURA GENERAL DE UN PROGRAMA

PROGRAMA nombre
INICIO
VAR
         a:entero      
         b:real           DECLARACIONES
         c:cadena

.
.        IMPLEMENTACION (Instrucciones)                  
.
FIN

-Ejercicio divisores con la estructura

PROGRAMA divisores
INICIO
VAR
            a:entero
            i:entero
ESCRIBE (“Introduce un numero: “)
LEER (a)
PARA i=1 HASTA a
INICIO
            SI (a MOD i =0)
            INICIO
                        Escribe(i, ”es divisor de”, a)
            FIN
FIN
FIN