Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Página Principal
/ ► Mis cursos
/ ► P.O.O C#
/ ► Tema 3
/ ► Declaración de variables. Expresiones, operadores,...
Contenidos:
Declaración de variables.
Expresiones.
Operadores.
Condicionales
Valores y tipos
Valores
Un valor (dato) es una entidad que puede ser manipulada por un programa.
Tipos primitivos
Un valor primitivo es aquel que no puede ser descompuesto en valores más simples, un tipo
primitivo es aquel cuyos valores son primitivos.
Nombre: Descripción
char : Caracteres
string: Texto
Operadores aritméticos
Asociados a los tipos de datos numéricos existen una serie de operadores destinados a
realizar las operaciones aritméticas usuales:
Multiplicación: *
Operadores lógicos
x y resultado
true true true
true false false
false true false
false false false
El operador lógico OR
x y resultado
true true true
true false true
false true true
false false false
x resultado
true false
false true
Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado
por la última columna de sus tablas de verdad. Por ejemplo:
es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es
falso (false). En cambio, la expresión
es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es
falso.
!(a<b)
es falsa si (a<b) es verdadero, y es verdadera si la comparación es falsa. Por tanto, el
operador NOT actuando sobre (a<b) es equivalente a
(a>=b)
!(a==b)
(a!=b)
Operadores relacionales
Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el
resultado de la comparación es correcto la expresión considerada es verdadera, en caso
contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa
por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa,
false. En la primera columna de la tabla, se dan los símbolos de los operadores relacionales,
el la segunda, el nombre de dichos operadores, y a continuación su significado mediante un
ejemplo.
Operaciones
En la medida en que avancemos en el curso veremos que no solo existen operadores para
manipular números, y que las operaciones deben entenderse como las acciones que se
realizan sobre los datos para llegar a resultados.
Declaración de variables
Para poder usar una variable se debe haber declarado anteriormente, entendiendo declarar
por la manera de expresarle (comunicarle) a la computadora dos características que toda
variable posee: un nombre y el tipo de los valores que estará destinada a almacenar.
Existen palabras que tienen un significado predefinido en el lenguaje, son las llamadas
palabras reservadas y no pueden ser utilizadas como identificadores. Ejemplos: class,
private, public, void, int, float, char, long, short, break, continue, if, else, for, while, do,
return. Los identificadores deben no solo ser válidos sino que deben autodocumentar su
programa, es decir, tener nombres que permitan conocer a simple vista que representan,
utilizando para ello tantos caracteres como sean necesarios. Esto simplifica enormemente la
tarea de programación y -sobre todo- de corrección y mantenimiento de los programas. Es
cierto que los nombres largos son más laboriosos de teclear, pero en general resulta rentable
tomarse esa pequeña molestia.
valor1 1_variable
valor_1 x+y
Esta_ es_ una_variable %total
_identificador int
Para hacer la declaración se debe escribir el tipo de datos al que pertenecerán los datos que
vamos a manipular con ella, un espacio en blanco, el nombre que le pondremos y luego un
punto y coma (;).
int var ;
char otraVar ;
La asignación
Anteriormente se expresaba que las variables eran depósitos de información que podían ser
consultados y cambiados en cualquier momento, las consultas de los valores presentes en
ellas se verán mas adelante, los cambios por su parte se realizan mediante la operación de
asignación.
La asignación consiste en poner un valor en una variable, tiene la forma: variable = valor;
Ejemplo:
int var ;
var = 3 4 ;
Este código trae como consecuencia que se ponga el valor 34 en la variable entera var. La
operación de asignación es la encargada de realizar los cambios de estado en un programa
en ejecución, es adecuado observar que la asignación es destructiva dado que la
información que este presente en una variable es \destruida" (desaparece) cuando se
produce la asignación.
int var ;
var = 3 4 ;
var = 1 2 ;
En este caso primero (línea 2) se asigna 34 a la variable var, pasando en ese momento a
tener el valor 34, cuando luego en la línea 3, se realiza una segunda asignación (del valor
12), entonces el valor 34 desaparece y su lugar es ocupado por el 12.
Expresiones
El proceso de transformación de la información en una computadora ocurre a partir de
acciones que se realizan sobre los datos presentes en el programa, dichas acciones producen
nueva información a partir de la existente y llevan a la solución del problema en cuestión.
Las expresiones son el principal medio de especificar el cómputo en un lenguaje de
programación.
En matemáticas:
f. Mat. Conjunto de números y de símbolos ligados entre sí por los signos de las
operaciones del análisis matemático.
Literales
El caso mas simple de expresión es el literal, el cual denota un valor simple de algún tipo
de dato primitivo.
Los cuales denotan un entero (int), un carácter (char) y un numero real (double)
respectivamente.
Ejemplos de operaciones
6–2
En este caso nos encontramos ante la resta de dos literales cuyo resultado (el valor
producido) es 4.
Escribir algo como lo anterior no tendría mucho sentido pues no se esta usando en nada el
resultado, por lo general el resultado de una expresión se pone en algún lugar:
int var ;
int otraVar ;
var = 6 ¡ 2 ;
otraVar = var + 5 ;
En C# contamos con varias de estas estructuras, así que las iremos explicando con calma
una a una, empezando en esta entrega con las estructuras condicionales.
if significa si condicional, es decir, si te portas bien, te compro un helado y te dejo ver la
tele. Pues bien, en programación, es más o menos lo mismo. Pongamos un poco de pseudo-
código para que los principiantes se vayan haciendo a la idea:
if (num==10)
En este pequeño ejemplo, se evalúa como verdadero o falso lo que está dentro de los
paréntesis, es decir, num==10. Por lo tanto, el operador == retornará true siempre que num
valga 10, y false si vale otra cosa. Por cierto, ya que estamos, no confundas el operador de
comparación == con el de asignación =. En C#: == es de comparación siempre, y = es de
asignación siempre.
También puede ocurrir que tengamos que ejecutar una serie de acciones si se da una
condición y otras acciones en caso de que esa condición no se dé. Pues bien, para eso
tenemos la instrucción else (si no), sería como un "de lo contrario", es decir, si te portas
bien, te compro un helado y te dejo ver la tele; de lo contrario, te castigo en tu cuarto y te
quedas sin cenar.
Ejemplo:
de lo contrario
En C#:
if (num==10)
else
También podría suceder que hubiera que enlazar varios if con varios else. Ejemplo: si
compras el libro te regalo el separador, de lo contrario, si compras la pluma te regalo el
cargador, de lo contrario, si compras el cuaderno te regalo un llavero, y, de lo contrario, no
te regalo nada.
Ejemplo:
Si (compras el libro)
de lo contrario
O sea, queda claro lo que sucede: si se cumple alguna de las condiciones se producen una
serie de consecuencias, y si no se cumple ninguna de las tres condiciones la consecuencia
es que no hay regalo alguno. En este caso, sin embargo, hay que tomarse el pseudo-código
al pie de la letra para que la relación con la programación sea exacta: ¿qué ocurre si se dan
dos o las tres condiciones? Pues en la vida real, probablemente, te llevarías varios regalos,
pero si lo tomamos al pie de la letra, solamente te podrías llevar el primer regalo en el que
se cumpliese la condición, pues las demás están precedidas por la expresión "de lo
contrario", que es, en sí misma, otra condición, es decir, si se cumple una las demás ya no
se contemplan aunque también se cumplan. Esto es exactamente lo que ocurre en
programación: el compilador no sigue analizando las demás condiciones en el momento en
el que encuentre una que retorna true.
Ejemplo:
if (num==10)
else if (num>5)
else if (num>15)
else
Bien, examinemos las diferentes posibilidades. Si num vale 10, se ejecutará el bloque del
primer if, por lo que la salida en la consola será "El número es igual a 10". Sin embargo, a
pesar de que 10 es también mayor que cinco, no se ejecutará el bloque del primer else if,
pues ni siquiera se llega a comprobar dado que ya se ha cumplido una condición en la
estructura. Si num vale un número mayor que 5, menor que 15 y distinto de 10, o sea, 9, por
ejemplo, se ejecuta el bloque del primer else if saliendo "el número es mayor que 5" en la
consola. Ahora bien: ¿qué sucede si el número es mayor que 15? Pues sucede exactamente
lo mismo, ya que, si es mayor que 15 también es mayor que 5, de modo que se ejecuta el
bloque del primer else if y después se dejan de comprobar el resto de las condiciones. Por
lo tanto, en este ejemplo, el bloque del segundo else if no se ejecutaría en ningún caso. Por
último, el bloque del else se ejecutará siempre que num valga 5 o menos de 5, pues es el
único caso en el que no se cumple ninguna de las condiciones anteriores.
Por otra parte, las condiciones que se evalúen en un if o en un else if no tienen por qué ser
tan sencillas. Recuerda que en C# estas expresiones (las condiciones) han de retornar true o
false necesariamente, por lo que podemos usar y combinar todo aquello que pueda retornar
true o false, como variables de tipo bool, métodos o propiedades que retornen un tipo bool,
condiciones simples o compuestas mediante los operadores lógicos && (AND lógico) ||
(OR lógico) y ! (NOT lógico), o incluso mezclar unas con otras. por ejemplo
else
En este ejemplo, "Existe" es un método de la clase Ficheros que retorna true o false,
"Crear" es una variable bool y "EspacioDisco" es una variable de tipo uint. Como ves, en
una sola condición están combinados varios elementos que pueden retornar valores
boolean. Se encierra entre paréntesis la expresión Ficheros.Existe(Archivo) || Crear porque
necesitamos que se evalúe todo esto primero para después comparar con la otra expresión,
ya que el operador && se ejecuta antes que el ||. Así esta expresión retornará true en caso
de que el método Existe devuelva true, la variable crear valga true o sucedan ambas cosas.
Posteriormente se establece el resultado de la otra expresión, es decir EspacioDisco>1000,
y después se comparan los dos resultados con el operador &&, obteniendo el resultado
final, que será true si ambos operandos valen true, y false si alguno de ellos o los dos valen
false. Así, si el archivo existe o bien si se quiere crear en caso de que no exista se guardarán
los datos si, además, hay espacio suficiente, y si, por el contrario, el archivo no existe y no
se quiere crear o bien si no hay espacio, los datos no se guardarán.
Instrucción switch
Una instrucción switch funciona de un modo muy similar a una construcción con if...else
if... else. Sin embargo, hay un diferencia que es fundamental: mientras en las
construcciones if...else if... else las condiciones pueden ser distintas en cada uno de los if ...
else if, en un switch se evalúa siempre la misma expresión, comprobando todos los posibles
resultados que esta pueda retornar. Un switch equivaldría a comprobar las diferentes
situaciones que se pueden dar con respecto a una misma cosa. Por ejemplo, si te compras
un coche y tienes varias opciones de financiación: En caso de usar la primera opción te
descuento un 10 por ciento, en caso de usar la segunda opción te descuento un cinco por
ciento, en caso de usar la tercera opción te descuento un dos por ciento, y en cualquier otro
caso no te descuento nada. Como ves, se comprueba siempre el valor de un solo elemento,
que en este caso sería la opción.
Ej:
comprobemos (opcion)
en caso de 1:
en caso de 2:
en caso de 3:
Bueno, como veis, se comprueba siempre lo que vale "opción"; si vale 1 sucede el primer
caso, si vale 2 el segundo, si vale 3 el tercero, y si vale cualquier otra cosa sucede el último
caso.
Ej:
switch (opcion)
case 1:
descuento=10;
break;
case 2:
descuento=5;
break;
case 3:
descuento=2;
break;
default:
descuento=0;
break;
Saltar Navegación
Navegación
Página Principal
o Área personal
o Páginas del sitio
o Mi perfil
o Mis cursos
P.O.O C#
Participantes
General
Tema 1
Tema 2
Tema 3
Declaración de variables. Expresiones,
operadores,...
Cuestionario lección #3
Ciclos y Arreglos
Custionario Lección #4
Métodos. Creación de clases y objetos. Manejo de
l...
Custionario lección #5
Relaciones entre clases
Abstracción, herencia, polimorfismo.
Encapsulamiento
Cuestionario lección #7
Implementación de clases en C#
Implementación de clase en C#
Tarea #2
Tarea Integradora
PB
VB