Sugerencias de programacin Anlisis Numrico Diagramas de Flujo
- Slides: 43
Sugerencias de programación Análisis Numérico
Diagramas de Flujo • Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender.
Diagramas de Flujo • • Símbolo de inicio y fin Símbolo de proceso Salida de datos Símbolo de decisión Símbolo de conector Enlace fuera de página Símbolo de entrada y salida Símbolo de almacenamiento
Diagramas de Flujo • Utiliza los símbolos de manera consistente para que tus lectores comprendan el significado de ese símbolo cada vez que lo vean.
Partes de un programa • • • Inicio Entrada de Datos Proceso o Cálculo Salida de resultados Fin.
Inicio en C • • /* Comentario */ #Include<librerias. h> Declaración de función void main(){ • Los comentarios pueden utilizarse a lo largo de todo el programa para facilitar la lectura del programa.
Inicio en Fortran • • • c program nombre real a, b, c Este es un comentario • Se dejan 6 espacios libres al inicio de cada renglón, sirven para indicar comentarios o etiquetas.
Entrada de datos en C • Declaración de variables. • scanf(. . . ); • fscanf(. . . );
Entrada de datos en Fortran • read (*, *) a, b
Proceso en C • • • Ausencia de comando A=B+C; A=B*C; A=B/C; A=A+1; A =sin(A);
Proceso en C • for(j=a; j<=20; j=j+2) { Instrucciones. . . } • while(num<=5) {Instrucciones. . . } • If(d>0) {Instrucciones. . . } else {Instrucciones. . . }
Proceso en Fortran • do while (a <= 20) • Instrucciones. . . • enddo
Salida de resultados en C • printf • fprintf
Salida de resultados en fortran • write (*, *) ‘salida =', c • write (*, *) c
Fin de bloques o programa en C • }
Fin de bloques o programa en Fortran • enddo • stop • end
Diagrama de flujo, realiza la suma de dos números
Programa en C, realiza la suma de dos números. /*Programa 1*/ #include<stdio. h> #include<conio. h> void main (){ float a, b, c; printf("n. Dame los sumandos a y b : "); scanf("%f, %f", &a, &b); c=a+b; printf("n. La suma es c= %fn", c); }
Programa en Fortran, realiza una suma. • • • c • b' • • program uno real a, b, c Este programa calcula la suma de a+b write (*, *) 'Dame dame los sumandos a y read (*, *) a, b c = a+b write (*, *) 'suma =', c end
Diagrama de flujo, realiza la tabla de números de dos en dos.
Programa en C, realiza una tabla. /*Programa 2*/ #include<stdio. h> #include<conio. h> void main (){ int a, j; printf("n. Dame el valor inicial: "); scanf("%i", &a); for(j=a; j<=20; j=j+2){ printf("%in", j); } }
Programa en Fortran, realiza una tabla. • • c • • program dos real a a=0 Este programa hace una lista de números, empieza en a write (*, *) 'Dame el valor inicial (<20) y el paso' read (*, *) a do while (a <= 20) write (*, *) 'valor=', a a=a+2 enddo stop end
Diagrama de flujo, realiza una tabla de multiplicar.
Programa en C, realiza una tabla de multiplicar. /*Programa 3*/ #include<stdio. h> #include<conio. h> void main (){ int a, b, j; printf("Dame el valor entre 1 Y 10 "); scanf("%i", &a); printf("ntabla de multiplicar del %in", a); for(j=1; j<=10; j=j+1){ b=a*j; printf("%i X %i = %in", a, j, b); } }
Programa en Fortran, realiza una tabla de multiplicar. • • • c • • • program tres real a Este programa escribe la tabla de multiplicar de un número. write (*, *) 'Dame el valor de a'; read (*, *) a i=1 do while (i <= 10) write (*, *) a, ' x', i , '=', a*i i=i+1 enddo stop end
Diagrama de flujo, resuelve una ecuación cuadrática.
Programa en C, resuelve una ecuación cuadrática. /*programa 4 Programa que resuelve una ecuación de segundo grado */ #include<stdio. h> #include<conio. h> #include<math. h> void main(){ float A, B, C, D, S, T, R, S 1, S 2; printf(" Dame los coeficientes A, B, y C de la ecuación "); scanf("%f, %f", &A, &B, &C); if(A==0){ /*Verifica si la ecuación es lineal*/ S=-C/B; /*Calcula la raíz de la ecuación lineal*/ printf("nn. La ecuación es lineal y su solución es: "x= %fnn“, S); }else
Programa en C, resuelve una ecuación cuadrática. { T=B/(2*A); /*Construye los términos del discriminante*/ R=C/A; D=T*T-R; /*Calcula el discriminante*/ if(D<0){ D=fabs(D); printf("nn. Las raíces son complejas X 1 = %f + %fi n", -T, D); printf(" X 2 = %f - %fi nn", -T, D); }else if(D==0){ S=-T; printf("nn. La raíz de la ecuación es %fnn", S);
Programa en C, resuelve una ecuación cuadrática. }else { S 1=-T+sqrt(D); S 2=-T-sqrt(D); printf("nn. Las raíces de la ecuación son X 1=%f y X 2=%fnn", S 1, S 2); } } }
Instrucciones en C • Funciones (sub-rutinas) • –Declaración. • –Llamado. • –Definición. • Definición: • Subproceso • return
Programa en C, evalúa un función. • • • /*programa 7 Evalúa una función en el intervalo [0, 10]*/ #include<stdio. h> #include<math. h> #include<conio. h> float pol(float a); /*Declara la función polinomial*/ float main(void){ • int i; /*Define variables*/ • float a, e; • clrscr(); /*Limpia pantalla*/ • for(i=0; i<=10; i++) /*Lo hace de 1 a 10*/ • { • e=pol(i); /* Llama a la función y evalúa el polinomio*/ • printf("P(%i) = %f nn", i, e); • } • return 0; • }
Función en C • float pol(float a) • { • float e; • e=a*(a*(a-9)+9)-8; • return e; • } /*Define la función*/ /*Define variables*/ /*Evalua el Polinomio x 3 – 9 x 2 + 9 x - 8*/
Encabezado de un programa en C /*programa 7 Método de Bisección*/ #include<stdio. h> #include<math. h> #include<conio. h> float fun(float a); /*Declara la función a resolver*/ float main(void){ int i, n; /*Define variables*/ float a, b, x, fa, fx, fb, e, er, f, xn; printf("nDame los limites del intervalo de trabajo, y el error aceptado: "); • scanf("%f, %f", &a, &b, &e); • • •
Proceso de un programa en C • • • • { xn=a; er=1; while(er>e){ fa=fun(a); fb=fun(b); xn = (a + b)/2; fx = fun(xn); er = fabs(x - xn); x = xn; if(fa*fx<0){ b=x; } else{ a=x; } } /*Verifica el error*/ /*Evalúa la función en los límites del intervalo*/ /*Llamado de función*/ /*Calcula el punto medio*/ /*Evalua la función en el punto medio*/ /*Calcula el error en la n-esima iteración*/ /* verifica el cambo de signo*/ /*modifica el intervalo de trabajo*/
Salida de un programa en C • • • printf("nt. La raiz es x=%f, tiene un error de er=%fn", x, er); printf("P(%f) = %f n", x, fx); /*Imprime la raíz*/ getch(); /*Espera un carácter para terminar*/ } }
Función a resolver en un programa en C • float fun(float y) • { • float f; • f=y^2+2*y-1. 337; • return f; • } /*Define la función*/ /*Define variables*/ /*Evalúa la función*/
Diagrama de flujo, Resuelve un sistema de ecuaciones.
Encabezado de un programa en C • /*Programa 8 Resuelve un sistema de ecuaciones*/ • #include<stdio. h> • #include<math. h> • float det(float a, float b, float c, float d); /*dec. función*/ • float main(void){ • int i, j; • float delta, deltax, deltay, e, x, y; • float ma[2][3]; /*Declara arreglo 2 x 3*/ • clrscr(); /*Limpia pantalla*/
Proceso de un programa en C • • • for(i=0; i<=1; i++) { /*Lee las componentes del sistema de ecuaciones*/ for(j=0; j<=2; j++) { printf("n. Introduce el elemento %i, %i ", i+1, j+1); scanf("%f", &ma[i][j]); } } /*Resuelve los determinantes*/ e=det(ma[0][0], ma[0][1], ma[1][0], ma[1][1]); delta=e;
Proceso de un programa en C • • • if(delta==0){ printf("n. Eldeterminante es x=%f ", delta); } else{ e=det(ma[0][2], ma[0][1], ma[1][2], ma[1][1]); deltax=e; e=det(ma[0][0], ma[0][2], ma[1][0], ma[1][2]); deltay=e; x=deltax/delta; y=deltay/delta;
Salida de un programa en C • printf("n. La solucion es x=%f y y=%f ", x, y); • return 0; • }
Función a resolver en un programa en C • float det(float a, float b, float c, float d) /*Def fun*/ • { • float e; /*Define la variable de salida*/ • e=a*d-b*c; /*Calcula el determinante*/ • return e; /*Regresa el valor de e */ • }
Referencias • https: //www. lucidchart. com/pages/es/simboloscomunes-de-los-diagramas-de-flujo • http: //www. academicos. ccadet. unam. mx/mario. go nzalez/cursos_archivos/mn/Kernighan. pdf • http: //force. lepsch. com/p/download. html
- Tabla de direct speech-reported speech
- Als algoritmo
- Programacin
- Simbolos de los diagramas de flujo
- Diagrama de flujo estructurado
- Simbolos de los diagramas de flujo
- Simbologia ansi y asme
- Simbologia ansi diagramas de flujo
- Diagrama de flujo sectorial
- Diagrama de actividades ventajas y desventajas
- Diagrama de flujo conector de pagina
- Diagrama con equipos
- Ejemplos de algoritmos y diagramas de flujo
- Simbologia asme
- Simbolos de los diagramas de flujo
- Simbologia ansi diagramas de flujo
- Amenazas de una empresa ejemplos
- Anlisis financiero
- Anlisis foda
- Anlisis foda
- Ambientales
- Maxi maxi foda
- Diagrama de cuerpo libre definicion
- Diagramas entalpicos
- Diagramas comportamentais
- Diagrama de bios
- Diagrama de latimer iodo
- Diagramas de estado
- Dot resposta
- Diagramas
- Diagramas isa
- Diagramas causales ejemplos
- Diagrama de contexto
- Diagrama de clases estudiante
- Diagrama de nassi shneiderman
- Ejemplos de diagramas de secuencia
- Diagrama de influencia ejemplos
- Diagramas eps
- Extencion wae
- Diagrama de latimer
- Electronica digital
- Diagrama de lindal
- Diagrama de contexto ejemplos
- Ejemplo de diagrama floral