PROGRAMACION

 ¿Qué es programación?

Programación es el proceso de tomar un algoritmo y codificarlo en una notación, un lenguaje de programación, de modo que pueda ser ejecutado por una computadora. Aunque existen muchos lenguajes de programación y muchos tipos diferentes de computadoras, el primer paso es la necesidad de tener una solución. Sin un algoritmo no puede haber un programa.
Las ciencias de la programación no son el estudio de la programación. La programación, sin embargo, es una parte importante de lo que hace un científico de la computación. La programación es a menudo la manera en la que creamos una representación para nuestras soluciones. Por tanto, esta representación en un lenguaje y el proceso de crearla se convierte en una parte fundamental de la disciplina.
Los algoritmos describen la solución a un problema en términos de los datos requeridos para representar el caso del problema y el conjunto de pasos necesarios para producir el resultado pretendido. Los lenguajes de programación deben suministrar un modo notacional para representar tanto el proceso como los datos. Para este fin, los lenguajes suministran estructuras de control y tipos de datos.
Las estructuras de control permiten que los pasos algorítmicos sean representados de una manera conveniente pero sin ambigüedades. Como mínimo, los algoritmos requieren estructuras que lleven a cabo procesamiento secuencial, selección para toma de decisiones e iteraciones para control repetitivo. Siempre y cuando el lenguaje proporcione estas instrucciones básicas, éste puede ser usado para la representación del algoritmo.
Todos los ítems de datos en la computadora están representados como cadenas de dígitos binarios. Con el fin de darle significado a estas cadenas, necesitamos tener tipos de datos. Los tipos de datos brindan una interpretación para estos datos binarios de modo que podamos considerarlos en términos que tengan sentido con respecto al problema que está siendo resuelto. Estos tipos de datos incorporados de bajo nivel (a menudo denominados tipos de datos primitivos) proporcionan los bloques constructivos para el desarrollo de algoritmos.
               HISTORIA DE LA PROGRAMACIÓN
Gottfried Wilheml von Leibniz (1646-1716), quien aprendió matemáticas de forma autodidacta (método no aconsejable en programación) construyó una máquina similar a la de Pascal, aunque algo más compleja, podía dividir, multiplicar y resolver raíces cuadradas.
Resultado de imagen para historia de la programacionPero quien realmente influyó en el diseño de los primeros computadores fue Charles Babbage (1793-1871). Con la colaboración de la hija de Lord Byron, Lady Ada Countess of Lovelace (1815-1852), a la que debe su nombre el lenguaje ADA creado por el DoD (Departamento de defensa de Estados Unidos) en los años 70. Babbage diseñó y construyó la "máquina diferencial" para el cálculo de polinomios. Más tarde diseñó la "máquina analitica" de propósito general, capaz de resolver cualquier operación matemática. Murió sin poder terminarla, debido al escepticismo de sus patrocinadores y a que la tecnología de la época no era lo suficientemente avanzada. Un equipo del Museo de las Ciencias de Londres, en 1991, consiguió construir la máquina analítica de Babbage, totalmente funcional, siguiendo sus dibujos y especificaciones.

Un hito importante en la historia de la informática fueron las tarjetas perforadas como medio para "alimentar" los computadores. Lady Ada Lovelace propuso la utilización de las tarjetas perforadas en la máquina de Babbage. Para que se enteren todos esos machistas desaprensivos, el primer programador/a fue una mujer. En 1880 el censo en Estados Unidos tardó más de 7 años en realizarse. Es obvio que los datos no eran muy actualizados. Un asistente de la oficina del censo llamado Herman Hollerit(1860-1929) desarrolló un sistema para automatizar la pesada tarea del censo. Mediante tarjetas perforadas y un sistema de circuitos eléctricos, capaz de leer unas 60 tarjetas por minuto realizó el censo de 1890 en 3 años ahorrando tiempo y dinero. Más tarde fundó la Tabulating Machine Company y en 1924 tras alguna que otra fusión nació la Internacional Bussines Machines, IBM.
QUE ES ELEMENTO
En otros sentidos, se conoce como elemento a la parte integrante de algo, a las pieza que forman una estructura y a los componentes de una agrupación humana. Por ejemplo: La CPU es el elemento central de una computadoraMi equipo de trabajo está formado por cuatro elementos básicos: el martillo, el destornillador, los clavos y los tornillosLa policía ha detectado el accionar de elementos subversivos dentro de la universidad pública.
Un elemento es, por otra parte, un individuo que es valorado positiva o negativamente para el desarrollo de una acción conjunta: Gómez es uno de los elementos más importantes en nuestro juego de equipoEste hombre es un mal elemento que siempre genera problemas en la oficina.
            ¿QUE ES UN ALGORITMO?
Un algoritmo es una secuencia lógica y finita de pasos que permite solucionar un problema o cumplir con un objetivo.
Resultado de imagen para que son algoritmosLos algoritmos deben ser precisos e indicar el orden lógico de realización de cada uno de los pasos, debe ser definido y esto quiere decir que si se ejecuta un algoritmo varias veces se debe obtener siempre el mismo resultado, también debe ser finito o sea debe iniciar con una acción y terminar con un resultado o solución de un problema.
Cuando se elabora un algoritmo se debe tener en cuenta lo siguiente.
  • Tener claro cuál es el problema que va a solucionar.
  • Establecer un objetivo que permita medir la solución del problema.
  • Elaborar un algoritmo que solucione el problema.
  • Realizar pruebas al algoritmo para verificar los resultados.
Existen dos tipos de algoritmos. Los algoritmos convencionales que son los que hacen las personas todos los días en sus diferentes actividades para solucionar problemas del trabajo o de la vida cotidiana. Y los algoritmos computacionales que son los que utilizan el computador a través de programas diseñados por desarrolladores de software y programadores para dar solución a problemas de cálculo o de manejo de información.


           ELEMENTOS DE UN ALGORITMO

Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver un problema, los elementos que se utilizan en la construcción de algoritmos son los siguientes:
  • Comandos
  • Datos
  • Variables y contantes
  • Operadores
Comandos o Palabras reservadas
Todos los lenguajes, naturales o computacionales, tienen palabras que denotan una acción. Los comandos no son más 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: Inicio, Leer, Imprimir.
Datos
Un dato es un campo que puede convertirse en información. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción. La importancia de los datos está en su capacidad de asociarse dentro de un contexto para convertirse en información. Es decir, por si mismos los datos no tienen capacidad de comunicar un significado y por tanto no pueden afectar el comportamiento de quien los recibe. Para ser útiles, los datos deben convertirse en información que ofrezca un significado, conocimiento, ideas o conclusiones.
Los datos simples pueden ser:
  • Numéricos (Reales, Enteros)
  • Lógicos
  • Carácter (Char, String)
Variables y Constantes
Son  espacios  de  memoria  creados  para  contener  valores  que  de  acuerdo  a  su  naturaleza  deseen  mantenerse (Constantes) o que puedan variar (Variables).


Constante

Es un dato que permanece con un valor, sin cambios, es decir constante, a lo largo del desarrollo del algoritmo o a lo largo de la ejecución del programa. Se utiliza cuando necesitamos que el valor de determinada variable se mantenga durante la ejecución del programa o hasta tanto se requiera su cambio.


Variable

Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmo o en el transcurso de la ejecución del programa.
Una  variable  descrita  o  declarada  de  un  tipo  determinado,  sólo  podrá  contener,  valores  de  ese  tipo.  Una  variable  declarada  numérica entera, no podrá contener números reales. Se utiliza cuando el dato que contiene sufrirá cambios o variará en la medida que cambien los valores que maneje.



Operadores aritméticos

Son  utilizadas  para  construir  fórmulas  matemáticas.  Las  variables  y  constantes  utilizadas  son  de  naturaleza  numérica,  es  decir  números  enteros  o  reales,  y  las  operaciones  a  efectuar  son  de  orden aritmético.



Operadores relacionales

Los  operadores  relacionales  sirven  para  expresar  las  condiciones  en  los  algoritmos. Las  variables  y  constantes utilizadas son de distinta naturaleza, el resultado de una expresión lógica y relacional es de tipo lógico.



Operadores lógicos

Se  utilizan  en  los  programas  cuando  se  requiere  conocer  o  evaluar  si  los  valores  de  variables  o  constantes determinadas cumplen con ciertas condiciones. De cumplirse o no, permiten un conjunto de instrucciones que pueden o no ejecutarse. Una expresión lógica puede ser verdadera o falsa.

       EXPONENTES DE LA PROGRAMACIÓN

  • Resultado de imagen para ada lovelaceAda Lovelace: Ada es considerada el primer programador (o, en realidad, la primera programadora) de la historia. El lenguaje de programación Ada fue nombrado en su honor. ¿Cuál fue su contribución al mundo de la programación? Ada, hija del poeta Lord Byron, desarrolló su propia poesía en el primer algoritmo diseñado para ser procesado por una máquina. Esa era la máquina analítica de Charles Babbage. Lovelace incluyó una serie de métodos para calcular, usando la máquina de Babbage, números de Bernouille, es decir, una secuencia de números racionales relacionados con la teoría de los números.
  • Resultado de imagen para alan turingAlan Turing: nos movemos un poco más adelante en el tiempo para acercarnos a la computadora moderna. Uno de los personajes que más relevancia tuvo en el desarrollo de los ordenadores como los conocemos hoy en día es Alan Turing. Turing formalizó los conceptos de computación y algoritmos con la máquina de Turing, o, como se llamaba oficialmente, la máquina automática. La máquina de Turing puede ser adaptada para simular la lógica de cualquier algoritmo, y sirve de ayuda para comprender el funcionamiento de una computadora personal y los límites de la computación mecánica.
  • Resultado de imagen para linus torvaldsLinus Torvalds: una lista con los más reconocidos programadores no puede pasar sin agregar al finlandés Torvalds. Es el arquitecto principal del sistema operativo Linux. Después de conocer UNIX en la universidad, comenzó a desarrollar lo que sería su tesis: Linux. Desde la publicación del código de Linux, en 1991, hoy en día millones de personas lo usan en sus computadoras personales. Para poder terminarlo, Torvalds contó con la colaboración de los programadores de minix, por lo que su nacimiento fue enteramente colectivo, con programadores alrededor del mundo sumándose para ayudar.
  • Resultado de imagen para dennis ritchieDennis Ritchie: Ritchie es más conocido por haber desarrollado el lenguaje C, que a su vez tuvo influencias en todo tipo de lenguajes de programación y sistemas operativos. Jefe de Lucent Technologies hasta su retiro, en 2007, Ritchie es el creador de C y uno de los desarrolladores más importantes de Unix. El lenguaje C es uno de los más utilizados en la historia de la programación, y facilita muchísimas cosas. De hecho, el lenguaje, desarrollado a comienzos de los ’70, inspiró a otros lenguajes, como C++, que nació como una de sus extensiones.
  • Resultado de imagen para adi shamirAdi Shamir: Shamir es el co-inventor del algoritmo RSA (de hecho, la S en el nombre viene de su nombre), y uno de los inventores del cryptanalásis diferencial, por lo que su trabajo tiene múltiples implicaciones en la computación moderna. RSA es un algoritmo utilizado en criptografía, el primero que permite firmas y encriptado. Es una de las herramientas más utilizadas en e-commerce, y uno de los algoritmos más seguros inventados en la historia. Otro de sus grandes aportes fue el Shamir’s Secret Sharing, un algoritmo que permite que una información sea dividida en partes, con una parte única asignada a un determinado usuario.
  • Imagen relacionadaJohn George Kemeny y Thomas Eugene Kurtz: estos dos programadores fueron los encargados, allá por los años ’60, en desarrollar el lenguaje BASIC de programación. BASIC fue el primer lenguaje simple de usar, y desarrollado por estos dos compañeros de la Universidad de Darthmouth. ¿Su propósito? Permitir que los usuarios que no estuvieran acostumbrados a los lenguajes conocidos de programación tuvieran acceso a las computadoras del campus. Hoy en día, BASIC en sus múltiples variantes es uno de los lenguajes de programación más utilizados en el mundo. 

No hay comentarios:

Publicar un comentario