top of page

LABORATORIO 13

#include <iostream>

#include <cmath>

 

using namespace std;

 

int opcion, i, SUMA;

void ASIGNAR(), MOSTRAR(), SUMAR(), CODIGOS();

double posicionAmortiguada(double masa, double constanteAmortiguamiento, double velocidadInicial, double tiempo);

double caso6(double tiempo, double masa, double constanteAmortiguamiento, double velocidadInicial, double valorVariado);

double caso7(double masa, double constanteAmortiguamiento, double velocidadInicial, double tiempo, double valorVariado1, double valorVariado2);

 

// Variables globales para almacenar los valores ingresados en el caso 5

double masaGlobal, constanteGlobal, velocidadGlobal, tiempoGlobal;

 

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.- CASO A \n ";

        cout<< " 6.- CASO B \n ";

        cout<< " 7.- CASO C \n ";

        cout<< "INGRESE UNA OPCION <> 0: "; 

        cin>>opcion;

 

        switch(opcion) {

            case 1: {

                cout << "Asignar datos a un vector \n";

                cout << "------------------------- \n";

                ASIGNAR();

                cout<<endl;

                break;

            }

            case 2: {

                cout << "Mostrar datos de un vector \n";

                cout << "-------------------- \n";

                MOSTRAR();

                cout<<endl;

                break;

            }

            case 3: {

                cout << "Suma de los elementos \n";

                cout << "------------------------- \n";

                SUMAR();

                cout << endl;

                break;

            }

            case 4: {

                cout << "Listado de códigos ASCII \n ";

                CODIGOS();

                cout << endl;

                break;

            }

            case 5: {

                cout << "Ingrese masa: "; 

                cin >> masaGlobal;

                cout << "Ingrese constante de amortiguamiento: "; 

                cin >> constanteGlobal;

                cout << "Ingrese velocidad inicial: "; 

                cin >> velocidadGlobal;

                cout << "Ingrese tiempo: "; 

                cin >> tiempoGlobal;

                cout << "Posición para el CASO A: " << posicionAmortiguada(masaGlobal, constanteGlobal, velocidadGlobal, tiempoGlobal) << endl;

                break;

            }

            case 6: {

                double valorVariado;

                cout << "Ingrese valor variado para el caso B: "; 

                cin >> valorVariado;

                cout << "Posición para el CASO B: " << caso6(tiempoGlobal, masaGlobal, constanteGlobal, velocidadGlobal, valorVariado) << endl;

                break;

            }

            case 7: {

                double valorVariado1, valorVariado2;

                cout << "Ingrese primer valor variado para el caso C: "; 

                cin >> valorVariado1;

                cout << "Ingrese segundo valor variado para el caso C: "; 

                cin >> valorVariado2;

                cout << "Posición para el CASO C: " << caso7(masaGlobal, constanteGlobal, velocidadGlobal, tiempoGlobal, valorVariado1, valorVariado2) << endl;

                break;

            }

        }

    } while (opcion != 0); 

 

    return 0;

}

 

void ASIGNAR() {

    for(i = 0; i < 10; i++) {

        cout << "A[" << i << "] = "; 

        cin >> A[i];

    }

}

 

void MOSTRAR() {

    for(i = 0; i < 10; i++) {

        cout << "A[" << i << "] = " << A[i] << endl;

    }

}

 

void SUMAR() {

    SUMA = 0;

    for(i = 0; i < 10; i++) {

        SUMA += A[i];

    }

    cout << "Suma de los elementos de A[]: " << SUMA << endl;

}

 

void CODIGOS() {

    for(i = 0; i < 256; i++) {

        B[i] = char(i);

        cout << "B[" << i << "] = " << B[i] << endl;

    }

    cout << endl;

}

 

double posicionAmortiguada(double masa, double constanteAmortiguamiento, double velocidadInicial, double tiempo) {

    double omega = sqrt(constanteAmortiguamiento / masa);

    return exp(-constanteAmortiguamiento * tiempo / (2 * masa)) * (velocidadInicial / omega * sin(omega * tiempo) + masa * cos(omega * tiempo));

}

 

double caso6(double tiempo, double masa, double constanteAmortiguamiento, double velocidadInicial, double valorVariado) {

    return posicionAmortiguada(masa, constanteAmortiguamiento, velocidadInicial, tiempo + valorVariado);

}

 

double caso7(double masa, double constanteAmortiguamiento, double velocidadInicial, double tiempo, double valorVariado1, double valorVariado2) {

    return posicionAmortiguada(masa + valorVariado1, constanteAmortiguamiento + valorVariado2, velocidadInicial, tiempo);

}

bottom of page