miércoles, 28 de noviembre de 2012

cuarta tarea de la 3er unidad


   
cuestionario

 de archivos en lenguaje C++ de las 
pag. 8-37 

hecho por jorge andres hernandez carrillo del pdf de
Ing. Bruno Lopez Takeyas M.C. ITNuevo Laredo



1.    ¿Relación entre la memoria principal, el microprocesador y dispositivos de almacenamiento secundario?
-         Existe una estrecha relación entre la memoria principal, el microprocesador y los dispositivos de almacenamiento secundario ya que el procesamiento que realiza una computadora es tarea absoluta del microprocesador en conjunción con la memoria principal; es decir, los dispositivos de almacenamiento secundario (diskettes, discos duros, CDs, flash drives, etc.)  no procesan datos, sólo los almacenan.
2.    ¿Qué es datos en c++?
-         Básicamente se refieren a los testimonios individuales relacionados
Con hechos, ya sean características de ciertos objetos de estudio o
Condiciones particulares de situaciones dadas.
3.    ¿Como se llama los elementos individuales de los archivos?
-         Datos o campos.
4.    ¿Que es un Registro?
-         Es el conjunto completo de datos relacionados pertenecientes a una entrada
5.    ¿Que es  un Archivo en términos computacionales?
-         Es una colección de datos que tiene un nombre y se guardan en dispositivos de almacenamiento secundario, los cuales pueden ser magnéticos, ópticos, electrónicos, etc.
6.    Da unos ejemplos de archivos en términos computacionales.
-         Diskettes, discos duros, CD´s, ZIP drives, flash drives, memory sticks, etc.
7.    ¿Que es y da un ejemplo de Una base de datos?
-         Es una colección de archivos relacionados y un Ejemplo es Profesores, alumnos y materias están correlacionados.
8.    ¿Que establece al abrir el archivo?
-         establece comunicación entre el programa y el sistema operativo a
Cerca de cómo accesarlo.
9.    ¿Que es necesario que el programa le proporcione al sistema operativo para que haiga comunicación entre ellos?
-         el nombre completo del archivo y la intención de uso (leer o escribir datos), entonces se definen áreas de comunicación entre ellos.
10.                     ¿Cuales son unas de esas áreas ya mencionadas?
-         Una de estas áreas es una estructura que controla el archivo (alias del archivo), de esta forma cuando se solicita una operación del archivo, se recibe una respuesta que informa el resultado mediante un apuntador.
11.                     ¿Qué requiere Cada archivo abierto?
-         Cada archivo abierto requiere un alias para poder realizar operaciones.
12.                     ¿Que información  contiene La estructura del archivo?
-         La estructura del archivo contiene información del archivo que se está usando, así como el tamaño actual y la localización de los buffers de datos.
13.                     ¿Cual es la clasificación de archivo mas importante acuerdo al contenido?
-         Archivo Texto y archivo binario.
14.                     ¿Qué son el archivo de texto y archivo binario?
-         los archivo de texto Son aquellos que pueden contener cualquier clase de datos y de tal manera que son “entendibles” por la gente.
-         Los archivos binarios Este tipo de archivos almacenan los datos numéricos con su representación binaria. Pueden ser archivos que contienen instrucciones en lenguaje máquina.
15.                     ¿Cual es la Clasificación de archivos por tipo de acceso de acuerdo a la         forma de acceder los datos de los archivos?
-         éstos se clasifican en secuenciales o directos (también conocidos como de acceso directo, relativos o aleatorios).
16.                     ¿Qué son los archivos secuenciales o directos?
-         este tipo de archivos los registros se graban en secuencia o consecutivamente y deben accesarse de ese mismo modo, es decir, conforme se van insertando nuevos registros, éstos se almacenan al final del último registro almacenado; por lo tanto, cuando se desea consultar un registro almacenado es necesario recorrer completamente el archivo leyendo cada registro y comparándolo con el que se busca.
17.                     ¿cual es la diferencia de los archivos secuenciales y Archivos directos?
-         A diferencia de los archivos secuenciales, en los archivos directos no es necesario recorrerlo completamente para acceder un registro en particular, sino se puede colocar el apuntador interno del archivo directamente en el registro deseado, permitiendo con esto mayor rapidez de acceso.

18.                     ¿En que consiste usar direcciones lógicas para archivos en leguaje  c++?
-         Consiste en que el direccionamiento consiste en el espacio ocupado por los datos en el archivo (calculado en bytes) no en el renglón al que se asignó dicho registro

19.                     ¿Que se tiene que hacer Para poder reposicionar el apuntador de un archivo en un registro específico?
-         es necesario calcular su dirección física correspondiente de acuerdo al espacio ocupado por sus registros predecesores. 
20.                     ¿Para que se usa La función fopen () en un programa en c++?
-         Se usa la función  fopen para abrir un archivo, determinar el modo de apertura y establecer la vía de comunicación mediante su alias correspondiente. Además determinar el tipo de contenido del archivo (texto o binario).
21.                     ¿Qué función hace el la fopen si un archivo no se puede abrir en un programa en c++?
-         la función fopen devuelve el valor de 0 (cero), definido como NULL en stdio.h.
22.                     ¿que función hacen fclose() y fcloseall() al Cierre de archivos en un programa en c++?
-         Si se usa  fclose es necesario indicarle el alias del archivo que se desea cerrar. La función  fcloseall cierra todos los archivos abiertos.
23.                     Cual es la función en Escritura de registros usando fwrite() en un programa en c++?
-         La función  fwrite proporciona el mecanismo para almacenar  todos los
Campos de un registro en un archivo.

24.                     ¿Que es y que función tiene Un buffer en un programa de c++?
-         Es un área de almacenamiento temporal en memoria para el conjunto de datos leídos o escritos en el archivo.
-         La función es que retienen datos en  tránsito desde y hacia al archivo y tienen la finalidad de hacer más eficiente las operaciones de entrada/salida en los archivos de disco, provocando menor cantidad de accesos, los cuales son más lentos que la memoria.
25.                     ¿Cual es la función de Lectura de registros usando fread() en un programa en c++?
-         La función fread permite “cargar”  todos los campos de un registro en un
Archivo, es decir, lee un registro y lo copia en la memoria RAM.

26.                     ¿Cuál son los puntos de referencia?
-         SEEK_SET  Desde el principio del archivo  
-         SEEK_CUR  Desde la posición actual del apuntador del archivo
-         SEEK_END  Desde el final del archivo

27.                     ¿para que se usa la función rewind() en un programa en c++?
-         Se usa la función rewind para colocar el apuntador del archivo al principio de un archivo abierto sin necesidad de usar la función  fseek. Basta con enviar el alias del archivo como argumento
28.                     ¿para que se usa feof() en un programa en c++?
-         Se usa el macro  feof() (definido en  stdio.h) para determinar si se ha encontrado el final de un archivo. Si se encuentra el final de un archivo, devuelve un valor diferente de cero y  cero en caso contrario
29.                     ¿Qué función u objetivo tiene rename() en un programa en c++ y cuales son sus argumentos?
-         Esta función tiene como objetivo cambiar el nombre de un archivo o subdirectorio especificado por su ruta de acceso.
-         Sólo necesita dos argumentos: el nombre anterior del archivo y el nuevo nombre.

30.                     Cual es la función remove() en un programa en c++?
-         La función remove elimina definitivamente un archivo especificando su
Nombre.

martes, 27 de noviembre de 2012

Tarea 3 de la tercera unidad


Tarea 3 de la tercera unidad (cuestionario de 20 preguntas de la pag 332-356)

1.    ¿a que se le llama o conoce como  trasmisión por valor?
-          En una invocación de una función típica, la función llamada recibe valores de la función que llama, almacena y manipula los valores transmitidos y devuelve en forma directa cuando mucho un calor único.
2.    ¿Como se reconoce a la transmisión de direcciones?
-          Se le conoce como función de transición por referencia  o  también se le conoce como llamada por referencia, donde, una vez más, el término se aplica solo a los argumentos cuya dirección se ha transmitido.
3.    ¿Cual es la equivalencia entre los argumentos reales que llaman y los parámetros de función ilustrados?
-          Proporcionan la base para devolver valore múltiples desde adentro de una función.
4.    ¿Porque es necesario en ocaciones alterar el enfoque dándole a una función llamada acceso directo a las variables de su función que llama?
-          Esto le permite a la función, la cual es llamada, usen y cambien el valor de variables que se han definido en la función llamada para hacer esto se requiere que la dirección de la variable se transmita a la función llamada.
5.    ¿Cuáles algoritmos se usan para lograr intercambiar valores en dos variables?
a)   Guardar el valor de primeros parámetros en una ubicación temporal
b)   Almacena el valor del segundo parámetro en la primera variable
c)   Almacenar el valor temporal en el segundo parámetros
6.    Da un ejemplo de una función intercambio que este acuerdo con estas especificaciones.
Void intercambio(doublé& num1, doublé&num2)
{
Doublé temp;
temp = num1;                                //guardar el valor de num1
temp = num2;                                //almacena el valor de num2 en num1
temp = num3;                                //cambia el valor de num2
return;
}



7.    ¿Cuales son las dos precauciones al usar argumentos de referencia?
a)   Los argumentos de referencia deben ser variables(es decir, no usarse para cambiar a constantes).
b)   La segunda precaución es que una llamada a función es si o no da indicio de que la función llamada usara parámetros de referencia.

8.    Da un ejemplo de la primera  precauciones  ya nombrada al usar argumentos de referencia:
-          Ejemplo de la primera precaución  intercambio(20.5, 34.8)

9.    Como es el algoritmo de un esquema general aplicable a muchas tareas de ingenieras y científicas:
a). obtener las entradas del problema.
b). calcular el resultado deseado.
c). reportar los resultados del calculo.

10. ¿Como se llama el algoritmo mencionado anteriormente?
-          Algoritmo para resolver problemas.

11. ¿Que hace la función rand()?
-          Produce una serie de números aleatorios en el  rango 0<rand<rand_max donde la constante rand_max sedefine en el archivo de encabezado cmath.

12. ¿Que hace la función srand?
-          Produce un valor "semilla" inicial para rand()

13. ¿Que pasa si no se usa srand u otra técnica de sembrado?
-          Producirá siempre la misma serie de números aleatorios

14. El método para ajustar los números aleatorios producidos por un generador de números aleatorios para que residan dentro de dichos rangos se llama?
-           Escalonamiento


15. ¿Cuál es la característica fundamental de los parámetros de referencia? 
-          Proporcionan la capacidad  para que una función llamada y una que llama tenga acceso a la misma área de almacenamiento usando nombres diferentes.
16. ¿Qué es lo que se debe atender al intercambiar datos?
-          El emisor y el receptor del intercambio de datos.

17. ¿Cual es una opción por omisión en C++?  
-          Transmitir por valor en lugar de transmisión por referencia.

18. ¿Cuál es la sintaxis para declarar un parámetro de referencia? 
-          Tipo-de-datos nombre-de-referencia.

19. ¿Cómo se define la rutina randomize en C++? 
-          Usando la función srand ().

20. Menciona un uso común de  los números aleatorios:
-          Un uso común es simular eventos usando un programa, en lugar de dedicar tiempo y costo a construir un experimento real.




problemas a resolver.

practica 3 de las seccion 6.3



//practica 3 de las seccion 6.3   fecha: 27 de noviembre del 2012
pseudocodigo
inicio
int encontrarMax(int, int)
int main()
{
int primernum, segundonum, max
print  "Introduzca el primer numero: "
read  primernum
print  "Introduzca el segundo numero: "
read  segundonum
max=encontrarMax(primernum, segundonum)
print  "El maximo de los dos numeros es: " , max
print  "EL valor almacenado en max es: " , max
}
int encontrarMax(int x, int y)
{
int numMax
if(x>=y)
{
numMax=x
}
else
{
numMax=y
}
return numMax
}





problema 2 de la seccion 6.4



//problema 2 de la seccion 6.4   fecha: 27 de noviembre del 2012
pseudocodigo
inicio
void calcradioarea(real  r , real  a)
{
print "el radio es: " , r
print "el area es: " , a
}
int main()
{
real  r, a,c
print "introduce la circuferencia del circulo: "
read  c
r=c/(2*3.1416)
a=(3.1416)*pow(r,2)
calcradioarea(r , a)
}

problema 5 de la seccion 6.4




//problema 5 de la seccion 6.4  fecha 27 de noviembre del 2012
pseudocodigo
inicio
void encontrarDistancia(int d)
{
print  "La distancia entre los dos puntos es: " , d
}
int main()
{
int x1, y1, x2, y2, d
print  "Introdusca las coordenadas del primer punto: "
read  x1 , y1
print  "Introdusca las coordenadas del segundo punto: "
read  x2 , y2

d=sqrt (pow (x2-x1,2) + pow (y2-y1,2) )
encontrarDistancia(d)
}


lunes, 19 de noviembre de 2012

tarea 2 de la tercera unidad


Tarea 2 de la tercera unidad – cuestionario de la pag. 321 -340  del libro de texto.

1.   ¿Qué elementos debe de proporcionar la función llamada?
Ø El tipo de datos de valor devuelto.
Ø El valor real que se devuelve.


2.   ¿Que debe especificar la función que devuelve un valor?
Ø El tipo de datos de valor que se devolverá.

3.   Que incluye la primera línea del encabezado de la función?
Ø El nombre de la función como lista de ombres de parámetros.

4.   Da un 3 ejemplo de  funciones con parámetros :
a)   Void factorial (int n)
b)   Void potencia (int r, doublé a, float ares)
c)   Void obtener_valor(int a, float m).

5.   Escribe la forma de instrucción de  devolucion  correcta para  regresar o  devolver  un valor correcto:
Ø return expresión;

6.   ¿a que  se le llama sobrecarga y para que sirve?
Ø Se le llama sobrecarga cuando una función es invocada muchas veces y nos sirve para reproducir significativa el tamaño de un programa.

7.   ¿Cómo función la sobrecarga?
Ø Bueno el fucionamiento de la sobrecaga nos ayuda porque en lugar de repetir el mismo código cada vez que es necesario , el código se escribe una sola vez, como una función, y se llama cada vez que es necesario.



8.   Da un ejemplo de función de inline:
Inline doublé convertir_temp(doublé in_temp)

9.   ¿Cual es la ventaja de usar inline en un programa?
Ø La ventaja de usar esta función es que aumenta la velocidad de ejecución.

10.              ¿Cuál es la desventaja de usar inline en un programa?
Ø La desventaja es el aumento en el tamaño del programa cuando una función inline es llamada en forma repetida.


11.              ¿Qué reproduce cada vez que se hace referencia a una función inline?
Ø Se reproduce el código completo de la función y se almacenaen la memoria una sola vez.

12.              ¿Cuando es conveniente usar inline?
Ø Solo deberían usarse para funciones pequeñas en forma exhaustiva en un programa.

13.              ¿a que se le llama o conode como  trasmisión por valor?
Ø En una invocación de una función típica, la función llamada recibe valores de la función que llama, almacena y manipula los valores transmitidos y devuelve en forma directa cuando mucho un calor único.


14.              ¿Como se reconoce a la transmisión de direcciones?
Ø Se le conoce como función de tranision por referencia  o  también se le conoce como llamada por referencia, donde ,una vez mas, el termino se aplica solo a los argumentos cuya dirección se ha transmitido.

15.              ¡Cual es la equivalencia etre los argumenotos reales que llaman y los parámetros de función ilustrados?
Ø Proporcionan la base para devolver valore miltiples desde adentro de una función.

16.              ¿Porque es necesario en ocacones alterar el enfoque dándole a una función llamada aceso directo a las variables de su función que llama?
Ø Esto le permite a la función, la cual es llamada, usen y cambien el valor de variables que se han definido en la función llamada para hacer esto se requiere que la dirección de la variable se transmita a la función llamada.


17.              ¿Cuáles algoritmos se usan para lograr intercambiar valores en dos variables?
a)   Guardar el valorde primer parámetros en una ubicación temporal
b)   Almacena el valor del segundo parámetro en la primera variable
c)   Almacenar el valor temporal en el segundo parámetros



18.              Da un ejemplo de una función intercambio que este acuerdo con estas especificaciones.
Void intercambio(doublé& num1, doublé&num2)
{
Doublé temp;
temp = num1;                                //guardar el valor de num1
temp = num2;                                //almacena el valor de num2 en num1
temp = num3;                                //cambia el valor de num2
return;
}



19.              ¿Cuales son las dos precauciones al usar argumentos de referencia?
a)   Los argumentos de referencia deben ser variables(es decir, no usarse para cambiar aconsatantes).
b)   La segunda precaucion es que una llamada a función es si o no da indicio de que la función llamada usara parámetros de referencia.

20.              Da un ejemplo de la primera  precauciones al usar argumentos de referencia:

a)   Ejemplo de la primera precaucion  intercambio(20.5, 34.8)









//problema 10a  de la pagina 331 fecha: 19 de noviembre del 2012






//problema 10a  de la pagina 331 fecha: 19 de noviembre del 2012
pseudocodigo
inicio
void cargaC(real E,real A, real L, real r)
{
Carga real
carga=pow(3.1416,2)*E*A/pow((L/r),2)
print "la carga critica es: " , carga
  }
int main()
{
E,A,L,r real
print "introduce la elastricidad del material usado: "
read E
print "introduce el area de corte transversal: "
read A
print "introduce el largo de la columna: "
read L
print "introduce el radio del giro: "
read r
cargaC(E,A,L,r)
}
fin




//problema 10b  de la pagina 331 

 



  


//problema 10b  de la pagina 331 
pseudocodigo
inicio
void cargaC(real E,real A, real L, real r,int a)
{
carga real
carga=pow(3.1416,2)*E*A/pow((L/r),2)
print "la carga critica es: " , carga
getch()
return
}
int main()
{
real E,A,L,r
i,a int
print "introduce el numero de cargas que quieres calcular: "
read a
for(i=0 to a step i++)
{
print "introduce la elastricidad del material usado: "
read E
print "introduce el area de corte transversal: "
read A
print "introduce el largo de la columna: "
read L
print "introduce el radio del giro: "
read r

cargaC(a,E,A,L,r)
}
}
Fin

//problema 12a  de la pagina 331 


//problema 12a  de la pagina 331 
pseudocodigo
inicio
void entero(int n)
{
print "elvalor ingresado es:" , n

getch()
return
}
int main()
{
n int
print "introduce un valor entero: "
read n
entero(n)
}
Fin





//problema 12b de la pagina 331 

//problema 12b de la pagina 331 
pseudocodigo
inicio
void entero(int n)
{
print "el valor ingresado entero es: " , n
}
int main()
{
n,i,a int
print "introduce los valores que necesites desplegar: "
read a
for(i=0 to a step i++)
{
print "introduce un valor entero: "
read n
print
entero(n)
getch()
}

}
Fin






//problema 4  de la pagina 341 



//problema 4  de la pagina 341
pseudocodigo
inicio
void cambio(int dolares,int cien=100,int cincuenta=50,int veinte=20,int diez=10,int cinco=5,int uno=1)
{

conv_dls real

switch(dolares)
{
case 100:
conv_dls=cien/11.00
print cien , " en cambio en dolares es: " , conv_dls , " dlls"
break

case 50:
conv_dls=cincuenta/11.00
print cincuenta , " en cambio en dolares es: " , conv_dls , " dlls"
break

case 20:
conv_dls=veinte/11.00
print veinte , " en cambio en dolares es: " , conv_dls , " dlls"
break

case 10:
conv_dls=diez/11.00
print diez , " en cambio en dolares es: " , conv_dls , " dlls"
break

case 5:
conv_dls=cinco/11.00
print cinco , " en cambio en dolares es: " , conv_dls , " dlls"
break

case 1:
conv_dls=uno/11.00
print uno , " en cambio en dolares es: " , conv_dls , " dlls"

break

default:
print "introduce otra cantidad "
}
}
int main()
{
dolares int
print "introdusca la cantidad que deceas convertir $100, $50, $20, $10, $5, $1"
print
print "introdusca la cantidad de convertir de a dolores"
read dolares
cambio(dolares)
}


 fin  


 //problema 5  de la pagina 341
 

 //problema 5  de la pagina 341 
pseudocodigo
inicio
void tiempo(int segundos)
{
hora int
min int

if(segundos<=60)
{
print "segundos" , segundos
}
else
{
min=segundos/60
hora=segundos-60
print "minutos " , min
print "segundos" , hora
}
if(min>=60)
{
hora=min/60
print "hora " , hora
}
}
int main()
{
segundos int
print "introdusca la cantidad de segundos: "
read segundos
tiempo(segundos)
}

 fin

//problema de aplicación 1 de la pagina 343




//problema de aplicación 1 de la pagina 343 
pseudocodigo
inicio
void obtrec(double&,double&)
void polar(double, double, double&, double&)
void mostrarlo(double,double)
int main()
{
double x,y,distancia,angulo

obtrec(x,y)
polar(x,y,distancia,angulo)
mostrarlo(distancia,angulo)
return 0
}
void obtrec(double& x,double& y)
{
print "programa de conversion de coordenadas rectagulares a polar"
print "introdusca la cordenada x: "
read x
print "introdusca la cordenada y: "
read y
print "la coordenada rectangular es: " , "( " , x , " , " , y , " )"

}

void polar(double x, double y, double& r, double& theta)
{
const double A_grados=180.0/3.141593

r=sqrt(x*x+y*y)
theta= atan(y/x)*A_grados

}

void mostrarlo(double radio, double angulo)
{
print "-----------------------------------------------------------------"
print " las cordenadas polares son "
print " distancia desde el origen: " , radio
print " angulo(en grados) respecto al eje x: " , angulo
print "la coordenada polar es: " , "(" , radio , " , " , angulo , " )"
getch()
return
}


 fin