Transcript of Conceptos basicos algoritmos
- 1. Repblica Bolivariana de Venezuela Ministerio del Poder
Popular para la Educacin Unidad Educativa de Talentos Deportivos
Tchira San Cristbal Estado TchiraDESARROLLO DE ALGORITMOS UNIDAD I
COMPUTACIN Conceptos Bsicos de Algoritmos Docente: Pablo
Contramaestre Octubre 2012
- 2. IntroduccinLa principal razn para que las personas aprendan
lenguajes ytcnicas deprogramacin es utilizar el computador como una
herramienta pararesolver problemas.La resolucin de un problema
exige al menos los siguientes pasos:1.- Definicin o anlisis del
problema.2.- Diseo del algoritmo.3.- Transformacin del algoritmo en
un programa.4.- Ejecucin y validacin del programa
- 3. Definicin de problemaLos problemas son una serie de
inquietudes que se plantean paraser resueltas. La naturaleza de los
problemas vara con el contextoen que se presenta: problemas
matemticos, qumicos, filosficos,etc.Es importante que al tratar un
problema se tenga una descripcinsimple y precisa del mismo, de lo
contrario resultara complejotratar de simular, o programar su
solucin en un computador.Un programador es una persona que resuelve
problemas, y parallegar a ser un programador eficaz se necesita
aprender a resolverproblemas de un modo riguroso y sistemtico.
Diseo Problema Anlisis Programa algoritmo
- 4. Algoritmo y sus caracteristicasSerie de pasos lgicos y
ordenados con los cuales le damos solucin a unproblema determinado
o a un objetivo especfico. Sin algoritmos no puedeexistir un
programa. Los algoritmos son independientes tanto del lenguaje
deprogramacin como del computador que los ejecuta.La palabra
Algoritmo viene de un matemtico persa que vivi en el siglo
IXllamado Mohammed Al-Khowriz, cuyo apellido traducido al latn
esAlgorismus. Caractersticas de un algoritmo: Preciso: indicar el
orden de realizacin de las instrucciones. Definido: si se sigue el
algoritmo dos veces, se debe obtener el mismo resultado. Finito:
siempre debe terminar despues de un nmero finito de pasos.Ejemplo:
Obtener el rea de un rectngulo.1. Obtener la medida de la base del
rectngulo2. Obtener la medida de la altura del rectngulo3.
Multiplicar la medida de la base por la medida de la altura.
- 5. Ejemplo de AlgoritmoEjemplo tradicional de un algoritmo:
Cambiar la llanta pinchada de un carro .INICIO1. Buscar
herramientas, llanta de repuesto y tringulo de sealizacin2. Ubicar
el tringulo en el lugar adecuado3. Ir al lugar de la llanta
averiada4. Sacar las tuercas5. Colocar el gato6. Levantar el
carro7. Sacar la llanta8. Colocar la llanta de Repuesto9. Colocar
las tuercas10. Apretar las tuercas11. Guardar las
herramientasFIN
- 6. Fases de un algoritmoFase de Anlisis: consiste en el estudio
detallado del problema con el finde obtener una serie de documentos
(especificacin) en los cuales quedantotalmente definido el proceso
a seguir en la automatizacinDiseo: consiste en la realizacin del
algoritmo que resuelve el problemade acuerdo a la especificacin
dada en la fase anterior. El algoritmo serepresenta mediante
pseudocdigo.Codificacin: consiste en la traduccin del algoritmo a
un programa escritoen un lenguaje de
programacinCompilacin/Interpretacin: consiste en obtener el
programa ejecutable uobjeto a partir del programa fuentePrueba:
consiste en determinar si el programa funciona correctamente
yrealiza las operaciones que esperamos de l.
- 7. Clasificacin de los AlgoritmosAlgoritmos para ser ejecutados
por personas:Para que un algoritmo sea ejecutado por una persona,
debe estar escritode tal manera que esta persona lo entienda
claramenteNormas: Debe escribirse en el idioma de la persona que
realizar el algoritmo Debe enumerar cada uno de los pasos a
realizar en un orden lgico. Debe utilizar palabras que comprenda
claramente la persona que realizarel algoritmo.Ejemplos:Las recetas
de cocina, los manuales de funcionamiento, itinerarios, gua
dematricula etc.
- 8. Clasificacin de los AlgoritmosAlgoritmos para ser ejecutados
por computadores:Los pasos para la solucin de un problema
utilizando como herramienta lacomputadora son:1. Diseo del
algoritmo que describa la secuencia ordenada de pasos, queconducen
a la solucin de un problema dado(anlisis del problema ydesarrollo
del algoritmo).2. Expresar el algoritmo como un programa en un
lenguaje deprogramacin adecuado( fase de codificacin). La actividad
de expresar unalgoritmo en forma de programa se denomina
programacin.3. Ejecucin y validacin de programa por la
computadora.
- 9. Definicin de pseudocdigoSerie de instrucciones abstractas
que resuelven un problema. Es unaherramienta til para el
seguimiento de la lgica de un algoritmo, facilita latranscripcin a
un lenguaje de programacin. Con el pseudocdigorepresentamos los
pasos de un algoritmo a travs de palabras, utilizandouna
nomenclatura estandarizada para el significado de cada paso.Ej.
Obtener el rea de un rectngulo.1. Inicio2. Leer BASE3. Leer
ALTURA4. AREA = BASE * ALTURA5. Escribir AREA6. Fin
- 10. Lenguajes de programacinLenguaje: conjunto de reglas y
convenciones que se utilizan paracomunicar informacin.Lenguaje de
Programacin: es un lenguaje que permite la traduccin deun algoritmo
para que sea entendible por el computador. Son los
lenguajesutilizados para escribir programas de computadores.Tipos
de Lenguaje de Programacin:* Lenguaje de Mquina* Lenguaje de Bajo
Nivel (Ensamblador)* Lenguaje de Alto Nivel
- 11. Lenguaje de mquinaSon aquellos que estn escritos en
lenguaje directamente inteligibles por lamquina, ya que sus
instrucciones son cadenas binarias (0s ,1s) queespecifican una
operacin. - Las instrucciones en lenguaje mquina dependen del
Hardware de lacomputadora, difiere de una PC a otra.- La ventaja de
los lenguajes mquina es que ofrecen mayor velocidad deejecucin. -
Existen algunas desventajas: dificultad y lentitud en la
codificacin, pocafiabilidad, los programas no son portables.
11001010 00010111 11110101 00101011 00010111 11110101 00101011
00101011 11001010 00010111 11110101 00101011 11001010 11110101
00101011 00101011
- 12. Lenguaje de bajo nivelSon lenguajes que permiten escribir
programas con instrucciones similaresal lenguaje humano.Son ms
fciles de utilizar que los lenguajes de mquina, pero stostambin
dependen de la mquina en particular.El mejor ejemplo es el lenguaje
ensambladorUn programa escrito en lenguaje ensamblador requiere una
fase detraduccinEntre las desventajas tenemos: que este lenguaje
depende de la mquinay demanda una mayor exigencia para los
programadores, ya que debenconocer tanto las tcnicas de programacin
as como el interior de lamquina.
- 13. Ejemplo lenguaje de bajo nivel
- 14. Lenguaje de Alto Nivel- Son los ms utilizados por los
programadores- Son independientes de la mquina- Los programas
escritos en estos lenguajes son portables- Aumento de la ocupacin
de la memoria- Las estructuras de los programas se basan en reglas
sintcticas Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual
Basic, Delphi,Java,...Ejemplo de lenguaje de alto nivel#include int
main(void){printf("Hola, Mundon");}
- 15. Ejemplos de Algoritmos ALGORITMO PARA CAMBIAR UNA BOMBILLA
QUEMADAINICIO1. Buscar una bombilla nueva2. Buscar una escalera o
similar3. Ir al lugar de la bombilla quemada4. Instalar la
escalera5. Subir a la escalera6. Sacar la bombilla quemada7.
Colocar la nueva bombilla8. Ajustar la bombilla9. Bajarse de la
escalera10. Probar la bombilla instalada11. Retirar la escalera12.
Votar la bombilla quemada13. Guardar la escaleraFIN
- 16. Ejemplos de Algoritmos ALGORITMO PASOS PARA IR AL
CINEINICIO1. Revisar la cartelera de cine2. Seleccionar la pelcula
de mi inters3. Seleccionar el horario de mi inters4. A la hora
adecuada, desplazarme hasta el cine5. Hacer la fila para comprar
boletos6. Comprar los boletos7. Hacer la fila para entrada a la
sala8. Entrar a la sala9. Buscar mi puesto asignado10. Ubicarme en
el puesto asignado11. Disfrutar de la pelculaFIN
- 17. Gracias por su atencinCorreo:
pcontramaestre@gmail.comTwitter: @pcontramaestre