Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,81 @@ Si la cadena contè el caràcter retorna un missatge amb true sinò retorna fals

Utilitza els mètodes prompt() i alert per demanar i mostrar els missatges.

### Exercici 4
Introducir un número mediante prompt() y devolver en un alert los años que quedan para la jubilación (Establecida en 67).

### Exercici 5
Bartender. Crear un programa para que el usuario introduzca una bebida (leche, coca-cola, cerveza) y la edad. El programa devolverá:
* Si es mayor de 18 puede beber las tres bebidas: "OK toma tu bebida"
* Si es mayor de 14 y menor de 18 y pide coca-cola y leche: "Ok toma tu bebida" si pide cerveza: "Lo siento eres pequeño"
* Si es igual o menor de 14 sólo puede beber leche.

### Kata Growth of Population
from CodeWars

### Exercicis bucles i condicions
1. Fes un llistat de nombres de l'1 al 30
2. Imprimeix el 10 i el 20 amb caràcters ('deu' i 'vint')
3. Imprimeix al costat de cada nombre els literals 'parell'|'senar' segons correspongui
4. Imprimeix els parells agrupats en primer lloc i desprès els senars.

### Exercici 6
Imprime cada una de las letras de tu nombre en mayúsculas por la consola.

### Exercici 7: Nombres y entrada de datos

1. Crea una variable `driver1` con el nombre del *driver*

2. Imprime `"El nombre del driver es XXXX"`;

3. Crea una variable `driver2` and [ask the user](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt) para el *navigator*

4. Imprime `"El nombre del navegador es YYYY"`

### Exercici 8: Condicionales

5. Dependiendo de quién tenga el nombre más largo [is longer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length), imprime:
- `The Driver tiene el nombre más largo, tiene XX caracteres` o
- `Yo, navegador tengo el nombre más largo, tiene XX caracteres` o
- `Vaya, ambos nombres son iguales, XX caracteres!!`

### Exercici 9: Bucles

6. Imprime todos los caracteres del nombre del *driver*, separado por un espacio y en [mayúsculas](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase)
ej.: `"R A U L"`

7. Imprime el nombre del *navigator* en order inverso.
ej.: `"luaR"`

8. Dependiendo del orden alfabético [lexicographic order](https://en.wikipedia.org/wiki/Lexicographical_order) de las cadenas, imprime:
- `El nombre del driver va primero`
- `Yo, el navigator voy primero`
- `Increíble! Ambos tenemos el mismo nombre?`

### Bonus Time!

9. Pedir al usuario un nuevo string y comprobar si es un [Palindrome](https://es.wikipedia.org/wiki/Pal%C3%ADndromo)

Ejemplos de palíndromos:

- "A man, a plan, a canal, Panama!"
- "Amor, Roma"
- "race car"
- "Ana lleva al oso la avellana"
- "Senén té sis nens i set nenes"
- "Ésope reste ici et se repose"
- "I topi non avevano nipoti"
- "Sator Arepo tenet opera rotas".

10. Ir al [lorem ipsum generator](http://www.lipsum.com/) y:
- Generar 3 párrafos. Almacenar el texto en un String
- Hacer que el programa cuente el número de palabras en el string
- Hacer que el programa cuente el número de veces que aparece la palabra latina [`et`](https://en.wiktionary.org/wiki/et#Latin)

## Para más información

- [prompt() - MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt) | Ask user for input
- [String - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)
- [if - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else)
- [while - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/while)
- [for - MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for)
2 changes: 2 additions & 0 deletions exercici1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
let t1="My favorite dessert is jello.";
alert(t1.indexOf("j"));
13 changes: 13 additions & 0 deletions exercici10.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
let array=[];
let array2=[];
for (let index = 1; index <= 10; index++) {
array.push(index);
}
console.log(array);
for (let index = 0; index < array.length; index++) {
console.log(array[index]);
}
for (let index = 1; index <=10; index++) {
array2[index-1]=index;
}
console.log(array2);
5 changes: 5 additions & 0 deletions exercici2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
var n1 = prompt("Introdueix el teu nom");
alert("Hola "+n1);
var c1 = prompt("Introdueix el teu cognom");
alert("Hola,"+n1+" "+c1);

29 changes: 29 additions & 0 deletions exercici3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/* introuir la cadena a comparar*/
let n1 = prompt("Introdueix cadena de text");
/* inicializem valor numeric random */
let rnd1 = 0;
/* executem random fins obtenir un valor contingut en els rangs de lletres majuscules (65-90) i minuscules (97-122) */
while (rnd1 === 0) {
let rnd = Math.floor((Math.random() * 123));
/*if (rnd < 65 || rnd > 90) {
if (rnd < 97 || rnd > 122) {
} else {
rnd1 = rnd;
}
} else {
rnd1 = rnd;
}*/
if ((rnd < 65 || rnd > 90)|| ((rnd < 97 || rnd > 122)&&(rnd < 65 || rnd > 90))){}
else rnd1 = rnd;
}
/* convertim el valor numeric a l'equivalent en caracter en codi ascii*/
let res=String.fromCharCode(rnd1);
if (res>0) console.log("true");
else console.log("false");

/*
abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ
*/



8 changes: 8 additions & 0 deletions exercici3b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/* Solicitem cadena*/
let cadena=prompt('Introudeix cadena');
let cadena=cadena.toUpperCase();
/* Generem lletra aleatoria */
let numRandom=Math.floor(Math.random()*'Z'.charCodeAt()-'A'.charCodeAt());
let letterRandom= String.fromCharCode(numRandom);
/* Comprovar si la cadena conte la lletra */
alert(cadena.includes(letterRandom));
4 changes: 4 additions & 0 deletions exercici4.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
let e1 = prompt("Introdueix la teva edat");
const ej=67;
let epj=ej-parseInt(e1);
alert(`Et queden \"${epj}\" anys per jubilar-te, ànims!`)
25 changes: 25 additions & 0 deletions exercici5.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
var b1 = "";
while (b1 !== 'llet' && b1 !== 'refresc' && b1 !== 'cervesa') {
b1 = prompt("Que vols beure (llet,refresc o cervesa) ?");
if (b1 === 'llet' || b1 === 'refresc' || b1 === 'cervesa') {
var e1 = prompt("Quina edat tens?");
if (e1 >= 18) {
console.log('Bona elecció, que vagi de gust');
} else if ((e1 >= 14) && (e1 < 18)) {
if (b1 === 'cervesa') {
console.log('Ho sento, no tens edat per beure begudes alcoholiques');
} else {
console.log('Bona elecció, que vagi de gust');
}
}
else if ((b1 !== 'llet')) {
console.log('Ho sento, no tens edat per beure begudes alcoholiques ni refrescs');
} else {
console.log('Bona elecció, que vagi de gust');
}

} else {
console.log('Escull una beguda de les ofertades, siusplau');
}
}

12 changes: 12 additions & 0 deletions exercici5b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
let b1 = prompt("Que vols beure (llet,refresc o cervesa) ?"),
e1 = prompt("Quina edat tens?"),
msg="Aquí te la seva beguda de ",
msgneg="Ho sento, no tens edat per beure ";
if (b1 === 'cervesa') {
if (e1 >= 18) { }
else { msg=msgneg; }
} else if (b1 === 'refresc') {
if (e1 >= 14) { }
else { msg=msgneg; }
}
alert(msg+b1);
15 changes: 15 additions & 0 deletions exercici5c.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
let b1=prompt("Que vols beure (llet,refresc o cervesa) ?"),
e1=0,
msg="Aquí te la seva beguda de ",
msgneg="Ho sento, no puc servirte ";
if (b1===undefined || b1==='' || (b1!=='llet'&& b1!=='refresc' && b1!=='cervesa'))
{
msg=msgneg;
b1='';
}
if (b1==="llet")
e1 = prompt("Quina edat tens?");
if ((b1==="cervesa" && e1<18)||(b1==="refresc" && e1<14)){
msg=msgneg;
}
alert(msg+b1);
25 changes: 25 additions & 0 deletions exercici6-2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
for (let index = 1; index <= 30; index+=2) {
let msg;
let parImpar='impar';
switch (index) {
case 10:
msg="diez";
break;
case 20:
msg="veinte";
break;

default:
msg=index;
break;
}
if(index % 2 == 0) { parImpar= "par"; }
console.log(msg+"-"+parImpar);
}
let parells='Parells\n',imparells='Imparells\n';
for (let index = 1; index <= 30; index++){
if(index % 2 == 0)
parells+=index+'\n';
else imparells+=index+'\n';
}
console.log(parells+imparells);
10 changes: 10 additions & 0 deletions exercici6-3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
function printMsg(nom,greet){
let x=nom;
let y=greet;
z=`${y} ${y}`
return console.log(`Hola ${z}`)
}
printMsg('Dani','bon dia,');
printMsg('Fran','com va');
printMsg('Carlos','benvolut amic');

5 changes: 5 additions & 0 deletions exercici6.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
let nom = prompt("Introdueix el teu nom?");
nom=nom.toUpperCase;
for (let index = 0; index < nom.length; index++) {
console.log(nom[index]);
}
15 changes: 15 additions & 0 deletions exercici7.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
let driver1='Angelina';
let driver2='Brad';

//retorna el missatge del nom del driver
function imprimirNomDriver(driver){
let msg=`El nom del driver es ${driver}`;
return msg;
}
//retorna el missatge del nombre del navegador
function imprimirNomNavigator(navigator){
let msg=`El nom del navegador es ${navigator}`;
return msg;
}
console.log(imprimirNomDriver(driver1));
console.log(imprimirNomNavigator(driver2));
15 changes: 15 additions & 0 deletions exercici8.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
let nom1='Carlos';
let nom2='Dani';
function compareNom(nom1,nom2){
let l1=nom1.length;
let l2=nom2.length;
let msg='Vaya, ambos nombres son iguales';
if (l1>l2){
msg=`The Driver ${nom1} tiene el nombre más largo con ${l1} caracteres`;
}else if (l1<l2){
msg=`Yo, navegador ${nom2} tengo el nombre más largo con ${l2} caracteres`;
}
return msg;
}

console.log(compareNom(nom1,nom2));
51 changes: 51 additions & 0 deletions exercici9-2.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// Determinar si un mot o conjunt de paraules es un palindrom
let palindrom1 = prompt('Introdueix el mot o expresio a evaluar:');

//funcio per invertir una cadena de caracters
function reverseString(str) {
return str.split("").reverse().join("");
}
function palindrome(cadena) {
//reemplacem tots els espais, comes i admiracions de la frase a analitzar
cadena = cadena.replace(/ |,|!/g, '').toUpperCase();
//definim variables per defecte
let msg = 'No es palindrom';
let cadena2 = reverseString(cadena);//invertim els caracters de la cadena principal
//comparem cadenes
if (cadena === cadena2)
msg = 'Eureka! es palíndrom';
return msg;
}
function palindrome1(cadena) {
//reemplacem tots els espais, comes i admiracions de la frase a analitzar
cadena = cadena.replace(/ |,|!/g, '').toUpperCase();
//definim variables per defecte
let cadena2 = '';
let msg = 'No es palindrom';
//invertim els caracters de la cadena principal
for (let index = cadena.length - 1; index >= 0; index--) {
cadena2 += cadena[index];
}
//comparem cadenes
if (cadena === cadena2)
msg = 'Eureka! es palíndrom';
return msg;
}
function palindrome2(cadena) {
cadena = cadena.replace(/[ ,!]/g, '').toUpperCase();
//divideix un string en caracters i ho guaradem com array
let cadena1 = cadena.split('');
//fem una copia del array
let cadena2 = cadena1.slice();
//definim misatge per defecte
let msg = 'No es palindrom';
//invertim la cadena de caracters
cadena2.reverse();
//comparo cadenes passant-les a string i comparant strings
if ((cadena1.toString()) === (cadena2.toString()))
msg = 'Eureka! es palíndrom';
return msg;
}
alert(palindrome(palindrom1));
alert(palindrome1(palindrom1));
alert(palindrome2(palindrom1));
35 changes: 35 additions & 0 deletions exercici9-3.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
let mainText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras aliquet blandit urna sed cursus. Quisque ac placerat orci, quis iaculis nibh. Fusce metus urna, ultricies eleifend tempus in, maximus eget lacus. Fusce consequat pulvinar lobortis. Fusce vestibulum semper nisi ac hendrerit. Mauris venenatis nulla at mi imperdiet convallis. Nulla tempor erat vel efficitur elementum. Mauris non ex magna. Aenean ut tortor ultricies, sodales lacus eu, tristique nisi. Nullam venenatis pellentesque nibh a rhoncus. Nullam suscipit accumsan lorem et varius. Maecenas sit amet malesuada massa. Phasellus faucibus in turpis vitae vehicula. Phasellus dui odio, porta non ex nec, ullamcorper pellentesque dolor. Quisque vel volutpat ex. Morbi sit amet augue eget nisl tincidunt gravida.' +
'Pellentesque eu nisl interdum, dictum diam sed, mollis nunc. Aliquam erat volutpat. Vestibulum sed justo sit amet erat egestas consectetur sed at ex. Nunc sagittis, elit et mattis placerat, ipsum ligula viverra lorem, in venenatis tellus nisl non quam. Donec et ornare orci, vitae tincidunt ligula. In vitae arcu nec neque iaculis mollis sit amet id nibh. Phasellus nec tortor in eros sodales aliquet et non dui. Aliquam sodales ligula et finibus sollicitudin. Nunc tempor scelerisque molestie. Aliquam finibus est velit, sed dignissim ante suscipit sed. Morbi hendrerit eleifend hendrerit. Suspendisse faucibus euismod scelerisque. Vivamus dictum elementum elit, sit amet porta orci dignissim eu. Aliquam egestas elit non pretium molestie. Quisque convallis posuere lobortis.' +
'Praesent viverra mattis erat placerat pulvinar. Ut rutrum, elit nec sollicitudin consectetur, tellus mauris finibus erat, ac finibus sem diam ac quam. Fusce tempor nulla vel lectus fringilla congue. Mauris semper tortor eget lorem congue, quis pellentesque diam imperdiet. In dictum dapibus dui pellentesque congue. Cras at dolor id ipsum fermentum condimentum vitae in nulla. Duis efficitur, diam a mattis tincidunt, purus eros consequat odio, vel iaculis urna sapien sit amet mi. Duis enim nulla, euismod sed vulputate vel, feugiat in elit. Sed gravida pharetra commodo. Donec gravida tincidunt enim, id ornare orci eleifend quis. Nam iaculis accumsan lorem quis iaculis. ';
let adaptedText;
function textAdapt(text) {
//Remplacem els salts de línia, els punts i les comes por espais
text = text.replace(/\r?\n/g, ' ');
text = text.replace(/,|\./g, ' ');
//Remplacem els espais seguits por un sol
text = text.replace(/[ ]+/g, ' ');
//Treiem l'espai del principi i del final
text = text.replace(/^ | $/, '');
return adaptedText = text;
}
function contar_paraules(text) {
//Dividim el text pels espais
let textEnParaules = text.split(' ');
//Contem els trossos de cadenas que hi han
let numParaules = textEnParaules.length;
//Mostrem el número de paraules
return msg = (`Total paraules al text: ${numParaules}`);
}
function contar_repeticions(text, paraula) {
text = (' ' + text + ' ').toUpperCase();
paraula = paraula.toUpperCase();
//Dividim el text per la paraula
let textEnParaules = text.split(' ' + paraula + ' ');
//Contem els trossos de cadenas que hi han
let numParaules = textEnParaules.length - 1;
//Mostrem el número de repeticions
return msg = (`La paraula \'${paraula}\' està repetida ${numParaules} vegades al text`);
}
textAdapt(mainText);
console.log(contar_paraules(adaptedText));
console.log(contar_repeticions(adaptedText, 'et'));
Loading