Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FLUJO
TAMBIEN TE PUEDE INTERESAR
Programa Para Crear Diagramas de Flujo
Fundamentos de Programacion
Lenguajes de Programacion
ActionScript 3.0
Esquemas
Nuevas Tecnologias y Productos Tecnologicos
Noticias Sobre Tecnologia
Tecnologia en Imagenes
COMPARTE
EJEMPLOS DIAGRAMAS DE FLUJO
Comparte www.areatecnologia.com
Tecnologia Industrial
Tecnologias
Ciencias
Blog de Tecnologia
El
pseudocdigo
para
este
diagrama
sera:
Explicacin:
-
En I contamos los
En
S
A se emplea para
Vamos a ver paso a paso como funciona. Supongamos que los datos
son:
7,
-1,
8,
5,
...
(1)
I=100
(nmeros
a
(2) S=0 (suma, inicialmente 0) (3) Leer A. El primero
(4)
(5)
I=I-1=100-1=99
(6)
I=0?
(3)
Leer
A,
ahora
(4)
(5)
(6)
I=0?
sumar)
es 7, luego A=7
S=S+A=0+7=7
NO
A=-1
S=S+A=7-1=6
I=I-1=99-1=98
NO
Explicacin
de
la
solucin:
Contador
de
pares
que
quedan
por
escribir.
9.
Hacer
un
diagrama
de
flujo
que
simule
un
reloj.
Explicacin
del
Ejemplo
de
Diagrama:
final
se
escribe
el
resultado.
Leer
N=4
(2)
(4)
(8)
Leer
Leer
A
I=0?
(3)
A=3
(5) A>M?
(7)
NO
(4)
Leer
SI
A
M=2
I=N-1=3
(6) M=A=3
I=I-1=3-I=2
A=-1
El
pseudocdigo
para
esta
caja
registradora
es:
Partes: 1, 2
Algoritmo:
1.
2. Escribir un algoritmo que calcule el rea de un tringulo.
a. Escribir un algoritmo que calcule el rea de tringulo
b. Definicin del problema:
Entrada: base*altura
Proceso: base*altura/2
Salida: rea
Validaciones: No aplica
c. Anlisis del problema:
d. Diseo del algoritmo:
Paso1-Inicio_algoritmo_rea _tringulo
Paso2-Declarar base, altura y rea de tipo real
Paso3-Escribir ("Ingrese el valor de base y altura respectivamente")
Paso4-Leer (base, altura)
Paso5-a=base*altura/2
Paso6-Escribir ("El resultado es: ", rea)
Paso7-Fin_algoritmo_rea_tringulo.
Diagrama de flujo:
lugar de la tabla. El elemento sube por la tabla al igual que una burbuja en un recipiente,
de ah proviene su nombre.
La tcnica consiste en hacer varias pasadas a travs de la tabla, en cada pasada se
comparan parejas sucesivas de elementos. Si una pareja esta en orden creciente (o los
valores son idnticos), se dejan los valores como estn. Si una pareja esta en orden
decreciente, sus valores se intercambian en la tabla.
Supongamos que tenemos una tabla de un total de 50 elementos y que desde un principio
esta ordenada, pero eso nosotros no lo sabemos, por lo que sometemos la tabla a una
ordenacin. Como te puedes imaginar el programa esta empleando un tiempo que nos
puede ser til, para realizar cualquier otro calculo dentro de la aplicacin. Piensa que con
una tabla de 50 elementos el programa pasara por el bucle principal 49 veces. Podemos
ver que es un mtodo un poco rudimentario y un poco largo segn el caso.
Este mtodo dentro de lo sencillo, es que nos permite una mejora. Esta mejora consiste
en terminar el bucle principal en el momento en el que detectemos que en una pasada,
por todo lo largo de la tabla no ha habido ningn cambio, esto quiere decir que la tabla
esta completamente ordenada.
Ventaja:
Este mtodo es fcil de comprender, programar y es el ms extendido.
Desventaja:
Su desventaja principal, es uno de los menos eficientes y por ello, normalmente, se
aprende su tcnica pero no se utiliza.
5. Definicin y explicacin de
los mtodos de bsqueda secuencial y
binaria. Diferencias, ventajas y desventajas
entre ambos.
La bsqueda es una operacin que tiene por objeto la localizacin de un elemento dentro
de la estructura de datos. A menudo un programador estar trabajando con grandes
cantidades de datos almacenados en arreglos y pudiera resultar necesario determinar si
un arreglo contiene un valor que coincide con algn valor clave o buscado.
Siendo el array de una dimensin o lista una estructura de acceso directo y a su vez de
acceso secuencial, encontramos dos tcnicas que utilizan estos dos mtodos de acceso,
para encontrar elementos dentro de un array: Bsqueda secuencial y bsqueda binaria.
Bsqueda secuencial:
La bsqueda secuencial, tambin se le conoce como bsqueda lineal.
Supongamos una coleccin de registros organizados como una lista lineal. El algoritmo
bsico de bsqueda secuencial consiste en empezar al inicio de la lista e ir a travs de
cada registro hasta encontrar la clave indicada (k) o hasta el final de la lista.
Es un mtodo sumamente simple que resulta til cuando se tiene un conjunto de datos
pequeos (Hasta aproximadamente 500 elementos)
Es fcil adaptar la bsqueda secuencial para que utilice una lista enlazada ordenada, lo
que hace la bsqueda ms eficaz.
Si los datos buscados no estn en orden es el nico mtodo que puede emplearse para
hacer dichas bsquedas.
Desventaja:
Este mtodo tiende hacer muy lento.
Si los valores de la clave no son nicos, para encontrar todos los elementos con una clave
particular, se requiere buscar en todo el arreglo, lo que hace el proceso muy largo.
Bsqueda Binaria:
La bsqueda binaria es el mtodo, donde si el arreglo o vector esta bien ordenado, se
reduce sucesivamente la operacin eliminando repetidas veces la mitad de la lista
restante.
El proceso comienza comparando el elemento central del arreglo con el elemento
buscado. Si ambos coinciden finaliza la bsqueda. Si no ocurre as, el elemento buscado
ser mayor o menor en sentido estricto que el elemento central del arreglo. Si el elemento
buscado es mayor se procede a hacer bsqueda binaria en el subarray superior, si el
elemento buscado es menor que el contenido de la casilla central, se debe cambiar el
segmento a considerar al segmento que est a la izquierda de tal sitio central.
Este mtodo se puede aplicar tanto a datos en listas lineales como en rboles binarios de
bsqueda. Los pre requisitos para la bsqueda binaria son:
La lista debe estar ordenada, en un orden especifico de acuerdo al valor de la clave.
Debe conocerse el nmero de elementos.
Si el conjunto de elementos es grande, el tiempo de bsqueda se puede reducir utilizando
el siguiente algoritmo de tipo divide y vencers:
1. Se divide el elemento en dos partes.
2. Se determina la parte que debe contener la clave buscada.
3. Se repite el proceso en esa parte.
Conclusin:
Recomendaciones:
1. Los diagramas de flujo le ayudan en la definicin, formulacin, anlisis, y solucin del
problema.
Bibliografa:
Leer ms: http://www.monografias.com/trabajos42/diagrama-de-flujo/diagrama-deflujo2.shtml#ixzz3AO0yNjJj
Pseudocdigo
Proceso CienPrimerosPares
Escribir "Los 100 primeros pares son";
num <- 0;
Mientras num < 200 Hacer
Escribir num;
num <- num +2;
FinMientras
FinProceso
Publicado por George Tacuri
El volumen de un prisma recto es el producto del rea de una de las bases por la distancia entre ellas
(altura)
Pseudocdigo
Proceso volumenPrisma
Escribir "VOLUMEN DE UN PRISMA RECTO";
Escribir "Ingresar el area de la base";
Leer abase;
Escribir "Ingresar la altura";
Leer altura;
volumen <- abase*altura;
Pseudocdigo
Proceso PorcentajeNumeros
Escribir "Ingrese la cantidad de numeros:";
Leer cant;
par <-0;
Para i<-1 Hasta cant Con Paso 1 Hacer
Escribir "Ingrese el numero ", i, " :";
Leer num;
Si num%2 = 0 Entonces
par <- par + 1;
FinSi
FinPara
porcentaje <- par/cant*100.0;
Escribir "El porcentaje de : ";
Escribir " - numeros pares: ", porcentaje;
Escribir " - numeros impares: ", 100 - porcentaje;
FinProceso
Pseudocdigo
Proceso PerimetroTriangulo
Escribir "PERIMETRO DE UN TRIANGULO";
Escribir "Ingresar los lados: ";
1. package DFD;
2.
3. import java.util.Scanner;
4.
5. public class MediaArmonica {
6.
public static void main(String[] args) {
7.
Scanner teclado = new Scanner(System.in);
8.
double suma =0;
9.
10.
System.out.print("Ingresar la cantidad de numeros: ");
11.
int cant = teclado.nextInt();
12.
13.
for (int i=1; i<=cant; i++){
14.
System.out.print("N"+i+": ");
15.
int num = teclado.nextInt();
16.
suma = suma + 1./num;
17.
}
18.
19.
20.
21. }
Pseudocdigo
Proceso SumaNumeros
suma<-0;
// se pide que se ingrese los numeros
Para i<-1 Hasta cant Con Paso 10 Hacer
Escribir "Ingrese el numero ",i;
Leer numero;
suma <- suma + numero;
FinPara
Escribir "La suma es: ",suma;
Escribir "El promedio es: ", suma/10;
FinProceso
Pseudocodigo
Proceso SumaNumerosPares
Escribir "SUMA DE NUMEROS PARES EN UN RANGO";
Escribir "Ingrese numero inferior: ";
Leer inferior;
Escribir "Ingrese numero superior: ";
Leer superior;
suma <- 0;
Mientras inferior < superior Hacer
//averiguamos si el numero es par
Si inferior%2=0 Entonces
suma <- suma + inferior;
FinSi
inferior <- inferior + 1;
FinMientras
Escribir "La suma de numeros pares es: ", suma;
FinProceso
MEDIA PUNTUACION
90-100 A
80-89
70-79
60-69
Realizar anlisis
Realizar diagrama de flujo de datos
Elaborar el programa en C++
Diagrama de Flujo
Pseudocdigo
Proceso MediaNotas
//cantidad de notas
n <- 4;
nota <- 0;
// se declara un arreglo de n elementos
Dimension notas[n];
//se llena las notas en el arreglo
Para i<-0 Hasta n-1 Con Paso 1 Hacer
PUNTUACION";
D";
FinSi
Si nota>=70 Y nota<=79 Entonces
Escribir nota,"
C";
FinSi
Si nota>=80 Y nota<=89 Entonces
Escribir nota,"
B";
FinSi
Si nota>=90 Y nota<=100 Entonces
Escribir nota,"
FinSi
FinProceso
A";
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
#include<iostream>
using namespace std;
int main() {
float
float
float
float
i;
n;
nota;
notas;
n=4;
nota=0;
for (i=0;i<=n-1;i++) {
cout<<"Ingrese nota "<<i+1<<endl;
cin>>notas[i];
if (notas[i]>=0&¬as[i]<=100) {
cout<<"Nota OK"<<endl;
} else {
cout<<"Nota incorrecta "<<endl;
i=i-1;
}
}
for (i=0;i<=n-1;i++) {
nota=nota+notas[i];
}
nota=nota/n;
cout<<"MEDIA PUNTUACION"<<endl;
if (nota>=60&¬a<=69) {
cout<<nota<<"
D"<<endl;
}
if (nota>=70&¬a<=79) {
cout<<nota<<"
C"<<endl;
}
if (nota>=80&¬a<=89) {
cout<<nota<<"
B"<<endl;
}
if (nota>=90&¬a<=100) {
cout<<nota<<"
A"<<endl;
}
return 0;
}
En pseudocodigo:
Proceso SumaPares
num <- 0;
sum <- 0;
Mientras num < 11 Hacer
Si num%2 = 0 Entonces
sum <- sum + num;
FinSi
num <- num + 1;
FinMientras
Escribir "La suma de los 10 primeros pares es: ",sum;
FinProceso
Proceso MultiploDeOtro
Escribir 'Ingrese un numero';
Leer n1;
Escribir 'Ingrese otro numero';
Leer n2;
Si n1>n2 Entonces
Si n1 MOD n2=0 Entonces
Escribir 'El numero ',n1,' es multiplo de ',n2;
Sino
Escribir 'El numero ',n1,' No es multiplo de ',n2;
FinSi
Sino
Si n2 MOD n1=0 Entonces
Escribir 'El numero ',n2,' es multiplo de ',n1;
Sino
Escribir 'El numero ',n2,' No es multiplo de ',n1;
FinSi
FinSi
FinProceso
Cdigo fuente
1. #include <iostream>
2.
3. using namespace std;
4.
5. int main() {
6.
int d,m,y, i;
7.
bool bisiesto = false;
8.
9.
cout << "Introduce el dia: ";
10. cin >> d;
11. cout << "Introduce el mes: ";
12. cin >> m;
13. cout << "Introduce el anio: ";
14. cin >> y;
15.
16. //comprobamos si el ao es bisiesto
17. if(y%4==0 && y%100!=100 || y%400==0)
18.
bisiesto = true;
19.
20.
//comprobamos que los datos ingresados esten en un rango valido
21.
if(d>0 && d<32 && m>0 && m<13 && y>0){
22.
if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12)
23.
{
24.
cout << "\nFecha valida";
25.
}
26.
else
27.
{
28.
if(m==2 && d<30 && bisiesto)
29.
cout << "\nFecha valida";
30.
else if(m==2 && d<29 && !bisiesto)
31.
cout << "\nFecha valida";
32.
else if(m!=2 && d<31)
33.
cout << "\nFecha valida";
34.
else
35.
cout << "\nFecha no valida";
36.
}
37.
}
38.
else
39.
40. }
PSEUDOCODIGO
Proceso KilosLibras
Escribir "CONVIERTE DE KILOS A LIBRAS";
Escribir "Ingresar (Kg): ";
Leer kilos;
libras <- 2.20462262*kilos;
Escribir "=> ",libras," lb" ;
FinProceso
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
package DFD;
import java.util.Scanner;
public class ConvertirAToneladas {
public static void main(String[] args) {
double radio, area;
System.out.println("HALLA EL AREA DE UN CIRCULO");
System.out.print("Ingresar el radio r = ");
Scanner scanner = new Scanner(System.in);
radio = scanner.nextFloat();
area = (3.14159*radio*radio);
System.out.println("Area = " + area);
}
}
1.
2.
3.
4.
5.
6.
package DFD;
import java.util.Scanner;
public class ConvertirAToneladas {
public static void main(String[] args) {
float libras;
7.
8.
9.
10.
11.
12.
13.
14.
15.
16. }
double toneladas;
System.out.println("CONVIERTE DE LIBRAS A TONELADAS");
System.out.print("Ingresar libras (lb): ");
Scanner scanner = new Scanner(System.in);
libras = scanner.nextFloat();
toneladas = 0.00045359237*libras;
System.out.println("=> " + toneladas + " toneladas");
}
PSEUDOCDIGO
Proceso ElevarPotencia
Proceso NumerosDivisibles
Escribir "Ingrese un numero: ";
Leer num;
Si (num % 3) = 0 Entonces
Escribir "El numero SI es divisible por tres";
Sino
Escribir "El numero NO es divisible por tres";
FinSi
FinProceso