martes, 17 de octubre de 2017

Programación



Programación


Resultado de imagen para programacion



La programación informática o programación algorítmica, acortada como programación, es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas de computadora. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.




Existen dos tipos de lenguajes claramente diferenciados; los lenguajes de bajo nivel y los de alto nivel.
El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción. 

Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.


Lenguajes de bajo nivel 

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas. 

Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. 

Dentro de este grupo se encuentran: 

  • El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina. 
    Este lenguaje es mucho más rápido que los lenguajes de alto nivel. 
    La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
  • El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Lenguajes de alto nivel 

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. 
Están dirigidos a solucionar problemas mediante el uso de EDD's. 

Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.

Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. 

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina. 

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos). 




Elementos de la programación

Sintaxis
Cada lenguaje de programación tiene unas reglas especiales para la construcción de programación, a esto se le denomina sintaxis
El compilador lee el programa y comprueba que el programa sigue las reglas de sintaxis del lenguaje de programación, el compilador traduce el código fuente de Java a un código máquina (código objeto)
Código Objeto
Consta de instrucciones máquina e información de cómo cargar el programa en la memoria antes de su ejecución
Si el compilador encuentra errores, los presentará en la pantalla, una vez corregidos los errores se vuelve a compilar sucesivamente hasta que no se produzcan más errores
Depuración
Los programas rara vez funcionan bien la primera vez que se ejecutan, por lo que los errores que se detectan deben ser corregidos
Al proceso de encontrar errores se denomina depuración del programa, esta tarea es de las más difíciles en el proceso de programación
Errores de sintaxis
Son aquellos que se producen cuando el programa viola la sintaxis, es decir, las reglas gramaticales del lenguaje
Errores lógicos
Son errores del programador en el diseño del algoritmo, son difíciles de encontrar y aislar, ya que no suelen ser detectados por el compilador
Errores de regresión
Son aquellos que son provocados cuando accidentalmente se producen al corregir un error lógico y se produce otro en otra parte del programa
Elementos léxicos de los programas
  • Identificadores
  • Palabras reservadas
  • Literales
  • Operadores
  • Separadores

Los tipos de lenguajes de programación son los siguientes: 
Lenguaje de Programación "HTML": 
Lenguaje de Programación "SQL": 
Lenguaje de Programación "Java": 
Lenguaje de Programación "C": 
Lenguaje de Programación "XML": 
Lenguaje de Programación "PHP":


Instancia (informática)

Una instancia (en inglésinstance) es la particularización, realización específica u ocurrencia de una determinada claseentidad (modelo entidad-relación) o prototipo.
En general, cuando se ejecuta un programa en un computador, se dice que éste se instancia. En los lenguajes de programación orientada a objetos un objeto es una instancia de una clase. Esto es, un miembro de una clase que tiene atributos en lugar de variables. En un contexto del mundo real, podríamos pensar en "Casa" como una clase y en un chalet como una instancia de esta e incluso otro chalet u otro tipo de casa como puede ser un apartamento como otra instancia.1​ En este caso no importa el tipo de casa, si fuese de nuestro interés modelarlo y especificarlo, diferenciaríamos entre un chalet y un apartamento con dos clases, entidades o prototipos diferentes, c.f. herencia (informática) )

Lenguaje de Programación: Operadores Relacionales

Si lees este artículo, comprenderás la importancia que tienen ciertos tipos de operadores a la hora de programar. Todo esto que te voy a comentar es independiente del lenguaje que utilices, aunque para los ejemplos me centraré en el lenguaje de programacion c++.
Os voy a hablar en este artículo sobre la importancia de los operadores relacionales y lógicos en la programación.
En todos los lenguajes de programación, los operadores relacionales y los lógicos son unas herramientas importantes para que un programa responda a las necesidades de un usuario.
Sabemos que un programa puede responder de diferentes maneras según las opciones que elige un usuario. Ese control de realizar una acción determinada se realiza mediante los operadores relacionales y los lógicos. Un operador relacional o lógico puede dar dos tipos de respuestas VERDADERA O FALSA. Te pongo un ejemplo de esto; 5<4, esta expresión da como resultado FALSO. Al tener estos dos tipos de resultados, asociamos estos resultados al tipo booleano.
Como operadores relacionales tenemos <,>,<=,>=, == (igual), != (distinto) y ! (inversa). El operador == se utiliza para comprobar si un valor es igual a otro. No hay que confundirlo con el operador de asignación = que se utiliza para asignar el valor de una variable.
¿Donde y como usamos estos operadores?. Estos operadores se usan habitualmente en lo que se denominan condicionales. Un condicional es una bifurcación en la estructura del código por la cual según se cumpla la condición, el programa responderá de una manera o de otra. Imaginemos que tenemos un programa que calcula la suma, la resta y la multiplicación de dos números, y el usuario puede elegir una opción de las tres. Según la opción que elija, el programa responderá de una manera de las tres. Estas acciones se realizan mediante los operadores relacionales y lógicos.
Mas adelante mostraré como usar condicionales y veremos más explicitamente el uso de los operadores relacionales y lógicos. Puedes dejar un comentario sobre este artículo comentando si te ha surgido alguna duda o frustración. YO mismo responderé a las mismas.

Lenguajes de Programación: Operadores Lógicos

Uno de los impedimentos a la hora de programar es, el poco entrenamiento que se tiene a la hora del uso de los operadores lógicos. Si lees este artículo ese problema NO lo vas a tener, puesto que voy a intentar que ese aspecto lo trabajes de manera sencilla.
Los operadores lógicos permiten agrupar expresiones lógicas. Las expresiones lógicas son todas aquellas expresiones que obtienen como resultado verdadero o falso. Los operadores lógicos son aquellos que hacen de nexo de este tipo de expresiones.
Los operadores lógicos en C++ son los siguientes && (operador Y) ||(operador OR) y ¡(operador de negación).
Vamos a ver ejemplos para comprender el funcionamiento, el operador && podríamos usarlo en esta expresión lógica:             (3<5) &&  (30>20) esta expresión devuelve verdadero, ya que las dos expresiones son verdaderas (3<5) es verdadero y (30>20) también es verdadero. El operador && devuelve verdadero si TODAS las expresiones son verdaderas, con que una sea falsa el operador devolverá falso.
Vamos a ver el operador || por ejemplo en esta expresión:       (3<5)||(10>20) esta expresión devuelve verdadero, porque con el operador || si una de todas las expresiones es verdadera el resultado es verdadero y como (3<5) es verdadero pues ya se cumple. Para que sea falso ninguna debe de ser verdadera.

Estructuras Repetitivas

Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se ejecuten un cierto número finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otro cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de veces. Se les llama bucle o ciclo a todo proceso que se repite cierto número de veces dentro de un pseudocódigo o un programa y las estructuras repetitivas nos permiten hacerlo de forma sencilla.
FOR (PARA)
Esta estructura ejecuta las acciones del cuerpo del bucle un número especificado de veces, y de modo automático controla el número de iteraciones o pasos.
desde
WHILE (MIENTRAS)
Repite el cuerpo del bucle mientras se cumpla una determinada condición.
mientras
DO- WHILE (HACER MIENTRAS)
La estructura HACER MIENTRAS cumple la misma función que la estructura MIENTRAS. La diferencia está en que la estructura  MIENTRAS comprueba la condición al inicio y repetir lo hace al final. Es por ello que la estructura HACER MIENTRAS se ejecuta por lo menos una vez.
hacermientas




No hay comentarios:

Publicar un comentario