Sei sulla pagina 1di 22

FUNDAMENTOS DE

ALGORITMOS

Computabilidad: Trmino matemtico para nombrar a


los estudios sobre teora de la computacin. Consiste
en encontrar la representacin adecuada para la
descripcin de un problema o un fenmeno.
Conocimiento transmisible: se da si se cierra el ciclo

Descripcin

Representacin

FUNDAMENTOS DE
ALGORITMOS

Modelo: Especificacin, generalmente en


trminos de un lenguaje matemtico, de los
pasos necesarios para reproducir, aqu y
ahora, un subconjunto determinado de la
realidad descrito previamente

FUNDAMENTOS DE
ALGORITMOS

1. Definicin o anlisis del


problema: Descripcin
especfica y comprensible
del problema a resolver
2. Diseo del algoritmo:
Planteamiento de los
pasos a seguir para
resolver el problema
3. Transformacin del
algoritmo en un programa
independientemente del
lenguaje de programacin.
4. Ejecucin y validacin del
programa
5. Mejoras y correcciones al
programa

FUNDAMENTOS DE
ALGORITMOS

Algoritmo: Conjunto ordenado y finito de


pasos u operaciones que permite hallar la
solucin de un problema. Es un mtodo formal
y sistemtico de representar la descripcin de
un proceso.
CARACTERSTICAS:

Definido: debe indicar el orden de la realizacin de cada


paso y no debe tener ambigedad
Preciso: Si se sigue dos veces o ms se obtendr e el
mismo resultado cada vez
Finito: Debe terminar en algn momento. Tiene un
nmero determinado de pasos

FUNDAMENTOS DE
ALGORITMOS

Correcto: Sin errores


Debe tener al menos una salida
Su solucin debe ser concreta
Debe ser sencillo y legible
Eficiente y efectivo
Se ha de desarrollar en el menor tiempo posible

Un algoritmo debe describir tres partes:


Entrada(s) : elementos o condiciones iniciales
necesarios para resolver el problema.
Proceso : elaboracin del procedimiento.
Salida(s): Resultados que se desean obtener

FUNDAMENTOS DE
ALGORITMOS

Pseudocdigo:
Representacin
descriptiva
de
las
operaciones de un algoritmo. Representa una secuencia
lgica de actividades, que llevarn en conjunto a la solucin
de un problema. Los elementos que debe llevar un algoritmo
son
Cabecera del algoritmo: Existen pasos o
procedimientos que se realizan para comenzar un
programa. Siempre que se haga debe ponerse un
encabezado de programa, en donde debe expresarse el
identificador o nombre correspondiente con la palabra
reservada que seale el lenguaje, generalmente sta
suele ser program que en algoritmia significa algoritmo
Declaracin de Variables: En este punto se describen
todas las variables que son usadas en el algoritmo,
haciendo una lista de sus nombres y especificando a qu
tipo corresponde cada uno.

FUNDAMENTOS DE
ALGORITMOS

Declaracin de Constantes: En este punto


se declararn todas las constantes de carcter
estndar; es decir, que tengan nombre y un
valor ya conocido o valores que ya no pueden
variar en el transcurso del algoritmo
Cuerpo del algoritmo: Una vez aadidas la
cabecera y la declaracin de variables y
constantes se procede a realizar los pasos del
algoritmo
A continuacin se muestra un ejemplo:

FUNDAMENTOS DE
ALGORITMOS

Algoritmo rea_Crculo
{Clculo del rea de un
circulo pidiendo el radio al
usuario}
var r, A: real
cte: :real
Inicio
Mostrar Dame el radio
Leer r
A <- *r^2
Mostrar El rea es:, A

Fin

Cabecera

Nombre del
algoritmo
{Comentario con
descripcin del
problema}
Declaracin de
variables y constantes
Cuerpo del algoritmo

FUNDAMENTOS DE
ALGORITMOS

Diagrama de flujo: Es la representacin grfica


de las operaciones de un algoritmo. Contiene
smbolos grficos que se encuentran
estandarizados. Los smbolos ms comnes son:

Diagramas de fujo ms
comnes

Diagramas de fujo ms
comnes (cont.)

Inicio

var r, A: real
cte: :real

A <- *r^2

Dame el
radio:

El rea es , A,
u^2

Fin

FUNDAMENTOS DE
ALGORITMOS

Instrucciones que se le dan a la


Computadora
Un algoritmo se compone de muchos pasos,
todos diferentes, los que son interpretados
como instrucciones (lenguaje de bajo nivel),
sentencias o proposiciones (lenguaje de alto
nivel). Entonces, en un programa, la
secuencia de instrucciones especifica las
operaciones que la computadora debe
realizar.

FUNDAMENTOS DE
ALGORITMOS

Las instrucciones bsicas y comunes pueden


dividirse en cuatro grupos:
Instrucciones de Entrada /Salida: Transferencia de
datos e informacin entre dispositivos perifricos
(teclado, impresora, unidad de disco, etc.) y memoria
central.
Instrucciones Aritmtico-Lgicas: Tienen la funcin
de ejecutar operaciones aritmticas (suma, resta,
multiplicacin, divisin, potenciacin), lgicas
(operaciones and, or, not, etc.).
Instrucciones Selectivas: Estas permiten la eleccin
de una tarea entre varias alternativas en funcin de los
resultados de diferentes expresiones condicionales.
Instrucciones Repetitivas: Permiten la repeticin de
secuencias de instrucciones, un nmero determinado o
indeterminado de veces.

FUNDAMENTOS DE
ALGORITMOS

CONSTANTES Y VARIABLES
Las constantes son datos cuyos valores no
cambian, pero existen datos cuyos valores s varan
durante la ejecucin del programa, a stos los
llamamos variables. En la mayora de los lenguajes
de programacin se permiten diferentes tipos de
constantes: enteras, reales, caracteres y boolean o
lgicas, quienes representan datos de estos tipos.
Entonces una variable se conoce como un objeto, o
partida de datos cuyo valor puede cambiar durante
la ejecucin del algoritmo o programa.
A las variables y a las constantes se les conoce o
identifica por los atributos siguientes: nombre o
identificador que lo asigna y tipo que describe el
uso de la variable.

FUNDAMENTOS DE
ALGORITMOS

Identificadores:
Deben empezar con letra, excepto o , o guin
bajo y estar seguidos de cero o ms letras,
nmeros o guiones bajos
No se permiten smbolos como
$ ! ? | & - % # @ , . / \ o espacios en
blanco y tabuladores

Palabras reservadas: Existe un conjunto


palabras que se utilizan tanto en
pseudocdigo como en los lenguajes de
programacin no pueden ser utilizadas
como nombres de identificadores ni de
funciones.

FUNDAMENTOS DE
ALGORITMOS

OPERACION DE ASIGNACION
Se le otorgan valores a una variable. Esta
operacin de asignacin se conoce como
instruccin o sentencia de asignacin, si es
que est en un lenguaje de programacin
La operacin de asignacin es representada por
un smbolo u operador:
La accin de asignar puede ser destructiva ya
que puede perderse el valor que tuviera la
variable antes, siendo reemplazado por el nuevo
valor. Las acciones de asignacin se clasifican
segn sea el tipo de expresiones en: Asignacin
aritmticas, Asignacin lgica y Asignacin
de caracteres

FUNDAMENTOS DE
ALGORITMOS

EXPRESIONES
Son la combinacin de constantes, variables,
smbolos de operacin, parntesis y nombres de
funciones especiales, idea que puede ser utilizada en
notaciones de matemtica tradicional. Los valores de
las variables nos permitirn determinar el valor de las
expresiones, debido a que stos estn implicados en
la ejecucin de las operaciones indicadas. Estas
constan de operandos y operadores.
Segn el tipo de objetos que manipulan, pueden
clasificarse en:

Aritmticas -> resultado tipo numrico.


relacionales -> resultado tipo lgico.
lgicas -> resultado tipo lgico.
caracter -> resultado tipo caracter.

FUNDAMENTOS DE
ALGORITMOS

Expresiones Aritmticas
Estas expresiones son anlogas a las frmulas
matemticas. Las variables y constantes son
numricas (real o entera) y las operaciones
son las aritmticas
Operadores aritmticos
Precedencia
- (operador monario)
^ (exponenciacin), (radicacin)
*, / (divisin real),
+, div o / (cociente de divisin entera) , mod o %
(residuo de divisin entera)

FUNDAMENTOS DE
ALGORITMOS

Expresiones lgicas: Su valor es siempre


verdadero o falso.
Se forman combinando constantes lgicas ,
variables lgicas y otras expresiones lgicas,
utilizando los operadores lgicos y los
operadores relacionales
Operadores relacionales
Precedencia
>, <
>=, <=
= o == (igualdad)
<> o != (desigualdad)

FUNDAMENTOS DE
ALGORITMOS

Operadores lgicos
Precedencia
! o ~ o not (negado)
and o && (conjuncin)
or o || (disyuncin)
Nota: En C un valor
falso se toma como 0 y
un valor verdadero se
toma como cualquier
valor diferente de cero

A NOT
F

AND

OR

FUNDAMENTOS DE
ALGORITMOS

ENTRADA Y SALIDA DE INFORMACION


El ingreso de datos es importante para que la
computadora realice los clculos; esta operacin
es la entrada, luego, estos datos se convertirn
en resultados y sern la salida.
A la entrada se le conoce como operacin de
Lectura (read). La operacin de lectura se
realiza a travs de los dispositivos de entrada
que son (teclado, unidades de disco, CD-Rom,
etc.).
La operacin de salida se realiza por medio de
dispositivos como (monitor, impresora, etc), a
esta operacin se le conoce como escritura
(write).