Post on 06-Jul-2015
description
PRINCIPIOS DE PROGRAMACION
VLADIMIR RAFAEL ARNEDO POMARES
“LA PROGRAMACION Y LOS LENGUAJES DE PROGRAMCION”
Universidad de CartagenaCentro Regional de Educación a Distancia
CREAD Programa Ingeniería de sistemas
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ñoDarme una ducha.Vestirme.Desayunar.Salir al trabajo.
CARACTERISCAS Y PARTES DE UN ALGORITMO
Características:
PRECISO. DEFINIDO. FINITO.
Partes:
ENTRADA. PROCESO. SALIDA.
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,7 Lenguajes de Alto nivel: Uso de Compiladores e interpretes. Lenguajes de Cuarta Generación: Lenguaje natural. Extract all clientes Where Saldo more than $500.000 Lenguajes de quinta Generación: Desarrollo visual. Interfaces graficas avanzadas. Orientados a IDE.
Según Joyanes (2003), FORTRAN se empleaba para cómputo científico, el lenguaje más utilizado en cuanto a negocios eran escritos en COBOL, las aplicaciones militares en JOVIAL y las militares incrustadas en ADA, pero de todos los lenguajes que habían en los años 1960 ya no queda ninguno pues con las evoluciones que han adquirido han ido descartando lenguajes de difícil manejo.
¿Qué papeles desempeñan los Lenguajes de Programación?
Intérpretes: Es un traductor que toma un programa fuente, lo
traduce y a continuación lo ejecuta
Compiladores: Es aquel programa que traduce un programa en
lenguaje de alto nivel. Fases de compilación; proceso por el cual el
programa fuente es transformado a programa ejecutable
Traductores de lenguaje de programación
Inicio
Editar Programa Fuente
Compilar el Programa
Enlazador
Ejecución
Programa
Programa Ejecutable
Existen errores en
la compilación
Modificación Programa
Fuente
Fases de compilación
LENGUAJES DE PROGRAMACION
ABAP ABC ActionScript Afnix ASP ASP.NET AWK B BCPL Befunge Boo C++ C# Caml Clipper CLIPS CLU CORAL D Delphi DIV
CORAL D Delphi DIV Dylan Eiffel Erlang Ensamblador Extended ML Euphoria Fénix Flow -Matic Gambas GML GRAFCET FP Haskell Icon Inform INTERCAL ISWIM
J Java JavaScript Joy KWC LADDER Letra Lexico Lingo Lua MAGIC Mainsail Mesa Miranda ML Modula Modula-3 Natural NetREXX Oberon Object REXX
Objective -C Ocaml Occam Oz Parlog Perl PHP Plankalkül PostScript PowerBuilder Prolog Python Rapid REXX RPN RPG Ruby Sail Sather Scheme Seed7
Self Sh Simula Smalltalk Snobol SPARK Squeak SR Standard ML TI-Basic TCL VBA Visual Basic Visual C++ Visual
DialogScript Seed7 Self Sh Simula Smalltalk
OTROS LENGUAJES DE PROGRAMACION
CASO ESPECIAL JAVA
Unix, Linux, Solaris, Windows, Mac
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ónrequerida por el usuario.
TIPOS DE DATOS
DINAMICOS
Pilas
Colas
Listas
Árboles
ESTATICOS
SIMPLES ESTRUCTURADOS
Enteros
Reales
Carácter
Booleanos
Array
Cadena
Registro
Archivo
DATOS SIMPLES
TIPO TAMAÑO
CHAR 1 Byte
INT 2 Bytes
FLOAT 4 Bytes
DOUBLE 8 Bytes
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
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
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
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
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
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)
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.
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
TIPOS DE INSTRUCCIONES
Instrucciones de INICIO / FIN
Instrucciones de seleccion.
Instrucciones condicionales.
Instrucciones repetitivas.
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
INSTRUCCIONES CONDICIONALES
Se ejecutan de acuerdo a un criterio de evaluación.
SE CLASIFICAN EN:
1. CONDICIONAL SIMPLE2. CONDICIONAL DOBLE3. CONDICIONAL MULTIPLE
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
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}
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
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);}
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); }
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); } }
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); } }
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
Recomendaciones:
Se recomienda el estudio y práctica de los diseños de Lenguajes de Programación pues a través de ellos podremos ejercitarnos y realizar eficaces algoritmos.
Investigar los Lenguajes de Programación de tal manera que tengamos la habilidad de poder escoger el mejor lenguaje de programación de acuerdo a lo que queramos realizar.
Conclusiones: Los Lenguajes de Programación son muy complicados de definir pero si
sabemos que con ellos podemos desarrollar muchas cosas pues para cada dominio como las Matemáticas, Aplicaciones Militares e incluso el Juego como muchas otras ya que existen lenguajes específicamente para cada uno de ellos.
Promover la utilización de los lenguajes de programación de tal manera que obtengamos la habilidad de utilización, elección y diseño de estos lenguajes.
MUCHAS GRACIAS
PROXIMAMENTE PROGRAMACION ORIENTADA A OBJETOS
VLADIMIR RAFAEL ARNEDO POMARES
“LA PROGRAMACION Y LOS LENGUAJES DE PROGRAMCION”
Universidad de CartagenaCentro Regional de Educación a Distancia
CREAD Programa Ingeniería de sistemas