miércoles, 4 de junio de 2025

03.- Programación I - Parcial Nro. 3 (Semestre 2025-II) - Solución del Profesor


Solución


/*
Programa para calcular el coseno del ángulo cuarto
a partir de cinco valores que representan el 
seno del ángulo doble - 1er reto de Deadpool
Parcial Nro. 3 - Semestre 2025-II

Elaborado por: Carlos Ferrer 
Fecha: 04 de Jun de 2025
Rev. 0
*/

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

main()
{
double seno2Q[6]; //senos del ángulo doble
double coseno4Q[6]; //cosenos del ángulo cuarto
int i;
double ang_4Q; // Angulo cuarto
/*Voy a ponerle a la función "usm". Esta función enlaza el programa con la libreria fstream
ifstream significa lectura desde un archivo - input usando fstream*/
/*Voy a ponerle a la función "Prog1". Esta función enlaza el programa con la libreria fstream
ofstream significa escritura desde un archivo - output usando fstream*/
ifstream usm; 
ofstream prog1;
/*El open abre el archivo. Se debe colocar los dos barras invertidas backslah.
el ios::in permite lectura desde el archivo*/
usm.open("C:\\Users\\Deadpool.txt",ios::in); 
prog1.open("C:\\Users\\Salida.txt",ios::out); 

  /*Voy a verificar si la apertura del archivo falló, si así fue le digo que se salga
  del programa, esto podría pasar debido a que el archivo no existe o fue mal escrito.
  La función fail se activa si la apertura del archivo falla.*/
if(usm.fail()) 
{
cout <<"El archivo de lectura no pudo abrirse"<<endl;
exit(0);
}
if(prog1.fail()) 
{
cout <<"El archivo de escritura no pudo abrirse"<<endl;
exit(0);
}
// Imprimimos el encabezado en el archivo de salida
    
        prog1 <<" Seno 2Q      Coseno 4Q      Angulo Q"<<endl<<endl;
        
        // Procedemos a leer del archivo
        for (i=1;i<=5;i=i+1)
{
usm >>seno2Q[i];  // Leemos el seno de 2Q
ang_4Q=2*asin(seno2Q[i]); // Obtenemos 4Q
coseno4Q[i]=cos(ang_4Q);  // Obtenemos el coseno de 4Q
        //Escribimos el archivo de salida
prog1 <<"Seno2Q = "<<seno2Q[i]<<"     Coseno4Q = "<<coseno4Q[i];
prog1 <<"           Angulo Q = "<<ang_4Q*180/(M_PI*4)<<endl;
}
         
       // Cierro el archivo
       usm.close();
    
  prog1.close();

  cout <<" Archivo actualizado satisfactoriamente !!!!"<<endl;
}

2.- 

¿Que hace el programa?

El programa muestra en pantalla todos los números primos que se encuentran entre el número dos (2) y un numero ingresado, adicionalmente, los números son guardados en un arreglo y el programa muestra en pantalla las posiciones de memoria de cada elemento del arreglo en donde se guarda un numero primo (En hexadecimal) y por ultimo presenta un contador con la cantidad de números primos encontrados.


¿Para que se usa la variable "Div"?

La variable Div es una estructura de una variable entera y una doble y se usa para determinar si hay un numero menor que sea capaz de dividir exactamente al numero que se esta evaluando. Si se produce la división el numero "No es Primo" de lo contrario "El Numero es Primo".

¿Para que se usa el puntero memoria?

El puntero memoria registra la posición de memoria de cada elemento del arreglo usado y lo presenta en pantalla.


No hay comentarios.:

Publicar un comentario