http://www.elbalonrosa.com
miércoles, 27 de junio de 2012
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
#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:
Ejemplo:
Llamada:
Ejemplo:
Después del recreo Manolo ha hecho su exposición sobre S.E.O (Search Engine Optimization).
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
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++:
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.
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
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 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
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
T | R | W | A | G | M | Y | F | P | D | X | B | N | J | Z | S | Q | V | H | L | C | K | E |
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.
Meses | E | F | M | A | M | J | J | A | S | O | N | D |
Año regular | 0 | 3 | 3 | 6 | 1 | 4 | 6 | 2 | 5 | 0 | 3 | 5 |
Año bisiesto | 0 | 3 | 4 | 0 | 2 | 5 | 0 | 3 | 6 | 1 | 4 | 6 |
Por último nuestro algoritmo quedaría así:
Donde:
-
- = 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
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.
domingo, 1 de abril de 2012
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
- 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
Suscribirse a:
Entradas (Atom)