Está en la página 1de 11

PRACTICA#7

OBJETIVOS: aprender a utilizar los comandos correctos para implementar la


derivada en programas matemáticos.
Derivación numérica
El cálculo de derivadas por ordenador se tiene que realizar de manera
numérica, y dentro de la relativa sencillez es un proceso complejo, que
dependiendo de cada caso no se podrá saber si está bien condicionado.
El cálculo por ordenador se puede hacer aplicando la definición en forma de
límite de derivada, y trabajando con números pequeños (pero no tan pequeños
como nos permita el ordenador puesto que esto derivará en errores enormes).
Mediante el polinomio de Taylor se pueden obtener otras expresiones capaces
de obtener un valor mejor de la derivada en un punto, trabajando con números
mayores, y por lo tanto, más aconsejable.
Aqui les dejo un documento interesante (pero que se salta los pasos de cómo
llegar a las expresiones finales) a cerca de la derivación numérica:
A continuación se muestran dos programas que calculan la derivada de una
función (En este caso polinómica, pero basta con cambiar la función en el
código fuente para usar otra). El primero trabaja con variables de tipo float, y el
segundo con variables de tipo double:
(Las funciones D1,D2 y D3 muestran los diferentes métodos para obtener la
derivada, y H representa el valor límite que idealmente debería ser 0).
CON FLOAT:

#include <stdio.h>
#include <math.h>

const float pre=0.1;

float funcion(float x);


float D1(float x, float h);
float D2(float x, float h);
float D3(float x, float h);
int main(void)
{
int i;
float precision;
float val;

printf("\n Programa para calcular derivadas por


WWW.CYPASCAL.BLOGSPOT.COM");
printf("\n\n\n Introducir en punto en el que calcular la derivada:");
scanf("%f",&val);
printf("\n\n\n VALOR DE H TIPO D1 TIPO D2 TIPO D3\n\n");

precision=pre;
for(i=1;i<=10;i++)
{
printf("%10e %12f %12f %12f \n\n",precision,D1(val,precision),
D2(val,precision),D3(val,precision));

precision=precision*pre;
}
}

float funcion(float x)
{
float a;

a=x*x*x*x*x*x;//x^6
return(a);
}

float D1(float x, float h)


{
float a;

a=(funcion(x+h)-funcion(x))/h;

return(a);
}

float D2(float x, float h)


{
float a;

a=(-3*funcion(x)+4*funcion(x+h)-funcion(x+2*h))/(2*h);

return(a);
}

float D3(float x, float h)


{
float a;

a=(funcion(x-2*h)-8*funcion(x-h)+8*funcion(x+h)-funcion(x+2*h))/(12*h);

return(a);
}
CON DOUBLE:

#include <stdio.h>
#include <math.h>
const double pre=0.1;

double funcion(double x);


double D1(double x, double h);
double D2(double x, double h);
double D3(double x, double h);

int main(void)
{
int i;
double precision;
float val;

printf("\n Programa para calcular derivadas por


WWW.CYPASCAL.BLOGSPOT.COM");
printf("\n\n\n Introducir en punto en el que calcular la derivada:");
scanf("%f",&val);
printf("\n\n\n VALOR DE H TIPO D1 TIPO D2 TIPO D3\n\n");

precision=pre;
for(i=1;i<=20;i++)
{
printf("%10e %12f %12f %12f \n\n",precision,D1(val,precision),
D2(val,precision),D3(val,precision));

precision=precision*pre;
}
}

double funcion(double x)
{
double a;

a=x*x*x*x*x*x;
return(a);
}

double D1(double x, double h)


{
double a;

a=(funcion(x+h)-funcion(x))/h;

return(a);
}

double D2(double x, double h)


{
double a;

a=(-3*funcion(x)+4*funcion(x+h)-funcion(x+2*h))/(2*h);

return(a);
}

double D3(double x, double h)


{
float a;

a=(funcion(x-2*h)-8*funcion(x-h)+8*funcion(x+h)-funcion(x+2*h))/(12*h);

return(a);
}

PROGRAMA

#include<windows.h>
int main ()
{
int n_boleto;
float precio;
char edad;
char lugar [25];
system ("color 0d");
printf ("\n\tentrada y salida de datos");
printf ("\n\t cantidad de reservaciones =");
scanf ("%d", & n_boleto);
printf ("\n¿cuanto cuesta el boleto");
scanf ("%f", &precio);
printf ("\n ¿Niño(N) o adulto(A)?");
scanf ("%s", &edad);
printf ("\n\tindique el destino o lugar a visitar");
scanf ("%S", &lugar);
Sleep (1500);
system ("cls");
//termina entrada de datos
printf ("\n\treservaciones\n");
printf ("\nNumero de boletos = %D" , n_boleto);
printf ("\nPrecio = &f" , precio);
printf ("\nEres = %c" , edad);
printf ("\nIndique el lugar = %s" , lugar);
}

DIAGRAMA DE FLUJO

PROGRAMA MULTIMEDIA
APLICACIONES MULTIMEDIA Multimedia se refiere a cualquier
objeto o sistema que utiliza múltiples medios de expresión físicos o
digitales para presentar o comunicar información. De allí la
expresión multimedios. Los medios pueden ser variados, desde
texto e imágenes, hasta animación, sonido, video, etc
PROGRAMA
#include<stdio.h>
#include<windows.h>
int main ()
{

system("J:Violinis.jpg");

system("J:nothing.mp3");

system("J:maripo.mp4");}

DIAGRAMA DE FLUJO
PROGRAMA TURNO
El diccionario de la Real Academia Española define una acepción
de cola como “hilera de personas que esperan turno para alguna
cosa”; una hilera de vehículos esperando pasar una frontera, una
hilera de personas para entrar en un teatro, o una cola de trabajos
en un sistema de computadora que espera la disponibilidad de
algún dispositivo de salida tal como una impresora.

En cada uno de estos ejemplos, los elementos se atienden en el


orden en que llegaron; es decir, el primer elemento en entrar
(primero de la cola) es el primero en ser atendido (salir). La cola es
una estructura FIFO (First In First Out)
PROGRAMA

#include<stdio.h>
int main()
{
char Turno;
printf("\n\t Validacion de Turno.");
printf("\n\t Ingrese la primera letra de su turno: ");
scanf("%s", &Turno);
if (Turno=='M'||Turno=='m')
{
printf("\n\t Su turno es Matutino");

}
else{

if(Turno=='V'||Turno=='v')
{
printf("\n\t Su turno es Vespertino");
}
else {
printf("\n\t Su Turno es Nocturno");
}
}
getchar();
getchar();
DIAGRAMA DE FLUJO

CONCLUSION:
Los comandos de la derivación son un poco complejos pero muy útiles 

También podría gustarte