Estructuras De Seleccion Usados Para La Formula General Lenguaje C
Enviado por javbutrix • 8 de Octubre de 2014 • 2.201 Palabras (9 Páginas) • 438 Visitas
PRÁCTICA 4.2 DE FUNDAMENTOS DE PROGRAMACIÓN
Instituto Politécnico Nacional
Escuela Superior de Ingeniería Mecánica Y Eléctrica.
Tema: Aplicación de estructuras de selección y funciones de usuario en la formula general complemento
Materia: Fundamentos de Programación
Maestro: Atalo Santillana Verdín.
Fecha de realización: 01/10/2014
A 6 de Octubre del 2014, México D.F.
Índice
Portada ------------------------------------------------------------------------------------------------- 1
Objetivos ------------------------------------------------------------------------------------------------- 3
Desarrollo de la Práctica --------------------------------------------------------------------------------- 3
Punto 1 ------------------------------------------------------------------------------------------------- 4
Punto 2 ------------------------------------------------------------------------------------------------- 10
Punto 3 ------------------------------------------------------------------------------------------------- 16
Conclusiones ------------------------------------------------------------------------------------------------ 23
Objetivos
Aplicar las estructuras de selección múltiple para la resolución de la formula general y de sus propiedades.
Desarrollo de la práctica (Metodología)
Realice una función de usuario evaluando el discriminante
Si el discriminante es cero retornar 0
Si el discriminante es positivo (disc>0) retornar 1
Si el discriminante es negativo (disc<0) retornar 2
funcion1 con argumentos de entrada a, b, c y sin valor de retorno
Se calculan raíces reales iguales
x1=-b/ (2a)
x2=x1
Imprimir en la funcion1 las raíces
funcion2 con argumentos de entrada a, b, c y sin valor de retorno
Se calculan raíces reales iguales
x1= (-b+raiz (b elevado a la 2-4*a*c))/ (2a)
x2= (-b-raíz (b elevado a la 2-4*a*c))/ (2a)
Imprimir en la funcion2 las raíces
funcion3 con argumentos de entrada a, b, c y sin valor de retorno
se calculan raíces complejas conjugadas
x1R=-b / 2a
x2R=X1r
x1I=RAIZ (| b elevado a la 2-4ac |)/2a
x2I=-x1I
Imprimir en la funcion3 las raíces
X1=X1R X1I i
X2=X2R X2I i
En principal leer los coeficientes a, b, c
De los coeficientes que sean los arg. de entrada de la función discriminante, evalúa el discriminante y el valor de retorno, asignarlo a una variable.
Esta variable se utilizara como selector
Si es uno llamar a funcion1
Si es dos llamar a funcion2
Si es tres llamar a función
Punto 1. Considerar para principal estructura multiple switch para seleccionar funcion 1,2,3, en las funciones de usuario implementar con if simple
Realizar Diagrama de Flujo a mano
Realizad Diagrama de Flujo en PSE INT (opcional)
Realizar Programa Fuente ( poner comentarios)
Presentar corrida
Punto 2. Considerar para principal estructura simple if para seleccionar funcion 1,2,3 en las funciones de usuario implementar con if simple
Realizar Diagrama de Flujo a mano
Realizad Diagrama de Flujo en PSE INT (opcional)
Realizar Programa Fuente ( poner comentarios)
Presentar corrida
Punto 3. Considerar para principal estructura doble if else para seleccionar funcion 1,2,3 implementar con if else doble
Realizar Diagrama de Flujo a mano
Realizad Diagrama de Flujo en PSE INT (opcional)
Realizar Programa Fuente ( poner comentarios)
Presentar corrida
Resultados
Punto 1. Considerar para principal estructura múltiple switch para seleccionar función 1, 2,3, en las funciones de usuario implementar con if simple
Realizar Diagrama de Flujo a mano
Realizar Programa Fuente (poner comentarios)
#include <stdio.h> //bibliotecas
#include <stdlib.h>
#include <math.h>
void funcion1 (float,float,float);
void funcion2 (float,float,float);
void funcion3 (float,float,float);
int disc (float,float,float); //prototipos
main()
{
float a,b,c; int d; //declaracion de variables
printf("dame a\n");
scanf("%f",&a);
printf("dame b\n");
scanf("%f",&b);
printf("dame c\n");
scanf("%f",&c);
d=disc(a,b,c); //llamado del subproceso de la discriminante
switch (d) //evaluara la variable d
{
case 0: //si cumple en la discriminante, se realiza lo siguiente
printf("\n raices reales e iguales\n");
funcion1(a,b,c); //llamado de la funcion1
break;
case 1: //si cumple en la discriminante, se realiza lo siguiente
printf("\n raices reales diferentes\n");
funcion2(a,b,c); //llamado de la funcion 2
break;
case 2: //si cumple en la discriminante , se realiza lo siguiente
printf("\n raices reales complejas\n");
funcion3(a,b,c); //llamado de la funcion 3
break;
}
} //fin del main
//subprocesos
int disc(float a, float b, float c)
{
float dis;
dis=pow(b,2)-((4*a)*c);
if(dis==0)
{
return 0; //retorna en proceso principal a 0
}
if(dis<0)
{
return 2; //retorna en proceso principal a 2
}
if(dis>0)
{
return 1; //retorna en proceso proncipal a 1
}
}
void funcion1(float a,float b, float c)
{
float x1,x2;
x1=(-b)/(2*a); //formula
x2=x1;
printf("el valor
...