En los inicios de la programación y hasta principios de los sesenta, no había estructuras bien definidas en la forma en que se escribía el código. Se disponía una línea tras otra de programación construyendo un único e inmenso bloque, que constituiría el programa.
El control del flujo a través de gran cantidad de líneas de instrucciones, resultaba difícil de seguir no sólo por su tamaño, sino porque no siempre es posible programar siguiendo la secuencia de una línea tras otra. Por lo que, luego de los años 60 del siglo XX, se hizo frecuente el uso de la instrucción go to (vaya a) escrito como “goto” en el programa.
Esta instrucción goto, identifica una línea de programa, que puede estar varias líneas más abajo e incluso varias líneas más arriba, a la cual salta para cambiar el control del flujo. Si se piensa en un programa pequeño, tal vez no resulte tan engorroso el seguimiento de estos saltos. La cuestión cambia, si se trata de un programa de miles de líneas donde se generaliza el uso del goto, de modo que el programa va a presentar multitud de saltos. Entonces seguir el flujo del programa realmente se torna muy complicado e incluso imposible, aún para quien lo esté desarrollando.
Surge como la práctica de construir programas usando un conjunto de estructuras bien definidas. Esta programación evoluciona en los años sesenta y entre una de sus metas se encuentra, la eliminación de la instrucción goto dentro del código. Aún cuando la programación estructurada brindó mejoras, atribuyendo claridad y eficiencia en los programas, continuó existiendo la necesidad de hacer programas de manera más rápida y eficiente. Se reconoce en la reutilización del código, como un camino a la solución de acelerar la construcción de los programas. Las subrutinas, bloques constructores en la programación estructurada, son un paso más en la solución de este problema.
En la programación orientada a objetos, los bloques constructores son unos componentes modulares y reusables, denominados objetos. Surge en los ochenta, afirmándose que llegará a ser el enfoque dominante de la programación. Este enfoque enriquece la programación estructurada, más que sustituirla. Los objetos están compuestos en sí mismos, por piezas de programa estructuradas, y la lógica de manipulación de objetos también es estructurada.
Características de la programación estructurada
Publicado por CPA-BLOG / Category: estructuras, programación1. La estructura secuencial: Está definida por el flujo de control automático de un programa. De manera natural, a menos que otra cosa se indique, la computadora ejecuta las líneas de código en el orden en que fueron escritas. El control del programa fluye de la línea anterior a la línea siguiente.
Características de la programación orientada a objetos
Publicado por CPA-BLOG / Category: objeto, programación
Los procedimientos y funciones son bloques de código reusables, que pueden ser invocados en cualquier parte de un programa, mediante expresiones que les representan. Son algoritmos específicos en un lenguaje de programación que resuelven un problema definido. Pueden ser usados cada vez que es requerido, simplemente colocando la expresión que les invoca, sin necesidad de reescribir todas las instrucciones que representan a tal procedimiento o función. Por ejemplo, si se desea la raíz cuadrada de un número, podría usarse la expresión Sqrt(x). La x dentro del paréntesis es llamada argumento, siendo el número del cual se desea la raíz cuadrada. El argumento permite especificar la entrada a la función cuando el programa se está ejecutando. Siendo x la variable que almacena el número 12 para un programa, la función buscará la raíz cuadrada de 12. Cuando la función encuentra la raíz cuadrada, devuelve el valor al programa que la invocó.
A los procedimientos y funciones en conjunto suele denominárseles también rutinas o subrutinas. Dependiendo del lenguaje de programación que se esté utilizando y de acuerdo a cómo éste implemente las rutinas, se pueden imponer algunas diferencias entre las funciones y los procedimientos. Las funciones, en general, son rutinas que devuelven un valor como resultado a partir de uno o más argumentos. Es el caso de las funciones matemáticas, que calculan el logaritmo de un número, su raíz cuadrada,... Los procedimientos por otro lado, son aquellas rutinas que no devuelven un valor, sino que realizan una acción determinada, usando tal vez un grupo de argumentos. Es el caso, por ejemplo, de un procedimiento para presentar por pantalla una circunferencia, en la que tendría que suministrarse simplemente valores como la posición en la pantalla y el radio de la misma.
Es una serie finita de pasos o instrucciones mediante los cuales se resuelve un problema o se ejecuta una tarea específica. Más formalmente los algoritmos se caracterizan por:
- Ser finitos, porque tienen un número determinado de pasos.
- Ser definidos, lo que implica que cada vez que se siga se obtendrá invariablemente el mismo resultado.
- Ser precisos, pues cada paso tiene un orden a seguir.
Es el orden en el cual se van ejecutando las instrucciones del programa. Aunque un programa puede estar constituido por muchos archivos, regularmente cuenta con un archivo, que constituye su parte primordial, con frecuencia llamado archivo ejecutable, porque es el que la computadora ejecuta cuando el usuario inicia el programa. Entonces, la computadora lee y realiza la primera instrucción y luego continúa o fluye a otra, de manera sucesiva, hasta completar la acción de la última instrucción y así el programa termina. Sin embargo, es muy probable que no todas las instrucciones se encuentren en un único archivo. En este caso el flujo pasa momentáneamente a las líneas de código almacenadas en este otro archivo y luego, devuelve el control al programa principal.
- Confiabilidad, es decir, el programa debe funcionar en prácticamente cualquier situación.
- Debe advertir los errores de entrada comunes y obvios.
- Deben ser bien estructurados, es decir, programas que utilicen organizaciones de la programación estructurada.
- Estar adecuadamente documentado y ser comprensible, no sólo para quien lo crea, sino para otros programadores. Esto es para facilitar las futuras y muy posibles modificaciones que requiera.
Son profesionales encargados de codificar y crear programas
Se ha señalado que la computadora sólo puede ejecutar instrucciones en código de máquina, por lo cual, todos los programas escritos en cualquiera de los lenguajes de programación deben ser convertidos o traducidos. Este proceso es llevado a cabo por unos programas especiales, los “compiladores” y los “interpretes”. Para darse una idea de cómo funcionan, es útil comparar su actuación con la de un profesional humano encargado de traducir. Un compilador equivale a que el traductor humano, partiendo de un texto, prepare otro texto nuevo e independiente, traducido a la otra lengua. En contraste, un intérprete equivale a que tal profesional traduzca de forma hablada, cada grupo de palabras o instrucción, a medida que la oye, sin dejarlas por escrito.
Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.
Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.
Por otra parte, los intérpretes recorren línea a línea el código fuente en el momento de su ejecución. Esto los hace más lentos, debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio, son más flexibles como entornos de programación y depuración.
El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios).
- Conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora.
- Secuencia de instrucciones que una computadora puede interpretar y ejecutar.
- Un programa de cómputo o programa informático (software) es un conjunto o secuencia de instrucciones (llamadas también código) que pueden ser interpretadas y ejecutadas en el CPU de la computadora. Esta secuencia de instrucciones se escribe en alguno de los diversos lenguajes de programación que existen, como BASIC.
- Los programas pueden caer en una de dos categorías: Programas del sistema o programas de aplicación.
El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.
Es el sistema de representación de textos, o procesadores de instrucciones de ordenador, utilizando el sistema binario (sistema numérico de dos dígitos, o bit: el "0" y el "1"). En informática y telecomunicaciones, el código binario se utiliza con variados métodos de codificación de datos, tales como cadenas de caracteres, o cadenas de bits. Estos métodos pueden ser de ancho fijo o ancho variable.
Las variables son los “contenedores” de los datos que se van a procesar, son un elemento común en la mayor parte de los lenguajes de computación. Físicamente, las variables son áreas designadas de memoria en donde se guarda el valor del dato. Supongamos que se escribe un programa en el cual se solicitan sueldos de empleados. Se debe contar con una variable que guarde ese dato. Puede escogerse nombrarla, por ejemplo, v_sueldo.
- Lenguaje de bajo nivel: son aquellos constituidos por instrucciones en lenguaje máquina o próximos a él. Tales lenguajes permiten crear programas muy rápidos y eficientes, pero en contrapartida, estos lenguajes suelen ser difíciles de aprender, programar y depurar. Un hecho importante es, que los programas escritos en un bajo nivel, son prácticamente específicos para cada procesador, lo que implica, que si se quiere ejecutar el programa en otra máquina de arquitectura diferente, es necesario volver a escribir el programa desde el principio.
- Lenguaje de Alto Nivel: En los lenguajes de alto nivel las instrucciones son independientes de la máquina, son más fáciles de aprender porque están formados por elementos de lenguajes naturales (del inglés). En BASIC, comandos como "IF CONTADOR = 10 THEN STOP" son usados para ordenar a la computadora, que pare si CONTADOR es igual a 10. Pero aunque las computadoras parecieran comprender el lenguaje natural, lo hacen de una manera bastante rígida y sistemática, lo cual podría parecer un poco frustrante e inspira la búsqueda de lenguajes más cercanos aún al natural.
Clasificación de los lenguajes de programación: Generaciones
Publicado por CPA-BLOG / Category: generaciones, programación- Primera generación: Lenguaje máquina Son los lenguajes más básicos. Los lenguajes de máquina se representan en bytes, los cuales, están compuestos de bits, que son números binarios o que consisten únicamente de ceros (0) o unos (1). Estos valores pueden corresponder a que la electricidad esté encendida o apagada en la máquina, o a la presencia o ausencia de carga magnética en un medio de almacenamiento. A partir de estos dos estados se forman los esquemas de codificación (como el código ASCII) que permiten generar letras, números, signos de puntuación y caracteres especiales.
- Segunda generación: lenguajes ensambladores: Están constituidos por nemotécnicos similares a palabras en idioma inglés. En primer lugar, se crea un archivo fuente con las instrucciones que se desea que la computadora ejecute, usando un editor, que es una especie de procesador de palabras. El código fuente es traducido al lenguaje máquina mediante programas traductores (compiladores). Los programadores rara vez escriben programas de tamaño relevante en este tipo de lenguajes, debido a que, a pesar que es mucho más fácil que utilizar código de máquina, siguen siendo altamente detallados (instrucciones muy básicas). Sólo se hace en los casos donde la velocidad es clave (como en la programación de juegos de video) y para afinar partes importantes de los programas que son escritos en lenguajes superiores.
- Tercera generación: Los programas de la tercera generación son capaces de soportar programación estructurada, es decir, permiten el uso de estructuras de programación específicas para ramificaciones y ciclos en el flujo del programa. Por otro lado, resultan más claros puesto que usan palabras o comandos semejantes al lenguaje normal, lo que permite compartir el desarrollo entre diferentes programadores. Los programadores que conforman un equipo pueden leer el código realizado por los demás y comprender la lógica y el flujo de control del programa.
- Cuarta generación: Lenguajes de propósito especial: Estos lenguajes de cuarta generación (4GL) son usados en programación, de propósitos específicos, caracterizados por una mayor facilidad de uso comparados con los de la tercera generación, permitiendo la creación de prototipos de una aplicación rápidamente. Los prototipos permiten tener una idea del aspecto y funcionamiento de la aplicación antes que el código sea terminado. Esto implica que quienes estén involucrados en el desarrollo de la aplicación pueden aportar retroalimentación en aspectos como, estructura y diseño desde el principio del proceso. A cambio de esta capacidad para trabajar más velozmente, debe sacrificarse parte de la flexibilidad con la que se disponía con los lenguajes anteriores.
- Quinta generación: Lenguajes naturales: Esta generación incluye la inteligencia artificial y sistemas expertos. En lugar de sólo ejecutar un conjunto de órdenes, el objetivo de estos sistemas es “pensar” y anticipar las necesidades de los usuarios. Estos sistemas se encuentran aún en desarrollo. Aunque los sistemas de inteligencia artificial han demostrado ser más complicados para desarrollar de lo que se anticipaba, los investigadores afirman que pronto serán capaces de tomar como entrada hechos y luego usar un procesamiento de datos que formule una respuesta adecuada, de modo similar a como responden los humanos.
Nuevas tendencias en programación
Publicado por CPA-BLOG / Category: nuevas tendencias, programación
Entre los más comunes podemos nombrar:
- Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”.
- Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.
- Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.
- Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra.
- Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).
- Autoincrementables: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego la podamos encontrar y utilizar fácilmente.
- Independencia lógica y física de los datos.
- Redundancia mínima.
- Acceso concurrente por parte de múltiples usuarios.
- Integridad de los datos.
- Consultas complejas optimizadas.
- Seguridad de acceso y auditoría.
- Respaldo y recuperación.
- Acceso a través de lenguajes de programación estándar.
Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
- MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.
- PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre.
- Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb
- Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.
Del inglés malicious software, también llamado badware, software malicioso o software malintencionado.
Existen muchísimos tipos de malware, aunque algunos de los más comunes son los virus informáticos, los gusanos, los troyanos, los programas de spyware/adware o incluso ciertos bots.
Dos tipos comunes de malware son los virus y los gusanos informáticos, este tipo de programas tienen en común la capacidad para auto replicarse, es decir, pueden contaminar con copias de sí mismos y en algunas ocasiones mutando, la diferencia entre un gusano y un virus informático radica en la forma de propagación, un gusano opera a través de una red, mientras que un virus lo hace a través de ficheros a los que se añade.
Los virus informáticos utilizan una variedad de portadores. Los blancos comunes son los archivos ejecutables que son parte de las aplicaciones, los documentos que contienen macros (Virus de macro), y los sectores de arranque de los discos de 3 1/2 pulgadas y discos duros (Virus de boot, o de arranque). En el caso de los archivos ejecutables, la rutina de infección se produce cuando el código infectado es ejecutado, ejecutando al primero el código del virus. Normalmente la aplicación infectada funciona correctamente. Algunos virus sobrescriben otros programas con copias de ellos mismos, el contagio entre computadoras se efectúa cuando el software o el documento infectado van de una computadora a otra y es ejecutado.
Estas son algunas recomendaciones para establecer los requerimientos mínimos que debes tener en cuenta a la hora de proteger tu PC. sin dejar de utilizar los métodos ya conocidos
- Realizar copias de respaldo de todos los programas y documentos importantes de la red que pueden ser guardados en un Pendrive, CD, DVD, en un D.D entre otros medios externos.
- Evitar navegar por sitios potencialmente dañinos buscando artículos o temas relacionados con "pornografía gratis" o "programas gratis de multiplataforma", "mp3 gratis" entre otros.
- Evitar descargar programas o archivos comprimidos o ejecutables, desde redes peer-to-peer.
- Barra de título: muestra el nombre del proyecto y del formulario q se está diseñando actualmente
- Barra de menús: agrupa los menús despegables que contienes todas las operaciones que pueden llevarse a cabo con Visual Basic 6.0.
- Barra de herramientas estándar: contienen los botones que se utilizan con mayor frecuencia cuando se trabaja con un proyecto. Simplifica la elección de opciones de los menús Archivo, Edición, Ver y Ejecutar; además, en el área derecha presenta la ubicación (coordenadas) y el tamaño del objeto seleccionado
- Ventana de formulario: es el área donde se diseña la interfaz gráfica, es decir, es donde se inserta electo gráficos, como botones, imágenes, casilla de verificación, cuadros de listas, etc.
- Cuadro de herramientas: presenta todos los controles necesarios para diseñar una aplicación, como cuadros de texto, etiquetas, cuadros de listas, botones de comandos, etc.
- Ventana de proyecto: muestra los elementos involucrados en el proyecto, como formularios, módulos, controles oxc, etc. Cada elemento puede seleccionarse en forma independiente para su edición.
- Ventana de posición del formulario: muestra la ubicación que tendrá el formulario en la pantalla, cuando ejecute la aplicación. Esta ubicación puede cambiarse si se hace clic con el botón izquierdo del mouse.
- La Ventana propiedades muestra todas las propiedades del control actualmente seleccionado, en este caso muestra las propiedades del Form1, luego podemos ver que abajo dice "Form1 Form", lo que está en negrita es el nombre del objeto, y lo que le sigue es el tipo de objeto, en este caso es un Formulario (Form).