7
Algoritmo y Programación República Bolivariana de Venez uela Ministerio del Poder Popular para la Educación Universitaria  Aldea Ciudad Angostur a Misión Sucre Cátedra Algorit!i a " 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

Algoritmo y Programación.docx

Embed Size (px)

Citation preview

Page 1: Algoritmo y Programación.docx

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

Page 2: Algoritmo y Programación.docx

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

Page 3: Algoritmo y Programación.docx

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.

Page 4: Algoritmo y Programación.docx

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.

Page 5: Algoritmo y Programación.docx

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

Page 6: Algoritmo y Programación.docx

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

Page 7: Algoritmo y Programación.docx

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