Upload
desarrollowebcom
View
6.896
Download
1
Embed Size (px)
Citation preview
Luis Fernández MuñozETSISI - 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.05 + 4 + 3 => 1230 % 12 => 6¿ 5 + 3 * 2 + 4 ? => 15 ó 48Precedencia 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 ( + - )
- ejemplos5 + 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 ó 98Asociatividad 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 ( + - )
- ejemplos100 / 4 / 2 => 12.5100 / ( 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
- ejemplos30 * 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 || truefalse || !truetrue && false || truefalse || 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 <108 + 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