PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO...

30
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

Transcript of PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO...

Page 1: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

PRINCIPIOS DE PROGRAMACION ESTRUCTURADA

CESAR DAVID FERNANDEZ GRUESO

“LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS”

SENA Regional CaucaCENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL

TECNICO EN PROGRAMACION DE SOFTWARE

Vigencia 2009 - 2010

Page 2: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

DEFINICION DE ALGORITMO

Es una secuencia ordenada de pasos que conducen a la solución de un problema dado.

Ejemplo de algoritmo:

Algoritmo cada_mañana:

Abrir los ojos. Levantarme de la cama. Pasar al baño Darme una ducha. Vestirme. Desayunar. Salir al trabajo.

Page 3: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

CARACTERISCAS Y PARTES DE UN ALGORITMO

Características:

PRECISO. DEFINIDO. FINITO.

Partes:

ENTRADA. PROCESO. SALIDA.

Page 4: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

LENGUAJES DE PROGRAMACION

Los algoritmos se convierten en un conjunto de sentencias e instrucciones entendibles por la maquina mediante los lenguajes de programación.

CLASIFICACION:

Lenguajes Maquina: Codificación Binaria. (1110110001)Lenguajes Ensamblador o de bajo Nivel: Nemotécnicos.

ADD 5,7Lenguajes de Alto nivel: Uso de Compiladores e interpretes.Lenguajes de Cuarta Generación: Lenguaje natural.

Extract all clientes Where Saldo more than $500.000Lenguajes de quinta Generación: Desarrollo visual.

Interfaces graficas avanzadas. Orientados a IDE.

Page 5: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

COMPILADOR

Page 6: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

LENGUAJES DE PROGRAMACION

Page 7: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

CASO ESPECIAL JAVA

Unix, Linux, Solaris, Windows, Mac

Page 8: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

DATOSDEFINICION

DATO: Es una 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.

Page 9: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

TIPOS DE DATOS

DINAMICOS

Pilas

Colas

Listas

Árboles

ESTATICOSSIMPLES ESTRUCTURADOS

Enteros

Reales

Carácter

Booleanos

Array

Cadena

Registro

Archivo

Page 10: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

DATOS SIMPLES

TIPO TAMAÑO

CHAR 1 Byte

INT 2 Bytes

FLOAT 4 Bytes

DOUBLE 8 Bytes

Page 11: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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

Page 12: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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

Page 13: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

OPERADORESARITMETICOS CONDICIONALES ALFANUMERICOS LOGICOS

• + Suma•- Resta•* Multiplicación• ^ Potenciación•/ Division real•DIV Division entera•MOD Residuo

• < Menor que•= Igual•> Mayor que•<= Menor o igual que•>= Mayor o igual que•<> ó != Diferente

• + ó . Concatenar cadenas

• OR o•AND y•NOT Negación

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

Page 14: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

PRIORIDAD DE OPERANDOS

Paréntesis (Empezando por los mas internos). Potencias. Divisiones y Productos. Sumas y Restas. Concatenación. Condicionales. Lógicos. Ej. X= 5+7*3 X= 26

Producto mayor prioridad

Page 15: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

CONSTANTES Y VARIABLES

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”

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.

Ej. Edad : entero

En Java: int Edad = 30;

30

Edad

RAM

Page 16: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

EXPRESIONES

Expresiones aritméticas: 5 * 7 4 ^2 3 + (8 - 6) 7 – 2 / 5

Expresiones lógicas: (A – 2) > (B – 4) (A=8)AND(B=8)

Page 17: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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.

Page 18: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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

Page 19: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

TIPOS DE INSTRUCCIONES

Instrucciones de INICIO / FIN

Instrucciones de seleccion.

Instrucciones condicionales.

Instrucciones repetitivas.

Page 20: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

INSTRUCCIONES DE SELECCION

LECTURA

ASIGNACION

ESCRITURA

PSEUDOCODIGO//Algoritmo que calcula área triangulo -> esto es un comentarioVar 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

JAVAimport 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 : ");            float base = Integer.parseInt(br.readLine());            System.out.print(“Digite Altura : ");            float altura = Integer.parseInt(br.readLine());            float area=base * altura;            System.out.println (“El área es: “+ area);        }        catch (Exception e)        {            e.printStackTrace();        }    }}

VISUAL BASIC . NETModule 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 subEnd Module

Page 21: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

INSTRUCCIONES CONDICIONALES

Se ejecutan de acuerdo a un criterio de evaluación.

SE CLASIFICAN EN:

1. CONDICIONAL SIMPLE2. CONDICIONAL DOBLE3. CONDICIONAL MULTIPLE

Page 22: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

CONDICIONAL SIMPLE

condición

P1

PSEUDOCODIGOInicio

//CONDICION si condición = verdadera entonces ejecutar (P1) fin si Fin

SINO

JAVAIf ( condición ) { ejecutar (P1);

}

VISUAL BASIC .NETIf condicion then ejecutar (P1)

end if

Page 23: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

CONDICIONAL DOBLE

condición

P1

SINO

P2

PSEUDOCODIGOInicio

//CONDICION si condición = verdadera entonces ejecutar (P1) si no ejecutar (P2) fin si Fin

JAVAIf ( condición ) { ejecutar (P1); }else { ejecutar (P2): }

VISUAL BASIC .NETIf condicion then ejecutar (P1) else ejecutar (P2)end if}

Page 24: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

CONDICIONAL MULTIPLE

selección

P3

31

P1 P2

2

Pn

n

PSEUDOCODIGOInicio

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 expresionesend select

Page 25: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

INSTRUCCION REPETITIVA MIENTRAS

MQ condición

P

cierre

inicio

FIN

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

Page 26: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

INSTRUCCION REPETITIVA PARA

PARA A1, 10, 1

P

cierre

inicio

FINPara: A inicia desde 1, hasta que tome el valor de 10

y se incremente de uno en uno.

PSEUDOCODIGOInicio

para A1 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); }

Page 27: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

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

Page 28: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

ANIDAMIENTO DE ESTRUCTURAS

PSEUDOCODIGOInicio

para A1 hasta 10 de 1 en 1 haga ejecutar (P) para B1 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); } }

Page 29: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca

CONTADORESACUMULADORES

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:

Mientras A < 10 haga

A A + 1 fin mientras

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.

nuevo_saldo 0 //Este es el acumulador

Mientras A < 10 haga A A + 1 Leer (saldo) nuevo_saldo nuevo_saldo + saldo fin mientras

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

Page 30: PRINCIPIOS DE PROGRAMACION ESTRUCTURADA CESAR DAVID FERNANDEZ GRUESO “LA PROGRAMACION, COMO HERRAMIENTA PARA LA SOLUCION DE PROBLEMAS” SENA Regional Cauca.

MUCHAS GRACIASPROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS

INQUIETUDES O DUDAS ?

Ing. Cesar David Fernández Grueso.

CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL

SENA REGIONAL CAUCA