Upload
edgar-pimentel
View
219
Download
0
Embed Size (px)
Citation preview
7/25/2019 Algoritmo y Programación.docx
http://slidepdf.com/reader/full/algoritmo-y-programaciondocx 1/7
Algoritmo y ProgramaciónRepública Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación Universitaria
Aldea Ciudad Angostura Misión Sucre
Cátedra Algorit!ia " Progra!ación
#acilitador Participante
Manaure $ngri %utierrez Bri&an"eli
Ciudad Bol'var( )*+),+-).-
Concepto de Algoritmo y Programación.
Es un con/unto preescrito de instrucciones o reglas bien de0inidas( ordenadas " 0initas 1ue per!ite
realizar una actividad !ediante pasos sucesivos 1ue no generen dudas a 1uien deba realizar dic&a
actividad2 3os algorit!os son el ob/eto de estudio de la algorit!ia2
7/25/2019 Algoritmo y Programación.docx
http://slidepdf.com/reader/full/algoritmo-y-programaciondocx 2/7
Un algorit!o es cual1uier cosa 1ue 0uncione paso a paso( donde cada paso se pueda describir sin
a!big4edad " sin &acer re0erencia a una co!putadora en particular( " ade!ás tiene un l'!ite 0i/o
en cuanto a la cantidad de datos 1ue se pueden leer+escribir en un solo paso2
Es una 0or!ula para resolver un proble!a es un con/unto de acciones o secuencia de operaciones
1ue e/ecutadas en un deter!inado orden resuelven el proble!a2 E5isten n algorit!os( &a" 1ue
coger el !ás e0ectivo2 6rata de resolver proble!as !ediante progra!as2
El programa: Codi0icación del algorit!o en un lengua/e de progra!ación2
Lenguaje algoritmo y programación.
$nstrucciones en una co!putadora " sus tipos
Una instrucción es cada paso de un algorit!o( pero 1ue lo e/ecuta el ordenador2 Un progra!a es
un con/unto de instrucciones 1ue e/ecutadas ordenada!ente resuelven un proble!a2
Tipos de instrucciones:
• E/S: Pasar in0or!ación del e5terior al interior del ordenador " al rev7s2
• Aritmético-lógicas: Arit!7ticas 8(9(:(222 ; 3ógicas or( and( <( =( 222
• Selectias: Per!iten la selección de una alternativa en 0unción de una condición2
• !epetitias: Repetición de un nú!ero de instrucciones un nú!ero 0inito de veces2
Tipos de lenguajes:
• Lenguaje m"#uina: 6odo se progra!a con . " )( 1ue es lo único 1ue entiende el ordenador2
Venta/a >o necesita ser traducido2
$nconveniente 3a di0icultad( la con0usión( para corregir errores( es propia de cada !á1uina2• $e %ajo niel o ensam%lador: Se utilizan !ne!ot7cnicos ?abreviaturas@2
Venta/a >o es tan di0'cil co!o el lengua/e !á1uina2
$nconvenientes Cada !á1uina tiene su propio lengua/e( necesita!os un proceso de traducción2
• El progra!a escrito en ensa!blador se lla!a progra!a 0uente " el progra!a 1ue se obtiene al
ensa!blarlo se lla!a progra!a ob/eto2
• 3engua/es de alto nivel 3os !ás cercanos al lengua/e &u!ano2
Venta/a Son independientes de cada !a1uina ?los co!piladores aceptan las instrucciones
estándar( pero ta!bi7n tienen instrucciones propias@2
$nconveniente El proceso de traducción es !u" largo " ocupa !ás recursos2 Aprovec&a !enos los
recursos internos2
Proceso de traducción y ejecución de un programa escrito en un lenguaje a alto niel:
Usa!os un editor " obtene!os el progra!a 0uente( " el co!pilador es el 1ue traduce el progra!a
al lengua/e !á1uina2 El co!pilador interna!ente &a sido diseado para traducir2
El co!pilador obtiene el progra!a o el 0ic&ero ob/eto2 El co!pilador tiene 1ue buscar los errores2
7/25/2019 Algoritmo y Programación.docx
http://slidepdf.com/reader/full/algoritmo-y-programaciondocx 3/7
>or!al!ente no sale un e/ecutable( sino 1ue necesita ele!entos( librer'as( !ediante un linador
/unta!os el progra!a ob/eto " las librer'as( " se 0or!a un progra!a e/ecutable2
Cuando se e/ecuta el progra!a( el cargador lleva al progra!a a !e!oria para 1ue 7ste pueda ser
e/ecutable2
ebbuger epura el progra!a e/ecutándolo paso a paso( viendo la !e!oria paso a paso para
encontrar el error2
Co!pilador
Error
Progra!a ob/eto 3ibrerias
3inador
E/ecutables
Para traducir puedo utilizar el co!pilador o un interprete( con el co!pilador co/o todo el progra!a
al co!pleto " el interprete lee cada instrucción " lo va e/ecutando2
El interprete es !ás rápido( pero !enos e0iciente2
6odos los lengua/es tienen co!piladores( pero no todos tienen interpretes2
3$SP ?3engua/e de inteligencia arti0icial@ Sólo tiene interpretes2
Partes de un Algoritmo.
6odo algorit!o debe obedecer a la estructura básica de un siste!a( es decirentrada( proceso " salida2
E&T!A$A Corresponde al insu!o( a los datos necesarios 1ue re1uiereel proceso para o0recer los resultados esperados2
P!'CES' Pasos necesarios para obtener la solución del proble!a o la situaciónplanteada2
SAL($A: Resultados arro/ados por el proceso co!o solución2
Caracteristicas y elementos para construir un algoritmo.
Las características fundamentales que debe cumplir un algoritmo son:
PRECISIÓN: Indica el orden de realización de cada paso dentro delproceso.
DEFINICION: Indica la exactitud y consistencia de los pasos descritos enel proceso, si el algoritmo se prueba dos veces, en estas dos pruebas, sedebeobtener el mismo resultado.
FINITUD: Indica el número razonable de pasos, los cuales debenconllevar a la nalización del proceso y producir un resultado en untiempo nito.
7/25/2019 Algoritmo y Programación.docx
http://slidepdf.com/reader/full/algoritmo-y-programaciondocx 4/7
!l dise"ar un algoritmo se debe tener presente las características deprecisión, denición y nitud.
Elementos para construir un Algoritmo.
Instrucción o sentencia.
#ependiendo del origen del material instruccional se $abla deinstrucción o sentencia% &sta, dene una acción o un mandato que sedebe realizar, esa acción o mandato se representa a trav&s de uncomando o lo que es lo mismo palabras reservadas de un lengua'e deprogramación en particular. (na instrucción esta compuesta por unoo m)s comandos *acción+, datos, símbolos, variables o constantes yexpresiones, que en con'unto representan una instrucción o sentencia.
Ejemplo de instrucciónn la construcción de los programas se estila utilizar una instrucción porlínea. !sí mismo, se utiliza la identación, que no es m)s que laalineación de aquellas instrucciones dentro de las estructuras que lascontienen de manera ordenada que permita visualizar el inicio y n decada bloque de instrucciones.
Si !-I-I/ 01-I1 Entonces
Leer -ueldo, !signar -ueldo 0 -ueldo 2 3oraxtra.Fin Si
#onde:
SI4epresenta una estructura condicional utilizada para establecerpreguntaso programar ciertas condiciones.!SISTIO5ombre de una 6ariable lógica que puede obtener sólo dos valores 7-I1o 75/1. n el e'emplo se programa la condición de la variables cuandoes 7-I1ENTONCES8arte de la instrucción o estructura condicional."EER SUE"DOInstrucción utilizando el comando cuya acción es la lectura de un campoo dato.!si#nar SUE"DO$SUE"DO%&OR!E'TR!Instrucción de asignación, permite asignar o calcular el valor queadquirir)una variable.
7/25/2019 Algoritmo y Programación.docx
http://slidepdf.com/reader/full/algoritmo-y-programaciondocx 5/7
Fin SI9ierra la estructura condicional si entonces n si.
Comandos o pala(ras reser)adas.
odos los lengua'es, naturales o computacionales, tienen palabras que
denotan una acción. Los comandos no son m)s que acciones que debeinterpretar y e'ecutar el computador. 9ada comando conserva unasintaxis determinada, es decir la forma de utilizarlo. Los lengua'escomputacionales tienen en su repertorio comandos dirigidosal procesamiento de arc$ivos y datos, entre ellos: Leer, 9alcular,!signar, 9lasicar, Imprimir.
Formas de representar un al#oritmo "en#uaje natural*pseucodi#o + dia#rama de ,ujo.
3os algorit!os pueden ser e5presados de !uc&as !aneras( inclu"endo al lengua/e natural(
pseudocódigo( diagra!as de 0lu/o " lengua/es de progra!ación entre otros2
3as descripciones en lengua/e natural 6ienden a ser a!biguas " e5tensas2
El usar pseudocódigo " diagra!as de 0lu/o( evita !uc&as a!big4edades del lengua/e natural2
ic&as e5presiones son 0or!as !ás estructuradas para representar algorit!os; no obstante( se!antienen independientes de un lengua/e de progra!ación espec'0ico2
3a descripción de un algorit!o usual!ente se &ace en tres niveles
• $escripción de alto niel2 Se establece el proble!a( se selecciona un !odelo
!ate!ático " se e5plica el algorit!o de !anera verbal( posible!ente con ilustraciones " o!itiendodetalles2
• $escripción )ormal2 Se usa pseudocódigo para describir la secuencia de pasos 1ueencuentran la solución2
• (mplementación2 Se !uestra el algorit!o e5presado en un lengua/e de progra!ación
espec'0ico o algún ob/eto capaz de llevar a cabo instrucciones2
Los diagramas de )lujo.
Son descripciones grá0icas de algorit!os; usan s'!bolos conectados con 0lec&aspara indicar la secuencia de instrucciones " están regidos por $SD2
3os diagra!as de 0lu/o son usados para representar algorit!os pe1ueos( "a 1ueabarcan !uc&o espacio " su construcción es laboriosa2 Por su 0acilidad de lectura
son usados co!o introducción a los algorit!os( descripción de un lengua/e "descripción de procesos a personas a/enas a la co!putación2
3os algorit!os pueden ser e5presados de !uc&as !aneras( inclu"endo allengua/e natural( pseudocódigo( diagra!as de 0lu/o " lengua/es de progra!aciónentre otros2 3as descripciones en lengua/e natural tienden a ser a!biguas "e5tensas2 El usar pseudocódigo " diagra!as de 0lu/o evita !uc&as a!big4edadesdel lengua/e natural2 ic&as e5presiones son 0or!as !ás estructuradas para
7/25/2019 Algoritmo y Programación.docx
http://slidepdf.com/reader/full/algoritmo-y-programaciondocx 6/7
representar algorit!os; no obstante( se !antienen independientes de un lengua/ede progra!ación espec'0ico2
El pseudocódigo.
Es una descripción de alto nivel de un algorit!o 1ue e!plea una !ezcla delengua/e natural con algunas convenciones sintácticas propias de lengua/es deprogra!ación( co!o asignaciones( ciclos " condicionales( aun1ue no está regidopor ningún estándar2 Es utilizado para describir algorit!os en libros "publicaciones cient'0icas( " co!o producto inter!edio durante el desarrollo de unalgorit!o( co!o los diagra!as de 0lu/o( aun1ue presentan una venta/a i!portantesobre estos( " es 1ue los algorit!os descritos en pseudocódigo re1uieren !enosespacio para representar instrucciones co!ple/as2
El pseudocódigo está pensado para 0acilitar a las personas el entendi!iento de unalgorit!o( " por lo tanto puede o!itir detalles irrelevantes 1ue son necesarios enuna i!ple!entación2 Progra!adores di0erentes suelen utilizar convencionesdistintas( 1ue pueden estar basadas en la sinta5is de lengua/es de progra!aciónconcretos2 Sin e!bargo( el pseudocódigo( en general( es co!prensible sinnecesidad de conocer o utilizar un entorno de progra!ación espec'0ico( " es a lavez su0iciente!ente estructurado para 1ue su i!ple!entación se pueda &acer directa!ente a partir de 7l2
7/25/2019 Algoritmo y Programación.docx
http://slidepdf.com/reader/full/algoritmo-y-programaciondocx 7/7
Tra*a un Algoritmo +corrida en )rio,.
3a traza de un Algorit!o se puede de0inir co!o la e/ecución !anual de 0or!asecuencial de las sentencias 1ue lo co!ponen2 As'( la traza del siguiente algorit!oes el valor 1ue van adoptando las variables a !edida 1ue se va e/ecutando un
progra!a2
3a 0unción principal 1ue posee realizar la traza de una algorit!o es la deco!probar 1ue 7ste 0unciona correcta!ente o para realizar la etapa de depuraciónen la 1ue se intenta corregir errores( si!pli0icar el algorit!o al !á5i!o eincre!entar su e0icacia " velocidad2