Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa Próxima revisión Ambos lados, revisión siguiente | ||
curso-cpp:variables-valores-tipos [2016/09/29 16:54] santo [Operaciones de entrada / salida] |
curso-cpp:variables-valores-tipos [2017/02/06 21:44] santo [Expresiones con char] |
||
---|---|---|---|
Línea 39: | Línea 39: | ||
Así, ''(1 + 5) * 3'' es una expresión aritmética. Otra más larga es ''( ( (1+5)*2)/3)*8''. Si ''x'' es un ''int'', entonces ''x+1'' es una expresión que denota al entero que le sigue a ''x'', y ''2*x'' es una expresión que indica el doble de ''x''. | Así, ''(1 + 5) * 3'' es una expresión aritmética. Otra más larga es ''( ( (1+5)*2)/3)*8''. Si ''x'' es un ''int'', entonces ''x+1'' es una expresión que denota al entero que le sigue a ''x'', y ''2*x'' es una expresión que indica el doble de ''x''. | ||
+ | Además de estas 4 operaciones aritméticas básicas, es común también utilizar la operación ''%'', que se llama "módulo", y sirve para obtener el **resto** de la división. De esta forma, la expresión ''9 / 2'' da por resultado ''4'' (ya que cuando trabajamos con enteros, como trabajaremos casi siempre, la operación da el resultado de hacer la **división entera**), y la operación ''9 % 2'' da por resultado ''1'', pues al dividir 9 por 2 se obtiene un **cociente** de 4, y un **resto** de 1. Similarmente, ''14 % 5'' da por resultado 4, mientras que ''14 / 5'' da por resultado 2. | ||
==== Expresiones con strings ==== | ==== Expresiones con strings ==== | ||
Línea 65: | Línea 65: | ||
Similarmente, podemos obtener la distancia en el abecedario entre dos letras haciendo su resta: '' 'e' - 'a' '' dará por resultado un **int**, en este caso 4 (pues desde la a hay que avanzar 4 letras para llegar a la e). Notar que si mezclamos mayúsculas con minúsculas, en estos casos tendremos resultados incorrectos, pues en la tabla ASCII mencionada las mayúsculas y minúsculas tienen códigos diferentes (no son el mismo caracter). | Similarmente, podemos obtener la distancia en el abecedario entre dos letras haciendo su resta: '' 'e' - 'a' '' dará por resultado un **int**, en este caso 4 (pues desde la a hay que avanzar 4 letras para llegar a la e). Notar que si mezclamos mayúsculas con minúsculas, en estos casos tendremos resultados incorrectos, pues en la tabla ASCII mencionada las mayúsculas y minúsculas tienen códigos diferentes (no son el mismo caracter). | ||
+ | Otra propiedad útil del ordenamiento ASCII es que los **dígitos** del '' '0' '' al '' '9' '' están en orden y todos juntos en el ordenamiento, por lo tanto si sabemos que la variable ''x'' contiene un ''char'' que corresponde a un dígito, con ''int valor = x - '0';'' podemos obtener el valor numérico del caracter, directamente en un entero. | ||
===== Variables ===== | ===== Variables ===== | ||
Línea 169: | Línea 169: | ||
===== Const ===== | ===== Const ===== | ||
+ | A veces queremos tener variables que guarden un valor que nunca se va a modificar. Esto se hace por claridad y facilidad del programa: Por ejemplo, imaginemos que estamos haciendo un programa propio que calcula cuánto trabajo le toca hacer a cada uno de los integrantes de un grupo. Supongamos que nuestro grupo tiene 4 personas. Podríamos simplemente poner ''4'' en el código, cada vez que necesitemos utilizar la cantidad de personas. Sin embargo, esto no deja claro que ese ''4'' es la cantidad de personas, y no otra cosa que también sea 4 "de casualidad". Similarmente, si un día quisiéramos cambiar el programa para que trabaje con 5 personas... ¡Tendríamos que ir por todo el programa buscando todos los ''4'', para ver **cuáles** se refieren a la cantidad de personas, y **esos** cambiarlos por un 5! | ||
+ | |||
+ | En lugar de usar el valor directamente, entonces, conviene guardarlo en una variable al comienzo: | ||
+ | |||
+ | <code> | ||
+ | int CANTIDAD_PERSONAS = 4; | ||
+ | </code> | ||
+ | |||
+ | Y luego utilizarlo cada vez que necesitemos hablar de la cantidad de personas en el programa: De esta forma, para cambiar la cantidad más adelante hay que cambiar un solo lugar, y el programa queda mucho más claro. | ||
+ | |||
+ | Como esta variable **no la vamos a modificar**, es muy recomendado declararla con ''const'': ''const'' es una palabra especial que indica al compilador que no vamos a modificar nunca esta variable: Queremos que sea en realidad una **constante**, y no una **variable** que realmente puede cambiar de valor. De esta forma si por accidente la modificamos, el compilador nos avisará. | ||
+ | |||
+ | La declaración se hace simplemente agregando ''const'' al comienzo: | ||
+ | |||
+ | <code> | ||
+ | const int CANTIDAD_PERSONAS = 4; | ||
+ | </code> | ||
+ | |||
+ | Es una convención común (de muchas posibles) escribir las constantes en mayúsculas. |