2. ELEMENTS: VARIABLES I OPERADORS.

3. Elements d’un algoritme

Per aconseguir dissenyar i implementar un algoritme s’usen els següents elements:

(consultau els links sobre els termes per veure la seva descripció teorica al llenguatge javascript)

  1. Variables: permeten guardar valors que es podran modificar. Les variables tenen un nom, tenen un abast d’accesibilitat i poden ser del tipus:
    • Boleà: un bit que pot tenir el valor vertader o fals.
    • Numèric
    • Cadena de caràcters. String
    • Llistes: conjunts de variables amb una estructura i accesibilitat concreta.
  2. Operadors: són elements que ens permeten interactuar amb les variables, com pot ser sumar, restar, concatenar, …
  3. Condicionals: Permeten controlar el recorregut de l’algorisme. Decideixen, mitjançant una premisa condicional quin camí ha d’agafar l’algoritme. Pot ser un condicional que s’executa una sola vegada (if) o un condicionals que fa un bucle (while, for, …).
  4. Comentaris: Els comentaris són elements que ajuden a explicar el funcionament de l’algoritme. Quan s’implementa són parts del codi que no s’executen.

4. Tipus de variables

Les variables a Javascript es declaren mitjançant la paraula var o la paraula let. Més endavant explicarem la seva diferència, per ara usarem la declaració var.

var somUnaVariable; //declaració d'una variable buida.

4.1. Numérics

S’empren per enmagatzemar valors numèrics o decimals. Usam el punt en lloc de la coma per valors decimals.

var iva = 16;        // variable tipus sencer
var total = 234.65; // variable tipus decimal

4.2. Cadenes de text. String

S’empren per enmagatzemar caràcters, paraules o frases de text. Per assignar el valor de la variable tancam el valor entre cometes dobles o simples.

var missatge = "Som una frase";
var missatge2 = 'També puc anar amb cometes simples';
var lletra = 'c'; //també pot ser un únic caràcter.
var buit =''; //o un valor buid

Les cometes dobles i simples es poden intercalar per tenir una sortida adequada sense “tancar” la paraula.

var text1 = "Una frase amb 'cometes simples' dins";
var text2 = 'Una frase amb "cometes dobles" dins';



A vegades s’han d’usar símbols per representar coses com:

Si volem tenirS’escriu…
Una nova línia\n
Un tabulador\t
Una cometa simple\'
Una cometa doble\"
Una barra inclinada\\

Per tant, la forma correcta d’escriure les anteriors frases és:

var text1 = 'Una frase amb \'cometes simples\' dins';
var text2 = "Una frase amb \"cometes dobles\" dins";



Este mecanismo de JavaScript se denomina “mecanismo de escape” de los caracteres problemáticos, y es habitual referirse a que los caracteres han sido “escapados”.

4.3. Arrays o vectors

Un array és una colección de variables, que poden ser totes del mismo tipus o diferents. Per entendre la seva utitlitat ho feim amb un exemple:

var dia1 = "Dilluns";
var dia2 = "Dimarts";
...
var dia7 = "Diumenge";

El codi anterior és correcte, malgrat aixó sí que podem dir que és ineficient i complica la programació. Imagina si volem enmgatzemar els mesos de l’any. Tendriem 12 + 7 variables diferents i vos puc assegurar que complica la programació.

Per això s’empren les agrupacions de variables i es fa de la següent manera:

var dies = ["Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"];

Ara tenim una única variable anomenada dies que guarda tots els valors relacionats.

Per definir una variable array ho feim de la següent forma:

var nomArray = [valor1, valor2, ..., valorN];

Per accedir als seus elements es fa donant la posició que ocupa, les posicions comencen de 0 fins a N.

Fixa´t en el codi anterior, com s’ha dit l’array comença a partir de la posició 0. Al codi es fa la transformació mitjanaçant una resta del diaTriat ([diaTriat-1]).

var dia = dies[0];    // dia = "Dilluns"
dia = dies[5]; // dia = "Dissabte"

Exercici Mesos.

Fent un fork del programa anterior fes un array dels 12 mesos de l’any. Canvia la manera de mostrar el resultat i fes-ho mitjançant un alert().

4.4. Booleans

Es conèixen amb el nom de variables de tipus lògic. Poden tenir els valors true o false (vertader o fals).

Per exemple, són el resultat dels condicionals que sols poden ser vertader o fals. També es poden declarar variables:

var haEntrat=true;var correcte=false;

4. 
Operadors

Els operadors permeten manipular el valor de les variables, realitzar operacions matemàtiques i comparar diferentes variables.

Permeten als programes realitzar càlculs complexes i prendre decisions lògiques en funció de comparacions i altres tipus de condicions.

4.1. Assignació

L’operador d’assignació és el més emprat. El símbol emprat és = 

var numero1 = 3; //assigna el valor 3 a numero1

A l’esquerra sempre s’h de posar el nom de la variable.

var numero1 = 3;
var nombres[1] = 4; //assigna el valor 4 dins la posició 1 de l'array nombres
numero1 =2; //la variable numero1 ara val 2.

4.2. Increment i decrement

S’usen dos operadors sobre les variables numèriques per poder incrementar o decrementar els seus valors. Sols són vàlids sobre variables numèriques.

Exemple:

var numero = 5;
++numero;
alert(numero); // numero = 6

Que és equivalent a:

var numero = 5;
numero = numero + 1;
alert(numero); // numero = 6

El mateix amb el decrement:

var numero = 5;
--numero;
alert(numero); // numero = 4

L’anterior exemple és equivalent a:

var numero = 5;
numero = numero - 1;
alert(numero); // numero = 4

També es poden emprar com a sufixe:

var numero = 5;
numero++;
alert(numero); // numero = 6

Mira el resultat del següent exemple per veure les diferències:

var numero1 = 5;
var numero2 = 2;
numero3 = numero1++ + numero2;
// numero3 = 7, numero1 = 6

var numero1 = 5;
var numero2 = 2;
numero3 = ++numero1 + numero2;
// numero3 = 8, numero1 = 6

Si l’operador va com a prefixe (davant) l’operació s’executa al proncipi, si és al darrera es fa despres de realitzar l’operació.

4.3. Lògics

Els operadors lògics són imprescindibles per programar. S’usen per prendre decisions. El seu resultat serà true o false (valor lògic o booleà).

4.3.1. Negació

És l’operador que nega el valor d’una variable.:

var visible = true;
alert(!visible); // mostra "false" y no "true"
variable!variable
truefalse
falsetrue

Si aplicam una operació booleana sobre un:

  • número, val false si val 0 i true per qualsevol altre.
  • Texte, val false si la cadena és buida ("") i val true si no és buida.

Si la variable original es de tipo booleano, es muy sencillo obtener su negación. Sin embargo, ¿qué sucede cuando la variable es un número o una cadena de texto? Para obtener la negación en este tipo de variables, se realiza en primer lugar su conversión a un valor booleano:

var quantitat = 0;
buid = !quantitat; // buid = true

quantitat = 2;
buid = !quantitat; // buid = false

var missatge = "";
buid = !missatge; // buid = true

missatge = "Bienvenido";
buid = !missatge; // buid = false

4.3.2. AND

L’operació lògica AND obté el resultat combinant dos valors boleans. L’operador que s’usa és &&, i el resultat de l’operació és vertader sols si els dos operands són vertaders.

variable1variable2variable1 && variable2
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse
var valor1 = true;
var valor2 = false;
resultado = valor1 && valor2; // resultat = false

valor1 = true;
valor2 = true;
resultado = valor1 && valor2; // resultat = true

4.3.3. OR

L’operació lògica OR tambè combina dos valors booleans. L’operador s’indica amb || i el seu resultat és true si un dels dos operands és vertader.

variable1variable2variable1 || variable2
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse
var valor1 = true;
var valor2 = false;
resultado = valor1 || valor2; // resultat = true

valor1 = false;
valor2 = false;
resultado = valor1 || valor2; // resultat = false

3.3.4. Matemátics

Els operadors que es poden usar són: suma (+), resta (-), multiplicació (*), divisió (/) i mòdul(%).


var numero1 = 10;
var numero2 = 5;

resultat = numero1 / numero2; // resultat = 2
resultat = 3 + numero1; // resultat = 13
resultat = numero2 – 4; // resultat = 1
resultat = numero1 * numero 2; // resultat = 50

L’operador mòdul calcula el reste de la divisió sencera de dos numeros. Per exemple si dividim 10 entre 5, la divisió dona el resultat 2, el reste és 0, per tant el módul de 10 i 5 és igual a 0.

En el cas, de 9 i 5, el resultat es 1 i el reste 4, per tant el módul de 9 i 5 es igual a 4.

var numero1 = 10;
var numero2 = 5;
resultado = numero1 % numero2; // resultat = 0

numero1 = 9;
numero2 = 5;
resultado = numero1 % numero2; // resultat = 4

Podem abraviar la notació:

var numero1 = 5;
numero1 += 3; // numero1 = numero1 + 3 = 8
numero1 -= 1; // numero1 = numero1 - 1 = 4
numero1 *= 2; // numero1 = numero1 * 2 = 10
numero1 /= 5; // numero1 = numero1 / 5 = 1
numero1 %= 4; // numero1 = numero1 % 4 = 1

4.5. Relacionals

Els operadors a javascript, com a les matemàtiques per delimitar franjes: major que (>), menor que (<), major o igual (>=), menor o igual (<=), igual que (==) y diferent de (!=).

El resultat de sempre és un valor booleà:

var numero1 = 3;
var numero2 = 5;
resultat = numero1 > numero2; // resultat = false
resultat = numero1 < numero2; // resultat = true

numero1 = 5;
numero2 = 5;
resultat = numero1 >= numero2; // resultat = true
resultat = numero1 <= numero2; // resultat = true
resultat = numero1 == numero2; // resultat = true
resultat = numero1 != numero2; // resultat = false

Fixa’t amb la diferència entre = i == . Assignació i comparació.

// L'operador "=" assigna valors
var numero1 = 5;
resultat = numero1 = 3; // numero1 = 3 y resultat = 3

// El operador "==" compara variables
var numero1 = 5;
resultado = numero1 == 3; // numero1 = 5 y resultado = false

Los operadores relacionales también se pueden utilizar con variables de tipo cadena de texto:

var texto1 = "hola";
var texto2 = "hola";
var texto3 = "adeu";

resultat = texto1 == texto3; // resultat = false
resultat = texto1 != texto2; // resultat = false
resultat = texto3 >= texto2; // resultat = false

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>