principios de programacion estructurada cesar david fernandez grueso “la programacion, como...
TRANSCRIPT
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
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.
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.
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.
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
COMPILADOR
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
LENGUAJES DE PROGRAMACION
Ing. Cesar David Fernández G. – Centro Teleinformática y Producción Industrial – SENA Regional Cauca
CASO ESPECIAL JAVA
Unix, Linux, Solaris, Windows, Mac
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.
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
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
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
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
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
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
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
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)
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.
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
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.
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
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
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
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}
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
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);}
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); }
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); } }
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); } }
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
MUCHAS GRACIASPROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS
INQUIETUDES O DUDAS ?
Ing. Cesar David Fernández Grueso.
CENTRO DE TELEINFORMATICA Y PRODUCCION INDUSTRIAL
SENA REGIONAL CAUCA