Lenguaje de Programación
#include <iostream>
#include <cmath> // Para usar funciones matemáticas como sin()
using namespace std;
// Prototipos de funciones
void asignarDatos(), mostrarDatos(), sumarElementos(), listarCodigos();
void movimientoOndulatorio(), variarFrecuenciaAngular(), variarAmplitud();
int opcion, SUMA;
int A[10];
char B[256];
int main() {
do {
cout << " MENU DE VECTORES \n ";
cout << " ------------------ \n ";
cout << " 1.- ASIGNAR DATOS A UN VECTOR \n ";
cout << " 2.- MOSTRAR DATOS DE UN VECTOR \n ";
cout << " 3.- SUMA DE LOS ELEMENTOS \n ";
cout << " 4.- LISTADO DE CODIGOS ASCII \n ";
cout << " 5.- PROBLEMA CASO A \n ";
cout << " 6.- PROBLEMA CASO B \n ";
cout << " 7.- PROBLEMA CASO C \n ";
cout << " INGRESE UNA OPCION <> 0: ";
cin >> opcion;
switch (opcion) {
case 1:
cout << "Asignar datos a un vector \n";
cout << "------------------------- \n";
asignarDatos();
cout << endl;
break;
case 2:
cout << "Mostrar datos de un vector \n";
cout << "------------------------- \n";
mostrarDatos();
cout << endl;
break;
case 3:
cout << "Suma de los elementos \n";
cout << "------------------------- \n";
sumarElementos();
cout << endl;
break;
case 4:
cout << "LISTADO DE CODIGOS ASCII \n";
cout << "------------------------- \n";
listarCodigos();
cout << endl;
break;
case 5:
cout << "Movimiento Ondulatorio \n";
cout << "----------------------- \n";
movimientoOndulatorio();
cout << endl;
break;
case 6:
cout << "Variación de la Frecuencia Angular \n";
cout << "---------------------------------- \n";
variarFrecuenciaAngular();
cout << endl;
break;
case 7:
cout << "Variación de la Amplitud \n";
cout << "------------------------ \n";
variarAmplitud();
cout << endl;
break;
default:
cout << "Opción inválida. Intente nuevamente.\n\n";
break;
}
} while (opcion != 0);
cout << "Programa terminado.\n";
return 0;
}
void asignarDatos() {
// Implementación de la función
}
void mostrarDatos() {
// Implementación de la función
}
void sumarElementos() {
// Implementación de la función
}
void listarCodigos() {
// Implementación de la función
}
void movimientoOndulatorio() {
double amplitud, numeroOnda, frecuenciaAngular, faseInicial;
double posicion, tiempo;
cout << "Ingrese la amplitud (A): ";
cin >> amplitud;
cout << "Ingrese el número de onda (k): ";
cin >> numeroOnda;
cout << "Ingrese la frecuencia angular (w): ";
cin >> frecuenciaAngular;
cout << "Ingrese la fase inicial (phi): ";
cin >> faseInicial;
cout << "Ingrese la posición (x) y el tiempo (t) para calcular la amplitud resultante:\n";
cout << "Posición (x): ";
cin >> posicion;
cout << "Tiempo (t): ";
cin >> tiempo;
double amplitudResultante = amplitud * sin(numeroOnda * posicion - frecuenciaAngular * tiempo + faseInicial);
cout << "Amplitud resultante en la posición " << posicion << " y el tiempo " << tiempo << ": " << amplitudResultante << endl;
}
void variarFrecuenciaAngular() {
double amplitud, numeroOnda, faseInicial;
double posicion, tiempo;
cout << "Ingrese la amplitud (A): ";
cin >> amplitud;
cout << "Ingrese el número de onda (k): ";
cin >> numeroOnda;
cout << "Ingrese la fase inicial (phi): ";
cin >> faseInicial;
cout << "Ingrese la posición (x) y el tiempo (t) para calcular la amplitud resultante con diferentes frecuencias angulares:\n";
cout << "Posición (x): ";
cin >> posicion;
cout << "Tiempo (t): ";
cin >> tiempo;
for (double frecuenciaAngularVariacion = 1.0; frecuenciaAngularVariacion <= 5.0; frecuenciaAngularVariacion += 0.5) {
double amplitudResultante = amplitud * sin(numeroOnda * posicion - frecuenciaAngularVariacion * tiempo + faseInicial);
cout << "Amplitud resultante en la posición " << posicion << " y el tiempo " << tiempo << " con w = " << frecuenciaAngularVariacion << ": " << amplitudResultante << endl;
}
}
void variarAmplitud() {
double numeroOnda, frecuenciaAngular, faseInicial;
double posicion, tiempo;
cout << "Ingrese el número de onda (k): ";
cin >> numeroOnda;
cout << "Ingrese la frecuencia angular (w): ";
cin >> frecuenciaAngular;
cout << "Ingrese la fase inicial (phi): ";
cin >> faseInicial;
cout << "Ingrese la posición (x) y el tiempo (t) para calcular la amplitud resultante con diferentes amplitudes:\n";
cout << "Posición (x): ";
cin >> posicion;
cout << "Tiempo (t): ";
cin >> tiempo;
for (double amplitudVariacion = 1.0; amplitudVariacion <= 5.0; amplitudVariacion += 1.0) {
double amplitudResultante = amplitudVariacion * sin(numeroOnda * posicion - frecuenciaAngular * tiempo + faseInicial);
cout << "Amplitud resultante en la posición " << posicion << " y el tiempo " << tiempo << " con A = " << amplitudVariacion << ": " << amplitudResultante << endl;
}
}