Title: PRINCIPIOS DE PROGRAMACION
1PRINCIPIOS DE PROGRAMACION
- VLADIMIR RAFAEL ARNEDO POMARES LA PROGRAMACION
Y LOS LENGUAJES DE PROGRAMCIONUniversidad de
Cartagena - Centro Regional de Educación a Distancia CREAD
Programa Ingeniería de sistemas
2DEFINICION 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.
3CARACTERISCAS Y PARTES DE UN ALGORITMO
- Características
- PRECISO.
- DEFINIDO.
- FINITO.
- Partes
- ENTRADA.
- PROCESO.
- SALIDA.
4LENGUAJES 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. -
5Qué papeles desempeñan los Lenguajes de
Programación?
- 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.
6Traductores de lenguaje 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
7COMPILADOR
8Inicio
Modificación Programa Fuente
Editar Programa Fuente
Compilar el Programa
Existen errores en la compilación
Fases de compilación
Programa
Programa Ejecutable
Enlazador
Ejecución
9LENGUAJES DE PROGRAMACION
10OTROS LENGUAJES DE PROGRAMACION
- Objective -C
- Ocaml
- Occam
- Oz
- Parlog
- Perl
- PHP
- Plankalkül
- PostScript
- PowerBuilder
- Prolog
- Python
- Rapid
- REXX
- RPN
- RPG
- Ruby
- Sail
- Self
- Sh
- Simula
- Smalltalk
- Snobol
- SPARK
- Squeak
- SR
- Standard ML
- TI-Basic
- TCL
- VBA
- Visual Basic
- Visual C
- Visual DialogScript
- Seed7
- Self
- Sh
- Simula
- ABAP
- ABC
- ActionScript
- Afnix
- ASP
- ASP.NET
- AWK
- B
- BCPL
- Befunge
- Boo
- C
- C
- Caml
- Clipper
- CLIPS
- CLU
- CORAL
- D
- CORAL
- D
- Delphi
- DIV
- Dylan
- Eiffel
- Erlang
- Ensamblador
- Extended ML
- Euphoria
- Fénix
- Flow -Matic
- Gambas
- GML
- GRAFCET
- FP
- Haskell
- Icon
- Inform
- J
- Java
- JavaScript
- Joy
- KWC
- LADDER
- Letra
- Lexico
- Lingo
- Lua
- MAGIC
- Mainsail
- Mesa
- Miranda
- ML
- Modula
- Modula-3
- Natural
- NetREXX
11CASO ESPECIAL JAVA
Unix, Linux, Solaris, Windows, Mac
12DATOSDEFINICION
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.
13TIPOS DE DATOS
DINAMICOS
Pilas Colas Listas Árboles
ESTATICOS ESTATICOS
SIMPLES ESTRUCTURADOS
Enteros Reales Carácter Booleanos Array Cadena Registro Archivo
14DATOS SIMPLES
TIPO TAMAÑO
CHAR 1 Byte
INT 2 Bytes
FLOAT 4 Bytes
DOUBLE 8 Bytes
15DATOS 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)
Edades5
32
27
41
52
25
16DATOS 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. edades3
edades4
35
21
29
35
21
29
42
17OPERADORES
ARITMETICOS CONDICIONALES ALFANUMERICOS LOGICOS
Suma - Resta Multiplicación Potenciación / Division real DIV Division entera MOD Residuo lt Menor que Igual gt Mayor que lt Menor o igual que gt Mayor o igual que ltgt ó ! Diferente ó . Concatenar cadenas OR o AND y NOT Negación
p q p AND q
V V V
V F F
F V F
F F F
P NOT p
V F
F V
P q p OR q
V V V
V F V
F V V
F F F
18PRIORIDAD DE OPERANDOS
- Paréntesis (Empezando por los mas internos).
- Potencias.
- Divisiones y Productos.
- Sumas y Restas.
- Concatenación.
- Condicionales.
- Lógicos.
- Ej.
- X 573
- X 26
-
-
Producto mayor prioridad
19CONSTANTES 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
Edad
30
RAM
20EXPRESIONES
- Expresiones aritméticas
- 5 7 4 2 3 (8 - 6) 7 2 /
5 - Expresiones lógicas
- (A 2) gt (B 4) (A8)AND(B8)
21DFDs(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.
22PSEUDOCODIGO
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 -gt esto es
un comentario
Var
real base,altura,area -gt las variables a
usar Inicio
//Lectura de los datos de entrada
Leer (base)
Leer
(altura)
//calcular area
area lt- base
altura / 2
//Presentar resultado en pantalla
Escribir (area)
Fin
23TIPOS DE INSTRUCCIONES
- Instrucciones de INICIO / FIN
- Instrucciones de seleccion.
- Instrucciones condicionales.
- Instrucciones repetitivas.
24INSTRUCCIONES DE SELECCION
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
PSEUDOCODIGO //Algoritmo que calcula área
triangulo -gt esto es un comentario Var
real base,altura,area -gt las variables a usar
Inicio //Lectura de los datos de entrada
Leer (base) Leer (altura)
//calcular area area lt- 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 ")
float base Integer.parseInt(br.readLine())
System.out.print(Digite Altura ")
float altura Integer.parseInt(br.readLin
e()) float areabase altura
System.out.println (El área es
area) catch (Exception e)
e.printStackTrace()
LECTURA
ASIGNACION
ESCRITURA
25INSTRUCCIONES CONDICIONALES
- Se ejecutan de acuerdo a un criterio de
evaluación. - SE CLASIFICAN EN
- CONDICIONAL SIMPLE
- CONDICIONAL DOBLE
- CONDICIONAL MULTIPLE
26CONDICIONAL SIMPLE
PSEUDOCODIGO Inicio
//CONDICION si condición verdadera
entonces ejecutar (P1)
fin si Fin
condición
SI
NO
VISUAL BASIC .NET If condicion
then ejecutar (P1) end if
P1
JAVA If ( condición ) ejecutar (P1)
27CONDICIONAL DOBLE
PSEUDOCODIGO Inicio //CONDICION si
condición verdadera entonces
ejecutar (P1) si no
ejecutar (P2) fin si Fin
condición
SI
NO
VISUAL BASIC .NET If condicion then
ejecutar (P1) else
ejecutar (P2) end if
P1
P2
JAVA If (
condición ) ejecutar (P1) else
ejecutar (P2)
28CONDICIONAL MULTIPLE
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
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
selección
3
1
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)
n
2
P3
P1
P2
Pn
29INSTRUCCION REPETITIVA MIENTRAS
PSEUDOCODIGO Inicio
mientras condición verdadera haga
ejecutar (P)
fin mientras Fin
inicio
MQ condición
VISUAL BASIC .NET While
condicion verdadera ejecutar (P) end
while
P
JAVA While (condicion
verdadera) ejecutar (P)
cierre
FIN
30INSTRUCCION REPETITIVA PARA
PSEUDOCODIGO Inicio
para A?1 hasta 10 de 1 en 1 haga
ejecutar (P) fin para Fin
inicio
PARA A?1, 10, 1
VISUAL BASIC .NET For A 1 To 10 Step 1
ejecutar (P) Next
P
JAVA for (A1Alt10A)
ejecutar (P)
cierre
FIN
Para A inicia desde 1, hasta que tome el valor
de 10 y se incremente de uno en uno.
31ANIDAMIENTO DE ESTRUCTURAS
JAVA If ( condición ) ejecutar (P1)
else if (condición 1)
ejecutar (P2)
else ejecutar (P3)
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
32ANIDAMIENTO 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 (A1Alt10A)
ejecutar (P) for (B1Blt10B3)
ejecutar (P)
33CONTADORESACUMULADORES
- 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 lt 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
lt 10 haga -
A ? A 1 -
Leer (saldo) -
nuevo_saldo ? nuevo_saldo saldo - fin
mientras
34Recomendaciones
- 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.