martes, 27 de noviembre de 2012

Tarea #3 Unidad 3





Instituto Tecnológico de Tijuana



Programación Estructurada



Tarea #3 de la unidad 3



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles


Tijuana, Baja California a 27 de noviembre de 2012

                                          
                                                             ·       Cuestionario


1.    ¿A que se le conoce como transmisión por valor?
Se le conoce cuando una funcion almacena y manipula los valores transmitidos y devuelve directamente un solo valor.
2.    ¿A que se le conoce como transmisión por referencia?
Es cuando la funcion llamada tiene la dirección de la variable, sabe donde se encuentra la variable y puede tener acceso al valor almacenado ahí y cambiarlo directamente.
3.    ¿Cuales son los parámetros de dirección que proporciona C++?
Son las referencias y los apuntadores.
4.    ¿Cuál es la forma escrita el esquema inicial de un programa de computadora?
Generalmente es una descripción en seudocódigo o un diagrama de estructura de primer nivel.
5.    ¿Para que sirve ese esquema inicial?
Comienza con el proceso de definir un problema mas complicado en un conjunto de tareas más pequeñas y más manejables.
6.    Escriba el algoritmo que se aplica a muchas tareas de ingeniería y científicas:
Obtener las entradas del problema
Calcular el resultado deseado
Reportar los resultados del calculo
7.    ¿Cómo se le conoce al algoritmo mencionado anteriormente?
Algoritmo para resolver problemas.
8.    ¿Cuales son los 2 compiladores de C++ para crear números aleatorios?
Los compiladores son rand () srand ().
9.    ¿Que hace la funcion rand ()?
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.
10. ¿Que hace la funcion srand ()?
Produce un valor "semilla “inicial para rand ().
11. ¿Que pasa si no se usa srand u otra técnica de sembrado?
Producirá siempre la misma serie de números aleatorios.
12. ¿Cómo se le conoce al método para ajustar los números aleatorios producidos por un generador de números aleatorios para que residan dentro de dichos rangos?
Se le conoce como escalamiento.
13. ¿Cuáles son los tres pasos del algoritmo de intercambio?
Guardar el valor del primer parámetro en una ubicación temporal
Almacenar el valor segundo parámetro en la primera variable
Almacenar  el valor temporal en el segundo parámetro.
14. ¿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.
15. ¿Qué es lo que se debe atender al intercambiar datos?
El emisor y el receptor del intercambio de datos.
16. ¿Cual es una opción por omisión en C++?  
Transmitir por valor en lugar de transmisión por referencia.
17. ¿Cuál es la sintaxis para declarar un parámetro de referencia? 
Tipo-de-datos nombre-de-referencia.
18. ¿Cómo se define la rutina randomize en C++? 
Usando la función srand ().
19. 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 costos a construir un experimento real.
20. ¿Cómo se logra el escalamiento de un número aleatorio como un valor entero entre 0 y N-1?
Se logra usando cualquiera de las expresiones rand () %N o int (doublé(rand ()/RAND_MAX*N).





Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 3 Sección 6.3



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 27 de noviembre de 2012

Programación:

//Tarea 3 Unidad 3, Problema 3 Seccion 6.3
//Integrantes del equipo: Avendaño Reveles Daniel
#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
}
final programa


Programa:




Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 2 Sección 6.4



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 27 de noviembre de 2012

Programación:

//Tarea 3 Unidad 3, Problema 2 Seccion 6.4
//Integrantes del equipo: Avendaño Reveles Daniel
#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)
final programa

Programa:




Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 5 Sección 6.4



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 27 de noviembre de 2012

Programación:

//Tarea 3 Unidad 3, Problema 5 Seccion 6.4
//Integrantes del equipo: Avendaño Reveles Daniel
#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)
final programa


Programa:

lunes, 19 de noviembre de 2012

Tarea #2 Unidad 3




Instituto Tecnológico de Tijuana



Programación Estructurada



Tarea #2 de la unidad 3



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles


Tijuana, Baja California a 20 de noviembre de 2012



·       Cuestionario

1.    ¿Cómo se le conoce al argumento cuando se transmite un valor a una funcion llamada?
Se le conoce como argumento transmitido por valor.
2.    ¿Qué puede procesar la funcion que recibe los argumentos transmitidos por valor?
Puede procesar los valores enviados a ella de la manera que se desee y devolver directamente cuando mucho un valor “Legitimo” a la funcion que llama.
3.   ¿Que se necesita para devolver un valor directamente?
Se requiere un manejo correcto de la interface entre las funciones llamadas y las que llaman.
4.   ¿Una funcion llamada en una transacción debe aportar ciertos elementos, cuales son esos?
·        El tipo de datos del valor devuelto.
·        El valor devuelto real.
5.   ¿Una funcion que devuelve un valor que debe especificar?
De especificar en la línea de encabezado, el tipo de datos del valor que devuelve.
6.   ¿Qué debe de hacer una funcion que llama al recibir el valor de una funcion llamada?
·        Debe estar prevenida sobre el tipo de valor a esperar.
·        Utilizar correctamente el valor devuelto.
7.   ¿Qué se utiliza para para prevenir a la funcion que llama acerca del valor devuelto que debe esperar?
Se utiliza el prototipo de la funcion.
8.    ¿Se necesita almacenar el valor devuelto por una funcion?
El valor devuelto por una funcion no tiene que ser almacenado directamente en una variable, pero se puede utilizar siempre que una expresión sea valida.
9.   Mencione alguno de los propósitos de las declaraciones:
Uno de ellos es avisar a la computadora del espacio de almacenaje interno a reservar para los datos.
10. ¿A que se le conoce como memoria pila?
Consiste en colocar valores de argumentos en una región reservada de la memoria a la cual la funcion tiene acceso.
11. ¿Cómo se justifica la carga adicional de una funcion?
Se justifica cuando una funcion se llama muchas veces, pues ello puede significar reducir el tamaño de un programa.
12. ¿Qué es conveniente hacer cuando no se llama muchas veces una funcion?
Es conveniente agrupar líneas repetitivas de código con un nombre común de funcion y hacer que el compilador coloque este código directamente en el programa siempre que se llame a la funcion.
13. ¿Qué sucede cuando le indicamos al compilador que una funcion esta en-línea?
Hace que una copia del código de la funcion se coloque en el programa en el lugar donde la funcion es llamada.
14. ¿Qué necesita para hacer una funcion en-línea?
Simplemente se requiere colocar la palabra reservada inline antes del nombre de la funcion y definirla antes de hacer cualquier llamada a ella.
15. ¿Cuál es la ventaja de usar inline?
La ventaja de usar inline es un aumento en la velocidad de ejecución, como la funcion inline se expande directamente y se incluye en cualquiera expresión o instrucción que la llame, no se pierde tiempo de ejecución debido a la carga adicional de llamar y devolver, como ocurre con una funcion que no es inline.
16. ¿Cuál es la desventaja de usar inline?
La desventaja es que el tamaño del programa aumenta cuando una funcion inline se llama en forma repetitiva.
17. ¿Qué sucede cuando una funcion no es inline?
Se almacena en memoria una sola vez, sin importar cuantas veces se llame a la funcion, se utiliza el mismo código, de tal manera que las funciones inline deben utilizarse solo para funciones pequeñas que no son llamadas frecuentemente en un programa.
18. ¿A que se le conoce como transmisión por valor?
Se le conoce cuando una funcion almacena y manipula los valores transmitidos y devuelve directamente un solo valor.
19. ¿A que se le conoce como transmisión por referencia?
Es cuando la funcion llamada tiene la dirección de la variable, sabe donde se encuentra la variable y puede tener acceso al valor almacenado ahí y cambiarlo directamente.
20. ¿Cuales son los parámetros de dirección que proporciona C++?
Son las referencias y los apuntadores.






Instituto Tecnológico de Tijuana




Programación Estructurada



Problema de la aplicación 1



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 20 de noviembre de 2012

Programación:


//Tarea 2 Unidad 3, Aplicacion 1
//Integrantes del equipo: Avendaño Reveles Daniel
#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
}
Final programa


Programa:





Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 10 a)



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 20 de noviembre de 2012

Programación:


//Tarea 2 Unidad 3, Problema 10 a)
//Integrantes del equipo: Avendaño Reveles Daniel

#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)
}
Final programa


Programa:




Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 10 b)



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 20 de noviembre de 2012

Programación:


//Tarea 2 Unidad 3, Problema 10 b)
//Integrantes del equipo: Avendaño Reveles Daniel

#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)
}
}
Final programa


Programa:




Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 12 a)



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 20 de noviembre de 2012

Programación:


//Tarea 2 Unidad 3, Problema 12 a)
//Integrantes del equipo: Avendaño Reveles Daniel

#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)
}


Programa:




Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 12 b)



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 20 de noviembre de 2012

Programación:


//Tarea 2 Unidad 3, Problema 12 b)
//Integrantes del equipo: Avendaño Reveles Daniel

#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)
}

}


Programa:




Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 4



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 20 de noviembre de 2012

Programación:


//Tarea 2 Unidad 3, Problema 4
//Integrantes del equipo: Avendaño Reveles Daniel

#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()
}
Final programa

Programa:






Instituto Tecnológico de Tijuana




Programación Estructurada



Problema 5



Docente: Ángela Colunga Aldana



Alumno: Daniel Avendaño Reveles



                                       
   Tijuana, Baja California a 20 de noviembre de 2012

Programación:


//Tarea 2 Unidad 3, Problema 5
//Integrantes del equipo: Avendaño Reveles Daniel

#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()
}
Final programa


Programa: