Módulo de Programación - Conceptos de Algoritmo y Programación

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

En general, un algoritmo es un procedimiento detallado que se realiza para resolver un

problema dentro de un espacio de tiempo. Los de tipo informal son normalmente usados
por el hombre en su vida diaria.

Por su parte, un algoritmo computacional es un término usado con frecuencia en


la programación informática. Parte de un estado inicial hacia un estado final, el cual
contiene la solución de un problema. A este resultado final, se llega mediante el
seguimiento de pasos sucesivos y bien definidos. Su ejecución requiere el uso de
computadoras.
Características
• Trata de ofrecer la solución más sencilla posible a un problema, sin
importar su nivel de complejidad.
• Es preciso, requiere del desarrollo de pasos en un orden lógico y estricto.
• Para garantizar su funcionalidad al momento de ejecutarse, debe ser bien
definido.
• Siempre que los datos introducidos sean los mismos, el resultado será el
mismo.
• La cantidad de pasos incorporados es finita, lo que garantiza que el
logaritmo tenga un final.
• Debe resultar entendible para cualquier persona que tenga acceso al
mismo.
• Es posible que requiera modificaciones luego de su prueba, y antes de su
ejecución.
• Ante la imposibilidad de ser ejecutados directamente, requieren que su
transcripción esté adecuada a las reglas sintácticas de los lenguajes de
programación.
• Necesita de la compilación para detectar los errores y fallos que pudieron
ser cometidos durante su creación.

La concepción de un algoritmo, contempla cuatro etapas:


Definición: Se define el problema y el objetivo que se pretende alcanzar.
Análisis: Se estudia el problema y
sus características. Se establece el
camino lógico a seguir para la
resolución del mismo.

Diseño: Se representa el problema


mediante las formas de expresión
existentes.

Implementación: Se concreta el
algoritmo, incluyendo la realización de pruebas antes de su ejecución.

Un algoritmo debe cumplir con un esquema, tal que podamos representar de manera
simplificada la idea sobre la cual nos basamos para la realización del mismo. Así, podemos
definir tres tipos de estructura:

Secuencia de acciones: Se refiere a la planeación de acciones, que indica además la


secuencia en el orden de ejecución de las instrucciones.

Decisión de acción: Se trata de escoger la


mejor alternativa entre varios caminos
lógicos, que constituyen diferentes
escenarios dentro de la creación del
algoritmo. Ésta depende de la variable de
la cual se trate.

Ciclos de acciones: Mediante este tipo de


estructura se hace posible la repetición de
una o varias acciones dentro del orden del
algoritmo. Cada bloque de instrucciones que conforman los ciclos, debe establecer un
inicio y un final.

Para que un algoritmo pueda ser implementado, primero debe ser descrito. Existen los
siguientes niveles de descripción:
Alto nivel: Se refiere a la descripción inicial del problema. Se crea un modelo matemático
que suele incluir ilustraciones, y se explica verbalmente.

Formal: Se trata de describir la secuencia, a través del uso de un pseudocódigo, de la


totalidad de los pasos a seguir.

Implementación: El algoritmo se muestra en un lenguaje de programación determinado.

Formas de expresión

Los algoritmos pueden representarse de varias maneras, según su nivel de descripción.


Éstas son:

Lenguaje natural: Es la forma más común de transmitir las ideas, pero suele generar
confusión en personas no expertas en programación.

Pseudocódigo: Facilita la traducción del algoritmo a cualquier lenguaje de programación,


debido a las semejanzas que posee con respecto a la sintaxis de los lenguajes de
programación.

Diagrama de flujo: Gracias a su forma gráfica de representar las operaciones dentro del
algoritmo, facilita el entendimiento de las secuencias.

Programa: Su principal desventaja es que su lectura es difícil de entender para casi


cualquier persona, más si no tiene conocimientos de programación.

Principalmente, existen tres tipos de errores relacionados con el diseño, el desarrollo y la


ejecución de un algoritmo. Estos son:
Errores de sintaxis: Referidos a la omisión de alguna regla sintáctica del lenguaje de
programación utilizado, entre ellos: errores ortográficos y equivocación en el uso de
paréntesis, corchetes y llaves.

Errores de precaución: Son recomendaciones dadas por los compiladores de programas,


con la finalidad de mejorar el diseño del algoritmo.

Errores lógicos: Generalmente, se deben a un mal análisis y a un erróneo planteamiento


del problema, y no a errores de sintaxis durante la elaboración del algoritmo. No son
detectados por los compiladores, lo que amerita la identificación manual por parte del
diseñador.

La condición más importante para crear un buen algoritmo es identificar el problema que
queremos resolver, y establecer
la mejor forma de llegar a la
solución del mismo.

Debemos tener en cuenta que si


somos fieles al seguimiento de
los pasos, el algoritmo siempre
va a funcionar.

Siempre debemos probar el


algoritmo antes de ejecutarlo,
porque de esta manera
estaríamos garantizando que
realmente se cumple con el objetivo para el cual fue creado y obtendremos la
optimización que buscamos.
La programación es el proceso en que se utiliza un editor de código que es manejado por
una persona o comúnmente llamado programador o desarrollador, con el objetivo de idear,
ordenar, diseñar y codificar una serie de comandos, instrucciones o acciones necesarias
para realizar un proyecto que dicta la secuencia de trabajo de un determinado software, el
objetivo de la programación es la de crear software, que después será ejecutado de manera
directa por el hardware de la computadora, o a través de otro programa.

La programación hace referencia al efecto de crear una serie de instrucciones que tienen
que llevar a cabo o cumplir varios requisitos deseados por el desarrollador, creando un
programa, aplicación o aplicación web, la programación se guía por una serie de reglas y un
conjunto pequeño de órdenes,
instrucciones y expresiones que
tienden a parecerse a una lengua
natural acotada.

Es un proceso lógico matemático que


incluye de forma ordenada una
secuencia de pasos para crear
programas o aplicaciones, a través del
desarrollo de un código fuente, estas
instrucciones se encuentran escritas
en lenguaje de programación que luego son traducidas a un lenguaje de máquina, los
lenguajes de programación son muy variados y distintos por lo tanto podemos obtener
diferente métodos o tipos de programación.

En sus comienzos las computadoras interpretaban solo instrucciones en un lenguaje


específico, del más bajo nivel, conocido como código máquina, siendo este excesivamente
complicado para programar, de hecho, solo consiste en cadenas de números 1 y 0 (sistema
binario).

La programación tuvo sus inicios en el siglo XV, con la construcción de una máquina que
realizaba operaciones básicas y raíces cuadradas (Gottfried Wilheml von Leibniz); aunque
en realidad la primera gran influencia hacia la creación de los computadores fue la máquina
diferencial para el cálculo de polinomios, proyecto no concluido de Charles Babbage (1793-
1871) con el apoyo de Lady Ada Countess of Lovelace (1815-1852), primera persona que
incursionó en la programación y de quien proviene el nombre del lenguaje de programación
ADA creado por el DoD (Departamento de defensa de Estados Unidos) en la década de 1970.

Inicialmente se programaba en código binario, es decir en cadenas de 0 y 1, que es el


lenguaje que entiende directamente el computador, posteriormente aparecieron lenguajes
de alto nivel, que en general, utilizan palabras en inglés, para dar las órdenes a seguir,
creando un conjunto de reglas o normas para crear las diferentes secuencias de cualquier
tipo de software.

La función principal y propósito de la programación es la creación de programas que


muestren un comportamiento deseado. El proceso que mantiene es el de escribir un código
el cual requiere conocimiento en muchas áreas diversas, como la utilización de algoritmos
especializados y la lógica formal. Programar implica fusionar ciertas tareas que no están
involucradas directamente en ella, a excepción del diseño del código, como el análisis y el
diseño de la aplicación. Se mezclan para desarrollar pequeñas aplicaciones.

Los tipos o técnicas de programación son bastante variados, aunque puede que muchos de
los lectores sólo conozcan una
metodología para realizar programas,
dependiendo del lenguaje que se elija,
se puede hablar del tipo de
programación que se va a realizar,
obteniendo los siguientes tipos de
programación:

Programación estructurada: Está


compuesta por un conjunto de técnicas
que han ido evolucionando
aumentando considerablemente la
productividad del programa
reduciendo el tiempo de depuración y
mantenimiento del mismo. Esta
programación estructurada utiliza un
número limitado de estructuras de control, reduciendo así considerablemente los errores.
Programación modular: Consta de varias secciones dividas de forma que interactúan a
través de llamadas a procedimientos, que integran el programa en su totalidad. En la
programación modular, el programa principal coordina las llamadas a los módulos
secundarios y pasa los datos necesarios en forma de parámetros.

Programación declarativa: mantiene un paradigma de programación el cual se basa en el


desarrollo de programas que están especificando un conjunto de determinadas
condiciones, proposiciones, afirmaciones, restricción, ecuaciones o transformaciones las
cuales pueden mostrar, describir y detallar un problema y su solución. Esta solución se
obtiene mediante diversos mecanismos internos de control. Las mismas no son específicas
en cuanto a su localización, solo se le pide a la computadora que busque algo.

Programación lógica: es una forma de programar donde lo más importante es definir un


conjunto de hechos, que se conocen con anterioridad, y un conjunto de reglas que nos
definen las distintas relaciones existentes entre los componentes del programa.

Programación orientada a objetos: Cada elemento dentro de un programa que se trabaje


con esta técnica es considerado como un objeto que tiene propiedades y métodos. La
ejecución del programa depende de la interacción de los objetos que lo componen. Las
propiedades y métodos de cada objeto se especifican en su clase. La clase es como el molde
de la instancia de cada objeto. Cuando se programa con esta técnica se definen clases y se
crean instancias de objetos dentro de estas clases para que después los objetos
interaccionen entre sí.

Es un editor de texto diseñado específicamente para editar el código fuente de programas


informáticos, puede ser una aplicación individual o estar incluido en un entorno de
desarrollo integrado, podemos comparar estos editores de cogido fuente con los editores
de texto convencionales como Word, ya que en su pantalla frontal observamos una hoja en
blanco con líneas que a veces están enumeradas y listas para escribir código.

Permiten editar código fuente en diversos lenguajes de programación y ofrecen múltiples


herramientas para facilitar el trabajo y aumentar la productividad. Debemos distinguir entre
editores de código e IDE. Los editores generalmente son programas ligeros, que ofrecen lo
necesario para poder ser productivos y tener una experiencia de desarrollo adecuada, pero
sin complicaciones. Sin embargo, los editores actuales se pueden extender tanto como se
quiera, por medio de complementos que los pueden hacer llegar a ser tan avanzados como
los IDE.
El lenguaje de programación es el responsable de que la computadora siga paso a paso las
órdenes que el programador ha diseñado en el algoritmo, podemos decir que es definido
como un idioma artificial, formado por símbolos y reglas sintácticas y semánticas, para
expresar computaciones y que pueden usarse para crear programas que controlen el
comportamiento de una máquina, expresar algoritmos con precisión, y ofrecer una solución
a un problema determinado, en la actualidad tenemos los siguiente lenguajes de
programación:
• Python: Es uno de los lenguajes de programación más usados actualmente y la
tendencia sigue al alza. Lo tiene todo: es de código abierto, una sintaxis sencilla y
fácil de entender, por lo que ahorra tiempo y recursos. Es uno de los mejores para
iniciarse en el mundo de la programación.
• Ruby: Diseñado por Yukihiro Matsumoto en 1995, Ruby es la base de Ruby on Rails,
una infraestructura de desarrollo web con la que muchos sitios web reconocidos han
sido construidos, incluyendo Github, Scribd, Yammer, Shopify y Groupon.
• JavaScript: Este lenguaje de programación sirve para todo: aplicaciones web,
servidores, aplicaciones móviles, su peculiaridad es que no necesita compilación
ninguna, ya que es el propio navegador quién lee el código y realiza las acciones que
le indica. Por este motivo, es uno de los lenguajes para crear páginas web cuando se
quieren plantear elementos interactivos o más visuales.
• C#: Es un lenguaje que sigue apareciendo en los listados de lenguajes de
programación más usados. Creado por Microsoft, está presente en entornos
empresariales, como instituciones gubernamentales, entidades bancarias o
médicas.
• PHP: Es un lenguaje de programación de propósito general de código del lado del
servidor. Este lenguaje garantiza una buena comunicación entre web y servidor, por
lo que las páginas web desarrolladas con este lenguaje son estables y con buen
rendimiento.
• Go: Es un lenguaje de programación de código abierto creado por Google en
noviembre de 2009. Es un lenguaje compilado enfocado en programación y
productividad concurrente. Con Go es fácil construir software simple, confiable y
eficiente. La sintaxis de Go es similar a la de C (con recolector de basura y una vasta
biblioteca estándar), y a diferencia de Java, los vectores asociativos y las cadenas
son una parte intrínseca del lenguaje.
Lenguaje de programación, en informática, cualquier lenguaje artificial que puede utilizarse
para definir una secuencia de instrucciones para su procesamiento por un ordenador o
computadora. Es complicado definir qué es y qué no es un lenguaje de programación. Se
asume generalmente que la traducción de las instrucciones a un código que comprende la
computadora debe ser completamente sistemática. Normalmente es la computadora la que
realiza la traducción.

Lenguajes de bajo nivel


Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente señales
electrónicas binarias. Dar una instrucción a un microprocesador supone en realidad enviar
series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia
de señales se denomina código máquina. El código representa normalmente datos y
números e instrucciones para manipularlos. Un modo más fácil de comprender el código
máquina es dando a cada instrucción un mnemónico, como por ejemplo STORE, ADD o
JUMP. Esta abstracción da
como resultado el
ensamblador, un lenguaje de
muy bajo nivel que es
específico de cada
microprocesador.
Los lenguajes de bajo nivel
permiten crear programas
muy rápidos, pero que son a
menudo difíciles de
aprender. Más importante es
el hecho de que los
programas escritos en un bajo nivel son prácticamente específicos para cada procesador. Si
se quiere ejecutar el programa en otra máquina con otra tecnología, será necesario
reescribir el programa desde el principio.

Lenguajes de alto nivel


Por lo general se piensa que los ordenadores son máquinas que realizan tareas de cálculos
o procesamiento de textos. La descripción anterior es sólo una forma muy esquemática de
ver una computadora. Hay un alto nivel de abstracción entre lo que se pide a la
computadora y lo que realmente comprende. Existe también una relación compleja entre
los lenguajes de alto nivel y el código máquina.
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados
por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel
más conocido, los comandos como 'IF CONTADOR = 10 THEN STOP' pueden utilizarse para
pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas
personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las
computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma
rígida y sistemática

Intérpretes y compiladores

La traducción de una serie de instrucciones en lenguaje ensamblador (el código fuente) a


un código máquina (o código objeto) no es un proceso muy complicado y se realiza
normalmente por un programa especial llamado compilador. La traducción de un código
fuente de alto nivel a un código máquina también se realiza con un compilador, en este caso
más complejo, o mediante un intérprete. Un compilador crea una lista de instrucciones de
código máquina, el código objeto, basándose en un código fuente. El código objeto
resultante es un programa rápido y listo para funcionar, pero que puede hacer que falle el
ordenador si no está bien diseñado. Los intérpretes, por otro lado, son más lentos que los
compiladores ya que no producen un código objeto, sino que recorren el código fuente una
línea cada vez. Cada línea se traduce a código máquina y se ejecuta. Cuando la línea se lee
por segunda vez, como en el caso de los programas en que se reutilizan partes del código,
debe compilarse de nuevo. Aunque este proceso es más lento, es menos susceptible de
provocar fallos en la computadora.

También podría gustarte