En la parte pasada aprendimos como seguir un diagrama de flujo, sin embargo lo hicimos usando procesos abstractos. Hoy veremos cuales son los procesos reales con los cuales trabaja una computadora y sobre que lo hace. Mas después del salto…

El siguiente es un tema algo pesado, siéntete libre de poner tus dudas en los comentarios.

El objetivo principal de un programa de computadora es manipular datos, esto es, el programa recibe datos del usuario, los procesa y devuelve al usuario los resultados que obtuvo. Sin embargo, el programa no puede saber qué datos le va a dar el usuario hasta el momento en el que se le proporcionan, por ello vamos a necesitar de las llamadas variables.

Una variable no es otra cosa mas que un lugar que reservaremos en la memoria para que sea ocupado por un dato. Para ejemplificar esto imagina que la memoria es como un mueble de casilleros, en el cual habrá casilleros de distintos tamaños y formas. Por supuesto para organizar dichos casilleros habría que ponerles etiquetas que indiquen que se guarda allí y un “nombre”. En estos casilleros sólo se podrá guardar lo que esta especificado, por ejemplo si tenemos un casillero que indique que allí se guardan pantalones podremos guardar un pantalón azul o uno rojo, pero no ambos a la vez y no podremos guardar algo que no sea un pantalón como una playera.

Así como el casillero del ejemplo variable es un espacio reservado en la memoria dentro de la cual ira un dato, y las reconocemos por medio de un identificador, que sera el “nombre” de nuestra variable. Un identificador debe seguir las siguientes reglas:

  • Debe tener una longitud de 1 a 256 caracteres.
  • Estos caracteres pueden ser las letras del alfabeto de la a a la z, y dígitos del 0 al 9.
  • Un identificador NUNCA puede empezar con un numero.
  • Un identificador no puede contener caracteres especiales ni signos de puntuación, ya sean espacios, comas puntos etc. (típicamente tampoco se permite el uso de la ñ ni de vocales con acento)

El casillero del ejemplo guardaba pantalones, nuestras variables almacenarán datos, pero estos pueden ser de distintos tipos:

  • int .- del ingles Integer (entero), este tipo de dato contiene un número el cual puede ser positivo o negativo, pero por supuesto este numero no puede tener punto decimal, es decir es valido un 1 o un 2, pero no un 2.5.
  • float .- Se refiere a un número que puede o no tener un punto decimal, puede expresar números racionales (aquellos que resultan de la división no exacta de dos números enteros, como por ejemplo 5 entre 2 = 2.5)
  • bool.- Booleano, este tipo de dato sólo puede contener uno de dos valores: 1 y 0, dependiendo el lenguaje de programación éstos también pueden ser TRUE(verdadero) o FALSE(falso), que es lo mismo.
  • char.- Puede contener un sólo caracter de la tabla de códigos ASCII.

Estos son tipos de dato mas básicos y en general todo lenguaje de programación los maneja.

Declarando variables

Cuando le indicamos a la computadora que queremos crear una variable nueva y usarla se dice que estamos declarando dicha variable. Para esto habrá que indicarle a la máquina el tipo de variable que vamos a usar y el nombre por ejemplo:

int numero

crea una variable del tipo int (que contiene un numero entero) y le pone por nombre numero, a partir de ese punto del programa se podrá ocupar la variable y no antes.

En nuestros diagramas de flujo declararemos las variables dentro de una cajita de proceso

protip: Debido a la restricción de que una variable solo puede ser usada después de haber sido declarada, es típico poner todas las declaraciones al inicio del programa, de esta forma podremos usar las variables durante todo el programa sin problemas.

Operando con variables

Por supuesto tener todos esos lugares reservados en la memoria seria inútil si no podemos trabajar con ellos, esto se hace a través de operadores, los cuales van a trabajas con los datos que almacenen las variables.

Operador de asignación =

el operador = se utiliza para darle valor a una variable, esto es destruirá el valor anterior que tuviera nuestra variable y lo reemplazara por el valor que queramos, por ejemplo

numero = 1

con ese proceso se destruirá cualquier valor que tuviese la variable numero y le asignara el valor 1

también podemos asignarle el valor de otra variable

numero = numerobis

hay que tener en cuenta que el valor de la variable numerobis no cambiará, tambien cabe destacar que si asignamos un valor con punto decimal (float) a una variable de tipo entero (int) éste sera redondeado antes de asignarselo a la variable, por ejemplo

numeroentero = 2.5 ; en este caso la variable tendra por valor 3

Operador de suma +

Este operador suma aritméticamente el valor de dos variables:

suma = numero1 + numero2

este proceso suma los valores de numero1 y numero2 y después asigna el resultado a la variable suma

Operador de multiplicación *

Este operador multiplica los valores de dos variables

producto = numero1 * numero2

Operador de división /

Este operador divide los valores de dos variables

cociente = numero1 / numero2 ;

Jerarquía de los operadores:            (WARNING : Contenido matématico)

Suele suceder que en la misma asignación tenemos que usar más de un operador para realizar la tarea que necesitamos, sin embargo hay algunos operadores que se realizan antes que otros y esto nos puede provocar problemas. Por ejemplo:

numero = 1+2*3-4/2

¿Cuál es el valor de la variable numero?  De primera intención parece que la variable vale  (supongamosla float) 2.5, ya que 1+2= 3, eso por 3 es 9, menos 4 es 5 y eso entre 2 es 2.5, pero nuestra maquina reporta el valor 5 ¡¿Qué pasó?!

La respuesta es simple: las operaciones no se hicieron en ese orden. Los operadores de división y multiplicación se ejecutan antes que los de suma y resta, así el orden correcto de la operación es el siguiente

numero = 1 +2*3-4/2 ;        nuestra operación inicial

numero= 1 + 6 – 2 ;                 nuestra operación despues de realizar todas las operaciones de división y multiplicación

numero = 5;                                nuestro valor final

¿Pero que pasa si queremos forzar a que algunas operaciones se realicen antes que otras? Fácil:  encerramos dichas operaciones en un paréntesis, cuando se ejecute la operación nuestra máquina ejecutará primero lo que está en los parentesis mas internos dejando para el final las otras operaciones, para nuestro ejemplo si queremos que la variable numero valga 2.5 tenemos que dar la siguiente instrucción:

numero = (((1+2)*3)-4)/2 ;        nuestra nueva operación inicial

numero = ((3*3)-4)/2 ;                 observemos que la operación encerrada en los paréntesis más internos se realizó primero

numero =(9-4)/2 ;                          hay que fijarse como van desapareciendo los paréntesis  a medida que vamos resolviendo la operación

numero = 5/2 ;                                  al no quedar mas paréntesis la operación

Operadores lógicos:

Los siguientes operadores sólo nos pueden devolver un “si” o un “no”, que se podria almacenar en una variable de tipo booleano, por esto son perfectas para ponerlas en nuestros bloques de preguntas.

Operador de igualdad  “==”

variable1==variable2

El == nos va a devolver “si” en caso que  las dos variables tengan el mismo valor o “no” si el valor es distinto, nota: no confundir con el operador de asignacion =, ésto es un error común, simpre debes recordar que un solo = asigna el valor a una variable, mientras que == compara dos valores

Operador menor que “<”

variable1<variable2

Nos va a devolver “si” en caso de que el valor de variable1 sea menor que variable2 o “no” en caso contrario

Operador mayor que  “>”

variable1<variable2

Nos va a devolver “si” en caso de que el valor de variable1 sea mayor que variable2 o “no” en caso contrario

Operador !=

variable1!=variable2

Este operador nos va a devolver “si” si las variables que compara son distintas y “no” en caso que sean iguales.

Cabe destacar que en los operadores anteriores podemos substituir la variable2 por algún valor númerico fijo por ejemplo:

variable1 < 10

nos va a devolver “si” siempre que el contenido de variable1 sea menor que diez.

Por el momento es todo;  dejo el siguiente cuestionario para que lo resuelvas y evalúes lo aprendido, envíalo en formato txt, odt, doc, docx o pdf a ricardo@hogargeek.com para que te lo revise y te aclare tus dudas, también puedes poner tus dudas en los comentarios, hago énfasis en esto porque sé que es un tema complejo, y me gustaría saber que tan claro te quedo.

1.- ¿Cuales de los siguientes identificadores son válidos para asignárselos a una variable?

a) 123hola

b) b

c) RutaCriticaParaElDesarrolloSocial

d) ^_^

e) Factor Integrante

f) fluctuación

g) articulo123

2.-¿Cual es el valor de las siguientes variables suponiendolas todas float?

a) var1 = 1+3*65-6+84/3*2/3

b)var2= (25-3)*(76-51)-16*2

c)var3= 34/5 – (((89-46)/6)+56)

*Puedes usar calculadora

c.-Tomando en cuenta los valores de las variables anteriores poner la salida de las siguientes comparaciones

a) var1 >var2

b) var 3 == var1

c) var2 < var 3

d) var2 !=var3

Espero sus respuestas y hasta la próxima.

Related Posts Plugin for WordPress, Blogger...

Creative Commons License
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Mexico License.