¡Recompensa por puntuación alta! Solicitud urgente! Código de programa en lenguaje C de onda triangular, diente de sierra, onda sinusoidal, pulso, no relacionado con microcontroladores, ¡C puro!
Amplitud de entrada de onda sinusoidal, frecuencia, paso de tiempo, fase
Amplitud de entrada de onda de diente de sierra de onda triangular, ancho de pendiente 1, ancho de pendiente 2, sin ancho de onda, paso de tiempo
Onda triangular w1=w2, onda de diente de sierra w1 != w2.
El programa no considera el ancho de tiempo w1=0 o w2 =0. Si es igual a 0, indique no. Valor -0, como 0,0000001. p>
Pulso de onda cuadrada, imite el programa de onda triangular para calcularlo usted mismo.
El período de w es igual a amp y el período de flat_t es igual a 0.
#include lt;stdio.hgt;
#include lt;math.hgt;
void main()
{
doble y[2048];
doble pi, r;
doble amp, f, phi, dt, t, x
doble w, flat_t, slop1, slop2, L, w1, w2;int flag_w1=0, flag_w2=0;
long int i;
int N=2048
char str[5]; * 4.0;
fprintf(stderr, "Ingrese sin o tri\n");
scanf("s", amp; str[0]); p>if ( strncmp(str, " sin", 3) == 0)
{
fprintf(stderr, "ingrese Amp Hz delta_t fase\n"); p>
fprintf(stderr, "por ejemplo: 1.0 10.0 0.001 1.414\n");
scanf("lf lf lf lf",amp;amp,amp;f,amp;dt, amp;phi);
for (i=0; ilt; N; i ) y[i]= amp * sin(2.0*pi * f * dt * i phi );
for (i=0; ilt ; N; i ) fprintf(stdout, "lf\n", y[i]);
exit(0); ;
fprintf (stderr, "ingrese Amp w1 w2 flat_t dt\n");
fprintf (stderr, "por ejemplo: 1. 1. 1. 1. 0.01 \n ");
scanf("lf lf lf lf lf",amp;amp,amp;w1,amp;w2,amp;flat_t,amp;dt);
w = w1 w2;
L = w flat_t;
slop1 = amp/w1;
slop2 = -amp/w2; (i=0; ilt; N; i )
{
t = dt * (doble) i;
x = t - L * (doble ) ( (int) (t / L ));
if (x gt; = 0.0 amp; amp; x lt; = w1) y[i] = slop1 * x
if (x gt; w1 amp ;amp; = 0.0;
}
for (i=0; ilt; N; i ) fprintf(stdout, "lf\n ", y[i]);
p>
salir(0);
}