0% encontró este documento útil (0 votos)
39 vistas8 páginas

02-Algoritmos y Programas. Aprender A Programar Un Computador

Manual de Algoritmos para personas que se inician en Programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
39 vistas8 páginas

02-Algoritmos y Programas. Aprender A Programar Un Computador

Manual de Algoritmos para personas que se inician en Programación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

23/08/2019 Algoritmos y programas.

Aprender a programar un computador

Introducción
Algoritmos y programas
Técnicas Básicas
Variables y constantes
CursosEstructuras de control
para Principiantes Cursos para Avanzados Acerca
Consejos y Detalles
Curso Errores al Programar
de Fundamentación
Alfabeto Binario
Funciones
Aprende Fundamentación de una buena vez
El mejor lenguaje no existe

gratis
texto

Inicio
Cursos
Fundamentacion
Algoritmos Y Programas

Antes de comenzar...

La Guía del Principiante en Java: Fundamentos y Objetos

Aprende a programar aplicaciones Java, usando la programación orientada a objetos con Java, como nunca te enseñaron

video

https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 1/8
23/08/2019 Algoritmos y programas. Aprender a programar un computador

Introducción
Algoritmos y programas
Técnicas Básicas
Variables y constantes
Estructuras de control
Consejos y Detalles
Errores al Programar
Alfabeto Binario
Funciones
El mejor lenguaje no existe

Introducción a los algoritmos y programas. Aprende cómo programar un


computador
¿Qué es un algoritmo?
Si se consulta la definición de algoritmo, se entiende que éste es un conjunto finito de instrucciones que se deben seguir
para resolver un problema. No obstante, desde el punto de vista de la programación de ordenadores, la definición del
algoritmo como la especificación de una serie de pasos, es incompleta. Debe observarse que los ordenadores son equipos
que tienen limitaciones físicas en cuanto a capacidad de almacenamiento y procesamiento. Por consiguiente debemos
refinar un poco más nuestra definición de algoritmo para hacerla aplicable de manera efectiva en el ámbito de la
informática.

Definición:

Un algoritmo se entiende como una sucesión finita de pasos que deben cumplir las siguientes especificaciones:

1. Cada paso del algoritmo debe estar bien definido: Esto significa que la definición de un paso debe ser
suficientemente clara, para que una persona pueda entenderla y realizarla. Si bien no se puede dar un criterio
determinístico para decidir si un paso está bien definido, debemos apelar al sentido común para decidir que un paso
está especificado sin ambigüedades.
2. Un algoritmo debe tener un principio y un fin: Un programa es un algoritmo escrito con un objetivo: conseguir
un resultado. No tiene sentido crear un programa que espere infinitos segundos y luego escriba en pantalla "Hola
Mundo!", del mismo modo que un algoritmo debe tener un principio bien definido (tampoco tiene sentido el
algoritmo "haz nada, y luego escribe Hola Mundo!").

Modelos computacionales
Un modelo computacional es un modelo matemático en las ciencias de la computación que requiere extensos recursos
computacionales para estudiar el comportamiento de un sistema complejo por medio de la simulación por
computadora(Que definición no? mejor veamos ejemplos).

Ejemplos de modelos computacionales comunes son modelos de el pronóstico del tiempo, modelos del Earth Simulator,
modelos de simulador de vuelo, y modelos de red neural.(Que definición aburrida!, pero bueno, entenderás que a veces
son inevitables)

Programas: Algoritmos para ser ejecutados por un ordenador


https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 2/8
23/08/2019 Algoritmos y programas. Aprender a programar un computador

Un ordenador o computadora está, desde que se enciende hasta que se apaga totalmente, ejecutando un algoritmo. Por lo
general, estos algoritmos, escritos para que los entienda una máquina, terminan siendo vagos y confusos para la mayoría
Introducción
de quienes no han estudiado programación. Una máquina no puede entender "escribe Hola Mundo!" porque no sabe lo
que esAlgoritmos
"escribe" niyloprogramas
que es una letra o un espacio, ni lo que es una pantalla. En cambio, puede entender "mov eax,
Técnicas
0x23afb31" Básicas
(escribir en la dirección de memoria eax el número 0x23afb31 en hexadecimal), aunque nosotros no(Que
Variables
gracioso y constantes
¿verdad?). Un ordenador es solo un circuito electrónico, no funciona a base de magia ni nada por el estilo.
Estructuras de control
DebidoConsejos y Detalles
a lo difícil que es escribir en lenguaje máquina, e incluso en ensamblador, se crearon diferentes lenguajes de
Errores al
programación, más Programar
o menos parecidos al inglés actual y a cómo se redacta un algoritmo. Estos lenguajes proveen de
Alfabeto
cosas tan Binario
complejas para una máquina como los bucles for (ciclos for, si no entiendes esto, tranquilo, pronto lo
Funciones Los compiladores se encargan de traducir esos ficheros al lenguaje ensamblador que corresponda, el
comprenderás!).
El mejor
ensamblador delenguaje no aexiste
traducirlos lenguaje máquina y el enlazador de juntar todo ese código máquina en un solo archivo, el
programa. Y el microprocesador, se encarga de ir encendiendo o apagando transistores según lo que le diga el código
máquina. Es fácil entender el lenguaje de alto nivel en comparación al lenguaje máquina pero de la evolución surgieron.

¿Qué instrucciones ejecuta un ordenador?


Lenguaje de máquina

Cada tipo de microprocesador contiene un conjunto de instrucciones que realizan ciertas operaciones sobre una o más
palabras de bits las instrucciones van también codificadas en bits. No queremos hacer aquí una discusión sobre
arquitectura de ordenadores, por lo que con esto debe valer por ahora.

Se entiende que escribir sólo con dos teclas, el 0 y el 1, es incómodo (pues lograr escribir una simple letra necesitaba de
varios números ceros y unos para ello, mira aquí el alfabeto en binario). Históricamente, a la hora de diseñar un algoritmo
para que el ordenador ejecutara, se escribía mediante unas etiquetas mnemotécnicas; éste fue el origen del lenguaje
ensamblador. Por ejemplo quizás en una cierta arquitectura la instrucción de borrado de memoria (Memory Clear, en
inglés) corresponda al código 010. Pronto surgieron programas que leían, siguiendo el ejemplo, MC, y lo sustituían por
010.

Lenguaje ensamblador

El código máquina tenía dos grandes inconvenientes para los programadores:

El primero es que se trata de unas instrucciones difíciles de recordar ya que no guardan relación con la operación
que se está realizando.
El segundo inconveniente es que puede haber, y de hecho hay, diferencias entre las instrucciones de un procesador
a otro.

Todo esto ha llevado a "poner nombre" a las instrucciones de código máquina de manera que a una secuencia concreta de
bits que realiza una operación se le pone un nombre sencillo que identifique la operación. Esta traducción a un lenguaje
más sencillo para las personas resulta en una mayor comodidad para el programador, además el proceso de traducción
inverso de lenguaje ensamblador a código máquina puede ser realizado por un sencillo programa.

Programación para seres humanos


Lenguajes de alto nivel

Sobre este lenguaje ensamblador inicial se fueron construyendo otros lenguajes de programación de más alto nivel; esto
significa que ocultan ciertos aspectos de manera que el programador no se ha de preocupar sobre si en la máquina que
quiere que se ejecute el algoritmo el MC corresponde a la instrucción 101 o 010. Se produce, por tanto, una abstracción
de datos, muy deseable para poder utilizar el trabajo de otros para avanzar un paso más en vez de tener que "reinventar la
rueda", como se suele decir. Estos textos en los que se codifican los algoritmos son los códigos fuente; siguen las reglas
sintácticas de un determinado lenguaje de programación. Existen numerosos lenguajes de programación, y se utiliza uno
u otro según sus características se adecúen más o menos a la resolución de nuestro problema.

Traductores e intérpretes

Tras la escritura del algoritmo, un compilador o un intérprete (otros programas) transformarán el texto en código máquina
que el procesador es capaz de ejecutar. Toda esta abstracción permite resolver problemas alejados de sumar números
binarios, como pueden ser la consulta de este texto o jugar a un videojuego en 3D.

https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 3/8
23/08/2019 Algoritmos y programas. Aprender a programar un computador

Lenguajes interpretados vs. lenguajes compilados


Introducción
Los lenguajes interpretados
Algoritmos y programasnacen como respuesta a la dificultad de manejo de los compilados. Un lenguaje compilado es
sólo apto para un sistema
Técnicas Básicas operativo o formato de ejecutable (en Linux y Unix System es ELF, en Windows o incluso en
BSD es muy diferente), y
Variables y constantes es tedioso de manejar.
Estructuras de control
Para comprobar
Consejos ybugs o errores el computador debe:
Detalles
Errores al Programar
Compilar cada uno de los ficheros de código.
Alfabeto Binario
Ensamblarlos en ficheros objeto.
Funciones
Enlazar los ficheros objeto.
El mejor lenguaje no existe
Volverlos a ensamblar.

Todo eso no es gran derroche de recursos para un ordenador medio actualmente, pero dura sus 10 o 15 segundos (Que en
términos de programación es muchísimo tiempo). En cambio, con un lenguaje interpretado, el programa intérprete analiza
el fichero de código y lo va ejecutando en tiempo real, sin compilarlo ni ensamblarlo. Otra de las ventajas de los
lenguajes interpretados es que son multiplataforma: un programa en Perl, por ejemplo, no debe ser compilado dos veces
(una para Unix y otra para Windows). Con que haya diferentes versiones del intérprete en cada uno de esos ordenadores,
específicamente compilados para ellos, basta.

Sus desventajas:

Consume muchos recursos de memoria, sobre todo RAM.


Se depende del intérprete: si no tienes instalado el intérprete que corresponda, no podrás ejecutar el programa.

Ejemplos de lenguajes interpretados son PHP, Perl, PythonTcl/Tk, BASIC, LISP (en algunas de sus versiones)...

Muy bien, ahora que hemos terminado de ver tanta teoría (que reconozco es aburrida, pero seguro la recordaras y usarás,
porque es necesaria) vamos a ir al siguiente contenido (técnicas básicas de programación), te aseguro que va a ser más
entretenido y comenzarás a hacer tus primeros algoritmos y programas. ¡Vamos! a aprender a programar.

La última actualización de este artículo fue hace 1 año

Juan David Meza González

JuanDMeGon

Magister, Ingeniero, Desarrollador


Web & Instructor

Anterior

Curso de Fundamentación

Siguiente

Técnicas Básicas

Relacionado con este artículo

https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 4/8
23/08/2019 Algoritmos y programas. Aprender a programar un computador

Introducción
Algoritmos y programas
Técnicas Básicas
Variables y constantes
Estructuras de control
Consejos y Detalles
Errores al Programar
Alfabeto Binario
Funciones
El mejor lenguaje no existe

Gratis

texto

Estructuras de Datos

https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 5/8
23/08/2019 Algoritmos y programas. Aprender a programar un computador

Introducción
Algoritmos y programas
Técnicas Básicas
Variables y constantes
Estructuras de control
Consejos y Detalles
Errores al Programar
Alfabeto Binario
Funciones
El mejor lenguaje no existe

Gratis

texto

Estructuras de control

https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 6/8
23/08/2019 Algoritmos y programas. Aprender a programar un computador

Introducción
Algoritmos y programas
Técnicas Básicas
Variables y constantes
Estructuras de control
Consejos y Detalles
Errores al Programar
Alfabeto Binario
Funciones
El mejor lenguaje no existe

Gratis

texto

Entrada y Salida de Datos

Comentarios

0 comentarios Ordenar por Más recientes

Agregar un comentario...

Plugin de comentarios de Facebook

Lo que dicen los estudiantes

Demoramos mucho para llegar al desarrollo. Aunque la maquina virtual es necesaria son muchos videos. De ahí en fuera
está muy bien

Benjamin Ortiz

Estudiante del curso "API RESTful con Laravel: Guía Definitiva"

No te pierdas ningún contenido nuevo


[email protected]
Suscribirme

© Copyright Juan David Meza González


https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 7/8
23/08/2019 Algoritmos y programas. Aprender a programar un computador

2012 - 2019 Todos los derechos reservados.


Introducción
Términos y condiciones
Algoritmos y programas
Técnicas Básicas
Variables y constantes
Estructuras de control
Consejos y Detalles
Errores al Programar
Alfabeto Binario
Funciones
Juan David Meza
El mejor González
lenguaje no existe

JuaDMeGon

Instructor en línea &


Magister, Ingeniero, Desarrollador Web

https://www.programarya.com/Cursos/Fundamentacion/Algoritmos-y-Programas 8/8

También podría gustarte