Datos personales

Tuxtla Gutierrez, Chiapas, Mexico

sábado, 8 de diciembre de 2007

4 Introducción a la programación.

4.1 Clasificación del software.

Antes de comenzar con una tediosa clasificación de los tipos de software, es de vital importancia que definamos el concepto de SOFTWARE…

Como nuestro profesor de preparatoria dijera: “Es todo aquel elemento que se puede ver pero no tocar dentro de una computadora”, aunque claro, este concepto no es suficiente para aclarar todo lo que encierra esta palabra.

En realidad, el software es quien determina la tarea a realizar por la computadora, esto se debe a que en él están contenidas las instrucciones para ejecutar las operaciones necesarias, son los que les dicen a los componentes físicos de la maquina que deben hacer.

Bien, ya aclarado el punto anterior prosigo.

El software se divide básicamente en dos grandes categorías, pero dentro de cada una de ellas estan otras especificaciones que delimitan a la infinidad de programas que corren actualmente.Tenemos al software de sistema y al software de aplicación.

4.1.1 Software del sistema.

Este es quizá el más importante de todos, ya que a gracias a él la computadora es capaz de inicializarse, reconocer los dispositivos que posee, verificar errores de inicio, asimismo el sistema operativo se encarga de ejecutarse para posteriormente interactuar con el usuario e indica el modo de uso de los dispositivos como el disco duro, monitor… y es así como una computadora está lista para usarse. Es como el software que le da un soplo de vida virtual.

4.1.2 Software de aplicación.

Es aquí donde se encuentran todos los programas que tienen una utilidad para nosotros, todos aquellos que podemos usar para las necesidades más elementales y aquellas que despierten interés. Así también tiene varias categorías:
  1. Aplicaciones de negocios.
  2. Aplicaciones de utilerías.
  3. Aplicaciones personales.
  4. Aplicaciones de entretenimiento.

Las aplicaciones de negocios son de las más utilizadas, ya que no solo abarca el ámbito de los negocios, sino que también se orienta hacia las escuelas de casi cualquier nivel. Estas aplicaciones son muy útiles ya que agilizan el trabajo, porque los errores no son del todo importantes ya que se pueden corregir fácilmente y no se observan en el resultado final. Para terminar rápido tenemos los procesadores de texto que nos permiten crear todo tipo de documentos de manera muy fácil y rápida, nos proporciona herramientas para darle formato, editar… todo esto para que tengan una presentación respetable. También están las hojas de cálculo que nos permiten generar redundantemente hojas de cálculo, facilitándonos formulas para que el proceso de realizar operaciones no se complique, el único “trabajo duro” sería introducir los datos. Por otro lado las bases de datos son de vital importancia en muchas empresas y escuelas, ya que por medio de estas podemos accesar a los datos que requiramos por muy específicos que sean

Generalizando, todas estas aplicaciones para negocios son las herramientas que se necesitan para entregar trabajos profesionales y para que el trabajo “de oficina” se facilite.


Las aplicaciones de utilería son todas aquellas aplicaciones que muchos no utilizan, pero que son muy importantes para el mantenimiento de las computadoras. Todo lo que tiene que ver con que la computadora no pierda su eficiencia, ya sea depurando errores, borrando archivos ineficientes, desfragmentando disco, escaneando errores de disco, o restaurando a un estado anterior.Es de vital de importancia que estas herramientas sean utilizadas, para que los problemas no se incrementen. La mayoría (si no es que todas) de estas herramientas se encuentran en los accesorios, en la parte de herramientas de sistema del menú inicio.


Las aplicaciones personales no son mas que las aplicaciones que ayudan a mantener un orden en la información que son “PERSONALES”, y que requieren estar a la mano siempre, así como actualizadas. Las más comunes son las que ordenan la agenda de direcciones, control de cheques, anotaciones propias, y el más comercial correo electrónico.


Las aplicaciones de entretenimiento no son más que la que tienen que ver con el ocio, como los videojuegos, los reproductores… son lo que hacen que la ida en la computadora no sea tan aburrida y llena de letras.

4.2 Conceptos de la programación.

4.2.1 Definición de programa.

Un programa es utilizado para resolver problemas, permite que algunas operaciones se agilicen; y para que suceda necesitan de un conjunto de instrucciones que se escriben en algún lenguaje de programación que indicarán a la computadora la manera en que se realizaran esas operaciones

4.2.2 Definición de programación.

La programación es el proceso que involucra un desarrollo de la lógica para la creación de algoritmos que una computadora pueda comprender, y posteriormente escribirlos en un lenguaje de programación. Es necesario precisar un objetivo y el modo en que se ejecutara dicho programa, para esto es útil planear todo el proceso.

4.2.3 Definición de lenguaje de programación.

Para ser llamado propiamente “lenguaje”, requiere tener símbolos establecidos, una sintaxis para ordenarlos, palabras que indiquen acciones específicas… y si cumple con todos esos requerimientos y es aplicado a la programación, es entonces y solo entonces llamado “lenguaje de programación”.Estos lenguajes son los utilizados para crear programas cuya único objetivo será la resolución de problemas. Hoy en día hay varios lenguajes de programación, todos ellos pueden llevar al mismo fin, lo único que los diferencia son los gustos de los usuarios.
Así también estos lenguajes tienen sus respectivas clasificaciones, son 3:

Lenguaje maquina, lenguaje de bajo nivel (ensamblador) y lenguaje de alto nivel.

Lenguaje máquina: Este es quizá el lenguaje más difícil de comprender para las personas, ya que su representación son únicamente numéricas, son cadenas y cadenas de dígitos binarios, es decir que únicamente acepta dos tipos de números, en este caso 0 y 1. Este lenguaje es el que la computadora comprende perfectamente, lo interpreta como instrucciones además que le especifican las posiciones de memoria implicadas en la operación; a estas se les denomina “instrucciones de máquina” o “código binario”. Pero bien, estas instrucciones variarán de máquina a máquina, ya que todo depende del hardware que contenga. De este lenguaje se habla mucho y en muchas ocasiones, los vemos hasta e imágenes, pero en realidad el usuario común no conoce en gran medida de él, pero tampoco le interesa.

Lenguajes de bajo nivel: El lenguaje de bajo nivel no es tan difícil como el lenguaje maquina, puesto que tiene la posibilidad de incluir texto en el código; aunque claro, al igual que el código de maquina dependerán del tipo de hardware que se encuentre dentro de una computadora. El lenguaje más conocido de este tipo es el llamado ensamblador y contiene una serie de instrucciones bien establecidas, a estas se les conoce como “nemotécnicos”.de estos existen una gran variedad, pero se conocen los que son de mayor uso, o los que son fácilmente tomados como referencia de ejemplo; dentro de estos tenemos los que permiten realizar operaciones matemáticas, por ejemplo: ADD, SUB, DIV que en español vendrían siéndola suma, la resta y la división. Esos son solo algunos.Aunque de cualquier manera las operaciones con nemotécnicos resultaría sencilla de comprender, es necesario que cando se trabaje con el lenguaje ensamblador posteriormente se traduzca al lenguaje maquina, ya que se requiere para que la computadora ejecute la instrucción de manera directa. En este proceso de traducción se encuentra el denominado programa fuente (que no es más que el lenguaje ensamblador) y el programa objeto (que el código ya traducido y con el que trabaja la maquina), que como ya había mencionado es de fácil entendimiento para la computadora.

Lenguajes de alto nivel: Son llamados así porque en cierta forma poseen algo de interactividad tanto con las computadoras como con el usuario, ya que son de fácil entendimiento para ambos, además que su escritura y diseño no depende del tipo de hardware que posea, por lo tano se generaliza su uso en cualquier computadora; es por esto que son los más utilizados por los programadores. El uso de este lenguaje puede ser muy accesible, aunque como todos requieren de una buena lógica. El modo de uso para estos no es de gran dificultad, ya que se pueden conseguir fácilmente manuales. En fin son muy eficientes y pueden llevarse a cualquier lugar y ejecutarse en cualquier maquina y el modo en que se opera no varía en gran medida.

4.3 Datos.

4.3.1 Definición de datos.

Los datos pueden ser interpretados de distintas maneras dependiendo del área que se este hablando, pero en programación será la materia prima de donde se deriva la información, asimismo nos da detalles de cómo son los objetos. Los datos nos proporcionan mucha información y son de gran utilidad para que se conozca con lo que se está trabajando.

4.3.2 Tipos de datos.

Como se mencionó anteriormente, un objeto nos proporciona la información necesaria para que se conozca más a detalle un objeto con los que opera una computadora. Aquí se encuentran los datos de entrada que después de un proceso se convertirán en los datos de salida; ninguno es menos importante que el otro, la relación entre ellos es lo que mantiene la estabilidad en los procesos de datos.
Los datos pueden dividirse en categorías, pero todo depende del tipo de lenguaje que se uso o en su defecto del hardware que se utiliza; sea como sea encontramos tres tipos de ellos:
  1. > Numéricos
  2. > Lógicos.
  3. > Cadenas.
Datos Numéricos.
Estos son fáciles de reconocer, puesto que representan cantidades y valores determinados. Además son conocidos en matemáticas como de tipo entero, con fracciones decimales… todos aquellos que puedan representar un valor.
Tenemos a los de tipo entero (integer) que como su nombre lo indica, no posee valores decimales ni mucho menos, aunque si pueden adoptar valores negativos (49, 33, -580…); también tenemos a los del tipo real (real), que como su nombre lo indica son todos aquellos números que en matemáticas se identifican como números reales, de esta forma son fáciles de reconocer por lo que no es necesario explicarlos más a fondo.
Cadenas.
Estos no son más que los datos que se pueden introducir de manera textual, es decir que puede incluir texto, no importa que es lo que se introduzca para realizar operaciones, puesto que no implican el conteo de valores (aún incluyendo números), simplemente sirve para que el proceso de algún programa pueda ser explicado (por ejemplo).
Los datos de tipo cadena tienen también su propia clasificación, en ella existen las cadenas de datos tipo carácter (char) y las de tipo cadena (string). Esta clasificación es la que nos pondrá límites en lo que se puede introducir.
Datos de tipo carácter: son un sinnúmero de caracteres que la computadora puede reconocer, estos se encuentra debidamente ordenados, además que los datos de este tipo, únicamente contienen un solo carácter, que pueden ser de los tipos numéricos alfabético o los especiales (símbolos que indican operaciones).
Datos tipo cadena: estos también son un conjunto de caracteres, pero que estarán delimitados por comillas o bien apóstrofes, y el largo lo determinará la posición de la última comilla. De esta manera específicamente puede trabajar este tipo de datos, porque de lo contrario, si no se pusieran las comillas simplemente la operación que se estará ejecutando no tendría sentido; es muy importante conocer las normas de como introducir datos de cualquier tipo. Para no complicarse, los símbolos del código ASCII son los que se pueden introducir a una cadena sin ningún error.
Datos Lógicos: Es lo que normalmente se utilizan a la hora de tomar decisiones, ya que únicamente permite la entrada de dos valores: VERDADERO Y FALSO, pero que al final de la decisión únicamente se toma uno de ellos para seguir una cadena de ejecuciones. Como es una toma de decisiones, en sí los comandos que se están enviando son SI y NO, a sea para seguir una secuencia de instrucciones o bien dar respuesta a una cuestión.
Los tipos de datos que se mencionaron, se conocen como de “Tipo Simple”, esto se deba que la estructura que los identifica no posee gran complejidad, sino que son ordenas básicas.Pero así como encontramos los simples, de una manera aditiva tenemos los llamados de Tipo Compuesto, que no son más que aquellos datos en los que la estructura ya estará definida, es decir la predeterminación es la que hará convertirse en compuesta.
Los de Tipo compuesto también tienen varios elementos que los definen entre ellos, entre ellos tenemos:
a) SUBRANGO:
Estos son fáciles de visualizar, ya que se refiere a aquellos que traerán definido su intervalo a usar. Ya son específicos, lo que permite un mayor control que si el intervalo no estuviera bien definido; como en el caso de los REALES, así que estos no pueden ser usados para crear enumerativos, por lo mismo de que su intervalo no está definido. Los valores que si pueden ser usados son los enumerativos de tipo entero (0… 100) y los enumerativos de tipo cadena (‘A’…’Z’).
b) ENUMERATIVOS:
Es cuando se introducen los datos de manera individual, que se van definiendo dato por dato, estos se tienen que definir entre paréntesis para que el valor no varíe o cree un error. Como ejemplos tenemos (0, 60, 55, )
.
.
.
.
.
.
.
.
.
.
.
.

4.4 Operadores, operandos y expresiones.

Operadores:
Un operador es el símbolo que determina el tipo de operación o relación que habrá de establecerse entre los operandos para alcanzar un resultado, se clasifican en tres grupos:

Aritméticos, Relacionales y Lógicos.


Operadores Aritméticos:

Son aquéllos que permiten la realización de cálculos aritméticos. Utilizan operandos numéricos y proporcionan resultados numéricos.

+ Suma
- Resta
* Multiplicación
/ División Entera
Div División Entera
Mod Residuo
^ Exponenciación

Todos los operadores aritméticos no existen en todos los lenguajes de programación, por ejemplo, en Fortran no existen Div y Mod
El símbolo / se utiliza para la división real, y el operador Div representa la división entera

Operadores Relacionales: Permiten realizar comparaciones de valores de tipo numérico o carácter, estos operadores sirven para expresar las condiciones en los algoritmos y proporcionan resultados lógicos.
.
.
.
.

4.5 Prioridad de operadores, evaluación de expresiones.

Determina el orden en que habrán de realizarse las operaciones en una expresión determinada. Para obtener la prioridad se deben conocer las siguientes reglas:

Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen diferentes paréntesis anidados (interiores unos a otros), las expresiones más internas se evalúan primero.
En caso de coincidir varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de prioridad en este caso es de izquierda a derecha.

Cuando se desea realizar una operación con baja prioridad por adelantado, debe agruparse a los operandos involucrados.

Los paréntesis tienen prioridad sobre el resto de las operaciones.
Determina el orden en que habrán de realizarse las operaciones en una expresión determinada.

Para obtener la prioridad se deben conocer las siguientes reglas:

Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen diferentes paréntesis anidados (interiores unos a otros), las expresiones más internas se evalúan primero.

En caso de coincidir varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de prioridad en este caso es de izquierda a derecha.

Cuando se desea realizar una operación con baja prioridad por adelantado, debe agruparse a los operandos involucrados.

Los paréntesis tienen prioridad sobre el resto de las operaciones.
.
.
.
.