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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
//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;
}
//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);
}
//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);
}
}
//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);
}
//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);
}
}
//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();
}
//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();
}
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
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
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
No hay comentarios:
Publicar un comentario