You are on page 1of 34

INTRODUCCION A LOS

ALGORITMOS

MENU DEL DIA


Fases para el desarrollo de
un programa.
Partes de un programa.
Ejecucin de un programa.
Anatoma de un programa.
Datos y tipos de datos.
Tipos de datos primitivos.
Expresiones
Expresiones aritmticas.
Expresiones relacionales.
Expresiones lgicas.

Prioridad y asociatividad.
Entrada y salida.
Entrada.
Salida.
Sobre el LEA y el ESCRIBA

FASES PARA EL DESARROLLO DE UN


PROGRAMA
Problema

Computadora
mata a
Flanders

???????

Programa
Algoritmo

FASES PARA EL DESARROLLO DE UN


PROGRAMA
Paso 1. Definicin y anlisis del programa
Comprensin del problema (que me piden?)
Anlisis del problema.
Establecer una estrategia de solucin del problema (entradas, salidas, proceso).

Computador
a mata a
Flanders

???????

FASES PARA EL DESARROLLO DE UN


PROGRAMA
Paso 2. Diseo del algoritmo
Diagrama de flujo. (FreeDFD: http://wiki.freaks-unidos.net/freedfd/index )
Pseudocdigo. (PseInt: http://pseint.sourceforge.net/ ).

FASES PARA EL DESARROLLO DE UN


PROGRAMA
Paso 3. Codificacin del programa
Recordemos, un programa es un conjunto de
instrucciones (dadas a la maquina) que
producirn la ejecucin de determinada tarea.

FASES PARA EL DESARROLLO DE UN


PROGRAMA
Paso 4. Depuracin
Probar el funcionamiento del programa bajo condiciones
reales para buscar errores y corregirlos.
Hacer mas robusto el programa.

FASES PARA EL DESARROLLO DE UN


PROGRAMA
Paso 5. Documentacin
Explicacin breve de los diferentes
elementos del programa para facilitar la
comprensin de su funcionamiento.

http://en.wikipedia.org/wiki/Comparison_of_documentation_generators

FASES PARA EL DESARROLLO DE UN


PROGRAMA
Paso 6. Mantenimiento
Mejoras.
Correccin de nuevos fallas.
Soporte.

PARTES DE UN PROGRAMA

ENTRADA

SALIDA

INSTRUCCIONES

EJECUCION DE UN PROGRAMA

...
N

LINEAL (Ejecucin secuencial)

...
N

NO LINEAL (Interrupcin
mediante instrucciones de
bifurcacin).

ANATOMIA DE UN PROGRAMA
Declaracin de
variables

Instrucciones

Algoritmo(sumar)
Variables:
a, b, c: entero
INICIO
ESCRIBA(Introduzca el primer numero (entero))
LEA(a)
ESCRIBA(Introduzca el segundo numero (entero))
LEA(b)
c a + b
ESCRIBA(La suma es: ,c)
FIN_INICIO
Fin(sumar)

Algoritmo(Nombre_algoritmo)
Declaracion_de_variables
INICIO
INSTRUCCIN_1
INSTRUCCIN_2
INSTRUCCIN_3
. . .
INSTRUCCIN_N
FIN_INICIO
Fin(Nombre_algoritmo)

ANATOMIA DE UN PROGRAMA
Algoritmo(Nombre_algoritmo)
Declaracion_de_variables
INICIO
INSTRUCCIN_1
INSTRUCCIN_2
INSTRUCCIN_3
. . .
INSTRUCCIN_N
FIN_INICIO
Fin(Nombre_algoritmo)

Operador de asignacin (,=)


variable variable, constante, expresin

ba
cf
d

b3
c -9.8
d Nern Navarrete

variable variable

variable constante

b a + 4*g
cc+1
z (x+y)/w + v^3
variable expresin

DATOS Y TIPOS DE DATOS


Dato Expresin general la cual
describe los objetos con los
cuales opera la computadoras.

Tipo
Los distintos tipos de datos se
representan en forma diferente
en la computadora

Compuestos

NO LINEAL (Interrupcin
mediante instrucciones de
bifurcacin).

Simples

10010100111 . . . 1001

Tipo de dato (Abstraccin)

Representacin en la maquina

Lenguajes de alto nivel

TIPOS DE DATOS PRIMITIVOS


Datos

Numricos

Entero

Alfanumrico

Real

Lgico

TIPOS DE DATOS PRIMITIVOS

Tipos de datos simples

Numricos (Enteros, reales).


Lgicos (booleanos).
Alfanumricos (Carcter, cadenas).

Alfanumricos: Conjunto finito y


ordenado que el computador
reconoce

Enteros: Representan los nmeros


enteros, no poseen parte decimal,
ejemplo: 5, 6, -15, -100,1000,
Reales:
Representan
nmeros
reales, poseen parte decimal,
ejemplo: 0.08, 3.14, 3.7452, -8.003,
3.0.
Booleanos: Aquellos que pueden
tomar dos posibles valores; falso
(false) o verdadero (true).

EXPRESIONES
Las expresiones son combinaciones de constantes, variables, smbolos de
operacin, parntesis y nombres de funciones especiales

Variables
Constantes

Operadores
Funcin raz
cuadrada

EXPRESIONES ARITMETICAS
Las expresiones aritmticas son anlogas a las formulas matemticas. Las
variables y constantes son numricas (real o entera) y las operaciones son
las aritmticas.
Operador Operacin
+

Suma

Resta

Multiplicacin

Divisin

Potenciacin

div

Divisin entera

mod, %

Mdulo (residuo)

REGLAS DE PRIORIDAD Y
ASOCIATIVIDAD
Cuando se tiene una expresin con dos o mas operandos, las operaciones se llevan a cabo siguiendo
un orden. Las reglas que dictan que operaciones se hacen primero y que operaciones se hacen de
ultimo se conocen como reglas de prioridad o precedencia, y son:
Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen parntesis
anidados (unos dentro de otros), las expresiones mas internas se evalan primero.
Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de prioridad.
Prioridad

Operacin

*,/,%

3
+,Cuando coinciden varios operadores de igual prioridad en una expresin, hablamos de
asociatividad. La asociatividad dicta el orden en que se ejecutan las operaciones de igual
prioridad.

D: Derecha
I: Izquierda

Operacin

Asociatividad

DI

*,/,%

ID

+,-

ID

REGLAS DE PRIORIDAD Y ASOCIATIVIDAD


Prioridad

Operacin

Asociatividad

DI

*,/,%

ID

+,-

ID

-4*7 + 2^3/4 - 5

4/2*3/6 + 6/2/1/5^2/4*2

-4*7 + 8/4 - 5

4/2*3/6 + 6/2/1/25/4*2

-28 + 8/4 - 5

8*3/6 + 6/2/1/25/4*2
24/6 + 6/2/1/25/4*2
4 + 6/2/1/25/4*2

-28 + 2 - 5
-26 - 5
-31

4 + 3/1/25/4*2
4 + 3/25/4*2
4 + 0.12/4*2
4 + 0.03*2
4 + 0.06
4.06

EXPRESIONES RELACIONALES
Las expresiones relacionales son operaciones que dan como resultado dos
posibles valores, falso (F) o verdadero (V), estas permiten realizar
comparaciones de valores de tipo numrico o carcter. El formato general
para este tipo de operaciones es:
expresion1 OPERADOR_RELACIONAL expresion2
Operador

Operacin

<

Menor que

>

Mayor que

==

Igual que

<=

Menor o igual que

>=

Mayor o igual que

!=

Diferente de

EXPRESIONES LOGICAS
Las expresiones lgicas son operaciones que dan como resultado dos
posibles valores, falso (F) o verdadero (V). Los operadores logicos basicos
son NOT (no), AND (y) y OR (o).
NOT (~)

AND (^)

OR

~a

a AND b

a OR b

PRIORIDAD DE LOS OPERADORES


LOGICOS Y RELACIONALES
Al igual que los operadores aritmticos, los operadores lgicos y
relacionales presentan un orden de prioridad, la siguiente tabla resume
este orden:
Prioridad

Operacin

<, >, <=, >=, ==, !=

NOT

AND

OR

PRIORIDAD Y ASOCIATIVIDAD
La siguiente tabla resume la prioridad y asociatividad de todos los tipos de
operadores anteriormente vistos
Prioridad

Operador

Asociatividad

()

I D, de adentro hacia afuera

DI

*,/,%

ID

+,-

ID

<. >, <=, >=,==,!=

ID

NOT

DI

AND

ID

OR

ID

ENTRADA Y SALIDA
Las instrucciones de entrada y salida permiten interactuar con el
programa.

Instrucciones de entrada
(LEA)
Instrucciones
(ESCRIBA)

de

salida

SALIDA
Permite mostrar en pantalla los valores almacenados en variables o valores constantes
asociados a mensajes.
ESCRIBA(cadena1,,cadenaN,var1,var2,,varN);

Constantes

Variables

Lo que se encuentra entre comillas sencillas () es constante, lo que no se encuentra


entre comillas es variable.
Ejemplo: Supngase que se tienen las variables enteras: a=3, b = 8 y c = 11.
ESCRIBA(a + b = ,a, + ,b, = ,c)

ENTRADA
Permite asignar valores a variables desde un dispositivo de entrada como el teclado.
LEA(var1,var2,,varN);
Variables

Ejemplo: Supngase que se tiene la variable n y que se usa una instruccion lea para
asignarle a esta un nuevo valor, la siguiente figura muestra el funcionamiento de dicha
instruccin:
LEA(n)

SOBRE EL LEA Y EL ESCRIBA


Cuando se invoca la instruccin LEA, el programa se queda esperando hasta que el
usuario digite el valor a ingresar y presione la letra entre para continuar.

Generalmente antes de una instruccin LEA hay una instruccin ESCRIBA .


ESCRIBA(Digite el nombre: ,c)
LEA(nom)
ESCRIBA(Meta la edad y el sexo (F: Femenino, M: Masculino)
LEA(edad, sexo)
ESCRIBA(nom, usted tiene ,edad, aos.)

FUNCIONES INTERNAS
Las operaciones que se requieren en los programas exigen en numerosas ocasiones,
adems de las operaciones aritmticas bsicas, un numero determinado de operadores
especiales que se llaman funciones internas, incorporadas o internas.
Funcion

Descripcin

Tipo de argumento Resultado

exp(x)

Exponencial de x

Entero o real

Real

ln(x)

Logaritmo natural de x

Entero o real

Real

log10(x)

Logaritmo en base 10 de x

Entero o real

Real

redondeo(x)

Redondeo de x

Entero

Entero

trunc(x)

Truncamiento de x

Real

Entero

cuadrado(x)

Cuadrado de x

Entero o real

Real

raiz2(x)

Raiz cuadrada de x

Entero o real

Real

abs(x)

Valor absoluto de x

Entero o real

Igual que el argumento

FUNCIONES INTERNAS
Las funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea
que realice la funcin.
Funcion

Resultado

raiz2(25)

redondeo(6.6)

redondeo(3.1)

redondeo(3.2)

-3

trunc(5.6)

trunc(3.1)

trunc(-3.8)

-3

cuadrado(4)

16

abs(9)

abs(-12.2)

-12.2

MAS CARRETA

BIBLIOGRAFIA

BIBLIOGRAFIA
Titulo: Lgica de Programacin.
Autor: Efran M. Oviedo.
Editorial: ECOE Ediciones.
Fecha de publicacin: 11/20/2008
ISBN: 9586483088.
OLC: http://ingenieria.udea.edu.co/~eoviedo/

Titulo: Fundamentos de Programacin.


Autor: Luis Joyanes Aguilar.
Editorial: ECOE Ediciones.
Fecha de publicacin: 27/05/2008
ISBN: 8448161114
OLC: http://www.mhe.es/joyanes

FIN DE LA CLASE

You might also like