Anda di halaman 1dari 42

Diagramas de Flujo

Algoritmo que determina si


un nmero es mayor que
cero, menor que cero o igual
a cero
Inicio
Fin
numero
numero > 0
V
F
numero < 0
Mayor a cero Menor a cero Igual a cero
F
V
Inicio
leer (numero)
Si numero > 0 entonces
Escribir(Mayor a cero)
Si_no
Si numero < 0 entonces
Escribir(Menor a cero)
Si_no
Escribir( Igual a cero)
Fin _Si
Fin _Si
Fin
Diagramas de Flujo
Algoritmo que imprime la
palabra fin si se ingresa el
nmero -9999
Inicio
Fin
num
num = - 9999
Fin
V
F
Inicio
Repetir
Leer (numero)
Hasta numero = - 9999

Escribir(Fin)
Fin
Diagramas de Flujo
Diagrama de flujo que
calcula la suma de los
primeros n nmeros enteros
Inicio
Fin
n
i <> n
S
V
F
Inicio
S 0
i 0
Leer (n)
Mientras i <> n
i i + 1
S S + i
Fin-Mientras

Escribir (S)
Fin
S 0
i 0
i i +1
S S + i
Diagramas de Flujo
Algoritmo que calcula el
promedio de una serie de datos
que termina con el -9999
Inicio
Fin
n
n = - 9999
S
V
F
S 0
i 0
i i +1
S S + n
P S / i
Inicio
S 0
i 0
Leer (n)
Repetir
i i + 1
S S + n
Leer (n)
Hasta n = - 9999
P S / i

Escribir (S)
Fin
Diagramas de Flujo
Diagrama de flujo que calcula el
valor de 2
n

Inicio
Fin
n
i < n
R
V
F
R 1
i 0
R R * 2
i i + 1
Inicio
R 1
i 0
Leer ( n )
Mientras i < n
R R * 2
i i +1
Fin_Mientras
Escribir ( R )
Fin
Diagramas de Flujo
Algoritmo que imprime todos los
divisores de n y presenta la
suma de los mismos
Inicio
Fin
n
i < n
S
V
F
S 0
i 0
S S +i
i i + 1
(n mod i ) =0
V
F
Lenguajes de programacin
Programar Plantear solucin a un problema mediante
un Lenguaje de Programacin.

El Paradigma de Programacin condiciona la forma en
que se expresa la solucin a un problema.

El Lenguaje de Programacin (que se encuadra en un
determinado paradigma) es la herramienta que permite
expresar nuestra solucin.

Lenguajes de programacin
Los lenguajes de programacin son
herramientas que nos permiten crear
programas y software. Entre ellos tenemos
Delphi, Visual Basic, Pascal, Java,Javascript
etc..
Los lenguajes de programacin facilitan la tarea
de programacin, ya que disponen de formas
adecuadas que permiten ser ledas y escritas
por personas, a su vez resultan independientes
del modelo de computador a utilizar.


Lenguajes de programacin
Los lenguajes de " Alto Nivel" son los mas
utilizados como lenguaje de programacin. En ese
sentido se llama "Independientes de la maquina".
Ejemplos de estos lenguajes de alto nivel son
PASCAL , JAVA y FORTRAN ,COBOL C, ETC.
Los "Lenguajes Ensambladores" y los "Lenguajes
Maquina" son dependientes de la maquina. Cada
tipo de maquina, tal como VAX de digital, tiene su
propio lenguaje maquina distinto y su lenguaje
ensamblador asociado.
Lenguajes de programacin
La programacin de un lenguaje de alto nivel requiere,
de algn tipo de interfaz con el lenguaje maquina para
que el programa pueda ejecutarse. Las interfaces mas
comunes: un "compilador" y un "interprete".
El compilador traduce el programa a otro equivalente
en el lenguaje X de la maquina "residente" como un
paso separado antes de la ejecucin.
El interprete ejecuta directamente las instrucciones en
un lenguaje Y de alto nivel, sin un paso de
procesamiento previo.

Lenguajes de programacin
Hay lenguajes de programacin que utilizan
compilador.
1) Traducir el programa simblico a cdigo
mquina
2) Ejecucin y procesamiento de los datos.
Otros lenguajes de programacin utilizan un
programa intrprete o traductor, el cual
analiza directamente la descripcin simblica
del programa fuente y realiza las
instrucciones dadas.


Lenguajes de programacin
El intrprete en los lenguajes de
programacin simula una mquina virtual,
donde el lenguaje de mquina es similar al
lenguaje fuente.
Mquina virtual: Software que crea un
entorno virtual entre la plataforma de la
computadora y su sistema operativo, de
tal forma que un usuario final puede
ejecutar programas en una Mquina
Abstracta

Lenguajes de programacin:
Mquina Virtual
Lenguajes de programacin:
Mquina Virtual
Lenguajes de programacin
La ventaja del proceso interprete es que
no necesita de dos fases para ejecutar el
programa, sin embargo su inconveniente
es que la velocidad de ejecucin es ms
lenta ya que debe analizar e interpretar
las instrucciones contenidas en el
programa fuente.


Cuerpo del programa
Conformado por una serie de preposiciones, de
diferentes tipos:
Declarativas: Define las variables y elementos que
participan en el programa
Operacionales: Realizan operaciones con las variables
Estructurales: Controlan el flujo del programa
Cuerpo del programa
Una variable se define como un identificador que
se utiliza para almacenar todos los datos
generados durante la ejecucin de un
programa.
Claras y con referencia directa al problema.
No espacios en blanco, ni smbolos extraos en
ellas.
Se pueden usar abreviaturas, pero solo de carcter
general.
No deben ser palabras reservadas del lenguaje.
Tipos de datos bsicos
Enteros
(signed/unsigned) (long/short) int
Char (carcter y mucho ms)
(unsigned) char //1 byte
Coma flotante
float
double //64 bits
Booleano
bool

Estructuras de control
Se presentan las tres estructuras bsicas de control,
sus representaciones en pseudocdigo y su
implementacin en Java
Secuenciacin
Iteracin condicional
Seleccin
Secuenciacin
Programacin secuencial Secuenciacin
Comienza
e1;
e2;
e3;
Termina
e1
e2
e3
{
e1;
e2;
e3;
}
Secuenciacin
Ejemplo. Saludo personalizado
comienza
escribe (Cmo te llamas? );
lee (nombre);
escribe (Hola ,nombre);
termina

{
String nombre;
Teclado teclado = new Teclado();

System.out.print(Cmo te llamas? );
nombre = teclado.readString();
System.out.println(Hola +nombre);
}
Repeticin o iteracin
Iteracin condicional Repeticin de
acciones gobernada por condicin booleana
mientras (C) e1;
e1
C
V
F
while (C){
e1;
}
Repeticin o iteracin
Ejemplo mientras. Suma nmeros del 1 al N

{
int N, indice=1;
int suma=0;
Teclado teclado = new Teclado();

System.out.print(N: );
N = teclado.readInt();
while (indice<=N){
suma += indice;
indice++;
}
System.out.println(Suma: +suma);
}
comienza
escribe(N: );
lee(N);
suma 0;
indice 1;
mientras (indice N)
comienza
suma suma+indice;
indice indice + 1;
termina
escribe(Suma: ,suma);
termina

Repeticin o iteracin
Iteracin condicional
Repeticin de acciones gobernada por condicin booleana






repite e1 hasta (C) ; repite e1 mientras (C);
e1
C
V
F
do {
e1;
} while (C);
e1
C
F
V
Repeticin o iteracin
Ejemplo repite. Suma nmeros del 1 al N

{
int N, indice=0;
int suma=0;
Teclado teclado = new Teclado();

System.out.print(N: );
N = teclado.readInt();
do{
indice++;
suma += indice;
} while (indice<N)
System.out.println(Suma: +suma);
}
comienza
escribe(N: );
lee(N);
suma 0;
indice 0;
repite
indice indice + 1;
suma suma+indice;
mientras (indice < N);
escribe(Suma: ,suma);
termina

Repeticin o iteracin
Iteracin condicional Repeticin de
acciones dentro de cierta condicin de un contador

Para condicinInicial hasta condicionFinal haz e1;

for (inicializa contador; condicion; cambia contador){
e1;
}
Repeticin o iteracin
Ejemplo para hasta. Suma nmeros del 1 al N

{
int N, indice=0;
int suma=0;
Teclado teclado = new Teclado();

System.out.print(N: );
N = teclado.readInt();
for(indice=1;indice<=N;indice++){
suma += indice;
}
System.out.println(Suma: +suma);
}
comienza
escribe(N: );
lee(N);
suma 0;
para indice=1 hasta N repite
suma suma+indice;
escribe(Suma: ,suma);
termina

Seleccin
Seleccin de opcin nica
Decisiones sencillas. Condicin booleana.

Si condicin entonces e1;
if (condicion)
e1; Condicin
e1
V
F
Seleccin
Ejemplo. Decir si un nmero es negativo
comienza
escribe(Nmero: );
lee (N);
si (N < 0) entonces escribe(negativo);
termina
{
int N;
Teclado teclado = new Teclado();

System.out.print(Nmero: );
N = teclado.readInt();
if (N < 0) System.out.println(negativo);
}
Seleccin
Seleccin de dos opciones
Decisiones sencillas. Condicin booleana.

Si condicin
entonces e1;
otro e2;
if (condicion)
e1;
else
e2;
Condicin e1
V
F
e2
Seleccin
Ejemplo. Escribe si un nmero es par o impar.
comienza
escribe(Nmero: );
lee (N);
si (N%2 == 0) entonces escribe(par);
otro escribe(impar);
termina

{
int N;
Teclado teclado = new Teclado();

System.out.print(Nmero: );
N = teclado.readInt();
if (N%2 < 0) System.out.println(par);
else System.out.println(impar);
}
Seleccin
Seleccin mltiple
Seleccin de varias posibilidades bajo diferentes
condiciones

si (condicin1)
entonces e1;
otro si (condicin2)
entonces e2;
otro si (condicin3)
entonces e3;

if (condicion1)
e1;
else if (condicion2)
e2;
else if (condicion3)
e3;
Seleccin
Ejemplo. Asignacin de calificacin
comienza
escribe(promedio final: );
lee(promedio);
si (promedio<6) entonces calificacion = NA;
otro si (promedio < 7.4) entonces calificacion = S;
otro si (promedio < 8.7) entonces calificacion = B;
otro si (promedio < 8.7) entonces calificacion = B;
otro calificacion = MB;
escribe(cal = ,calificacion);
termina

{
double promedio;
String calificacion
Teclado teclado = new Teclado();

System.out.print(promedio final: );
promedio = teclado.readDouble();
if (promedio < 6) calificacion=NA;
else if (promedio < 7.4) calificacion=S;
else if (promedio < 8.7) calificacion=B;
else calificacion =MB;
System.out.println(cal= +calificacion);
}
Seleccin
Seleccin mltiple
Seleccin de varias posibilidades bajo
condiciones de igualdad en la misma variable

si (variable = valor1)
entonces e1;
otro si (variable = valor2)
entonces e2;
otro si (variable = valor3)
entonces e3;

if (variable==valor1)
e1;
else if (variable==valor2)
e2;
else if (variable==valor3)
e3;
Seleccin
Ejemplo. Seleccin de men.
comienza
escribe(DICHOS:);
escribe(1. Para flojos);
escribe(2. Para dar nimos);
escribe(3. De experiencia);
escribe(Opcin: );
lee(opcion);
si (opcion = 1)
entonces escribe(No por mucho madrugar amanece ms temprano);
otro si (opcion = 2)
entonces escribe(A darle que es mole de olla);
otro si (opcion = 3)
entonces escribe(Ms sabe el diablo por viejo que por diablo);
otro escribe(Opcion invalida);
termina
Seleccin
cont
{
int opcion;
Teclado teclado = new Teclado();

System.out.println(DICHOS:);
System.out.println(1. Para flojos);
System.out.println(2. Para dar nimos);
System.out.println(3. De experiencia);
System.out.println(Opcin: );
opcion=teclado.readInt();
if(opcion == 1)
System.out.println(No por mucho madrugar amanece ms temprano);
else if (opcion == 2)
System.out.println(A darle que es mole de olla);
else if (opcion == 3)
System.out.println(Ms sabe el diablo por viejo que por diablo);
else System.out.println(Opcion invalida);
}
Seleccin
Seleccin mltiple
Seleccin de varias posibilidades bajo
condiciones de igualdad en la misma variable

caso variable de
valor1 : e1
valor2 : e2
valor3 : e3
finCaso

switch (variable){
case valor1 : e1; break;
case valor2 : e2; break;
case valor3 : e3; break;
}
Seleccin
Ejemplo. Seleccin de men.
comienza
escribe(DICHOS:);
escribe(1. Para flojos);
escribe(2. Para dar nimos);
escribe(3. De experiencia);
escribe(Opcin: );
lee(opcion);
caso (opcion) de
1: escribe(No por mucho madrugar amanece ms temprano);
2: escribe(A darle que es mole de olla);
3: escribe(Ms sabe el diablo por viejo que por diablo);
otro: escribe(Opcion invalida);
finCaso
termina

Seleccin cont
{
int opcion;
Teclado teclado = new Teclado();

System.out.println(DICHOS:);
System.out.println(1. Para flojos);
System.out.println(2. Para dar nimos);
System.out.println(3. De experiencia);
System.out.println(Opcin: );
opcion=teclado.readInt();
switch(opcion){
case 1: System.out.println(No por mucho madrugar amanece ms
temprano); break;
case 2: System.out.println(A darle que es mole de olla); break;
case 3: System.out.println(Ms sabe el diablo por viejo que por diablo);
break;
default System.out.println(Opcion invalida); break;
}

Anda mungkin juga menyukai