CONCEPTOS BÁSICOS DE PROGRAMACIÓN
Definiciones principales de Programación
CONCEPTOS BÁSICOS Y DIAGNÓSTICO
Programación y Bases de Datos
Es un Módulo de Formación del Bachillerato Técnico en Informática que permite al estudiante razonar, para elaborar programas que realicen un procesamiento de datos, con el objetivo de dar una solución a un caso práctico de la vida cotidiana. 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. Con esta materia el alumno aprenderá a escribir, analizar, probar, depurar y dar mantenimiento al programa generado en un Lenguaje de Programación.
Objetivo: Desarrollar sistemas informáticos con lenguajes de programación y base de datos, aplicando diferentes metodologías según los requerimientos de funcionalidad.
DEFINICIONES BÁSICAS
¿QUÉ ES UNA COMPUTADORA?
Una computadora es un dispositivo electrónico utilizado para procesar información y obtener resultados. Los datos y la información se pueden introducir en la computadora por la entrada (input) y a continuación se procesan para producir una salida (output, resultados). La computadora se puede considerar como una unidad en la que se ponen ciertos datos, entrada de datos, procesa estos datos y produce unos datos de salida. Los datos de entrada y los datos de salida pueden ser realmente cualquier cosa, texto, dibujos o sonido.
El sistema más sencillo de comunicarse una persona con la computadora es esencialmente mediante un ratón (mouse), un teclado y una pantalla (monitor). Hoy día existen otros dispositivos muy populares tales como escáneres, micrófonos, altavoces, cámaras de vídeo, cámaras digitales, etc.; de igual manera, mediante módems, es posible conectar su computadora con otras computadoras a través de redes, siendo la más importante, la red Internet.
¿QUÉ ES PROGRAMACIÓN?
Es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. La programación se rige por reglas y un conjunto más o menos reducido de órdenes, expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural acotada (en inglés); y que además tienen la particularidad de una reducida ambigüedad.
En el momento en el que nos encontramos, una computadora común es incapaz de tomar decisiones por cuenta propia, haciendo que sea necesario que nosotros nos comuniquemos con ella para que ejecute los comandos necesarios para que realice sus funciones, de manera que tú puedas leer estas líneas.
ORGANIZACIÓN FÍSICA DE UNA COMPUTADORA (HARDWARE)
Constan fundamentalmente de tres componentes principales: Unidad Central de Proceso (UCP) o procesador (compuesta de la UAL, Unidad Aritmética y Lógica, y la UC, Unidad de Control); la memoria principal o central y el programa. (Fig. 1)
Si a la organización se le añaden los dispositivos para comunicación con la computadora, aparece la estructura típica de un sistema de computadora: dispositivos de entrada, dispositivos de salida, memoria externa y el procesador/memoria central con su programa. (Fig. 2)
¿QUÉ NECESITO PARA PROGRAMAR?
A más de tener una fuerza de voluntad por aprender, se requiere mucha creatividad, ser organizado, ser analítico y poseer una buena imaginación, en el proceso necesitas conocimiento de los lenguajes de programación y conocimiento de cómo darle ordenes al computador. Es todo lo que necesitas para empezar a programar y convertirte en un desarrollador de código.
¿PARA QUÉ SIRVE PROGRAMAR?
Prácticamente te sirve para todo. Es una respuesta tan ambigua como compleja. Programar te sirve para comunicarte con cualquier computadora, smartphone, Tablet y dado que nos encontramos en un escenario en donde prácticamente estamos rodeados de ellos 24/7, programar se vuelve indispensable si te quieres dedicar a la tecnología, a la innovación o incluso a trabajar en cualquiera de las ramas a las que te dediques y desees construir tu propio sitio web.
¿CUÁLES SON LOS ELEMENTOS PRIMORDIALES DE LA PROGRAMACIÓN?
La lógica de programación tiene tres elementos primordiales: creatividad, lógica y razonamiento. Con ello, cualquiera de nosotros puede ser capaz de programar. El ser humano por naturaleza es creativo, puede encontrar más de una solución a un problema que se le presente, a su vez tenemos una lógica; es decir, es el orden en que llevamos a cabo cualquier actividad mental, y el razonamiento que es la capacidad que tenemos para resolver problemas, extraer conclusiones y aprender de manera consciente.
¿CUÁLES SON LOS PASOS QUE HAY QUE SEGUIR PARA PROGRAMAR?
La programación va más allá de dominar un lenguaje de programación o “tirar líneas” de código a diestra y siniestra. Se requiere tener una visión general de una problemática, y poder definir cómo se le dará solución a dicha problemática utilizando la computadora, para ello debemos seguir las siguientes fases:
Análisis del problema: En esta fase se debe de analizar la problemática a la que se le quiere dar solución, identificar todos los recursos con los que se cuenta (tecnológicos, humanos, legales, financieros entre otros). Aquí se va a definir qué es lo que debe hacer el programa. También se van a identificar los requerimientos del usuario.
Diseño del algoritmo: Esta es una fase interesante en la cual se debe realizar la representación gráfica, que pueda mostrar la solución del problema, puede ser a través de un diagrama de flujo; por ejemplo, se van a identificar los datos de entrada, cómo serán procesados y la salida o resultado que se va a obtener con este diseño.
Codificación: Aquí es donde se podrá elegir el lenguaje de programación que se empleará para desarrollar el software. Siguiendo la metodología adecuada.
Ejecución y prueba: En esta fase se realizarán todas las pruebas necesarias para garantizar el buen funcionamiento del programa y así garantizar la calidad del mismo.
¿QUÉ ES UN ALGORITMO?
Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema.
Los 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.
La definición de un algoritmo debe describir tres partes : Entrada, Proceso y Salida.
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.
Un diagrama de flujo permite representar de forma gráfica un algoritmo a través de símbolos.
Símbolos de un diagrama de flujo
Las entradas son datos o insumos que necesita el algoritmo para que se pueda elaborar.
Los procesos son las acciones que permiten transformar las entradas (insumos o datos) en otros datos u otros insumos que permitirán dar solución el problema.
Las salidas hacen referencia a los resultados que debe dar al final el algoritmo.
Las decisiones se usan para tomar decisiones lógicas y de acuerdo a estas ejecutar o no conjuntos de instrucciones.
Las iteraciones permiten repetir un conjunto de instrucciones dentro de un algoritmo
- Los diagramas se deben realizar de arriba hacia abajo y de izquierda a derecha.
- El algoritmo debe arrancar con el símbolo de inicio y terminar con símbolo de fin.
- La dirección de flujo se debe representar por medio de flechas.
- Todas las líneas de flujo deben llegar a un símbolo o a otra línea.
Ejemplo de Diagrama de Flujo
¿QUÉ ES UNA VARIABLE?
Una Variable es un espacio de la memoria del computador que permite almacenar información de un determinado tipo de dato.
El tipo de dato indica como es el dato que se almacena en la variable, en programación los tipos de datos básicos son los numéricos, los carácter y los lógicos.
Variable tipo numérico: Las variables de tipo numérico se utilizan para almacenar valores numéricos, ya sean enteros o reales con los cuales se pueden realizar operaciones aritméticas como la suma, resta, multiplicación, división entre otras.
Variable tipo carácter: Las variables de tipo carácter se usan para almacenar uno solo o varios caracteres como los que forman una palabra o una frase, estos deben estar encerrados entre comillas dobles o simples, con el fin de que el lenguaje de programación las pueda reconocer como variables de tipo carácter.
Variables lógicas: Las variables de tipo lógicas se conocen como boolean o booleano y permiten almacenar uno de los dos estados lógicos (verdadero o falso).
¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?
Un lenguaje de programación, es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.
El ordenador solo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, solo 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 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 Estructuras Dinámicas de Datos.
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 maquina 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 máquina.
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).
Los típicos lenguajes más usados son: Java, C#, Python, JavaScript.
Lenguajes de medio nivel
Lenguaje de medio nivel es un lenguaje de programación como el lenguaje C, que se encuentran entre los lenguajes de alto nivel y los lenguajes de bajo nivel.
Suelen ser clasificados muchas veces de bajo nivel, pero permiten ciertos manejos de alto nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.
Una característica distintiva, por ejemplo, que convierte a C en un lenguaje de medio nivel y al Pascal en un lenguaje de alto nivel es que en el primero es posible manejar las letras como si fueran números (en Pascal no), y por el contrario en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funciones correspondientes).
Una de las características más peculiares del lenguaje de programación C; es el uso de “apuntadores”, los cuales son muy útiles en la implementación de algoritmos como Listas ligadas, Tablas Hash y algoritmos de búsqueda y ordenamiento que para otros lenguajes de programación (como Java por ejemplo) les suele ser un poco más complicado implementar.
Los típicos lenguajes más usados son: C, C++.
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 puede migrar o utilizar en otras máquinas.
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 máquina: este lenguaje ordena a la maquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0’s y 1’s para formar las ordenes entendibles por el hardware de la máquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
El lenguaje ensamblador es un derivado del lenguaje maquina y está formado por abreviaturas de letras y números. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje maquina. Como ventaja con respecto al código de máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria.
¿QUÉ ES UN PSEUDOCÓDIGO?
Antes de comenzar, sobre todo si recién estamos empezando en el tema de los lenguajes de programación, es sumamente importante intentar conocer el concepto detrás del seudocódigo. Cabe destacar que la palabra “Pseudo” proviene del griego y significa “Falso”. En ámbitos como el de las ciencias de la computación, las carreras en informática y el análisis numérico, se denomina como pseudocódigo a un método usado para visualizar la solución de un algoritmo de manera detallada.
Entonces, el pseudocódigo es una manera relativamente sencilla de expresar los distintos pasos que debe realizar un programa hasta alcanzar su objetivo, sin tener que ejemplificar el mismo y tener que desarrollarlo en un lenguaje de programación específico, con lo cual estaríamos limitando el diseño a las características propias del lenguaje de programación utilizado.
Sin embargo, una definición más exacta del pseudocódigo es que se trata de la descripción de un algoritmo informático de programación de alto nivel compacto e informal, el cual utiliza las convenciones estructurales de un lenguaje de programación verdadero pero que a su vez es independiente de cualquiera de ellos.
A pesar que el pseudocódigo utiliza las convenciones de desarrollo de un lenguaje de programación estándar, lo cierto es que con el pseudocódigo estamos eliminado la barrera de las limitaciones estructurales, ya que tenemos total libertad de diseño, es decir que no tenemos que pensar en las diferentes implantaciones de una idea para cada tipo de lenguaje de programación.
Para no tener que lidiar con esta problemática, nada mejor que utilizar herramientas de software que nos puedan facilitar el trabajo de hacer el seudocódigo con una estructura estándar, para ello nada mejor que PSeInt, un software gratuito que es capaz de ofrecernos mucha ayuda al momento de tener que escribir pseudocódigo, y que además es sencillo de usar e incluye opciones como la posibilidad de crear diagramas de flujo.
Ejemplo de programación en Pseudocodigo
Descarga el programa aquí: http://pseint.sourceforge.net/
Paginas Web:
Comentarios
Publicar un comentario