Principios de Programacion

25,237 views

Published on

Slide de Principios de Programacion por Cesar David Fernandez Grueso

Published in: Technology
4 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total views
25,237
On SlideShare
0
From Embeds
0
Number of Embeds
6,737
Actions
Shares
0
Downloads
678
Comments
4
Likes
6
Embeds 0
No embeds

No notes for slide

Principios de Programacion

  1. 1. PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL TECNICO EN PROGRAMACION DE SOFTWARE Vigencia 2009 - 2010
  2. 2. DEFINICION DE ALGORITMO <ul><li>Es una secuencia ordenada de pasos que conducen a la solución de un problema dado. </li></ul><ul><li>Ejemplo de algoritmo: </li></ul><ul><ul><ul><ul><li>Algoritmo cada_mañana: </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Abrir los ojos. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Levantarme de la cama. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Pasar al baño </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Darme una ducha. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Vestirme. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Desayunar. </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Salir al trabajo. </li></ul></ul></ul></ul></ul>
  3. 3. CARACTERISCAS Y PARTES DE UN ALGORITMO <ul><li>Características: </li></ul><ul><ul><ul><li>PRECISO. </li></ul></ul></ul><ul><ul><ul><li>DEFINIDO. </li></ul></ul></ul><ul><ul><ul><li>FINITO. </li></ul></ul></ul><ul><li>Partes: </li></ul><ul><ul><ul><li>ENTRADA. </li></ul></ul></ul><ul><ul><ul><li>PROCESO. </li></ul></ul></ul><ul><ul><ul><li>SALIDA . </li></ul></ul></ul>
  4. 4. LENGUAJES DE PROGRAMACION <ul><li>Los algoritmos se convierten en un conjunto de sentencias e instrucciones entendibles por la maquina mediante los lenguajes de programación. </li></ul><ul><li>CLASIFICACION: </li></ul><ul><ul><li>Lenguajes Maquina: Codificación Binaria. (1110110001) </li></ul></ul><ul><ul><li>Lenguajes Ensamblador o de bajo Nivel: Nemotécnicos. </li></ul></ul><ul><ul><li>ADD 5,7 </li></ul></ul><ul><ul><li>Lenguajes de Alto nivel: Uso de Compiladores e interpretes. </li></ul></ul><ul><ul><li>Lenguajes de Cuarta Generación: Lenguaje natural. </li></ul></ul><ul><ul><li>Extract all clientes Where Saldo more than $500.000 </li></ul></ul><ul><ul><li>Lenguajes de quinta Generación: Desarrollo visual. </li></ul></ul><ul><ul><li>Interfaces graficas avanzadas. Orientados a IDE. </li></ul></ul>
  5. 5. COMPILADOR
  6. 6. LENGUAJES DE PROGRAMACION
  7. 7. CASO ESPECIAL JAVA Unix, Linux, Solaris, Windows, Mac
  8. 8. DATOS DEFINICION DATO: Es u na representación simbólica ya sea numérica o alfabética de un atributo o característica de una entidad. Los programas los utilizan para realizar las operaciones respectivas generando la información requerida por el usuario.
  9. 9. TIPOS DE DATOS DINAMICOS Pilas Colas Listas Árboles ESTATICOS SIMPLES ESTRUCTURADOS Enteros Reales Carácter Booleanos Array Cadena Registro Archivo
  10. 10. DATOS SIMPLES TIPO TAMAÑO CHAR 1 Byte INT 2 Bytes FLOAT 4 Bytes DOUBLE 8 Bytes
  11. 11. DATOS ESTRUCTURADOS SON AQUELLOS QUE ESTAN FORMADOS POR UN CONJUNTO DE DATOS SIMPLES. SU TAMAÑO ES INMODIFICABLE DURANTE LA EJECUCION DEL PROGRAMA. Ej. Dato de tipo Array (Arreglo) Edades[5] 32 27 41 52 25
  12. 12. DATOS DINAMICOS SON QUELLOS QUE DURANTE EL TRANSCURSO DE EJECUCION DEL PROGRAMA PUEDEN MODIFICAR SU TAMAÑO DE ACUERDO A LAS NECESIDADES DEL USUARIO. Ej. Dato de tipo LISTA. edades[3] edades[4] 35 21 29 35 21 29 42
  13. 13. OPERADORES ARITMETICOS CONDICIONALES ALFANUMERICOS LOGICOS <ul><li>+ Suma </li></ul><ul><li>- Resta </li></ul><ul><li>* Multiplicación </li></ul><ul><li>^ Potenciación </li></ul><ul><li>/ Division real </li></ul><ul><li>DIV Division entera </li></ul><ul><li>MOD Residuo </li></ul><ul><li>< Menor que </li></ul><ul><li>= Igual </li></ul><ul><li>> Mayor que </li></ul><ul><li><= Menor o igual que </li></ul><ul><li>>= Mayor o igual que </li></ul><ul><li><> ó != Diferente </li></ul><ul><li>+ ó . Concatenar cadenas </li></ul><ul><li>OR o </li></ul><ul><li>AND y </li></ul><ul><li>NOT Negación </li></ul>P NOT p V F F V p q p AND q V V V V F F F V F F F F P q p OR q V V V V F V F V V F F F
  14. 14. PRIORIDAD DE OPERANDOS <ul><li>Paréntesis (Empezando por los mas internos). </li></ul><ul><li>Potencias. </li></ul><ul><li>Divisiones y Productos. </li></ul><ul><li>Sumas y Restas. </li></ul><ul><li>Concatenación. </li></ul><ul><li>Condicionales. </li></ul><ul><li>Lógicos. </li></ul><ul><li>Ej. </li></ul><ul><li>X= 5+7*3 </li></ul><ul><li>X= 26 </li></ul>Producto mayor prioridad
  15. 15. CONSTANTES Y VARIABLES <ul><li>Los Datos pueden ser Constantes o Variables. Un dato constante es aquel que permanece sin cambios durante toda la ejecución del programa. Ej. ‘M’, -5, 23, “mensaje” </li></ul><ul><li>Una variable es un elemento que cambia de estado o valor durante la ejecución de un programa. Cuando se crea una variable la maquina reserva espacio en la memoria RAM para almacenar el valor que tomara en un instante dado la variable. La variables están compuestas de: Un identificador o nombre de la variable y el tipo de dato que almacena la variable. </li></ul><ul><li>Ej. Edad : entero </li></ul><ul><li>En Java: int Edad = 30; </li></ul>30 Edad RAM
  16. 16. EXPRESIONES <ul><li>Expresiones aritméticas: </li></ul><ul><li>5 * 7 4 ^2 3 + (8 - 6) 7 – 2 / 5 </li></ul><ul><li>Expresiones lógicas: </li></ul><ul><li>(A – 2) > (B – 4) (A=8)AND(B=8) </li></ul>
  17. 17. DFD’s (Diagramas de Flujo de Datos) DFD: Es un diagrama que utiliza símbolos estándares el cual representan los pasos del algoritmo, unidos por flechas llamadas líneas de flujo que indican la secuencia en que se deben ejecutar cada una de las instrucciones.
  18. 18. PSEUDOCODIGO Es un lenguaje de especificación de algoritmos que se aproxima al lenguaje natural usado por el ser humano. Ej. //Algoritmo que calcula área triangulo -> esto es un comentario Var real: base,altura,area -> las variables a usar Inicio //Lectura de los datos de entrada Leer (base) Leer (altura) //calcular area area <- base * altura / 2 //Presentar resultado en pantalla Escribir (area) Fin
  19. 19. TIPOS DE INSTRUCCIONES <ul><li>Instrucciones de INICIO / FIN </li></ul><ul><li>Instrucciones de seleccion. </li></ul><ul><li>Instrucciones condicionales. </li></ul><ul><li>Instrucciones repetitivas. </li></ul>
  20. 20. INSTRUCCIONES DE SELECCION LECTURA ASIGNACION ESCRITURA PSEUDOCODIGO //Algoritmo que calcula área triangulo -> esto es un comentario Var real: base,altura,area -> las variables a usar Inicio //Lectura de los datos de entrada Leer (base) Leer (altura) //calcular area area <- base * altura / 2 //Presentar resultado en pantalla Escribir (area) Fin JAVA import java.io.*; public class Area{     public static void main (String [] args)     {         InputStreamReader isr = new InputStreamReader(System.in);         BufferedReader br = new BufferedReader (isr);         try         {             System.out.print(“Digite Base : &quot;);             float base = Integer.parseInt(br.readLine());             System.out.print(“Digite Altura : &quot;);             float altura = Integer.parseInt(br.readLine());             float area=base * altura;             System.out.println (“El área es: “+ area);         }         catch (Exception e)         {             e.printStackTrace();         }     } } VISUAL BASIC . NET Module Ejercicio Sub main( ) Dim base As Decimal ‘ declaro variables Dim altura As Decimal Dim area As Decimal Console.Write(“Digite la Base:”) ‘ capturo datos base = Console.Readline Console.Write(“Digite la altura:”) altura = Console.Readline area = base * altura Console.Write(“El area del triagulo es: {0}”,area) end sub End Module
  21. 21. INSTRUCCIONES CONDICIONALES <ul><li>Se ejecutan de acuerdo a un criterio de evaluación. </li></ul><ul><li>SE CLASIFICAN EN: </li></ul><ul><ul><ul><ul><ul><li>CONDICIONAL SIMPLE </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>CONDICIONAL DOBLE </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>CONDICIONAL MULTIPLE </li></ul></ul></ul></ul></ul>
  22. 22. CONDICIONAL SIMPLE condición P1 PSEUDOCODIGO Inicio //CONDICION si condición = verdadera entonces ejecutar (P1) fin si Fin SI NO JAVA If ( condición ) { ejecutar (P1); } VISUAL BASIC .NET If condicion then ejecutar (P1) end if
  23. 23. CONDICIONAL DOBLE condición P1 SI NO P2 PSEUDOCODIGO Inicio //CONDICION si condición = verdadera entonces ejecutar (P1) si no ejecutar (P2) fin si Fin JAVA If ( condición ) { ejecutar (P1); } else { ejecutar (P2): } VISUAL BASIC .NET If condicion then ejecutar (P1) else ejecutar (P2) end if }
  24. 24. CONDICIONAL MULTIPLE selección P3 3 1 P1 P2 2 Pn n PSEUDOCODIGO Inicio según_sea ( selección ) hacer 1 : ejecutar (P1) 2 : ejecutar (P2) 3 : ejecutar (P3) n : ejecutar (Pn) si no ejecutar (por defecto) fin según_sea Fin JAVA switch ( selección ) { case 1 : ejecutar (P1); break; case 2 : ejecutar (P2) break; case 3 : ejecutar (P3) break; case n : ejecutar (Pn) break; default: ejecutar (por defecto); } VISUAL BASIC .NET Select Case opcion Case 1: ejecutar (P1) Case 2: ejecutar (P2) Case 3: ejecutar (P3) Case n: ejecutar (Pn) Case else ’ si no se cumple ninguna de las expresiones end select
  25. 25. INSTRUCCION REPETITIVA MIENTRAS MQ condición P cierre inicio FIN PSEUDOCODIGO Inicio mientras condición = verdadera haga ejecutar (P) fin mientras Fin VISUAL BASIC .NET While condicion = verdadera ejecutar (P) end while JAVA While ( condicion = verdadera ) { ejecutar (P); }
  26. 26. INSTRUCCION REPETITIVA PARA PARA A  1, 10, 1 P cierre inicio FIN Para: A inicia desde 1, hasta que tome el valor de 10 y se incremente de uno en uno. PSEUDOCODIGO Inicio para A  1 hasta 10 de 1 en 1 haga ejecutar (P) fin para Fin VISUAL BASIC .NET For A = 1 To 10 Step 1 ejecutar (P) Next JAVA for (A=1;A<10;A++){ ejecutar (P); }
  27. 27. ANIDAMIENTO DE ESTRUCTURAS PSEUDOCODIGO Inicio //CONDICION si condición = verdadera entonces ejecutar (P1) si no si condicion2 = verdadera entonces ejecutar (P2) si no ejecutar (P3) fin si fin si Fin JAVA If ( condición ) { ejecutar (P1); } else { if ( condición 1 ) { ejecutar (P2); } else{ ejecutar (P3); } }
  28. 28. ANIDAMIENTO DE ESTRUCTURAS PSEUDOCODIGO Inicio para A  1 hasta 10 de 1 en 1 haga ejecutar (P) para B  1 hasta 10 de 3 en 3 haga ejecutar (P) fin para fin para Fin JAVA for (A=1;A<10;A++){ ejecutar (P); for (B=1;B<10;B+=3){ ejecutar (P); } }
  29. 29. CONTADORES ACUMULADORES <ul><li>Los procesos repetitivos requieren contar los sucesos y acciones internas, una forma de hacerlo es mediante un contador. Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante en cada repetición. La forma en que se construye un contador es la siguiente: </li></ul><ul><li>Mientras A < 10 haga </li></ul><ul><li>A  A + 1 </li></ul><ul><li>fin mientras </li></ul><ul><li>Un acumulador o totalizador es una variable cuya función es almacenar cantidades resultantes de operaciones sucesivas. Realiza la misma función que un contador con la diferencia de que el incremento o decremento es variable en lugar de constante. </li></ul><ul><li>nuevo_saldo  0 // Este es el acumulador </li></ul><ul><li>Mientras A < 10 haga </li></ul><ul><li>A  A + 1 </li></ul><ul><li>Leer (saldo) </li></ul><ul><li>nuevo_saldo  nuevo_saldo + saldo </li></ul><ul><li>fin mientras </li></ul><ul><li>n programación, se llama acumulador a una variable cuyo valor se incrementa o decrementa en un valor que no tiene por qué ser fijo (en cada iteración de un bucle ). Un acumulador suele utilizarse para acumular resultados producidos en las iteraciones de un bucle </li></ul>
  30. 30. MUCHAS GRACIAS PROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS INQUIETUDES O DUDAS ? Ing. Cesar David Fernández Grueso. CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL SENA REGIONAL CAUCA

×