Vous êtes sur la page 1sur 8

Concepto de Algoritmo y Programacin.

Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y


finitas que permite realizar una actividad mediante pasos sucesivos que no
generen dudas a quien deba realizar dicha actividad. Los algoritmos son el
objeto de estudio de la algoritmia.

Un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se
pueda describir sin ambigedad y sin hacer referencia a una computadora en
particular, y adems tiene un lmite fijo en cuanto a la cantidad de datos que
se pueden leer/escribir en un solo paso.

Es una formula para resolver un problema es un conjunto de acciones o


secuencia de operaciones que ejecutadas en un determinado orden resuelven
el problema. Existen n algoritmos, hay que coger el ms efectivo. Trata de
resolver problemas mediante programas.

El programa: Codificacin del algoritmo en un lenguaje de programacin.

Lenguaje algoritmo y programacin.

Instrucciones en una computadora y sus tipos:

Una instruccin es cada paso de un algoritmo, pero que lo ejecuta el


ordenador. Un programa es un conjunto de instrucciones que ejecutadas
ordenadamente resuelven un problema.

Tipos de instrucciones:

E/S: Pasar informacin del exterior al interior del ordenador y al revs.

Aritmtico-lgicas: Aritmticas: +,-,*,... ; Lgicas: or, and, <, >, ...


Selectivas: Permiten la seleccin de una alternativa en funcin de una
condicin.

Repetitivas: Repeticin de un nmero de instrucciones un nmero finito


de veces.

Tipos de lenguajes:

Lenguaje mquina: Todo se programa con 1 y 0, que es lo nico que


entiende el ordenador.
Ventaja: No necesita ser traducido.

Inconveniente: La dificultad, la confusin, para corregir errores, es propia de


cada mquina.

De bajo nivel o ensamblador: Se utilizan mnemotcnicos (abreviaturas).

Ventaja: No es tan difcil como el lenguaje mquina.

Inconvenientes: Cada mquina tiene su propio lenguaje, necesitamos un


proceso de traduccin.

El programa escrito en ensamblador se llama programa fuente y el


programa que se obtiene al ensamblarlo se llama programa objeto.

Lenguajes de alto nivel: Los ms cercanos al lenguaje humano.

Ventaja: Son independientes de cada maquina (los compiladores aceptan las


instrucciones estndar, pero tambin tienen instrucciones propias).
Inconveniente: El proceso de traduccin es muy largo y ocupa ms recursos.
Aprovecha menos los recursos internos.

Proceso de traduccin y ejecucin de un programa escrito en un lenguaje a alto


nivel:

Usamos un editor y obtenemos el programa fuente, y el compilador es el que


traduce el programa al lenguaje mquina. El compilador internamente ha sido
diseado para traducir.
El compilador obtiene el programa o el fichero objeto. El compilador tiene que
buscar los errores.

Normalmente no sale un ejecutable, sino que necesita elementos, libreras,


mediante un linkador juntamos el programa objeto y las libreras, y se forma un
programa ejecutable.

Cuando se ejecuta el programa, el cargador lleva al programa a memoria para


que ste pueda ser ejecutable.

Debbuger: Depura el programa ejecutndolo paso a paso, viendo la memoria


paso a paso para encontrar el error.

Compilador
Error
Programa objeto Librerias
Linkador
Ejecutables
Para traducir puedo utilizar el compilador o un interprete, con el compilador
cojo todo el programa al completo y el interprete lee cada instruccin y lo va
ejecutando.
El interprete es ms rpido, pero menos eficiente.
Todos los lenguajes tienen compiladores, pero no todos tienen interpretes.
LISP (Lenguaje de inteligencia artificial) : Slo tiene interpretes.

Partes de un Algoritmo.

Todo algoritmo debe obedecer a la estructura bsica de un sistema, es decir:


entrada, proceso y salida.

ENTRADA: Corresponde al insumo, a los datos necesarios que requiere el


proceso para ofrecer los resultados esperados.

PROCESO: Pasos necesarios para obtener la solucin del problema o la


situacin planteada.

SALIDA: Resultados arrojados por el proceso como solucin.

Caracteristicas y elementos para construir un algoritmo.

Las caractersticas fundamentales que debe cumplir un algoritmo son:

PRECISIN: Indica el orden de realizacin de cada paso dentro del proceso.

DEFINICION: Indica la exactitud y consistencia de los pasos descritos en el


proceso, si el algoritmo se prueba dos veces, en estas dos pruebas, se
debeobtener el mismo resultado.

FINITUD: Indica el nmero razonable de pasos, los cuales deben conllevar a la


finalizacin del proceso y producir un resultado en un tiempo finito.

Al disear un algoritmo se debe tener presente las caractersticas de precisin,


definicin y finitud.

Elementos para construir un Algoritmo.

Instruccin o sentencia.

Dependiendo del origen del material instruccional se habla de instruccin o


sentencia; sta, define una accin o un mandato que se debe realizar, esa
accin o mandato se representa a travs de un comando o lo que es lo mismo
palabras reservadas de un lenguaje de programacin en particular. Una
instruccin esta compuesta por uno o ms comandos (accin), datos, smbolos,
variables o constantes y expresiones, que en conjunto representan una
instruccin o sentencia.

Ejemplo de instruccin:

En la construccin de los programas se estila utilizar una instruccin por lnea.


As mismo, se utiliza la identacin, que no es ms que la alineacin de aquellas
instrucciones dentro de las estructuras que las contienen de manera ordenada
que permita visualizar el inicio y fin de cada bloque de instrucciones.

Si ASISTIO =SI Entonces


Leer Sueldo, Asignar Sueldo = Sueldo + HoraExtra.
Fin Si
Donde:
SI
Representa una estructura condicional utilizada para establecer preguntas
o programar ciertas condiciones.
ASISTIO
Nombre de una Variable lgica que puede obtener slo dos valores SI
o NO. En el ejemplo se programa la condicin de la variables cuando
es SI
ENTONCES

Parte de la instruccin o estructura condicional.


LEER SUELDO
Instruccin utilizando el comando cuya accin es la lectura de un campo
o dato.
Asignar SUELDO=
SUELDO+HORAEXTRA
Instruccin de asignacin, permite asignar o calcular el valor que adquirir
una variable.
Fin SI
Cierra la estructura condicional si - entonces - fin si.

Comandos o palabras reservadas.

Todos los lenguajes, naturales o computacionales, tienen palabras que denotan


una accin. Los comandos no son ms que acciones que debe interpretar y
ejecutar el computador. Cada comando conserva una sintaxis determinada, es
decir la forma de utilizarlo. Los lenguajes computacionales tienen en su
repertorio comandos dirigidos al procesamiento de archivos y datos, entre
ellos: Leer, Calcular, Asignar, Clasificar, Imprimir.

Formas de representar un algoritmo: Lenguaje natural, pseucodigo y diagrama


de flujo.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al


lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de
programacin entre otros.

Las descripciones en lenguaje natural: Tienden a ser ambiguas y extensas.

El usar pseudocdigo y diagramas de flujo, evita muchas ambigedades del


lenguaje natural.

Dichas expresiones son formas ms estructuradas para representar algoritmos;


no obstante, se mantienen independientes de un lenguaje de programacin
especfico.

La descripcin de un algoritmo usualmente se hace en tres niveles:

Descripcin de alto nivel. Se establece el problema, se selecciona un


modelo matemtico y se explica el algoritmo de manera verbal, posiblemente
con ilustraciones y omitiendo detalles.

Descripcin formal. Se usa pseudocdigo para describir la secuencia de


pasos que encuentran la solucin.

Implementacin. Se muestra el algoritmo expresado en un lenguaje de


programacin especfico o algn objeto capaz de llevar a cabo instrucciones.
Los diagramas de flujo.

Son descripciones grficas de algoritmos; usan smbolos conectados con


flechas para indicar la secuencia de instrucciones y estn regidos por ISO.

Los diagramas de flujo son usados para representar algoritmos pequeos, ya


que abarcan mucho espacio y su construccin es laboriosa. Por su facilidad de
lectura son usados como introduccin a los algoritmos, descripcin de un
lenguaje y descripcin de procesos a personas ajenas a la computacin.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al


lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de
programacin entre otros. Las descripciones en lenguaje natural tienden a ser
ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas
ambigedades del lenguaje natural. Dichas expresiones son formas ms
estructuradas para representar algoritmos; no obstante, se mantienen
independientes de un lenguaje de programacin especfico.

El pseudocdigo.

Es una descripcin de alto nivel de un algoritmo que emplea una mezcla de


lenguaje natural con algunas convenciones sintcticas propias de lenguajes de
programacin, como asignaciones, ciclos y condicionales, aunque no est
regido por ningn estndar. Es utilizado para describir algoritmos en libros y
publicaciones cientficas, y como producto intermedio durante el desarrollo de
un algoritmo, como los diagramas de flujo, aunque presentan una ventaja
importante sobre estos, y es que los algoritmos descritos en pseudocdigo
requieren menos espacio para representar instrucciones complejas.

El pseudocdigo est pensado para facilitar a las personas el entendimiento de


un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son
necesarios en una implementacin. Programadores diferentes suelen utilizar
convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes
de programacin concretos. Sin embargo, el pseudocdigo, en general, es
comprensible sin necesidad de conocer o utilizar un entorno de programacin
especfico, y es a la vez suficientemente estructurado para que su
implementacin se pueda hacer directamente a partir de l.

Vous aimerez peut-être aussi