1. 2
Fundamentos de la programación
Instituto de Educación Superior Pedagógico
Público
“Gamaniel Blanco Murillo”
Computación e Informática
Lenguaje de Programación I
2. HéctorLópezSánchez
Programar
Actividad de escribir y probar programas.
Programa
Código que indica a la computadora exactamente lo que tiene
que hacer: secuencia de instrucciones.
La computadora sólo entiende un conjunto de instrucciones.
Lenguaje de programación
Describe cómo es el conjunto de instrucciones que se pueden
usar en los programas.
Reglas sintácticas que el código debe respetar.
Página 1Fundamentos de la programación: Primeros pasos
4. HéctorLópezSánchez
Una computadora de un coche
Coche que acepta programas que le indiquen cómo llegar.
Instrucciones que entiende:
<instrucción> ::= <inst> ;
<inst> ::= Start | Stop | <avanzar>
<avanzar> ::= Go <dirección> <num> Blocks
<dirección> ::= North | East | South | West
<num> ::= 1 | 2 | 3 | 4 | 5
Ejemplos:
Start;
Go North 3 Blocks;
Stop;
Página 3Fundamentos de la programación: Primeros pasos
5. HéctorLópezSánchez
El problema a resolver
Estando el coche en la posición A,
conseguir llegar al Cine Tívoli (B).
¿Cuáles son los pasos que hay
que seguir para llegar al destino?
Arrancar
Ir un bloque al Norte
Ir dos bloques al Este
Ir cinco bloques al Norte
Ir dos bloques al Este
Parar
Página 4Fundamentos de la programación: Primeros pasos
B
A
N
Bloque:
6. HéctorLópezSánchez
El algoritmo
Secuencia de pasos que hay que
seguir para resolver el problema.
Página 5Fundamentos de la programación: Primeros pasos
1.- Arrancar
N
2.- Ir un bloque al Norte
3.- Ir dos bloques al Este
4.- Ir cinco bloques al Norte
5.- Ir dos bloques al Este
6.- Parar
Esos pasos sirven tanto para
una persona como para una computadora.
7. HéctorLópezSánchez
El programa
Para cada paso, una instrucción.
Escrita en el lenguaje
de programación.
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go East 2 Blocks;
Stop;
Página 6Fundamentos de la programación: Primeros pasos
B
A
N
8. HéctorLópezSánchez
El programa
Escribimos el código del programa
en un editor y lo guardamos
en un documento programa.prg.
Página 7Fundamentos de la programación: Primeros pasos
Stat;
Go North 1 Blocks
Go East Blocks;
Go Noth 5 Blocks;
Go West 2 Blocks;
Stop;
Copiamos el archivo
en una llave USB
y lo llevamos al coche.
9. HéctorLópezSánchez
La compilación
Introducimos la llave USB en el coche y pulsamos el botón
de ejecutar el programa en programa.prg.
Se compila el programa (comprobación sintáctica):
Página 8Fundamentos de la programación: Primeros pasos
Stat;
----^ Unknown word.
Go North 1 Blocks
-----------------^ ; missing.
Go East Blocks;
--------^ Number missing.
Go Noth 5 Blocks;
-------^ Unknown word.
Go West 2 Blocks;
Stop;
There are errors. Impossible to run the program.
Errores
de sintaxis
10. HéctorLópezSánchez
Depuración
Editamos el código para la ejecución.
Página 9Fundamentos de la programación: Primeros pasos
Start;
Go North 1 Blocks;
Go East 3 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
11. HéctorLópezSánchez
La ejecución
Se realiza lo que pide
cada instrucción.
Página 10Fundamentos de la programación: Primeros pasos
B
N
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Errores lógicos:
El programa se ejecuta, pero no obtiene el resultado deseado.
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
?
12. HéctorLópezSánchez
Depuración
Editamos el código para arreglar el error lógico.
Página 11Fundamentos de la programación: Primeros pasos
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go West 2 Blocks;
Stop;
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go East 2 Blocks;
Stop;
13. HéctorLópezSánchez
La ejecución
Se realiza lo que pide
cada instrucción.
Página 12Fundamentos de la programación: Primeros pasos
N
Start;
Go North 1 Blocks;
Go East 2 Blocks;
Go North 5 Blocks;
Go East 2 Blocks;
Stop;
¡Conseguido!
16. HéctorLópezSánchez
Operadores aritméticos
En los programas podemos realizar operaciones aritméticas.
Para cada operación utilizamos un símbolo concreto:
+ Suma
- Resta
* Multiplicación
/ División
Los cuatro son operadores binarios:
operando_izquierdo operador operando_derecho
Por ejemplo:
3 + 4 Resultado: 7
2.56 – 3 Resultado: -0.44
143 * 2 Resultado: 286
45.45 / 3 Resultado: 15.15
Página 15Fundamentos de la programación: Primeros pasos
17. HéctorLópezSánchez
Cómo escribir operandos numéricos
Las cantidades pueden ser:
Enteras: sin parte decimal
Reales: con parte decimal
Cantidades enteras (sin decimales):
Signo negativo (opcional) seguido de una secuencia de dígitos.
3 143 -12 67321 -1234
Cantidades reales (con decimales):
Signo negativo (opcional) seguido de una secuencia de dígitos,
un punto decimal y otra secuencia de dígitos.
3.1416 357.5 -1.333 2345.6789 -404.1
Página 16Fundamentos de la programación: Primeros pasos
Punto decimal (3.1415), NO coma decimal (3,1415)
Valores literales
No se usan puntos de millares
18. HéctorLópezSánchez
¿División entera o división real?
El operador división (/) hace una división entera
(despreciando los decimales) si ambos operandos son enteros
y hace una división real (con decimales) si alguno es real.
500 / 3 Resultado: 166
500.0 / 3 Resultado: 166.667
500 / 3.0 Resultado: 166.667
500.0 / 3.0 Resultado: 166.667
Hay que usar algún operando real siempre que se quiera que
la división sea una división real.
Página 17Fundamentos de la programación: Primeros pasos
Comprueba siempre si la división que se va a realizar es la que quieres.
20. HéctorLópezSánchez
Datos que se mantienen en memoria
Una variable es un dato que se accede por medio de un nombre.
Un valor literal es un valor concreto que se escribe tal cual.
Una variable puede cambiar de valor siempre que se quiera.
edad = 19; // edad es una variable y 19 es un literal
Las variables deben ser declaradas antes de poder utilizarlas.
Cuando se declaran se reserva espacio suficiente en memoria
para el dato que se quiere almacenar.
¿Qué tipo de dato queremos mantener?
Un valor numérico sin decimales (entero): int
Un valor numérico con decimales (real): double
Declaración: tipo nombre;
Página 19Fundamentos de la programación: Primeros pasos
21. HéctorLópezSánchez
Declaración
Al declarar una variable establecemos el tipo de dato que puede
contener y el nombre que usaremos para acceder a ese dato.
Cantidad entero;
precio real;
Para cada variable se reserva espacio
suficiente en memoria para el tipo de valor.
Unos tipos de datos requieren más bytes que otros.
LAS VARIABLES NO SE INICIALIZAN
No se deben usar hasta que se les haya dado algún valor.
¿Dónde colocamos las declaraciones?
Siempre, antes del primer uso.
Normalmente, al principio de la función.
Página 20Fundamentos de la programación: Primeros pasos
Memoria
cantidad ?
precio ?
...
22. HéctorLópezSánchez
Capacidad de las variables
¿Qué valores podemos guardar en una variable int?
Cualquier entero entre -2.147.483.648 y 2.147.483.647.
Intervalo de valores del tipo int: -2147483648 .. 2147483647
¿Y en una variable double?
Números reales entre 2,23 x 10-308 y 1,79 x 10+308
y sus negativos -2,23 x 10-308 y -1,79 x 10+308
Intervalo de valores del tipo double:
+/- 2.23e-308 .. 1.79e+308
Con los números reales podemos experimentar
problemas de precisión.
Página 21Fundamentos de la programación: Primeros pasos
Notación científica en C++
23. HéctorLópezSánchez
Asignación de valores a las variables (operador =)
Instrucciones de asignación:
variable = expresión;
Se evalúa la expresión y se asigna el resultado a la variable:
cantidad = 12;
precio = 39.95;
total = cantidad * precio; // Toma el valor 479.4
Piensa en el = como en :
cantidad 12
La variable recibe el valor 12.
Ese valor se guarda en la memoria de la variable.
¡¡¡A la izquierda del = debe ir siempre una variable!!!
Página 22Fundamentos de la programación: Primeros pasos
Instrucción: termina en ;
25. HéctorLópezSánchez
Expresiones
Secuencias de operandos y operadores:
operando operador operando operador operando ...
Las expresiones se evalúan de izquierda a derecha.
Podemos usar paréntesis para forzar que se realicen unas
operaciones antes que otras:
total = cantidad * precio * 1.18; // +18% de IVA
total = (cantidad1 + cantidad2) * precio;
(Suponiendo que se han declarado las variables cantidad1 y
cantidad2.)
Con el nombre de una variable accedemos a su valor.
Unos operadores se evalúan antes que otros.
Página 24Fundamentos de la programación: Primeros pasos
26. HéctorLópezSánchez
Precedencia de los operadores
cantidad1 = 10;
cantidad2 = 2;
precio = 40.0;
* y / tienen mayor precedencia que + y - (se evalúan antes).
total = cantidad1 + cantidad2 * precio;
Se evalúa antes * que + 10 + 2 * 40,0 10 + 80,0 90,0
Los paréntesis fuerzan a que se evalúe su contenido primero:
total = (cantidad1 + cantidad2) * precio;
Se evalúa antes + que * (10 + 2) * 40,0 12 * 40,0 480,0
Hay que tener cuidado al escribir las expresiones,
de forma que el cálculo sea exactamente el que se requiere.
Página 25Fundamentos de la programación: Primeros pasos
28. HéctorLópezSánchez
Problema
Dadas la base y la altura de un triángulo, calcular el área del triángulo.
El comportamiento deseado
Explicación detallada de lo que queremos que haga el programa:
Mostrar en la pantalla un texto que pida la base del triángulo. El usuario
introducirá el valor con el teclado. Mostrar en la pantalla un texto que pida la
altura del triángulo. El usuario introducirá el valor con el teclado. Se calculará el
área del triángulo y se mostrará en la pantalla.
Comenzaremos identificando los objetos que maneja el programa,
fijándonos en los sustantivos; nos indicarán los datos a manejar.
Luego nos fijaremos en las acciones (verbos);
nos indicarán las operaciones a realizar.
Página 27Fundamentos de la programación: Primeros pasos
29. HéctorLópezSánchez
Datos que maneja el programa
Mostrar en la pantalla un texto que pida la base del triángulo. El usuario
introducirá la base con el teclado. Mostrar en la pantalla un texto que pida la
altura del triángulo. El usuario introducirá la altura con el teclado. Se calculará
el área del triángulo y se mostrará en la pantalla.
El usuario no es un dato que maneje el programa: es quien maneja
el programa. Por eso no lo tenemos en cuenta.
— pantalla: ya sabemos que se corresponde con cout.
— texto que pida la base del triángulo: una cadena de caracteres literal como
"Introduzca la base del triángulo: ".
— base: un número variable que debe recoger el valor introducido por el
usuario. Ha de indicarse cuál es su tipo: por ejemplo, double.
— teclado: ya sabemos que se corresponde con cin.
. . .
— área del triángulo: otro número variable que debe recoger el resultado.
Ha de indicarse cuál es su tipo: por ejemplo, double.
Página 28Fundamentos de la programación: Primeros pasos
30. HéctorLópezSánchez
Datos que maneja el programa: tipos
Cada dato es de un determinado tipo, puede ser constante o variar, y si
varía ha de tener un nombre (estándar o elegido por nosotros):
Página 29Fundamentos de la programación: Primeros pasos
Objeto Tipo ¿Varía? Nombre
Pantalla Variable cout
"Introduzca la base del triángulo: " Constante ninguno
Base del triángulo Real Variable base
Teclado Variable cin
"Introduzca la altura del triángulo: " Constante ninguno
Altura del triángulo Real Variable altura
Área del triángulo Real Variable area
Se han obviado los tipos de los objetos del sistema y los literales.
Los valores literales son constantes, no se pueden cambiar.
Para que un dato pueda variar se necesita una variable con nombre.
31. HéctorLópezSánchez
Operaciones (acciones)
Mostrar en la pantalla un texto que pida la base del triángulo. El usuario
introducirá la base con el teclado. Mostrar en la pantalla un texto que
pida la altura del triángulo. El usuario introducirá la altura con el
teclado. Se calculará el área del triángulo y se mostrará en la pantalla.
Las operaciones se realizan por medio de operadores:
— mostrar en la pantalla:
— introducir por el teclado:
— calcular el área del triángulo: área = base por altura entre dos
area = base * altura / 2
Página 30Fundamentos de la programación: Primeros pasos
33. HéctorLópezSánchez
Algoritmo
Secuencia de acciones que ha de realizar el programa
para conseguir resolver el problema:
1. Mostrar en la pantalla el texto que pida la base del triángulo.
2. Leer del teclado el valor para la base del triángulo.
3. Mostrar en la pantalla el texto que pida la altura del triángulo.
4. Leer del teclado el valor para la altura del triángulo.
5. Calcular el área del triángulo.
6. Mostrar el área del triángulo.
Página 32Fundamentos de la programación: Primeros pasos
34. HéctorLópezSánchez
El programa como transformador de entrada en salida
El estado inicial viene dado por los datos de entrada
y el estado final por los datos de salida:
Página 33Fundamentos de la programación: Primeros pasos
Programa
Datos
de entrada
Datos
de salida
Algoritmo
Estado
inicial
Estado
final
36. HéctorLópezSánchez
El programa
...
int main()
{
return 0;
}
Página 35Fundamentos de la programación: Primeros pasos
1. Mostrar en la pantalla el texto que pida la base del triángulo.
2. Leer del teclado el valor para la base del triángulo.
3. Mostrar en la pantalla el texto que pida la altura del triángulo.
4. Leer del teclado el valor para la altura del triángulo.
5. Calcular el área del triángulo.
6. Mostrar el área del triángulo.
Algoritmo
traducido
a código
en C++
Declaraciones
38. HéctorLópezSánchez
Variabilidad de los datos
Página 37Fundamentos de la programación: Primeros pasos
Datos
Constantes
Literales
Con nombre
Variables
"Introduzca la base del triángulo: "
3.141592653589
base, altura, area
Pi = 3.141592653589
Identificadores
40. HéctorLópezSánchez
Identificadores Distintos de las palabras reservadas del lenguaje
Las variables y las constantes con nombre tienen un identificador
asociado que se usa para obtener su valor
(o para modificar su valor, en el caso de las variables).
— Un identificador es el nombre de un dato concreto.
— Se debe usar nombres descriptivos (autoexplicativos).
Sintaxis de los identificadores:
Página 39Fundamentos de la programación: Primeros pasos
Al menos
32 caracteres
significativos
(longitud mínima
para diferenciar
dos nombres).
¡No se admiten ni eñes ni vocales acentuadas!
0..9, a..z, A..Z, _
No pueden repetirse identificadores en un mismo ámbito (bloque).
a..z, A..Z, _
41. HéctorLópezSánchez
¿Qué identificadores son válidos y cuáles no?
balance interesAnual
_base_imponible años
EDAD12 salario_1_mes
__edad cálculoNómina
valor%100 AlgunValor
100caracteres valor?
_12_meses ____valor
Página 40Fundamentos de la programación: Primeros pasos
43. HéctorLópezSánchez
Tipos
Cada dato del programa es de un tipo concreto.
Cada tipo establece:
— El conjunto (intervalo) de valores válidos.
Las variables del tipo tomarán uno de esos valores cada vez.
— El conjunto de operaciones que se pueden realizar sobre los valores
del tipo. Los operadores que se pueden aplicar en las expresiones.
En las expresiones con datos de distintos tipos compatibles
se llevan a cabo transformaciones automáticas de tipos
(promoción de tipo).
Para consultar los detalles técnicos de los tipos de datos,
accede al Anexo de este Tema 2 que también se ha publicado.
Página 42Fundamentos de la programación: Primeros pasos
125
'a'
true
3.14159
"Hola"
44. HéctorLópezSánchez
Tipos de datos básicos
— entero: para números enteros (sin parte decimal).
1363, -12, 49
— flotante: para números reales (con parte –punto– decimal).
12.45, -3.1932, 1.16E+02
— real: para números reales; mayores intervalo y precisión.
(Usaremos habitualmente el tipo double para los números reales.)
— caracter: para caracteres.
'a' , '{', 't'
— lógico: para valores lógicos (verdadero/falso, sí/no).
verdadero, falso
— cadena: para cadenas de caracteres.
"Hola Mundo!"
(Requiere incluir la biblioteca string con espacio de nombres std.)
— anular: nada, ausencia de tipo, ausencia de dato (funciones).
Página 43Fundamentos de la programación: Primeros pasos
45. HéctorLópezSánchez
caracter Caracteres
Intervalo de valores: Juego de caracteres (ASCII)
Literales:
'a', '%', 't'
Constantes de barra invertida (o secuencias de escape):
Caracteres de control.
't' = tabulador, 'n' = salto de línea, …
Juego de caracteres:
Página 44Fundamentos de la programación: Primeros pasos
ASCII (códigos 32..127)
ISO-8859-1
(ASCII extendido: códigos 128..255)
1 byte
46. HéctorLópezSánchez
Lógico Valores lógicos
Sólo dos valores posibles:
— Verdadero (true)
— Falso (false)
Literales:
true, false
En realidad, cualquier número distinto de 0 es equivalente a true
y el número 0 es equivalente a false.
Página 45Fundamentos de la programación: Primeros pasos
47. HéctorLópezSánchez
cadena Cadenas de caracteres
"Hola", "Introduce el numerador: ", "X142FG5TX?%A"
Son secuencias de caracteres.
Se asigna la memoria que se necesita para la secuencia concreta.
Requieren incluir la biblioteca string con el espacio de nombres std:
#include <string>
using namespace std;
Página 46Fundamentos de la programación: Primeros pasos
char" "
¡Ojo!
Las comillas tipográficas (apertura/cierre) “…” te darán problemas
al compilar. Asegúrate de utilizar comillas rectas: "…"
49. HéctorLópezSánchez
Operaciones sobre valores de los tipos
Las operaciones que se pueden realizar sobre valores de
un determinado tipo vienen dadas por los operadores definidos
para ese tipo de datos.
Tipos de datos numéricos (int, float y double, con sus variantes):
— Asignación
— Operadores aritméticos
— Operadores relacionales
Tipo de datos bool:
— Asignación
— Operadores lógicos
Tipo de datos char:
— Asignación, ++/--
— Operadores relacionales
Página 48Fundamentos de la programación: Primeros pasos
50. HéctorLópezSánchez
Operadores para tipos de datos numéricos
Página 49Fundamentos de la programación: Primeros pasos
Operador Operandos Posición int float / double
- 1 (monario) Prefijo Cambio de signo
+ 2 (binario) Infijo Suma
- 2 (binario) Infijo Resta
* 2 (binario) Infijo Producto
/ 2 (binario) Infijo División entera División real
% 2 (binario) Infijo Módulo No aplicable
++ 1 (monario) Prefijo / postfijo Incremento
-- 1 (monario) Prefijo / postfijo Decremento
Operadores binarios: Operando_izquierdo Operador Operando_derecho
Operadores monarios:
Prefijo: Operador Operando
Postfijo: Operando Operador
a + b
-a --a ++a
a-- a++
51. HéctorLópezSánchez
Operadores monarios y operadores binarios
Operadores monarios (o unarios)
— El cambio de signo se puede aplicar a una variable, una constante
o una expresión entre paréntesis (en seguida hablamos de expresiones):
-saldo -RATIO -(3 * a – b)
— Los operadores de incremento y decremento sólo se aplican a variables:
++interes --meses j++
Operadores binarios
— Un operador binario se aplica entre un operando izquierdo y un operando
derecho. Los operandos pueden ser literales, constantes, variables o
expresiones:
2 + 3 a * RATIO -a + b 3 * a++
(a % b) * (c / d)
Página 50Fundamentos de la programación: Primeros pasos
52. HéctorLópezSánchez
¿División entera o división real?
Si ambos operandos son enteros, / hace un división entera:
int i = 23, j = 2;
cout << i / j; // Muestra 11
Si alguno de los operandos es real, / hace una división real:
int i = 23;
double j = 2;
cout << i / j; // Muestra 11.5
Página 51Fundamentos de la programación: Primeros pasos
/
53. HéctorLópezSánchez
Módulo (resto de la división entera)
Ambos operandos han de ser enteros:
int i = 23, j = 2;
cout << i % j; // Muestra 1
División entera:
No se obtienen decimales Queda un resto
Página 52Fundamentos de la programación: Primeros pasos
%
123 5
243
123 % 5
55. HéctorLópezSánchez
Evaluación de expresiones
¿Cómo evaluamos una expresión como 3 + 5 * 2 / 2 – 1 ?
¿En qué orden se aplican los distintos operadores?
¿De izquierda a derecha?
¿De derecha a izquierda?
¿Unos operadores antes que otros?
Resolución de ambigüedades:
— Precedencia de los operadores (prioridad):
Unos operadores se han de evaluar antes que otros (mayor precedencia).
— Asociatividad de los operadores (orden a igual prioridad):
Los operadores de igual prioridad se evalúan de izquierda a derecha
o de derecha a izquierda de acuerdo con su asociatividad.
Paréntesis: rompen la precedencia y asociatividad
Siempre se evalúan en primer lugar las subexpresiones parentizadas.
Página 54Fundamentos de la programación: Primeros pasos
56. HéctorLópezSánchez
Precedencia y asociatividad de los operadores
Página 55Fundamentos de la programación: Primeros pasos
Precedencia Operadores Asociatividad
Mayor prioridad ++ -- (postfijos) Izquierda a derecha
++ -- (prefijos) Derecha a izquierda
- (cambio de signo)
* / % Izquierda a derecha
Menor prioridad + - Izquierda a derecha
3 + 5 * 2 / 2 – 1
Misma precedencia:
Izquierda antes.
Misma precedencia:
Izquierda antes.
Mayor
precedencia
3 + 10 / 2 – 1 3 + 5 – 1 8 – 1 7
57. HéctorLópezSánchez
Evaluación de expresiones
Suponiendo que la variable entera a
contiene en este momento el valor 3…
(3 + 5) * a++ + 12 / a++ – (a * 2)
Página 56Fundamentos de la programación: Primeros pasos
Programación con buen estilo:
Evita usar los operadores ++
y -- en expresiones compuestas.
8 * a++ + 12 / a++ – (3 * 2)
8 * a++ + 12 / a++ – 6
8 * 3 + 12 / 3 – 6 a pasa a valer 5
24 + 4 – 6
28 – 6
22
Primero, los paréntesis...
Ahora, los ++ (mayor prioridad)
58. HéctorLópezSánchez
Abreviaturas aritméticas
Cuando una expresión tiene la forma:
variable = variable operador op_derecho;
Se puede abreviar como: variable operador= op_derecho;
Ejemplos:
a = a + 12; a += 12;
a = a * 3; a *= 3;
a = a - 5; a -= 5;
a = a / 37; a /= 37;
a = a % b; a %= b;
Página 57Fundamentos de la programación: Primeros pasos
Operadores (prioridad) Asociatividad
++ -- (postfijos)
Llamadas a funciones
Izda. a dcha.
++ -- (prefijos) Dcha. a izda.
- (cambio de signo)
* / % Izda. a dcha.
+ - Izda. a dcha.
= += -= *= /= %= Dcha. a izda.
Igual precedencia que la asignación.
La misma
59. HéctorLópezSánchez
Espaciado y paréntesis
Se deben usar espacios en el código para facilitar la legibilidad.
f = 3*x*x/5+6*x/7-3;
f = 3 * x * x / 5 + 6 * x / 7 - 3;
Un espacio antes y después de cada operador binario.
Se pueden usar paréntesis, aunque resulten redundantes,
para dejar patentes las prioridades de las operaciones.
f = (3 * x * x) / 5 + (6 * x) / 7 - 3;
O si no se está seguro de la precedencia.
Los paréntesis no afectan a la velocidad del programa.
Página 58Fundamentos de la programación: Primeros pasos
61. HéctorLópezSánchez
Operadores relacionales
Permiten hacer comparaciones (condiciones):
Condición ::= Expresión Operador_relacional Expresión
Las expresiones deben arrojar resultados del mismo tipo (comparables).
El resultado es de tipo bool (true o false).
Página 60Fundamentos de la programación: Primeros pasos
< menor que
<= menor o igual que
> mayor que
>= mayor o igual que
== igual que
!= distinto de
Operadores (prioridad) Asociatividad
++ -- (postfijos)
Llamadas a funciones
Izda. a dcha.
++ -- (prefijos) Dcha. a izda.
- (cambio de signo)
* / % Izda. a dcha.
+ - Izda. a dcha.
< <= > >= Izda. a dcha.
== != Izda. a dcha.
= += -= *= /= %= Dcha. a izda.
62. HéctorLópezSánchez
Operadores relacionales
bool resultado;
int a = 2, b = 3, c = 4;
resultado = a < 5; // 2 < 5 true
resultado = a * b + c >= 12; // 10 >= 12 false
resultado = a * (b + c) >= 12; // 14 >= 12 true
resultado = a != b; // 2 != 3 true
resultado = a * b > c + 5; // 6 > 9 false
resultado = a + b == c + 1; // 5 == 5 true
Los operadores aditivos y multiplicativos tienen mayor prioridad.
Página 61Fundamentos de la programación: Primeros pasos
Error común de programación:
Confundir el operador de igualdad (==) con el operador de asignación (=).