inicio

Informática

¿Por qué limitarte a ser un usuario más?
Certifica tu conocimiento en el manejo de PC.Actualizarte en el uso de las Tic's


PROGRAMACIÓN


PRINCIPIOS DE PROGRAMACIÓN


INTRODUCCIÓN


Información es todo aquello que a través de nuestros sentidos penetra a nuestro sistema nervioso y produce un aumento en nuestros conocimientos. La información expresa el saber en sentido amplio. El funcionamiento de todas las comunidades animales y humanas es posible a través de la comunicación.

Informática

La información debe de representarse mediante unos símbolos que todos los individuos que estén involucrados en esa comunicación sean capases de traducir para poder interpretarlos.

La informática es la ciencia que estudia el tratamiento de la información, los instrumentos y medios que permiten automatizar determinadas tareas repetitivas liberando al ser humano de esas pesadas labores.

Un sistema de información o sistema informático es aquel que realiza algún tipo de tratamiento de la información.

La información que se maneja en un sistema informatico sera utilizada para obtener un resultado, se conocen como datos de entrada y salida, en el proceso hay datos que no son vistos para un usuario estos solo los ve el programador, el proceso es determinado por el programador, los datos utilizados en el sistema informatico son los siguientes.

•Datos de carácter fijo.-No varían durante el proceso de elaboración de la información

•Datos temporales.–Se utilizan para obtener resultados intermedios y se eliminan una vez que se han obtenido los resultados.

•Variables que pueden cambiar el estado del sistema.

El sistema informático necesita conocer como debe procesarse la información. A través de un programa que tiene almacenado y que contienen todas las instrucciones para la elaboración de los datos.

Un procedimiento es el cumplimiento de una serie de pasos a seguir los cuales estan previamente establecidos, se ejecutan en una secuencia determinada para obtener un resultado.

Los procedimientos para llegar a un resultado son estudiados y elaborados por el programador, es muy importante el realizar un estudio preliminar de la informacion que se manejara, con el estudio de la información el programador tiene un panorama amplio de el tipo de proceso que se tendra que realizar para lograr el resultado deseado para el usuario del sistema.

Estudio de la información

la informacion puede estar en una categoria dependiendo el uso de ella, la informacion se puede categorizar por su significaco, importancia, vigencia, validez y valor, el clasificar la información ayuda al programador a entenderla para encontrar y estudiar el proceso que tiene al obtener el resultado deseado o requerido por el usuario, entender la para su posterior proceso es fundamental, recordemos que la información desglosada en tipos de datos especificos no tienen valor alguno, el valor de los datos solo se dan cuando en el proceso del sistema son utilizados para obtener el resultado deseado.

En un sistema de informacion o informatico los datos que actuen directamente en la obtencion del resultado son los te tendran mayor valor, hay datos secundarios que pueden intervenir para a completar el significado de estos, los demas datos no tendran ningun valor dentro del sistema. ejemplo:

Al registrarnos para obtener una identificacion de la mayoria de edad, los datos mas importantes son tu nombre, fecha de nacimiento, nacionalidad, son los datos mas importantes o de prioridad los datos como el domicilio actual, es un dato secundario que posterior mente puede cambiar, los datos que no son relevantes se desechan como el grado de estudio, trabajo, etc.

Se considera que la generación y/o obtención de información persigue estos objetivos:

-Aumentar/mejorar el conocimiento del usuario, o dicho de otra manera reducir la incertidumbre existente sobre un conjunto de alternativas lógicamente posibles.
-Proporcionar a quien toma decisiones la materia prima fundamental para el desarrollo de soluciones y la elección.
-Proporcionar una serie de reglas de evaluación y reglas de decisión para fines de control.

En relación con el tercer punto, la información como vía para llegar al conocimiento, debe ser elaborada para hacerla utilizable o disponible (este proceso empírico se llama Documentación y tiene métodos y herramientas propios), pero también es imposible que la información por sí sola dote al individuo de más conocimiento, es él quien valora lo significativo de la información, la organiza y la convierte en conocimiento. El dato, por así llamarlo, es en sí un "prefijo" de la información, es decir, es un elemento previo necesario para poder obtener la información.

 

Dato

Es una representación símbolica, un atributo o caracteristica de una entidad. No tiene ninguna información o valor. Puede ser un número, letra, numeros y letras, un símbolo o caracteres que representen una palabra, una cantidad, una medida o descripción.

 

Tipos de datos

La información se puede separar para su mayor comprensión en datos específicos, los cuales pueden ser: Númericos, Alfabeticos y Alfanúmericos. Estos deben de identificarse de manera previa para no interrumpir el proceso de la solucion.

En informatica se manejan los tipos de datos como:

-Datos de entrada/salida: En un programa, los datos de entrada son los que la computadora va a procesar, los introduce un usuario, los datos de salida son los datos derivados, es decir, obtenidos a partir de los datos de entrada, son los resultados del proceso de ellos.

-Operadores: Son los simbolos que representan la operación entre uno o más datos.Utilizados en la representación de operaciones.

Tipos de operadores: De calculo, aritméticos, de comparación, de concatenación de texto y de referencia.

 

Variables

Una variable almacena un tipo de dato el cual puede cambiar, ocupa un espacio en la memoria, su nombre y tipo de dato nunca va a cambiar, solo se puede haber variables con el mismo nombre pero si con el mismo tipo de dato.

 

Constantes

Son los datos que no cambiaran durante el procedimiento, son datos fijos que estaran predeterminados por el programador.

 

Control de flujo

Todos los sistemas tienen una línea de control que va a cuidar el flujo de la información para que los datos que se estan manejando sigan siendo los correctos y adecuados en el proceso, la información y datos que se manejan no siempre van a ser los mismos o del mismo tipo, preo sin embargo estarán ligados.

Un control para estos datos empieza por las variables de los que seran utilizados, una variable puede contener un tipo de dato, pero nunca cambiara.

Otro es el mismo procedimiento que se va a llevar a cabo para encontrar o resolver la situación, en el proceso los datos son en su tipo para el proceso no pueden cambiar por otro dato que no sea el requerido.

 

Procedimiento, proceso de la información

Para poder entender el procedimiento que debe de tener la información, que pasos debe se seguir la informacion para plantear su procedimiento, primero debemos de entender los siguientes conceptos:

Problema: Situacion que requiere una solucion

Solución: Se define como un metodo de reparacion, en informatica se emplea el termino como el separar inconvenientes de la programacion, diferentes caminos pueden dar la solucion.

Procedimiento: Un tipo de sub rutina, pasos a seguir para obtener un resultado.

Algoritmo: Es un conjunto de operaciones ordenadas (procedimientos) de modo que puedan resolver un problema.

Paradigma: Significa modelo, en informatica son modelos a seguir, estos supuestos son los mejores modelos al resolver un problema.

 

Despues de ver estos conceptos podemos entender un poco más como es el proceso que tiene la información, al entender el camino y direccion que sigue el proceso que tiene para alcanzar un resultado podemos plantear adecuadamente el procedimiento que la informacion tendra.

Pasos para resolver un problema

1.- Definir la situación

2.- Describir claramente la situación

3.- Planear las diferentes soluciones

4.- Describir la informacion necesaria que se empleara en las soluciones

5.-Determinar el criterio de la resolucion

6.-Estimar el tiempo empleado en la resolucion

7.-Establecer los procedimientos

8.- Establecer el algoritmo que le dara solucion a la situación

Estos pasos son una herramienta que el programador utiliza para entender el proceso que debe de llevar a cabo un procedimiento antes de llegar al algoritmo, es el algoritmo un paso antes de la programacion al igual que los diagramas de flujo, estos son herramientas fundamentales para el programador, le es más facil seguir una logica del proceso que va a programar.

Algoritmo

Son los procedimientos determinados a seguir en la resolucion de una situación, estos se escriben en un lenguaje natural para su comprensión, el seguimiento del programador para programar el un ordenador debe de ser lo más especifico, concreto y entendible, el programador debe de trascribir el algoritmo en codigos que entienda la maquina, encaso de tener errores en la ejecucion del programa el programador se puede basar al algoritmo para encontrar las fallas de el programa y asi corregirlo.

Los algoritmos deben de escribirse en forma de lista de pasos a seguir, establecer las operaciones los datos a utilizar como lo son datos constantes, variables asi como los tipos de datos que son, los operadores que son utilizados en los diferentes procedimientos, esto en un lenguaje fluido y escrito en su lenguaje natural (idioma).

Los algoritmos siempre deben de ir acompañados de un diagrama de flujo para que el programador pueda comprender de mejor manera los diferentes procedimientos, el diagrama de flujo es una herramienta grafica que muestra el o los diferentes caminos que toman los diferentes procedimientos dentro del algoritmo.

 

Diagramas de flujo

Los diagramas de flujo son una herramienta grafica que representa un algoritmo y son utilizados por el programador, antes de que el programador empiece a programar, utiliza dos herramientas poderosas que lo ayudan a entender lo que programara en codigos en un ordenador, el algoritmo a diferencia de un diagrama esta escrito el una serie de paso y el diagrama esta conformado por simbolos que tienen un significado especifico y solo se escriben los operadores, variables y datos fijos que tiene el algoritmo.

Como todo, los diagramas han evolucionado, los primeros diagramas solo distingan un procedimiento especifico, estos se conocian como BIFURCADO, DE REPETICION, DE PROCEDIMIENTO y DE SELECCION.

Estos diagramas se explican en la siguiente tabla:

El diagrama de flujo puede albergar diferentes operaciones las cuales los simbolos se encargan de seguir el proceso, las flechas les dan la dirección y flujo a los datos, el rombo contiene o puede contener una pregunta lógica que te pueda arrojar dos resultados, en algunos tipos puede arrojar tres resultados como la comparacion de un numero en mayor, menor e igual, esto con un solo dato. Todas las operaciones se deben colocar dentro del rectángulo, utilizar variables en operaciones matemáticas, sino se toman como constantes los numeros que aparezcan hay, el trapecio será el encargado de pedir e introducir los datos del usuario, el ovalo marcarán el inicio y el final del diagrama, el final no siempre es el final del proceso, el regtangulo con una pestaña o ceja es el encargado de mandar el mensajes al usuario con los datos de salida del proceso.

 

REGLAS DEL DIAGRAMA DE FLUJO

Se deben de cumplir ciertas reglas al elaborar un diagrama de flujo, estas reglas son claras para poder realizar un diagrama que represente el algoritmo, el diagrama debe de representar todo el proceso de un algoritmo de forma grafica, si se siguen y se cumplen todas ellas no se debe de tener problema para poderlo hacer.

1.- Flujo de arriba - abajo de izquierda -derecha.

2.- Líneas siempre horizontales o verticales.

3.- Las líneas sólo pueden contener una flecha.

4.- Los datos siempre cumplirán el algoritmo y el pseudocódigo.

5.- No cruzar las líneas.

6.- No usar lenguaje de programación dentro de los símbolos.

7.- Siempre utilizar los símbolos definidos para la repetición del algoritmo.

8.- Evitar que el diagrama sobrepase una hoja, solo si es necesario se utilizaran los conectores.

 

Simbologia del diagrama de flujo.

Los simbolos de un diagrama tienen un significado, se debe de tener cuidado para colocar el simbolo que corresponde y no otro que causaria un mal entendimiento del diagrama, la simbologia se muestra a continuación.

Pseudocódigo

El principal objetivo del pseudocódigo es el representar la solucion o un algoritmo de la forma más detallada pasible, y a su vez lo más parecido posible al lenguaje que posterior mente se utilizara para la codificación del mismo.

 

Prueba de escritorio

Para comprobar que el algoritmo cumple con los diferentes procedimientos y arroja el resultado deseado, se realiza una prueba de escritorio, esto significa que se debe de sustituir con diferentes datos para dar el seguimiento correspondiente dentro del proceso, verificar el camino que puede tener dentro y al final analizar si debe de tener cambios o modificaciones para su funcionamiento eficaz.

 

Lenguaje de programación

Los ordenadores tienen un tipo de lenguaje con el cual el programador puede escribir las instrucciones para que este las entienda, hay diferentes niveles de programación o niveles de lenguaje, estos son:

Lenguaje de bajo nivel: Son lenguajes totalmente dependientes de la maquina, es decir que el programa que se realiza con este tipo de lenguaje no se puede migrar o utilizar en otra maquina diferente, las instrucciones se escriben en codigo maquina mejor dicho codigo binario (0 y 1), este lenguaje es considerado el más complicado. Todo el hardware de se comunica con el codigo maquina.

Lenguaje de alto nivel: Son aquellos que se encuentran más cercanos al lenguaje natural, por ejemplo los códigos escritos con palabras en ingles, es más facil de utilizar a comparacion del codigo maquina.

Lenguaje de medio nivel: Se trata de un término no aceptado por todos, pero que seguramente habra oído. Estos lenguajes se encuentran en un punto intermedio entre los datos anteriores. De estos lenguajes podria situarse C es uno de ellos ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, crear programas para el usuario, todas estas caracteristicas de lenguajes de bajo nivel y a la vez operaciones de alto nivel.

Un programador conoce este nivel de comunicacion un usuario comun solo maneja el lenguaje de alto nivel, los codigos de programacion en codigo maquina y a un nivel medio, son utilizados solo por personas especializadas en ellos, los usuarios pueden conocer algunos pero en la actualidad la mayoria de los usuarios manejan todo desde un sistema operativo.

Programas que hacen programas

Existen diferentes programas que interpretan las instrucciones del programador, son conocidos tambien como lenguajes de programación, entre ellos podemos encontrar los siguientes:

-C

-C++

-Visual Basic

-Visual Basic 6.0

-Java

-HTML

-Cobol

-PHP

Estos solo son algunos de los lenguajes de programación, todos los lenguajes tienen algunas similitudes pero cada uno tienen sus propios comandos, estructuras de codigo. algunos de estos lenguajes solo pueden manejar el codigo maquina otros solos pueden manejar un codigo de un nivel medio, esto no quiere decir que unos sean mejores que otros si no que unos tienen limitantes y hay que conocer esas limitaciones para poder realizar el trabajo de programar y no encontrarnos con ningun limitante.

Tipos de programacion.


Existen varias clases de programación, dependiendo de los métodos utilizados y las técnicas empleadas.

Programación estructurada

La programación estructurada esta compuesta por un conjunto de técnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.

Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.

Esta técnica incorpora:

Diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas.
Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
-Estructuras básicas: existen tres tipos de estructuras básicas:
-Estructuras secuénciales: cada acción sigue a otra acción secuencialmente. La salida de una acción es la entrada de otra.
-Estructuras selectivas: en estas estructuras se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
-Estructuras repetitivas: son secuencias de instrucciones que se repiten un número determinado de veces.

Las principales ventajas de la programación estructurada son:

-Los programas son mas fáciles de entender
-Se reduce la complejidad de las pruebas
-Aumenta la productividad del programador
-Los programas queden mejor documentados internamente.

Un programa esta estructurado si posee un único punto de entrada y sólo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.

Programación modular

En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad.

En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros.

A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.

Programación orientada a objetos (POO)

Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos.

El elemento principal de la programación orientada a objetos es el objeto.
El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.
Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.

El polimorfismo y la herencia son unas de sus principales características y por ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos términos.

En DesarrolloWeb.com hemos publicado anteriormente una explicación de lo que es la programación orientada a objetos.

Programación concurrente

Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez.

Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea.

Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.

Programación funcional

Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.

Programación lógica

Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).

Errores comunes al escribir el codigo

Al escribir el codigo basandonos en un pseudocodigo, diagrama puede que surjan errores en esta transcripcion, de un algoritmo a escribirlo como lineas de comando, aqui estan los errores más comunes al escribir el codigo:

1.- Cambiar alguna letra o caracter en la línea del codigo.

2.- No usar o usar más espacios de los debidos.

3.- El nombre de las variables se repite de forma inadecuada, en mayusculas o minusculas, sin respetar el nombre declarado debe escribirse igual todas las veces que aparezca en el codigo.

4.- No se utilizan los parentesis adecuadamente, faltan o sobran en el codigo.

5.-El nombre de los objetos utilizados no es el correcto, el objeto tiene otro nombre, esto provoca en el codigo un error de objeto no declarado o existente.

6.-Se repiten operadores, estan juntos o no tienen el espacio correspondiente.

7.- Las funciones no estan finalizadas o tienen un final de más.

8.-Las condiciones no concuerdan con la función.

9.-En las funciones no se pueden repetir una variable que se utilice en otra funcion previa.

10.- Los datos que se introducen a una variable no corresponden al tipo de dato de la variable.

11.- Los datos que se mandan a la pantalla no estan especificados, los datos de salida, no son identificados.

 




INICIO






INICIO




Regresar al inicio



© 2011 JCFT Inc. Todos los derechos reservados.