Está en la página 1de 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

DEFINICION DE ALGORITMO

Es una secuencia ordenada de pasos que conducen a la solucin de un problema dado. Ejemplo de algoritmo:
Algoritmo cada_maana:

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

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

CARACTERISCAS Y PARTES DE UN ALGORITMO

Caractersticas:

PRECISO. DEFINIDO. FINITO.

Partes:

ENTRADA. PROCESO. SALIDA.

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin 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 programacin.

CLASIFICACION:
Lenguajes Maquina: Codificacin Binaria. (1110110001) Lenguajes Ensamblador o de bajo Nivel: Nemotcnicos. ADD 5,7 Lenguajes de Alto nivel: Uso de Compiladores e interpretes. Lenguajes de Cuarta Generacin: Lenguaje natural. Extract all clientes Where Saldo more than $500.000 Lenguajes de quinta Generacin: Desarrollo visual. Interfaces graficas avanzadas. Orientados a IDE.

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

COMPILADOR

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

LENGUAJES DE PROGRAMACION

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

CASO ESPECIAL JAVA

Unix, Linux, Solaris, Windows, Mac


Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

DATOS DEFINICION
DATO: Es una representacin simblica
ya sea numrica o alfabtica de un atributo o caracterstica de una entidad. Los programas los utilizan para realizar las operaciones respectivas generando la informacin

requerida por el usuario.

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

TIPOS DE DATOS
ESTATICOS
SIMPLES ESTRUCTURADOS

DINAMICOS Pilas Colas Listas rboles

Enteros Reales Carcter Booleanos

Array Cadena Registro Archivo

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

DATOS SIMPLES
TIPO TAMAO

CHAR
INT FLOAT

1 Byte
2 Bytes 4 Bytes

DOUBLE

8 Bytes

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

DATOS ESTRUCTURADOS SON AQUELLOS QUE ESTAN FORMADOS POR UN CONJUNTO DE DATOS SIMPLES. SU TAMAO ES INMODIFICABLE DURANTE LA EJECUCION DEL PROGRAMA. Ej. Dato de tipo Array (Arreglo)
Edades[5]
32 27 41 52 25

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

DATOS DINAMICOS
SON QUELLOS QUE DURANTE EL TRANSCURSO DE EJECUCION DEL PROGRAMA PUEDEN MODIFICAR SU TAMAO DE ACUERDO A LAS NECESIDADES DEL USUARIO.

Ej. Dato de tipo LISTA. edades[3]


35 21 29

edades[4]

35

21

29

42

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

OPERADORES
ARITMETICOS CONDICIONALES ALFANUMERICOS LOGICOS

+ Suma - Resta * Multiplicacin ^ Potenciacin / 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 Negacin

p AND q

p OR q

NOT p

V V F F

V F V F

V F F F

V V F F

V F V F

V V V F

V F

F V

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

PRIORIDAD DE OPERANDOS

Parntesis (Empezando por los mas internos). Potencias. Divisiones y Productos. Sumas y Restas. Concatenacin. Condicionales. Lgicos. Ej. Producto mayor prioridad X= 5+7*3 X= 26

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin 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 ejecucin del programa. Ej. M, -5, 23, mensaje Una variable es un elemento que cambia de estado o valor durante la ejecucin 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 estn compuestas de: Un identificador o nombre de la variable y el tipo de dato que almacena la variable. Ej. Edad : entero Edad

En Java: int Edad = 30;


RAM

30

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

EXPRESIONES

Expresiones aritmticas: 5 * 7 4 ^2 3 + (8 - 6) 7 2 / 5

Expresiones lgicas: (A 2) > (B 4) (A=8)AND(B=8)

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

DFDs
(Diagramas de Flujo de Datos)
DFD: Es un diagrama que utiliza smbolos estndares el cual representan los pasos del algoritmo, unidos por flechas llamadas lneas de flujo que indican la secuencia en que se deben ejecutar cada una de las instrucciones.

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

PSEUDOCODIGO
Es un lenguaje de especificacin 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 Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

TIPOS DE
INSTRUCCIONES

Instrucciones de INICIO / FIN Instrucciones de seleccion.

Instrucciones condicionales.
Instrucciones repetitivas.

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

INSTRUCCIONES DE SELECCION
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 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

LECTURA ASIGNACION ESCRITURA

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

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

INSTRUCCIONES CONDICIONALES

Se ejecutan de acuerdo a un criterio de evaluacin.

SE CLASIFICAN EN:
1. 2. 3.

CONDICIONAL SIMPLE CONDICIONAL DOBLE CONDICIONAL MULTIPLE

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

CONDICIONAL SIMPLE
PSEUDOCODIGO Inicio //CONDICION si condicin = verdadera entonces ejecutar (P1) fin si Fin

NO
condicin

SI

VISUAL BASIC .NET If condicion then ejecutar (P1)


end if

P1
JAVA If ( condicin ) { ejecutar (P1); }

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

CONDICIONAL DOBLE
PSEUDOCODIGO Inicio //CONDICION si condicin = verdadera entonces ejecutar (P1) si no ejecutar (P2) fin si

NO
condicin

SI

Fin

P2

P1

VISUAL BASIC .NET If condicion then ejecutar (P1) else ejecutar (P2) end if } JAVA

If ( condicin ) { ejecutar (P1); } else { ejecutar (P2):


}

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

CONDICIONAL MULTIPLE
PSEUDOCODIGO
Inicio segn_sea ( seleccin ) hacer 1: ejecutar (P1) 2: ejecutar (P2) 3: ejecutar (P3) n: ejecutar (Pn) si no ejecutar (por defecto) fin segn_sea 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

1
seleccin

Fin

JAVA

switch ( seleccin ) {
case 1: ejecutar (P1); break; case 2: ejecutar (P2) break; case 3: ejecutar (P3) break; case n: ejecutar (Pn) break; default: ejecutar (por defecto); }

P1

P2

P3

Pn

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

INSTRUCCION REPETITIVA MIENTRAS


inicio
PSEUDOCODIGO Inicio mientras condicin = verdadera haga ejecutar (P) fin mientras Fin

MQ condicin

VISUAL BASIC .NET While condicion = verdadera ejecutar (P) end while

P
JAVA

cierre

While (condicion = verdadera) { ejecutar (P); }

FIN

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

INSTRUCCION REPETITIVA PARA


PSEUDOCODIGO Inicio para A1 hasta 10 de 1 en 1 haga ejecutar (P) fin para Fin

inicio

PARA A1, 10, 1

VISUAL BASIC .NET For A = 1 To 10 Step 1 ejecutar (P) Next

P
JAVA

cierre

for (A=1;A<10;A++){ ejecutar (P); }

FIN

Para: A inicia desde 1, hasta que tome el valor de 10 y se incremente de uno en uno.

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

ANIDAMIENTO DE ESTRUCTURAS
PSEUDOCODIGO

Inicio //CONDICION si condicin = verdadera entonces ejecutar (P1) si no si condicion2 = verdadera entonces ejecutar (P2) si no ejecutar (P3) fin si fin si Fin

JAVA If ( condicin ) { ejecutar (P1); } else { if (condicin 1) { ejecutar (P2); } else{ ejecutar (P3); } }

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

ANIDAMIENTO DE ESTRUCTURAS
PSEUDOCODIGO
Inicio

JAVA
for (A=1;A<10;A++){ ejecutar (P); for (B=1;B<10;B+=3){ ejecutar (P); } }

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

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

CONTADORES ACUMULADORES

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 repeticin. La forma en que se construye un contador es la siguiente:
Mientras A < 10 haga AA+1 fin mientras

Un acumulador o totalizador es una variable cuya funcin es almacenar cantidades resultantes de operaciones sucesivas. Realiza la misma funcin 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 AA+1 Leer (saldo) nuevo_saldo nuevo_saldo + saldo fin mientras

Ing. Cesar David Fernndez G. Centro Teleinformtica y Produccin Industrial SENA Regional Cauca

MUCHAS GRACIAS
PROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS

INQUIETUDES O DUDAS ?

Ing. Cesar David Fernndez Grueso. CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL SENA REGIONAL CAUCA