Está en la página 1de 28

PRINCIPIOS DE ALGORITMOS

Semana 01: Introduccin a la algortmica

Docente: Ing. Gilberto Carrin Barco, Mg


E-Mail: C14051@grupoutp.edu.pe

Ing. Gilberto Carrin Barco, Mg. 1


Objetivos

Al finalizar la sesin los estudiantes podrn:


Descibir los conceptos bsicos utilizados en la algortmica.
Explicar la forma en que se utiliza los algoritmos en la solucin
de problemas.
Explicar las diferencias de utilizacin de los digramas de flujos y
pseudocodigos.

Ing. Gilberto Carrin Barco, Mg. 2


Contenido

1.1 Conceptos Bsicos


1.2 Lenguajes de Programacin
1.5 Resumen

Ing. Gilberto Carrin Barco, Mg. 3


Conceptos Bsicos
Algoritmo

Es un conjunto finito de instrucciones


que especifican una secuencia de
operaciones a realizar en orden para
resolver un problema especfico. En
otras palabras, un algoritmo es un
mtodo para la solucin de problemas.
Un algoritmo se puede considerar como
una serie de pasos organizados que
describen el proceso que se debe seguir
para dar solucin a un problema
especfico.

Ing. Gilberto Carrin Barco, Mg. 4


Conceptos Bsicos
Propiedades de un Algoritmo

Secuencialidad
Ausencia de Ambigedades
Generalidad
Limitaciones

Ing. Gilberto Carrin Barco, Mg. 5


Conceptos Bsicos
Propiedades: Secuencialidad

Se debe especificar sin lugar a dudas la secuencia a utilizar.


Un algoritmo debe tener una instruccin inicial nica y un sucesor
nico en cada secuencia.
Las instrucciones son llevadas a cabo de arriba hacia abajo a menos
que las mismas especifiquen lo contrario.
Las entradas son las partidas de datos presentadas al algoritmo.
Las salidas son partidas de datos procesados que son el resultado de
la ejecucin un programa basado en el algoritmo.

Ing. Gilberto Carrin Barco, Mg. 6


Conceptos Bsicos
Propiedades: Ausencia de Ambigedad

En algoritmo debe ser definido, claro, preciso y no ambiguo. La


representacin de cada paso de un algoritmo debe dar lugar a una
sola interpretacin posible.
Esta condicin significa que cada vez que se presente para su
ejecucin u algoritmo con los mismos datos de entrada, se
obtendrn los mismos resultados.
Las instrucciones de un algoritmo debe ordenar a la computadora
que solo lleve a cabo tareas que sea capaz de hacer. Una
computadora no puede efectuar una instruccin si tiene informacin
insuficiente o si el comando no est definido.

Ing. Gilberto Carrin Barco, Mg. 7


Conceptos Bsicos
Propiedades: Generalidad

Un algoritmo se puede realizar para varios problemas que se


relacionan entre s.
Un algoritmo se aplica a un problema o clase de problemas
especficos; el rango de las entradas o dominios se tiene que
definir previamente, ya que est determinado el alcance o la
generalidad del algoritmo.

Ing. Gilberto Carrin Barco, Mg. 8


Conceptos Bsicos
Propiedades: Limitacin

Un algoritmo es finito en tamao y tiempo.


La ejecucin de un algoritmo programado debe finalizar
despus de que se haya llevado a cabo una cantidad finita de
operaciones.

Ing. Gilberto Carrin Barco, Mg. 9


Conceptos Bsicos
Tipos de Algoritmos

Podemos encontrar dos tipos de algoritmos:


Cualitativos: Se describen los pasos utilizando palabras.
Cuantitativos: Se utilizan clculos numricos para definir los pasos
del proceso.

Ing. Gilberto Carrin Barco, Mg. 10


Conceptos Bsicos
Lenguajes Algoritmos

Lenguaje algortmico grfico: Es la representacin grfica de


las operaciones que realiza un algoritmo (diagrama de flujo).
Lenguaje algortmico no grficos: Representa de forma
descriptiva las operaciones que debe realizar un algoritmo
(pseudocdigo).

Ing. Gilberto Carrin Barco, Mg. 11


Conceptos Bsicos
Programas

El diseo de programas es una tarea difcil y es un proceso


creativo.
No existe un conjunto completo de reglas para indicar cmo
escribir un programa.
Y podemos encontrar una variedad amplia de programas que
dan solucin a un mismo problema.

Ing. Gilberto Carrin Barco, Mg. 12


Conceptos Bsicos
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

Ing. Gilberto Carrin Barco, Mg. 13


Conceptos Bsicos
Codificacin

La codificacin es la operacin de escribir la solucin del


problema (de acuerdo a la lgica del diagrama de flujo o
pseudocdigo), en una serie de instrucciones detalladas, en un
cdigo reconocible por la computadora.
La serie de instrucciones escritas para un programa se les
conoce como cdigo fuente y se escriben en un lenguaje de
programacin que puede ser de bajo, medio o alto nivel.

Ing. Gilberto Carrin Barco, Mg. 14


Conceptos Bsicos
Tcnicas de Diseo de Algoritmos

Top down: Tambin conocida como de arriba-abajo y consiste


en establecer una serie de niveles de mayor a menor
complejidad (arriba-abajo) que den solucin al problema.
Bottom Up: El diseo ascendente se refiere a la identificacin
de aquellos procesos que necesitan procesarse en el momento
en el que vayan apareciendo para satisfacer el problema
inmediato.

Ing. Gilberto Carrin Barco, Mg. 15


Conceptos Bsicos
Tcnicas para la Formulacin de Algoritmos

Las dos herramientas utilizadas comnmente para disear


algoritmos son:
Diagrama de Flujo: Es la representacin detallada en forma grfica
de cmo deben realizarse los pasos en la computadora para
obtener resultados.
Pseudocdigo: Mezcla de lenguaje de programacin y espaol (o
ingls o cualquier otro idioma) que se emplea, dentro de la
programacin estructurada, para realizar el diseo de un programa.
Es la representacin narrativa de los pasos que debe seguir un
algoritmo para dar solucin a un problema determinado. El
pseudocdigo utiliza palabras que indican el proceso a realizar.

Ing. Gilberto Carrin Barco, Mg. 16


Conceptos Bsicos
Diagramas de Flujo

Ing. Gilberto Carrin Barco, Mg. 17


Lenguajes de Programacin
Paradigmas de Programacin

Lenguajes de Programacin
Existen docenas de lenguajes de programacin, y se sigue creando
nuevos.
Cada uno tiene sus propias preferencias en cuanto al estilo de
programacin

Ing. Gilberto Carrin Barco, Mg. 18


Lenguajes de Programacin
Paradigmas de Programacin

Cualidades de un Lenguaje
Expresividad (que el numero mximo de problemas se puedan
expresar con este lenguaje)
Facilidad del aprendizaje
Portabilidad (que pueda compilar en maquinas de bajo costo, en
diferentes SO)
Cualidad de la implementacin
Factores econmicos
Tipo y cantidad de paradigmas que soporta.

Ing. Gilberto Carrin Barco, Mg. 19


Lenguajes de Programacin
Paradigmas de Programacin

Programacin Procedural
Para cumplir una tarea dada, descomponemos todo en sub-tareas
de calculo que se cumplen sucesivamente para alcanzar la meta
(procedimientos, funciones).
Mas modularidad, permite mejor re-utilizacin del cdigo.
Ejemplo: C, Basic...

Ing. Gilberto Carrin Barco, Mg. 20


Lenguajes de Programacin
Paradigmas de Programacin

Programacin Funcional
En la programacin funcional, como lo indica su nombre, la entidad
bsica es la funcin. Se intenta evitar referencias a variables.
Ejemplos de Lenguajes : Lisp, Haskell, ...
Utilizado en Inteligencia Artificial.

Ing. Gilberto Carrin Barco, Mg. 21


Lenguajes de Programacin
Paradigmas de Programacin

Programacin Lgica
En este paradigma, se consideran principalmente predicados y
reglas lgicas que alimentan una base de conocimientos.
Ejecutar un programa, en este caso, es evaluar o un predicado o dar
valores para que un predicado es verdadero.

Ing. Gilberto Carrin Barco, Mg. 22


Lenguajes de Programacin
Paradigmas de Programacin

Programacin Orientada a Objetos


La Programacin Orientada a Objetos (POO , OOP) es un
paradigma de programacin que usa objetos y sus interacciones
para disear aplicaciones y programas de computadora.
Est basado en varias tcnicas, incluyendo herencia, modularidad,
polimorfismo y encapsulamiento.

Ing. Gilberto Carrin Barco, Mg. 23


Lenguajes de Programacin
Clasificacin de los Lenguajes de Programacin

En lenguaje de programacin se puede clasificar tambin


segn la forma de ejecucin de los programas escritos en el.
Interpretado
Compilado

Ing. Gilberto Carrin Barco, Mg. 24


Lenguajes de Programacin
Clasificacin de los Lenguajes de Programacin

En un lenguaje interpretado, el cdigo es convertido en


instrucciones ejecutables por el microprocesador al momento
mismo de la ejecucin. Necesita un programa interprete. La
CPU ejecuta las instrucciones del interprete.
Ejemplos : Python, JavaScript, prolog, Java,
En un lenguaje compilado, el cdigo es traducido en
instrucciones ejecutables una vez por todas.
Ejemplos: C ( pero existen tambin versiones interpretadas),Pascal,
Modula-2,.

Ing. Gilberto Carrin Barco, Mg. 25


Lenguajes de Programacin
Compilacin

Compilador
Programa informtico que traduce un programa escrito en un
lenguaje de programacin a otro lenguaje de programacin,
generando un programa equivalente que la mquina ser capaz de
interpretar.
Usualmente el segundo lenguaje es cdigo mquina, pero tambin
puede ser simplemente texto.
Este proceso de traduccin se conoce como compilacin.

Ing. Gilberto Carrin Barco, Mg. 26


Lenguajes de Programacin
Compilacin

Permite traducir el cdigo fuente de un programa en lenguaje


de alto nivel, a otro lenguaje de nivel inferior (tpicamente
lenguaje mquina).
El programador puede disear un programa en un lenguaje
mucho ms cercano a como piensa un ser humano, para
luego compilarlo a un programa ms manejable por una
computadora.

Ing. Gilberto Carrin Barco, Mg. 27


Resumen

Ing. Gilberto Carrin Barco, Mg. 28

También podría gustarte