Luis Fernández Muñoz
ETSISI - UPM
Variables y
Tipo de Datos
señales
dato
información
conocimiento
3
3
3
Tipo de Datos:
- es un conjunto de valores: numéricos, cadenas
de caracteres, lógicos (cierto o falso)
- y sus operaciones asociadas:
- suma, igual, mayor, … para los numéricos
- concatenar, igual, mayor, … para cadenas de
caracteres
- no-lógico, y-lógico, o-lógico, igual, … para los
lógicos
Tipo de Datos:
- es un conjunto de valores: ¿ fechas, complejos,
factura, …?
- y sus operaciones asociadas:
- ¿ esFestivo, … para fechas ?
- ¿ parteImaginaria, … para complejos ?
- ¿ totalSinIva … para factura ?
Se resuelve con agrupaciones heterogéneas de
datos simples => Objetos (próximamente)
Tipo de datos Numéricos:
- se escriben:
- Entero en base Decimal: 2, -20, 10
- Entero en base Octal: 02, -024, 012
- Entero en base Hexadecimal: 0x2, -0x14, 0xA
- Real en notación decimal: 3.11, -0.0011, 45.000
- Real en notación científica: 311E-2, -11E-4, 45E3
Tipo de datos Numéricos:
- operadores:
Suma +
Resta -
Multiplicación *
División /
Resto de la división entera %
Tipo de datos Numéricos:
- ejemplos:
4.5 * 2.0 => 9.0
5 + 4 + 3 => 12
30 % 12 => 6
¿ 5 + 3 * 2 + 4 ? => 15 ó 48
Precedencia de operadores: qué operadores
absorven antes los operandos (¿el 3 es para
el + o para el *? ¿el 2 es para el * o para el +?)
Tipo de datos Numéricos:
- precedencia (de mayor a menor):
1ª. Multiplicación / División / Resto ( * / % )
2ª. Suma / Resta ( + - )
- ejemplos
5 + 3 * 2 + 4 => 15
(5 + 3) * (2 + 4) => 48
Tipo de datos Numéricos:
- ejemplos
10 * 2 * 2 => 40
¿ 100 / 4 / 2 ? => 12.5 ó 50
¿ 100 - 4 - 2 ? => 94 ó 98
Asociatividad de operadores: qué
operadores absorven antes los operandos
cuando son de la misma precedencia (¿el 4
es para el / de la izquierda o de la derecha? ¿el
4 es para el - de la izquierda o de la derecha?)
Tipo de datos Numéricos:
- asociatividad (de izquierda a derecha):
1ª. Multiplicación / División / Resto ( * / % )
2ª. Suma / Resta ( + - )
- ejemplos
100 / 4 / 2 => 12.5
100 / ( 4 / 2 ) => 50
100 - 4 - 2 => 94
100 - ( 4 - 2 ) => 98
Tipo de datos Numéricos:
- precedencia y asociatividad no determinan el
orden de evaluación, resuelven
ambigüedades
- ejemplos
30 * 2 / 5 + 6 / 3 * 2 - 8 - 2
- Recomendación: espacios (mejor) y paréntesis
redundantes (sin abusar)
- SI: 30*2/5 + 6/3*2 - 8 - 2
- NO: (((((30*2)/5)+((6/3)*2)))-8)-2)
Tipo de datos Cadenas de caracteres:
- se escriben
- Su valor con entrecomillado simple o doble
'Julio delegado', '12','En un lugar de la...'
“Sara, amor mío!", "12", "En un lugar de la..."
- Algunos caracteres aparecen escapados adoptando
un significado especial
b Espacio hacia atrás f Alimentación de línea
n Nueva línea r Retorno de carro
t Tabulación  Backslash
' Comilla simple " Comilla doble
Tipo de datos Cadenas de caracteres:
- concatenación de cadena +
"saludo +", alumnos" => "saludo, alumnos"
"uno, " + "dos " + "y tres" => "uno, dos y tres"
"Buenas" + 'tardes' => "Buenastardes"
"1" + "2" => "12”
Tipo de datos Lógico:
- se escriben: true y false
- operadores:
- not-lógico: !
- and-lógico: &&
- or-lógico: ||
Tipo de datos Numéricos:
- precedencia (de mayor a menor):
1ª. No-lógico (!)
2ª. Multiplicación / División / Resto ( * / % )
3ª. Suma / Resta ( + - )
4ª. Y-lógico (&&)
5ª. Or-lógico (||)
Tipo de datos Numéricos:
- ejemplos:
false || true
false || !true
true && false || true
false || true && false
(false || true) && false
Tipo de datos Numéricos:
- precedencia (de mayor a menor):
1ª. No-lógico (!)
2ª. Multiplicación / División / Resto ( * / % )
3ª. Suma / Resta ( + - )
4ª. Comparación (< <= > >=)
5ª. Igualdad ( == !=)
6ª. Y-lógico (&&)
7ª. Or-lógico (||)
Operador Relacionales:
- ejemplos:
1 < 3 && 3 <10
8 + 2 == 2 + 8
Datos:
- Constantes: const <identificador> = <expresión>;
- Variables: var <identificador> = <expresión>;
- ejemplos:
const PI = 3.14;
var nombre = ‘Luis’;
const MAYORIA = 18;
var edad = 46;
var mayorEdad = edad >= MAYORIA;
Identificadores en JavaScript:
- Primer carácter debe ser (a-z ó A_Z) o guión bajo
( _) o dólar($)
- Resto caracteres (a-z o A-Z o 0-9 o _)
- No pueden tener espacios en blanco
- No pueden coincidir con las palabras reservadas
(var, const, … resto de sesiones)
- Es sensible a las mayúsculas y minúsculas
-
Entrada/Salidad de datos:
- Entrada: prompt(“Introduzca …”,””)
- Salida: alert(“Resultado …”);
- ejemplos:
const MAYORIA = 18;
var mayorEdad = prompt(“Su edad?”,””) > MAYORIA;
Media2

Variables y tipos de datos - fundamentos de la programación

  • 2.
  • 3.
  • 4.
  • 5.
    Tipo de Datos: -es un conjunto de valores: numéricos, cadenas de caracteres, lógicos (cierto o falso) - y sus operaciones asociadas: - suma, igual, mayor, … para los numéricos - concatenar, igual, mayor, … para cadenas de caracteres - no-lógico, y-lógico, o-lógico, igual, … para los lógicos
  • 6.
    Tipo de Datos: -es un conjunto de valores: ¿ fechas, complejos, factura, …? - y sus operaciones asociadas: - ¿ esFestivo, … para fechas ? - ¿ parteImaginaria, … para complejos ? - ¿ totalSinIva … para factura ? Se resuelve con agrupaciones heterogéneas de datos simples => Objetos (próximamente)
  • 7.
    Tipo de datosNuméricos: - se escriben: - Entero en base Decimal: 2, -20, 10 - Entero en base Octal: 02, -024, 012 - Entero en base Hexadecimal: 0x2, -0x14, 0xA - Real en notación decimal: 3.11, -0.0011, 45.000 - Real en notación científica: 311E-2, -11E-4, 45E3
  • 8.
    Tipo de datosNuméricos: - operadores: Suma + Resta - Multiplicación * División / Resto de la división entera %
  • 9.
    Tipo de datosNuméricos: - ejemplos: 4.5 * 2.0 => 9.0 5 + 4 + 3 => 12 30 % 12 => 6 ¿ 5 + 3 * 2 + 4 ? => 15 ó 48 Precedencia de operadores: qué operadores absorven antes los operandos (¿el 3 es para el + o para el *? ¿el 2 es para el * o para el +?)
  • 10.
    Tipo de datosNuméricos: - precedencia (de mayor a menor): 1ª. Multiplicación / División / Resto ( * / % ) 2ª. Suma / Resta ( + - ) - ejemplos 5 + 3 * 2 + 4 => 15 (5 + 3) * (2 + 4) => 48
  • 11.
    Tipo de datosNuméricos: - ejemplos 10 * 2 * 2 => 40 ¿ 100 / 4 / 2 ? => 12.5 ó 50 ¿ 100 - 4 - 2 ? => 94 ó 98 Asociatividad de operadores: qué operadores absorven antes los operandos cuando son de la misma precedencia (¿el 4 es para el / de la izquierda o de la derecha? ¿el 4 es para el - de la izquierda o de la derecha?)
  • 12.
    Tipo de datosNuméricos: - asociatividad (de izquierda a derecha): 1ª. Multiplicación / División / Resto ( * / % ) 2ª. Suma / Resta ( + - ) - ejemplos 100 / 4 / 2 => 12.5 100 / ( 4 / 2 ) => 50 100 - 4 - 2 => 94 100 - ( 4 - 2 ) => 98
  • 13.
    Tipo de datosNuméricos: - precedencia y asociatividad no determinan el orden de evaluación, resuelven ambigüedades - ejemplos 30 * 2 / 5 + 6 / 3 * 2 - 8 - 2 - Recomendación: espacios (mejor) y paréntesis redundantes (sin abusar) - SI: 30*2/5 + 6/3*2 - 8 - 2 - NO: (((((30*2)/5)+((6/3)*2)))-8)-2)
  • 14.
    Tipo de datosCadenas de caracteres: - se escriben - Su valor con entrecomillado simple o doble 'Julio delegado', '12','En un lugar de la...' “Sara, amor mío!", "12", "En un lugar de la..." - Algunos caracteres aparecen escapados adoptando un significado especial b Espacio hacia atrás f Alimentación de línea n Nueva línea r Retorno de carro t Tabulación Backslash ' Comilla simple " Comilla doble
  • 15.
    Tipo de datosCadenas de caracteres: - concatenación de cadena + "saludo +", alumnos" => "saludo, alumnos" "uno, " + "dos " + "y tres" => "uno, dos y tres" "Buenas" + 'tardes' => "Buenastardes" "1" + "2" => "12”
  • 16.
    Tipo de datosLógico: - se escriben: true y false - operadores: - not-lógico: ! - and-lógico: && - or-lógico: ||
  • 17.
    Tipo de datosNuméricos: - precedencia (de mayor a menor): 1ª. No-lógico (!) 2ª. Multiplicación / División / Resto ( * / % ) 3ª. Suma / Resta ( + - ) 4ª. Y-lógico (&&) 5ª. Or-lógico (||)
  • 18.
    Tipo de datosNuméricos: - ejemplos: false || true false || !true true && false || true false || true && false (false || true) && false
  • 19.
    Tipo de datosNuméricos: - precedencia (de mayor a menor): 1ª. No-lógico (!) 2ª. Multiplicación / División / Resto ( * / % ) 3ª. Suma / Resta ( + - ) 4ª. Comparación (< <= > >=) 5ª. Igualdad ( == !=) 6ª. Y-lógico (&&) 7ª. Or-lógico (||)
  • 20.
    Operador Relacionales: - ejemplos: 1< 3 && 3 <10 8 + 2 == 2 + 8
  • 21.
    Datos: - Constantes: const<identificador> = <expresión>; - Variables: var <identificador> = <expresión>; - ejemplos: const PI = 3.14; var nombre = ‘Luis’; const MAYORIA = 18; var edad = 46; var mayorEdad = edad >= MAYORIA;
  • 22.
    Identificadores en JavaScript: -Primer carácter debe ser (a-z ó A_Z) o guión bajo ( _) o dólar($) - Resto caracteres (a-z o A-Z o 0-9 o _) - No pueden tener espacios en blanco - No pueden coincidir con las palabras reservadas (var, const, … resto de sesiones) - Es sensible a las mayúsculas y minúsculas -
  • 23.
    Entrada/Salidad de datos: -Entrada: prompt(“Introduzca …”,””) - Salida: alert(“Resultado …”); - ejemplos: const MAYORIA = 18; var mayorEdad = prompt(“Su edad?”,””) > MAYORIA;
  • 24.