top of page
Teslova_cívka_v_provozu.jfif

Clase 12: Funciones sin parámetros 

El tema abordado en esta sesión fueron las funciones sin parámetros. Se trató sobre la codificación de funciones donde estas no retornaban un valor, sino que directamente lo mostraban en pantalla.

​

Para ello, las funciones hacían uso del parámetro VOID, y como su nombre lo indica: Vacío, especifica que la función no regresa ningún valor y que este, en base a la codificación que le demos, puede convertirse en otro tipo de parámetro que puede apuntar a cualquier variable que no se declare.

​

Básicamente, eso son las funciones sin parámetros: Estructuras de código que ejecutan una acción proporcionando un valor con naturaleza (Entero, doble, flotante, entre otros.) sin necesidad que especificar, previamente, con que tipo de variable se está trabajando, sin retorno y mostrando el resultado directamente.

​

De esta manera, en el apartado de síntesis conceptual, de la presente sesión, se expandirá un poco acerca del concepto de VOID y se mostrará la estructura para una función sin parámetros, así como la estructura de código y el procedimiento para codificar, ambos modificados.

​

Por otro lado, respecto a la parte práctica de la sesión, se ha presentado un menú que incluye lo siguiente:

  • Una tabla de multiplicar (Uso de FOR, solo para recordar su aplicación).

  • Cálculo de la Impedancia Z (Ejercicio designado por lista).

  • Cálculo de la Impedancia Z con variación de una variable.

  • Cálculo de la Impedancia Z con variación de dos variables.

​

Sobre la tarea de la sesión, esta es codificar un menú de tres opciones acerca de alguna fórmula de resonancia mecánica o de sólidos. La primera opción es su cálculo de forma normal, la segunda opción es su cálculo con la variación de alguna variable, y la tercera opción es el cálculo con la variación de dos variables.

Lunes 19/02/2024

Síntesis conceptual

La palabra VOID: 

  • Cuando se usa como un tipo de valor devuelto de función, especifica que la función no devuelve ningún valor.

  • Cuando se usa para la lista de parámetros de una función, específica que la función no toma ningún parámetro.

  • Cuando se usa en la declaración de un puntero, especifica que el puntero es universal.

​

En base a lo anterior, cuando se hace uso de VOID, se estaría indicando que la función definida es una función libre o una función que no es miembro de alguna clase, o una función de miembro estática.

​

​

​

​

​

​

​

​

​

​

​

​

Estructura del código 

La estructura de código es la misma tanto para funciones con y sin parámetros: 

  • Directivas del preprocesador: Son las librerías.

  • Prototipos de función: Es la definición de la función y las variables.

  • Int main (): Cuerpo del código.

  • Desarrollo de función: Parte independiente del código donde se resuelve la función. El resultado se muestra directamente en pantalla (Aplicar cout).  

 

Procedimiento para codificar 

El procedimiento mostrado en la clase 10, para funciones sin parámetros, se modifica de la siguiente manera: 

  1. Invocación: Desarrollar el cuerpo del código e introducir la función.

  2. Declaración: Se declara la función haciendo uso de la estructura mostrada. Tanto la función que se define en la lista de funciones como la función que se encuentra dentro del cuerpo del código, no incluyen variables ni variables de paso. 

  3. Zona de funciones: Se encuentra fuera del cuerpo del código, es independiente del resto del código. Implica el desarrollo de la función.

  4. Fin del código: Mostrar en pantalla el resultado del código.

image.png

Práctica de la clase: Menú 

#include<iostream>
#include<math.h>
using namespace std;

int opcion; 

void TABLA (); 
int i, j, p; 

void IMPEDANCIA ();
float a, b, c, W, R, L, C, Z; 

void IMPEDANCIA_L ();
float a1, b1, c1, W1, R1, L1, C1, Z1; 

void IMPEDANCIA_L_C ();
float a2, b2, c2, W2, R2, L2, C2, Z2; 


int main () {
   
   cout<<"MENU"<< endl;
   cout<<"_______________________________"<< endl;
   cout<<"[1] Tabla de multiplicar."<< endl; 
   cout<<"[2] Impedancia Z."<< endl;
   cout<<"[3] Impedancia variando L."<< endl;
   cout<<"[4] Impedancia variando L y C."<< endl; 
   cout<<"\n";
   cout<<"Ingrese una opcion [1;3]--------->"; cin>> opcion; 
   cout<<"\n";
   
   switch (opcion) {
       
       case 1:{
           
           cout<<"TABLA DE MULTIPLICAR"<< endl;
           cout<<"__________________________________"<< endl;
           
           TABLA ();

            break;
       }
       
       
       
       case 2:{
           cout<<"CALCULO DE LA IMPEDANCIA Z"<< endl;
           cout<<"________________________________________"<< endl; 
           cout<<"Ingrese los datos que se le solicitan:"<< endl; 
           cout<<"\n"; 
           cout<<" -La frecuencia de resonancia W--------->"; cin>> W;
           cout<<" -La resistencia R---------------------->"; cin>> R;
           cout<<" -La inductancia L---------------------->"; cin>> L;
           cout<<" -La capacitancia C--------------------->"; cin>> C;
           
           IMPEDANCIA (); 
           
           break;
       }
       
       
       case 3: {
           cout<<"CALCULO DE LA IMPEDANCIA variando L"<< endl;
           cout<<"________________________________________"<< endl; 
           cout<<"Condicion: Li=10. Lf=20. Variacion=0.5."<< endl; 
           cout<<"Ingrese los datos que se le solicitan:"<< endl; 
           cout<<"\n"; 
           cout<<" -La frecuencia de resonancia W--------->"; cin>> W1;
           cout<<" -La resistencia R---------------------->"; cin>> R1;
           cout<<" -La capacitancia C--------------------->"; cin>> C1;
           
           IMPEDANCIA_L ();
           
           
           break;
       }
       
       
       
       case 4: {
           
           cout<<"CALCULO DE LA IMPEDANCIA variando L y C"<< endl;
           cout<<"________________________________________"<< endl; 
           cout<<"Condicion 1: Li=10. Lf=20. Variacion=0.5."<< endl; 
           cout<<"Condicion 2: Ci=5. Cf=25. Variacion=1."<< endl; 
           cout<<"Ingrese los datos que se le solicitan:"<< endl; 
           cout<<"\n"; 
           cout<<" -La frecuencia de resonancia W--------->"; cin>> W2;
           cout<<" -La resistencia R---------------------->"; cin>> R2;
           
           
           IMPEDANCIA_L_C (); 
           
           break;
       }
       
   }
   
   return 0; 
}

 

void TABLA (){
   
   for (i=1; i<=12; i=i+1){
       cout<<"\n"; 
       cout<<"La tabla del " << i <<endl; 
       cout<<"_____________________________"<< endl; 
       
       for (j=1; j<=12; j=j+1){
           
           p=i*j; 
           
           cout<< i <<" X " << j << " = " << p << endl; 
       }
       
   }

    
}

 


void IMPEDANCIA (){
   
   a=W*L;
   b=1/(W*C);
   c=pow(a-b, 2);
   Z=sqrt (pow(R,2)+c);
   cout<<"\n"; 
   cout<<"La Impedancia Z segun los datos indicados es "<< Z << endl;  
   
}

void IMPEDANCIA_L (){
   
   cout<<"\n"; 
   for (L1=10; L1<=20; L1=L1+0.5){
       a1=W1*L1;
         b1=1/(W1*C1);
        c1=pow(a1-b1, 2);
       Z1=sqrt (pow(R1,2)+c1);
       
       cout<<"La Impedancia Z para inductancia de "<< L1 << " segun lo datos indicados es " << Z1 << endl;
   }
}

void IMPEDANCIA_L_C (){
   
   for (L2=10; L2<=20; L2=L2+0.5){
       cout<<"\n"; 
       cout<<"Para inductancia de "<< L2 << endl;
       cout<<"____________________________"<< endl; 
       
       for (C2=5; C2<=25; C2=C2+1){
           a2=W2*L2;
             b2=1/(W2*C2);
            c2=pow(a2-b2, 2);
           Z2=sqrt (pow(R2,2)+c2);
           
           cout<<"La impedancia para inductancia de "<< L2 <<" y capacitancia de " << C2 << " es igual a " << Z2 << endl; 
           
       }
       
       
   }


}

image.png

Tarea: Menú de Resonancia Mecánica o de Sólidos

#include<iostream>
#include<math.h>
using namespace std;

int opcion; 

void RESONANCIA ();
double Wo, t, f, a, b, c, R, pi=3.14159265358979323846264338327; 

void RESONANCIA_t (); 
double Wo1, t1, f1, a1, b1, c1, R1; 

void RESONANCIA_t_Wo (); 
double Wo2, t2, f2, a2, b2, c2, R2; 

int main(){
   
   cout<<"MENU"<< endl;
   cout<<"___________________________________"<< endl; 
   cout<<"Opcion 1. Resonancia Mecanica."<< endl; 
   cout<<"Opcion 2. Resonancia variando t."<< endl; 
   cout<<"Opcion 3. Resonancia variando t y Wo."<< endl; 
   cout<<"\n"; 
   cout<<"Ingrese un numero <> 0 del [1, 3]------->"; cin>>opcion; 
   cout<<"\n"; 
   
   switch (opcion){
       
       case 1: {
           
           cout<<"\n"; 
           cout<<"RESONANCIA MECANICA"<< endl; 
           cout<<"_________________________________"<< endl; 
           cout<<"\n"; 
           cout<<"Ingrese los valores que se le solicitan:"<< endl;
           cout<<" -La frecuencia natural del solido-------->"; cin>> Wo; 
           cout<<" -Tiempo de aplicacion de fuerza periodica--------------->"; cin>>t; 
           cout<<" -Amplitud de oscilacion--------------->"; cin>> f; 
       
           RESONANCIA ();             
   
           break;
       }
       
       
       case 2: {
           
           cout<<"\n"; 
           cout<<"RESONANCIA VARIANDO t "<< endl; 
           cout<<"_________________________________"<< endl; 
           cout<<"Condicion: ti=5. tf=25. Paso=1"<< endl; 
           cout<<"\n"; 
           cout<<"Ingrese los valores que se le solicitan:"<< endl;
           cout<<" -La frecuencia natural del solido-------->"; cin>> Wo1; 
           cout<<" -Amplitud de oscilacion--------------->"; cin>> f1; 
           
           RESONANCIA_t (); 
           
           break;
       }
       
       
       case 3: {
           
           cout<<"\n"; 
           cout<<"RESONANCIA VARIANDO t Y Wo "<< endl; 
           cout<<"_________________________________"<< endl; 
           cout<<"Condicion 1: ti=5. tf=25. Paso=1"<< endl; 
           cout<<"Condicion 2: Woi=0.5. Wof=10. Paso=0.5"<< endl; 
           cout<<"\n"; 
           cout<<"Ingrese los valores que se le solicitan:"<< endl;
           cout<<" -Amplitud de oscilacion--------------->"; cin>> f2; 
           
           RESONANCIA_t_Wo (); 
       
           break;
       }
   }
   
   return 0; 
}


void RESONANCIA (){
   
   a=(Wo*t*pi)/(180); 
   b=sin(a); 
   c=f*0.5*t*b; 
   R=c/(Wo); 
   
   cout<<"\n"; 
   cout<<"La resonancia del solido segun los datos indicados es "<< R << endl; 
}

void RESONANCIA_t (){
   
   cout<<"\n"; 
   cout<<"RESULTADOS:" << endl; 
   cout<<"___________________________________________"<< endl; 
   
   for (t1=5; t1<=25; t1=t1+1){
       
       a1=(Wo1*t1*pi)/(180);  
       b1=sin(a1); 
       c1=f1*0.5*t1*b1; 
         R1=b1/(Wo1); 
       
       cout<<"Para un tiempo de exposicion "<< t1 << " la resonancia del solido es "<< R1 << endl; 
   }
}


void RESONANCIA_t_Wo (){
   
   for (t2=5; t2<=25; t2=t2+1){
       
       cout<<"\n"; 
       cout<<"Para un tiempo igual a "<< t2 << endl; 
       cout<<"_________________________________________"<< endl; 
       
       for (Wo2=0.5; Wo2<=10; Wo2=Wo2+0.5){
           
           a2=(Wo2*t2*pi)/(180);  
            b2=sin(a2); 
           c2=f2*0.5*t2*b2; 
             R2=b2/(Wo2); 
           
           cout<<"Para un tiempo de " << t2 << " y frecuencia natural del solido de " << Wo2 << ", la resonancia es solido es "<< R2 << endl;  
           
       }
   }
   cout<<"\n"; 
   cout<<"\n"; 
   cout<<"\n"; 
   cout<<"Los valores negativos de los resultados obtenidos indican ruptura del solido."<< endl; 
}

image.png

Extraído de: Profesor Yee. ¿Qué es resonancia? Explicado con ecuaciones. Profesor Yee. (8 de junio de 2020). Accedido el 23 de febrero de 2024. [Vídeo en línea]. Disponible en: https://www.youtube.com/watch?v=w2382cZjDZU&t=419s

bottom of page