Anda di halaman 1dari 25

Introduccin a los Algoritmos

Contenido

Qu es un Algoritmo?
Tipos de Algoritmos
Caracteristicas de los Algoritmos
Lenguajes Algorimicos
Metodologa para la solucin de problemas
por medio de una computadora

Introduccin a los algoritmos

Que es un algoritmo?
Un algoritmo es una serie de pasos
organizados que describe el proceso que
se debe seguir, para dar solucin a un
problema especfico.

Introduccin a los algoritmos


Tipos de
Algoritmos

Cualitativos
Son aquellos que
se describen
utilizando
palabras

Cuantitativos
Son aquellos
que utilizan
clculos
numricos para
definir los pasos
del proceso

Caractersticas de los algoritmos

CONCRETO

FINITO

LEGIBLE

Debe realizar las


Debe
Deberealizar
estar
indicarbien
un
generar
el
Debe
las
Debe
Debe
estar
tener
libre
operaciones
con
un
Un
algoritmo
estructurado
orden
deu
funciones
mismo
resultado
mnimo
de
terminar
de
errores.
en
algn
debe
ser...
operaciones
para
realizacin
para suque
fcil
de
siempre
se
utilizacin
de
(Validado)
momento
lasentendimiento.
que
fue
creado.
cada
paso.
siga.
recursos.

EFICIENTE

NO
AMBIGUO

DEFINIDO
PRECISO

Introduccin a los algoritmos

Lenguajes Algortmicos

Un Lenguaje algortmico es una serie de


smbolos y reglas que se utilizan para
describir de manera explcita un proceso.

Tipos de lenguajes algortmicos

Introduccin a los algoritmos

Metodologa para la solucin de


problemas por medio de
computadora

Definicin

Anlisis

Diseo

Definicin del problema

Esta fase est dada por el enunciado del


problema, el cual requiere una definicin clara y
precisa.
Es importante que se conozca lo que se desea
que realice la computadora; mientras esto no se
conozca del todo no tiene mucho caso continuar
con la siguiente etapa.

Anlisis del Problema


Una vez que se ha comprendido lo que se desea de la
computadora, es necesario definir:
Los datos de entrada.
Cual es la informacin que se desea producir (salida)
Los mtodos y frmulas que se necesitan para
procesar los datos.
Una recomendacin muy prctica es el de colocarse
en el lugar de la computadora y analizar qu es lo
que se necesita que se ordene y en qu secuencia
para producir los resultados esperados.

Diseo del algoritmo


Las caractersticas de un buen algoritmo son:
Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles
interpretaciones.
Debe ser general, es decir, soportar la mayora de las
variantes que se puedan presentar en la definicin
del problema.
Debe ser finito en tamao y tiempo de ejecucin.
Diseo (creacin) del Algoritmo
Prueba de escritorio o Depuracin

SIMBOLOGIA

ELEMENTOS PARA LA CONSTRUCCION DE ALGORITMOS


ESTADOS

Algortmica 1

Datos

Algortmica 2

Resultado

Algortmica 3

Estado Inicial

Estado Final

VARIABLES
Existen diferentes tipos de variables en cada lenguaje de programacin
Los tipos de variables mas comunes son:
Numrico
Entero

Para almacenar nmeros sin parte decimal


Ejemplo: 10, 44, -5

Real

Para almacenar nmeros con parte decimal


Ejemplo: 10.3, 44.8, -5.0
Lgico
Cadenas de Caracteres
Valores
verdadero o
falso
Carcter
Para almacenar un carcter
(booleano)
Ejemplo: A`, a, 1
Cadena

Para almacenar textos


Ejemplo: Juan

ASERCIONES
Se denomina asercin a cualquier proposicin que tiene valor verdadero,
referente a un estado de las variables del algoritmo o programa
Ejemplos de aserciones
Si x=8
{x>0}
Si a=3 y b=6
{(a>0) ^ (b>0)}

EXPRESIONES
Las expresiones son combinaciones de variables, operandos y operadores,
mediante los cuales le indicamos al computador la forma como debe
transformar las variables del estado inicial al estado final
(A+B)*2/5
Horas Extra*PagoHora)+PagoSemanal
Operadores Aritmticos
+ , -, * y /
DIV : Divisin entera, Permite dividir dos nmeros enteros produciendo
tambin un resultado entero
14 DIV 5 = 2
17 DIV 3 = 5
5
14
10
MOD : Residuo de una divisin entera
DIV
2
14 MOD 5 = 4
4
17 MOD 3 = 2
MOD

TIPOS DE INSTRUCCIONES BASICAS EN LOS LENGUAJES DE


PROGRAMACION
Instrucciones o sentencias de entrada
Instrucciones o sentencias de proceso
Instrucciones o sentencias de salida
Instruccin o sentencia de entrada
Cdigo

LEER

Sintaxis

LEER Variable

Semntica

El cdigo LEER nos permite instruirle al computador que admita


datos, es decir, que espere hasta que digitemos un valor, una vez
digitado debe almacenarlo en la variable indicada.

Instruccin o sentencia de proceso


Smbolo
Expresin

Sintaxis

Variable

Semntica

Mediante el smbolo escribimos instrucciones para indicarle al


computador que primero efectu la expresin. (de acuerdo al
orden de prioridad de las operaciones aritmticas), una vez
obtenido el resultado este lo asigne (almacene) a la variable
indicada. El resultado de la expresin debe ser del mismo tipo que
la variable, es decir, si la variable es numrica, la expresin debe
tener un resultado numrico.
Por ejemplo, la instruccin
rea 3.1416*(Radio*Radio)

Significa que el computador primero debe multiplicar radio por Radio, luego el
resultado multiplicar por 3.1416 y el resultado obtenido, asignarlo a la variable
rea

Instruccin o sentencia de salida


Cdigo

ESCRIBIR

Sintaxis

ESCRIBIR

Semntica

Mediante el cdigo ESCRIBIR escribimos instrucciones para


indicarle al computador que muestre en la pantalla. El contenido
de una variable, el resultado de una expresin o algn texto.
Generalmente mostraremos en pantalla el contenido de las
variables que estn almacenados los resultados de algn proceso.

Variable

Por ejemplo, la instruccin


ESCRIBIR rea
Significa que el computador nos mostrara en la pantalla el contenido de la
variable rea
ESCRIBIR Base*Altura

ESCRIBIR Bienvenido a los Algoritmos

Escribir un algoritmo que calcule el rea de un triangulo conociendo su base y altura


LEER

Base

LEER

Altura

rea

(Base * Altura) / 2

ESCRIBIR

rea

ETAPAS EN EL DESARROLLO DE PROGRAMAS


1. Anlisis
1.1 Entender el problema
1.2 Modelo
1.3 Especificaciones del algoritmo
-

Diccionario de variables
Pre condicin
Accin que debe realizar el algoritmo
Post condicin

2. Diseo
2.1 Descripcin del algoritmo en seudocdigo
2.2 Verificacin del algoritmo
3. Codificacin de un lenguaje de programacin
4. Puesta en funcionamiento
5. Mantenimiento