viernes, 30 de noviembre de 2012

Tarea 4 Manejo de archivos en C++


Preguntas:
1-      Por que surge la necesidad de utilizar archivos?
R-Por que antes era difícil transportar la información de una computadora a otra.
2-      Antes en que tipo de memoria se almacenaba la información?
R-En la memoria RAM
3-      Que desventaja tiene la memoria RAM  a comparación de el almacenamiento de datos?
R- De que si la computadora se apaga los datos se pierden por completo
4-      Responda con si o no la sig. Pregunta. Los archivos procesan  datos?
R-NO
5-      Que hacen los archivos?
R-Solo almacenan los datos
6-      Mencione las tres partes que conforman a un microprosedor en la interacción entre la memoria principal el microprocesador y los archivos?
R- ALU, Unidad de control, Registros
7-      Como se llama el proceso que enlaza a la memoria RAM con archivo?
R- Proceso de grabar datos en el archivo
8-      Como se llama el proceso que enlaza a ARCHIVO con la memoria RAM?
R- Proceso de carga de datos a la memoria
9-      Cuales son los dispositivos de almacenamiento secundario?
R- diskettes, discos duros, CDs, flash drives, etc.
10-   Que hacen los dispositivos de almacenamiento secundario?
R- Estos dispositivos no procesan datos solo almacenan datos.
11-   Que es un dato en computacion?
R-se refiere a los testimonios individuales relacionados con hechos, ya sean características de ciertos objetos de estudio o condiciones particulares de situaciones dadas.
12-   Que es registro en computacion?
R-Es el conjunto completo de datos relacionados pertenecientes a una entrada.
13-   Que es archivo en computacion?
R-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.
14-   El modo de operación de un archivo a que es asociado?
R- A un archivero de una oficina
15-   Que es lo que requiere un archivo abierto para poder realizar operaciones en el?
R- Un alias
16-   Cuales son las 2 clasificaciones de archivo por contenido?
R-Texto y binarios
17-   Que son los archivos de texto?
R-Son aquellos que pueden contener cualquier clase de datos y de tal manera que son “entendibles” por la gente.
18-   Cual es el código para que los datos de un archivo de texto se almacenen?
R- ASCII
19-   Que hacen los archivos binarios?
             R- Este tipo de archivos almacenan los datos numéricos con su representación binaria.
20- Como se clasifica la forma de acceder los datos de los archivos?
R-Secuenciales y directos.
21- De que otra forma también se les conoce?
R-acceso directo, relativo o aleatorio
22- Que son los archivos secuenciales?
                 R- en este tipo de archivos los registros se graban en secuencia o consecutivamente y                      deben accesarse de ese mismo modo.
23- Para que sirve la función EOF(endo of file)?
R-Para identificar donde termina el archivo en archivos secuenciales
24- Para que sirve el calculo de direcciónes físicas?
R- Para reposicionar el apuntador de un archivo en un registro especifico
25- Los archivos de lenguaje C++ que tipo de direccones usa?
R- Fisicas.

lunes, 26 de noviembre de 2012

Tarea 3 Unidad 3

Preguntas:

1- Que recibe en una invocacion de una funcion tipica la funcion llamada?
R- Recibe valores de la funcion que llama

2-Cuando se dice que es una transmision por valor?
R- Cuando se almacena y manipula los valores transmitidos y devuelve de forma directa un valor unico

3-Llamar a una funcion y transmitir argumentos por valor es una ventaja de que programador?
R- Programador C++

4- Como se conoce la transmision de direcciones?
R- Como funcion de transmision por referencia

5-Cuales son los dos tipos de parametros de direccion que proporciona C++?
R-Referencia y apuntadores

6-Que hace la instruccion valnuevo?
R-Llama a la funcion llamada valnuevo y le transmite dos argumentos

7-Cuales son unos de los primeros requisitos al escribir la instruccion valnuevo()?
R-Es declarar dos parametros de de referencia para aceptar direcciones transmitidas.

8-Da un ejemplo de la instruccion valnuevo en x programa?
R- void valnuevo(double& num1, double& num2)

9-Como es en forma escrita el esquema inicial de un programa de computadora?
R- Por lo general es una descripcion seudocodigoo un diagrama de estructura de primer nivel

10-Para que sirve ese esquema?
R-Hace un problema complicado en un conjunto de tareas mas pequeñas y manejables

11-Cual es el algoritmo de un esquema general aplicable a muchas tareas de ingenieria y cientificas?
R- Obtener las entradas del problema
    -Calcular el resultado deseado
    -Reportar los resultados del calculo

12- Obtener las entradas, calcular el resultado y reportar los resultados se le hace referencia a ese algoritmo como?
R-Algoritmo para resolver problemas 

13-La funcion polar en su linea de encabezado que declara?
R- Si la funcion devolvera o no devolverda de forma directa algun valor

14-Como puede probarse la instruccion polar en el programa?
R-Escribiendo una funcion controladora dedicada que solo llama a polar

15-Cuales son los 2 compiladores de C++ para crear numeros?
R- rand() y srand()

16-Que hace la funcion rand()?
R-Produce una serie de numeros aleatorios en el  rango 0<rand<rand_max donde la constante rand_max sedefine en el archivo de encabezado cmath.


17-Que hace la funcion srand?
R-Produce un valor "semilla"inicial para rand()

18-Que pasa si no se usa srand o otra tecnica de sembrado?
R-Producira siempre la misma serie de numeros aleatorios

19-El metodo para ajustar los numeros aleatorios producidos por un generador de numeros aleatorios para que residan dentro de dichos rangos se llamaa?
R- Escalonamiento

20-Que expresion puede usarse para producir un numero entero aleatorio?

R- 1+rand()%N

Problemas:

Problema 6.3:

Codificacion C++:


#include <iostream.h>
#include <conio.h>

int encontrarMax(int, int);

int main()
{
int primernum, segundonum, max;

cout<< "\nIntroduzca el primer numero: ";
cin>>primernum;
cout<< "\nIntroduzca el segundo numero: ";
cin>>segundonum;

max=encontrarMax(primernum, segundonum);

cout<< "\nEl maximo de los dos numeros es: "<<max<<endl;
cout<< "\nEL valor almacenado en max es: "<<max<<endl;


getch();
return 0;

}

int encontrarMax(int x, int y)
{
int numMax;

if(x>=y)
{
numMax=x;
}
else
{
numMax=y;
}
return numMax;
}



pseudocodigo

funcion encontrarMax(int, int)

inicio funcion
{
primernum        int
segundonum    int
max       int 
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
final funcion
incio programa
funcion encontrarMax(int x, int y)
{
numMax             int
if(x>=y)
{
numMax=x
}
else
{
numMax=y
}
return numMax
}
FIN

Imagen de corrida del programa:


Problema 6.4
Codificacion C++:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void calcradioarea(float r , float a)
{
cout<<"\nEl radio es: "<<r<<endl;
cout<<"\nEl area es: "<<a<<endl;
getch();
return ;
}

int main()
{

float r, a,c;
cout<<"Introduce la circuferencia del circulo: ";
cin>>c;

r=c/(2*3.1416);

a=(3.1416)*pow(r,2);

calcradioarea(r , a);
getch();
return 0;
}

Pseudocodigo:

Funcion calcradioarea(float r , float a)
inicio funcion
{
print "El radio es: ", r
print "El area es: ", a
}
final funcion
inicio programa

int main()
{

r              float
a             float
c              float
print "Introduce la circuferencia del circulo: "
read c

r=c/(2*3.1416)

a=(3.1416)*pow(r,2)

calcradioarea(r , a)
FIN


Imagen de corrida del programa:




Problema 5 Seccion 6.4
Codificacion C++:
#include <iostream.h>
#include <conio.h>
#include <math.h>

void encontrarDistancia(float d)
{


cout<< "\nLa distancia entre los dos puntos es: "<<d<<endl;
}

int main()
{
float x1, y1, x2, y2, d;

cout<< "\nIntrodusca las coordenadas del primer punto: ";
cin>>x1>>y1;
cout<< "\nIntrodusca las coordenadas del segundo punto: ";
cin>>x2>>y2;


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


encontrarDistancia(d);
getch();
return 0;

}

Pseudocodigo:

funcion encontrarDistancia(float d)
inicion funcion
{
print  "La distancia entre los dos puntos es: ", d
}
final funcion
inicio programa
{
x1           float
y1           float
x2           float
y2           float
d             float

print  "Introdusca las coordenadas del primer punto: "
read x1
read y1
print  "Introdusca las coordenadas del segundo punto: "
read x2
read y2


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


encontrarDistancia(d)
FIN

Imagen de corrida del programa:

lunes, 19 de noviembre de 2012

Tarea 2 unidad 3

PREGUNTAS:

1- Al utilizar el metodo de transmitir datos la funcion llamada solo recibe?
R- Copias de los valores contenidos en los argumentos en el momento de la llamada.

2-Cuando se transmite un valor a una funcion invocada de esta manera el argumento transmitido se conoce como?
R- Transmitido por valor

3- Que puede procesar la funcion que recibe los argumentos transmitidos por valor?
R- Los valores que se le envien  en cualquier forma deseada.

4-Que se requiere para devolver en forma directa una valor?
R-Que la interfaz entre la funcion llamada y la que llama se maneje en forma correcta.

5-Cuales son los 2 elementos que la funcion llamada debe proporcionar?
R- El tipo de datos del valor devuelto.          
    -El valor real que se devuelve

6- Una funcion que devuelve un valor que debe especificar?
R- En su linea de encabezado, el tipo de datos del valor que se devolvera.

7-void encontrarmax(int x, int y) x Y y que son?
R- Son los nombres elegidos para los parametros de la funcion

8-Para devolver un valor, una funcion debe usar?
R- Una instruccion de devolucion

9-Al aplicarla en el programa que forma tiene?
R- return expresiom;

10-Para alertar a la funcion que llama acerca del tipo de valor devuelto que debe esperar se utiliza?
R- El prototipo de funcion

11-  Que alerta lo siguiente a main()- int encontrarmax(int, int)?
R- Que encontrarmax es una funcion que devolvera un valor entero

12- Que es lo que hay  que proporcionar para  usar un valor devuelto?
R- Una variable para almacenar el valor o usar el valor  en forma directa en una expresion.

13-Cual es el proposito de las declaraciones?
R-Alertar a la computadora de la cantidad de almacenamiento interno reservado para los datos.

14-Que ejecuta el prototipo convertir_temp()?
R-Alerta al compilador del tipo de almacenamiento necesario para el valor devuelto

15-Que es la memoria pila?
R- Region de memoria reservada a la que funcion tiene acceso.

16-Cuando la funcion que llama recibe valoresde la funcion de la que llama,almacena y manipula los valores transmitidos y devuelve en forma directa cuando mucho un valor unico, cuando se transmiten los datos de esta manera se conoce como?
R-Transmision por valor.

17-Que permite llamar a una funcion y transmitir argumentos por valor?
R- Que se escriban como entidades independientes que puedan usar cualquier nombre de variable sin preocuparse que otras funciones usen el mismo nombre.

18- La transmision de direccion se conoce como funcion de?
R- Transmision por referencia

19-Cuales son los dos parametros de direccion que proporciona C++?
R- Referencias y apuntadores

20-Cuales son las precauciones al usar argumentos  de referencia
-No constantes -- solo variables
-Es que una llamda  a funcion en si no da indicio de que la funcion llamada usara parametros de referencia


PROBLEMAS
Codificacion C++:


#include <iostream.h>
#include <conio.h>
#include <math.h>


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)
{

cout<<"Programa de conversion de coordenadas"<<" rectangulares a polares\n"<<endl;
cout<<"Introdusca la coordenada x: ";
cin>>x;
cout<<"Introdusca la coordenada y: ";
cin>>y;

return;
}

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;
return;
}

void mostrarlo(double radio, double angulo)
{
cout<<"\nLas coordenadas polares son: "<<endl;
cout<<"Distancia desde el origen: "<<radio<<endl;
cout<<"Angulo(en grados) respecto al eje x: "<<angulo<<endl;
return;
}


Pseudocodigo:

Inicio funcion
void obtrec(double&, double&)
void polar(double, double, double&, double&)
void mostrarlo(double, double)
{
x             double
y             double
distancia              double
angulo  double

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", " rectangulares a polares",
Print "Introdusca la coordenada x: "
read x
Print "Introdusca la coordenada y: "
read y

return
}

void polar(double x, double y, double r, double theta)
Inicio programa
{
const double A_GRADOS=180.0/3.141593
r=sqrt(x*x+y*y)
theta=atan(y/x)*A_GRADOS
return
}

void mostrarlo(double radio, double angulo)
Final funcion
{
Print "Las coordenadas polares son: ",
Print "Distancia desde el origen: ", radio,
Print "Angulo(en grados) respecto al eje x: ", angulo,
return
}
FIN


Codificacion C++:
#include <iostream.h>
#include <conio.h>
#include <math.h>


void cargaC(float E,float A, float L, float r)
{

float carga;
carga=pow(3.1416,2)*E*A/pow((L/r),2);
cout<<endl<<endl;
cout<<"La carga critica es de: "<<carga<<endl;
getch();
return ;
}
int main()
{
float E,A,L,r;
cout<<"Introduce la elastricidad del material usado=? ";
cin>>E;
cout<<"introduce el area de corte transversal=? ";
cin>>A;
cout<<"introduce el largo de la columna=? ";
cin>>L;
cout<<"introduce el radio del giro=? ";
cin>>r;
cargaC(E,A,L,r);
}


Pseudocodigo:

Incio funcion
funcion void cargaC(float E,float A, float L, float r)
{

carga     float
carga=pow(3.1416,2)*E*A/pow((L/r),2)
Print "La carga critica es de: ", carga
getch()
return
}
final funcion
Inicio programa
{
E             float
A             float
L              float
r              float
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
Imagen de corrida del programa:

Codificacion C++:
#include <iostream.h>
#include <conio.h>
#include <math.h>

void cargaC(float E,float A, float L, float r)
{

float carga;
carga=pow(3.1416,2)*E*A/pow((L/r),2);
cout<<endl<<endl;
cout<<"La carga critica es= "<<carga<<endl;
cout<<"\n"<<endl;
 getch();
 return ;

 }
int main()
{
int i, n, j;
float E,A,L,r;
cout<<"Numero de cargas criticas a calcular=? ";
cin>>n;
cout<<"\n"<<endl;
for(i=0;i<n;i++)
{

cout<<"Introduce la elastricidad del material=? ";
cin>>E;
cout<<"Introduce el area de corte transversal=? ";
cin>>A;
cout<<"Introduce el largo de la columna=? ";
cin>>L;
cout<<"Introduce el radio del giro=? ";
cin>>r;
cargaC(E,A,L,r);
}
}


Pseudocodigo:

Incio funcion
funcion void cargaC(float E,float A, float L, float r)
{

carga     float
carga=pow(3.1416,2)*E*A/pow((L/r),2)
Print "La carga critica es de: ", carga
getch()
return
}
final funcion
Inicio programa
{
I              int
n             int
j              int
E             float
A             float
L              float
r              float
Print "Numero de cargas criticas a calcular=? "
read n
for(i=0 to n step i=i+1)
{
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

Imagen de corrida del programa:

Codificacion C++:
#include <iostream.h>
#include <conio.h>


void entero(int n)
{
cout<<"El valor entero es: "<<n<<endl;
getch();
return ;
}


int main()
{
int n;
cout<<"Introduce un valor=? ";
cin>>n;
entero(n);
}


Pseudocodigo:

Inicio funcion
funcion void entero(int n)
{
print "El valor entero es: ", n
getch()
return
}
Final funcion

Inicio programa
{
n             int
print "Introduce un valor=? "
read n
entero(n)
}
FIN

Imgen de corrida del programa:
Codificacion C++:
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>


void entero(int n)
{
cout<<"El valor entero es: "<<n<<endl;

getch();
return ;
}


int main()
{
int i, m;
float n;
cout<<"Numero de valores=? ";
cin>>m;
for(i=0;i<m;i++)
{
cout<<"Introduce un valor=? ";
cin>>n;
entero(n);
}

}


Pseudocodigo:

Inicio funcion
funcion void entero(int n)
{
print "El valor entero es: ", n
getch()
return
}
Final funcion

Inicio programa
{
I              int
m            int
n             float
Print "Numero de valores=?”
read m
for(i=0 to m step i=i+1)
{
print "Introduce un valor=? "
read n
entero(n)
}

}
FIN

Imagen de corrida del programa:
Codificacion C++:
#include <iostream.h>
#include <conio.h>
#include <math.h>

void cambio(int dolares,int cien=100,int cincuenta=50,int veinte=20,int diez=10,int cinco=5,int uno=1)
{

float conv_dls;

switch(dolares)
{
case 100:
conv_dls=cien/11.00;
cout<<cien<<" en cambio en dolares es: "<<conv_dls<<" dlls";
break;

case 50:
conv_dls=cincuenta/11.00;
cout<<cincuenta<<" en cambio en dolares es: "<<conv_dls<<" dlls";
break;

case 20:
conv_dls=veinte/11.00;
cout<<veinte<<" en cambio en dolares es: "<<conv_dls<<" dlls";
break;

case 10:
conv_dls=diez/11.00;
cout<<diez<<" en cambio en dolares es: "<<conv_dls<<" dlls";
break;

case 5:
conv_dls=cinco/11.00;
cout<<cinco<<" en cambio en dolares es: "<<conv_dls<<" dlls";
break;

case 1:
conv_dls=uno/11.00;
cout<<uno<<" en cambio en dolares es: "<<conv_dls<<" dlls";
break;

default:
cout<<"introduce otra cantidad "<<endl;
getch();
return ;
}
}
int main()
{
int dolares;
cout<<"Cantidades $100, $50, $20, $10, $5, $1 "<<endl;
cout<<"introdusca la cantidad de convertir de pesos a dolores"<<endl;
cin>>dolares;
cambio(dolares);
getch();
}


Pseudocodigo:


Inicio funcion
void cambio(int dolares,int cien=100,int cincuenta=50,int veinte=20,int diez=10,int cinco=5,int uno=1)
{

conv_dls             float

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”
getch()
return
}
}
Final funcion
Inicio programa
{
dolares int
print "Cantidades $100, $50, $20, $10, $5, $1 "
print "introdusca la cantidad de convertir de pesos a dolores"
read dolares
cambio(dolares)
getch()
}
FIN

Imagen de corrida del programa
.

Codificacion C++:
#include <iostream.h>
#include <conio.h>
#include <math.h>

void tiempo(int segundos)
{
int hora;
int min;
int  seg;

if(segundos<=60)
{
cout<<"Los segundos introducidos equivalen a "<<segundos<<" segundos"<<endl;
}
else
{
if(segundos>=60)
{
min=segundos/60;
cout<<"Los segundos introducidos equivalen a "<<min<<" minutos"<<endl;
}

else
{
if(min>=60)
{
hora=min/60;
cout<<hora<<endl;
}
}
}
getch();
return ;
}


int main()
{
int hora, min, seg, segundos;
cout<<"Introdusca la cantidad de segundos=? ";
cin>>segundos;
tiempo(segundos);
getch();
}

Pseudocodigo:


Inicio funcion
void tiempo(int segundos)
{
hora      int
min        int
seg         int 

if(segundos<=60)
{
print "Los segundos introducidos equivalen a ", segundos, " segundos",
}
else
{
if(segundos>=60)
{
min=segundos/60
print "Los segundos introducidos equivalen a ", min, " minutos",
}

else
{
if(min>=60)
{
hora=min/60
print hora
}
}
}
getch()
return
}

Final funcion
Inicio programa
{
hora      int
min        int
seg         int
segundos            int
print "Introdusca la cantidad de segundos=? "
read segundos
tiempo(segundos)
getch()
}
FIN

Imagen de corrida de programa: