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();
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; }