Practica programacion
Enviado por klimbo3445 • 19 de Julio de 2018 • 1.501 Palabras (7 Páginas) • 351 Visitas
...
Calcular las raíces reales de una ecuación de segundo grado
- Analisis del problema mediante el diagrama de bloques[pic 38]
[pic 39][pic 40][pic 41]
[pic 42][pic 43]
[pic 44]
- Pseudocodigo y diagrama de flujo
Resolución de ecuación cuadrática ax2 + bx + c = 0
Variables D,A,B,C,x1,x2,Mostrar “Introduzca los valores de parámetros”Pedir a, b, cd = b ^ 2 - 4 * a * c
Si d = 0 EntoncesMostrar “x1 = x2 =”, - b / 2*ASiNoSi d > 0 EntoncesMostrar “x1 =”, (- b + SQR(d)) / 2*AMostrar “x2 =”, (- b - SQR(d)) / 2*ASiNoMostrar(Raíces imaginarias)
FinSiFinSiFin
[pic 45]
- Pantallas de entrada y salida
[pic 46][pic 47]
- Explicación del programa
En esta ocasión tuvimos que crear más variables de las calculadas en un principio esto con el fin de almacenar cálculos como raíces cuadradas o exponenciales luego el crear condicionales para las tres posibles soluciones como que solo tenga una raíz que tenga dos o que sean imaginarias después solo fue realizar operaciones aritméticas complejas y asignar los resultados a las variables X1, X2 también hubo que ser muy cuidadosos al momento de realizar las operaciones ya que estas tenían que llevar un orden así que utilizamos paréntesis para romper la jerarquía de operaciones
Análisis de resultados
Área y perímetro de un circulo
Como pi era una constante podíamos declara de la misma manera que una constante y luego asignarle un valor, pero para ahorrar espacio y hacerlo mas eficiente declaramos pi y le dimos un valor en un solo paso con el comando “define”
Área y perímetro de un rectángulo
En esta ocasión tuvimos que ingresar dos datos de carácter numérico y con estos operar dos variables para lo cual simple mente siendo ordenados y metodológicos pudimos resolver este conflicto pidiendo un valor almacenado y después pidiendo el otro podrá parecer muy evidente, pero él no tomar en cuenta estos pequeños detalles podrá traernos muchos errores en cuanto a la lógica de nuestro programa
Calcular las raíces reales de una ecuación de segundo grado
El lenguaje C++ por sí solo no es capaz de realizar operaciones aritméticas complejas como raíces o exponenciales para lo cual fue necesario incluir una biblioteca que nos ayudara con esto después el siguiente problema fueron los condicionales para lo cual recurrimos a nuestro diagrama de flujo y con él nos dimos cuenta que por simple lógica eran únicamente dos condicionales “if” y un condicional “else”
Conclusiones
La estructura de un programa es muy sencilla pero a pesar de esto debemos ser muy cuidadosos a la hora de escribir el programa en dos aspectos el primero de ellos es ser ordenados y nunca dejar de lado signos como el punto y coma de cualquier forma nuestro compilador nos ayudara a resolver estos desperfectos pero siempre es bueno tomarlo en cuenta otro punto a tratar es la lógica tanto del programa como la aritmética ya que a pesar de que el compilador nos ayudara a resolver problemas textuales no es capaz de resolver problemas lógicos un ejemplo de estos puede ser la aritmética de nuestras operaciones ya que a pesar de que el programa las efectuara no lo hará en el orden que nosotros deseemos con lo cual tendremos que el programa a pesar de correr perfectamente no nos dara los resultados queridos otro de este tipo de problema puede ser el asignar a una variable un valor que no le corresponde
En otro tema lo más interesante o relevante de esta práctica es el uso de condicionales y el saber cuántos y como usarlos ya que son una herramienta básica de la programación los cuales nos sirven para tomar una decisión en base a un dato preguntado qué forma tipo o características tiene este mismo
Bibliografia
El Lenguaje de Programación C++octubre de Bjarne Stroustrup Addison-Wesley
http://informaticabachilleratoitea.blogspot.mx/p/pseudocodigo.html
https://bibliotecas-del-lenguaje.wikispaces.com/Bibloteca+matematica
Anexos
Programa raíces reales
#include
#include
int main (void){
double A,B,C,D,X1,X2,p,r;
printf("Programa raices reales\n");
printf("Giron Martinez Ruben Dario\n");
printf("Jimenez Vazquez Ruben\n");
printf("introduzca A:");
scanf("%lf",&A);
printf("introduzca B:");
scanf("%lf",&B);
printf("introduzca C:");
scanf("%lf",&C);
p=pow(B,2.0);
D=p-(4*A*C);
if(D>0){
r=sqrt(D);
X1=((-B)/(2*A))+((r)/(2*A));
X2=((-B)/(2*A))-((r)/(2*A));
printf("Raices reales diferentes\n");
printf("X1=%lf\n",X1);
printf("X2=%lf\n",X2);}
else{
if(D==0){
X1=(-B)/(2*A);
printf("Raices reales iguales X1=%lf\n",X1);}
else{
...