From bfbf3a816ee66d83dd2eb4ab85335dcf7e35d4d2 Mon Sep 17 00:00:00 2001 From: Alumne Date: Thu, 25 Apr 2019 10:19:25 +0200 Subject: [PATCH 01/12] 1st commit --- exercici1.js | 2 ++ exercici2.js | 5 +++++ exercici3.js | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 exercici1.js create mode 100644 exercici2.js create mode 100644 exercici3.js diff --git a/exercici1.js b/exercici1.js new file mode 100644 index 0000000..6708a3f --- /dev/null +++ b/exercici1.js @@ -0,0 +1,2 @@ +let t1="My favorite dessert is jello."; +alert(t1.indexOf("j")); \ No newline at end of file diff --git a/exercici2.js b/exercici2.js new file mode 100644 index 0000000..c89d9d3 --- /dev/null +++ b/exercici2.js @@ -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); + diff --git a/exercici3.js b/exercici3.js new file mode 100644 index 0000000..af7eca6 --- /dev/null +++ b/exercici3.js @@ -0,0 +1,20 @@ +var n1 = prompt("Introdueix cadena de text"); +var rnd1 = 0; +while (rnd1 == 0) { + let rnd = Math.floor((Math.random() * 122) + 1); + if (rnd < 65 || rnd > 90) { + if (rnd < 97 || rnd > 122) { + } else { + rnd1 = rnd; + } + } else { + rnd1 = rnd; + } +} +var res=String.fromCharCode(rnd1); +console.log(res); +console.log("Hi han "+(n1.indexOf(res)+1)+" '"+res+"' en el text introduit"); + +/* +abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ +*/ \ No newline at end of file From 339ce7b3b0ac3ab4d781a44a13a862c95724e885 Mon Sep 17 00:00:00 2001 From: Alumne Date: Thu, 25 Apr 2019 10:29:06 +0200 Subject: [PATCH 02/12] 2nd commit --- ejercici4.js | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 ejercici4.js diff --git a/ejercici4.js b/ejercici4.js new file mode 100644 index 0000000..b9aa276 --- /dev/null +++ b/ejercici4.js @@ -0,0 +1,3 @@ +let e1 = prompt("Introdueix la teva edat"); +let ej=67-parseInt(e1); +alert("Et queden "+ej+" anys per jubilar-te, ànims!") From 8d0c6113d6c1e0d651c718623fa210c4e461ddd8 Mon Sep 17 00:00:00 2001 From: Alumne Date: Thu, 25 Apr 2019 10:40:52 +0200 Subject: [PATCH 03/12] 3rd commit --- ejercici4.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ejercici4.js b/ejercici4.js index b9aa276..c8a6c9a 100644 --- a/ejercici4.js +++ b/ejercici4.js @@ -1,3 +1,4 @@ let e1 = prompt("Introdueix la teva edat"); -let ej=67-parseInt(e1); -alert("Et queden "+ej+" anys per jubilar-te, ànims!") +const ej=67; +let epj=ej-parseInt(e1); +alert("Et queden "+epj+" anys per jubilar-te, ànims!") From a6e19211e767ec9e75db3c384a77b609efb7976d Mon Sep 17 00:00:00 2001 From: Alumne Date: Thu, 25 Apr 2019 11:00:27 +0200 Subject: [PATCH 04/12] 3rd commit --- ejercici4.js | 2 +- exercici3.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ejercici4.js b/ejercici4.js index c8a6c9a..12690a4 100644 --- a/ejercici4.js +++ b/ejercici4.js @@ -1,4 +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!") +alert(`Et queden \"${epj}\" anys per jubilar-te, ànims!`) diff --git a/exercici3.js b/exercici3.js index af7eca6..b57d0fa 100644 --- a/exercici3.js +++ b/exercici3.js @@ -12,8 +12,9 @@ while (rnd1 == 0) { } } var res=String.fromCharCode(rnd1); -console.log(res); -console.log("Hi han "+(n1.indexOf(res)+1)+" '"+res+"' en el text introduit"); +if (res>0){ + console.log("true"); +}else console.log("false"); /* abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ From 73fedcd15e405a1a10c5fe44d6e92aaa5a44e5be Mon Sep 17 00:00:00 2001 From: Dani Date: Thu, 25 Apr 2019 17:45:57 +0200 Subject: [PATCH 05/12] 5th commit --- README.md | 28 +++++++++++------------ exercici1.js | 2 +- exercici2.js | 10 ++++---- exercici3.js | 44 ++++++++++++++++++++---------------- exercici3b.js | 8 +++++++ ejercici4.js => exercici4.js | 8 +++---- exercici5.js | 25 ++++++++++++++++++++ 7 files changed, 81 insertions(+), 44 deletions(-) create mode 100644 exercici3b.js rename ejercici4.js => exercici4.js (97%) create mode 100644 exercici5.js diff --git a/README.md b/README.md index 25c8d13..97a398f 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -### Exercici 1 -Write code that finds the index of the letter "j" in My favorite dessert is jello. - -### Exercici 2 -Escribe un programa que pida el nombre y un apellido por separado y salude con el nombre y el apellido juntos. - -### Exercici 3 -Letter Quizz. Escriu un programa que demani una cadena de texte i que la compari amb un caràcter generat aleatòriament. -Si la cadena contè el caràcter retorna un missatge amb true sinò retorna false. - -Utilitza els mètodes prompt() i alert per demanar i mostrar els missatges. - -### Kata Growth of Population -from CodeWars +### Exercici 1 +Write code that finds the index of the letter "j" in My favorite dessert is jello. + +### Exercici 2 +Escribe un programa que pida el nombre y un apellido por separado y salude con el nombre y el apellido juntos. + +### Exercici 3 +Letter Quizz. Escriu un programa que demani una cadena de texte i que la compari amb un caràcter generat aleatòriament. +Si la cadena contè el caràcter retorna un missatge amb true sinò retorna false. + +Utilitza els mètodes prompt() i alert per demanar i mostrar els missatges. + +### Kata Growth of Population +from CodeWars diff --git a/exercici1.js b/exercici1.js index 6708a3f..5a2b84c 100644 --- a/exercici1.js +++ b/exercici1.js @@ -1,2 +1,2 @@ -let t1="My favorite dessert is jello."; +let t1="My favorite dessert is jello."; alert(t1.indexOf("j")); \ No newline at end of file diff --git a/exercici2.js b/exercici2.js index c89d9d3..05ce43a 100644 --- a/exercici2.js +++ b/exercici2.js @@ -1,5 +1,5 @@ -var n1 = prompt("Introdueix el teu nom"); -alert("Hola "+n1); -var c1 = prompt("Introdueix el teu cognom"); -alert("Hola,"+n1+" "+c1); - +var n1 = prompt("Introdueix el teu nom"); +alert("Hola "+n1); +var c1 = prompt("Introdueix el teu cognom"); +alert("Hola,"+n1+" "+c1); + diff --git a/exercici3.js b/exercici3.js index b57d0fa..11d208b 100644 --- a/exercici3.js +++ b/exercici3.js @@ -1,21 +1,25 @@ -var n1 = prompt("Introdueix cadena de text"); -var rnd1 = 0; -while (rnd1 == 0) { - let rnd = Math.floor((Math.random() * 122) + 1); - if (rnd < 65 || rnd > 90) { - if (rnd < 97 || rnd > 122) { - } else { - rnd1 = rnd; - } - } else { - rnd1 = rnd; - } -} -var res=String.fromCharCode(rnd1); -if (res>0){ - console.log("true"); -}else console.log("false"); - -/* -abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ +/* introuir la cadena a comparar*/ +var n1 = prompt("Introdueix cadena de text"); +/* inicializem valor numeric random */ +var 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; + } +} +/* convertim el valor numeric a l'equivalent en caracter en codi ascii*/ +var res=String.fromCharCode(rnd1); +if (res>0){ + console.log("true"); +}else console.log("false"); + +/* +abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ */ \ No newline at end of file diff --git a/exercici3b.js b/exercici3b.js new file mode 100644 index 0000000..121e057 --- /dev/null +++ b/exercici3b.js @@ -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)); \ No newline at end of file diff --git a/ejercici4.js b/exercici4.js similarity index 97% rename from ejercici4.js rename to exercici4.js index 12690a4..5047c02 100644 --- a/ejercici4.js +++ b/exercici4.js @@ -1,4 +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!`) +let e1 = prompt("Introdueix la teva edat"); +const ej=67; +let epj=ej-parseInt(e1); +alert(`Et queden \"${epj}\" anys per jubilar-te, ànims!`) diff --git a/exercici5.js b/exercici5.js new file mode 100644 index 0000000..f07698f --- /dev/null +++ b/exercici5.js @@ -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'); + } +} + From 8a01cfd0cdfe998434ec6e55655459c95bb186c0 Mon Sep 17 00:00:00 2001 From: Dani Date: Thu, 25 Apr 2019 18:07:23 +0200 Subject: [PATCH 06/12] 6th commit --- exercici5b.js | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 exercici5b.js diff --git a/exercici5b.js b/exercici5b.js new file mode 100644 index 0000000..9b1f4f4 --- /dev/null +++ b/exercici5b.js @@ -0,0 +1,10 @@ +var b1 = prompt("Que vols beure (llet,refresc o cervesa) ?"); +var e1 = prompt("Quina edat tens?"); +if (b1 === 'cervesa') { + if (e1 >= 18) { console.log('Bona elecció, que vagi de gust'); } + else { console.log('Ho sento, no tens edat per beure begudes alcoholiques'); } +} else if (b1 === 'refresc') { + if (e1 >= 14) { console.log('Bona elecció, que vagi de gust'); } + else { console.log('Ho sento, només pots demanar llet'); } +} + From ba89f663f3b37fba398e8d1a48ad4188c2a72662 Mon Sep 17 00:00:00 2001 From: Dani Date: Sun, 28 Apr 2019 13:10:54 +0200 Subject: [PATCH 07/12] last 5th commit --- exercici5b.js | 16 +++++++++------- exercici5c.js | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 exercici5c.js diff --git a/exercici5b.js b/exercici5b.js index 9b1f4f4..5e32781 100644 --- a/exercici5b.js +++ b/exercici5b.js @@ -1,10 +1,12 @@ -var b1 = prompt("Que vols beure (llet,refresc o cervesa) ?"); -var e1 = prompt("Quina edat tens?"); +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) { console.log('Bona elecció, que vagi de gust'); } - else { console.log('Ho sento, no tens edat per beure begudes alcoholiques'); } + if (e1 >= 18) { } + else { msg=msgneg; } } else if (b1 === 'refresc') { - if (e1 >= 14) { console.log('Bona elecció, que vagi de gust'); } - else { console.log('Ho sento, només pots demanar llet'); } + if (e1 >= 14) { } + else { msg=msgneg; } } - +alert(msg+b1); diff --git a/exercici5c.js b/exercici5c.js new file mode 100644 index 0000000..69e25fc --- /dev/null +++ b/exercici5c.js @@ -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); \ No newline at end of file From 4c057038325b4a11a7133eb37d44844cbfd0d1bc Mon Sep 17 00:00:00 2001 From: Dani Date: Thu, 2 May 2019 19:18:30 +0200 Subject: [PATCH 08/12] 8th commit (exercise 9 completed) --- exercici6-2.js | 25 +++++++++++++++++++++++++ exercici6-3.js | 10 ++++++++++ exercici6.js | 5 +++++ exercici7.js | 5 +++++ exercici8.js | 6 ++++++ exercici9-2.js | 9 +++++++++ exercici9-3.js | 33 +++++++++++++++++++++++++++++++++ exercici9.js | 24 ++++++++++++++++++++++++ 8 files changed, 117 insertions(+) create mode 100644 exercici6-2.js create mode 100644 exercici6-3.js create mode 100644 exercici6.js create mode 100644 exercici7.js create mode 100644 exercici8.js create mode 100644 exercici9-2.js create mode 100644 exercici9-3.js create mode 100644 exercici9.js diff --git a/exercici6-2.js b/exercici6-2.js new file mode 100644 index 0000000..c0ef74e --- /dev/null +++ b/exercici6-2.js @@ -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); \ No newline at end of file diff --git a/exercici6-3.js b/exercici6-3.js new file mode 100644 index 0000000..b87451a --- /dev/null +++ b/exercici6-3.js @@ -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'); + diff --git a/exercici6.js b/exercici6.js new file mode 100644 index 0000000..d9c43ac --- /dev/null +++ b/exercici6.js @@ -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]); +} \ No newline at end of file diff --git a/exercici7.js b/exercici7.js new file mode 100644 index 0000000..f8f0c73 --- /dev/null +++ b/exercici7.js @@ -0,0 +1,5 @@ +let driver1='Node.js'; +console.log(`El nombre del driver es ${driver1}`) +//let driver2=prompt('Introdueix el nom del navegador'); +let driver2=navigator.appName+''; +console.log(`El nombre del navegador es ${driver2+' ('+navigator.appCodeName+')'}`) \ No newline at end of file diff --git a/exercici8.js b/exercici8.js new file mode 100644 index 0000000..bbcca27 --- /dev/null +++ b/exercici8.js @@ -0,0 +1,6 @@ +let lengthMsg=`Vaya, ambos nombres son iguales, ${driver1.length} caracteres!!`; +if (driver1.length>driver2.length){ + lengthMsg=`The Driver tiene el nombre más largo, tiene ${driver1.length} caracteres (${driver1.length-driver2.length} caracteres mas de el navegador)`; +}else if (driver1.length= 0; index--) { + palindrome2 +=palindrome[index]; +} +if (palindrome.toUpperCase()===palindrome2.toUpperCase()) + alert('Eureka! es palíndrom'); +else + alert('ho es palindrom'); diff --git a/exercici9-3.js b/exercici9-3.js new file mode 100644 index 0000000..00a5f39 --- /dev/null +++ b/exercici9-3.js @@ -0,0 +1,33 @@ +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 + console.log(`Total paraules al text: ${numParaules}`); +} +function contar_repeticions(text, paraula) { + //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 + console.log(`La paraula \'${paraula}\' està repetida ${numParaules} vegades al text`); +} +textAdapt(mainText); +contar_paraules(adaptedText); +contar_repeticions((' ' + adaptedText + ' ').toUpperCase(), 'et'.toUpperCase()); \ No newline at end of file diff --git a/exercici9.js b/exercici9.js new file mode 100644 index 0000000..271e314 --- /dev/null +++ b/exercici9.js @@ -0,0 +1,24 @@ +let driver1='Node.js'; +let driver11=''; +driver1=driver1.toUpperCase(); +for (let index = 0; index < driver1.length; index++) { + driver11+=driver1[index]+' '; +} +console.log(driver11); +let driver2=navigator.appName+''; +let driver21=''; +for (let index = driver2.length-1; index >= 0; index--) { + driver21 +=driver2[index]; +} +console.log(driver21); + +driver2=driver2.toUpperCase(); +let names = [driver1, driver2]; +names.sort(); +lexMsg='Increíble! Ambos tenemos el mismo nombre?'; +if (names[0]!==driver2) + lexMsg='El nombre del driver va primero'; +else if (names[0]!==driver1) + lexMsg='Yo, el navigator voy primero'; + +console.log(lexMsg); \ No newline at end of file From 89ad6afb491284924cf50d85aaec3d29a071ff70 Mon Sep 17 00:00:00 2001 From: Dani Date: Thu, 2 May 2019 19:46:35 +0200 Subject: [PATCH 09/12] 9th commit - Kata Growth Population added --- exercici9-2.js | 4 ++-- kataGrowthPopulation.js | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 kataGrowthPopulation.js diff --git a/exercici9-2.js b/exercici9-2.js index dbb2a59..ba67789 100644 --- a/exercici9-2.js +++ b/exercici9-2.js @@ -1,5 +1,5 @@ -var palindrome=prompt('Introdueix el mot o expresio a evaluar:'); -var palindrome2=''; +let palindrome=prompt('Introdueix el mot o expresio a evaluar:'); +let palindrome2=''; for (let index = palindrome.length-1; index >= 0; index--) { palindrome2 +=palindrome[index]; } diff --git a/kataGrowthPopulation.js b/kataGrowthPopulation.js new file mode 100644 index 0000000..5e73ca3 --- /dev/null +++ b/kataGrowthPopulation.js @@ -0,0 +1,10 @@ +//definim variables +let population=1000; +let years=0; +//iniciem bucle incrementant anys fins que la poblacio superi la fita marcada +while (population<=1200) { + years++; + population+=(population*0.02)+50; +} +//mostrem en consola el resultat de la operacio +console.log(`En ${years} anys la poblacio superara els 1200 habitants per ${Math.trunc(population-1200)} persones` ); From 32537596e62f5c400465dcb8e435537c3837e632 Mon Sep 17 00:00:00 2001 From: Dani Date: Fri, 3 May 2019 16:14:08 +0200 Subject: [PATCH 10/12] 10th commit - functions (ex.7-9) added --- README.md | 104 ++++++++++++++++++++++++++++++++++++++++++------- exercici10.js | 13 +++++++ exercici7.js | 20 +++++++--- exercici8.js | 21 +++++++--- exercici9-2.js | 42 ++++++++++++++++---- exercici9-3.js | 10 +++-- exercici9.js | 52 +++++++++++++++---------- 7 files changed, 204 insertions(+), 58 deletions(-) create mode 100644 exercici10.js diff --git a/README.md b/README.md index 97a398f..330d24a 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,90 @@ -### Exercici 1 -Write code that finds the index of the letter "j" in My favorite dessert is jello. - -### Exercici 2 -Escribe un programa que pida el nombre y un apellido por separado y salude con el nombre y el apellido juntos. - -### Exercici 3 -Letter Quizz. Escriu un programa que demani una cadena de texte i que la compari amb un caràcter generat aleatòriament. -Si la cadena contè el caràcter retorna un missatge amb true sinò retorna false. - -Utilitza els mètodes prompt() i alert per demanar i mostrar els missatges. - -### Kata Growth of Population -from CodeWars +### Exercici 1 +Write code that finds the index of the letter "j" in My favorite dessert is jello. + +### Exercici 2 +Escribe un programa que pida el nombre y un apellido por separado y salude con el nombre y el apellido juntos. + +### Exercici 3 +Letter Quizz. Escriu un programa que demani una cadena de texte i que la compari amb un caràcter generat aleatòriament. +Si la cadena contè el caràcter retorna un missatge amb true sinò retorna false. + +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) diff --git a/exercici10.js b/exercici10.js new file mode 100644 index 0000000..cafa3b7 --- /dev/null +++ b/exercici10.js @@ -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); \ No newline at end of file diff --git a/exercici7.js b/exercici7.js index f8f0c73..b9f6083 100644 --- a/exercici7.js +++ b/exercici7.js @@ -1,5 +1,15 @@ -let driver1='Node.js'; -console.log(`El nombre del driver es ${driver1}`) -//let driver2=prompt('Introdueix el nom del navegador'); -let driver2=navigator.appName+''; -console.log(`El nombre del navegador es ${driver2+' ('+navigator.appCodeName+')'}`) \ No newline at end of file +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)); \ No newline at end of file diff --git a/exercici8.js b/exercici8.js index bbcca27..bcad8ff 100644 --- a/exercici8.js +++ b/exercici8.js @@ -1,6 +1,15 @@ -let lengthMsg=`Vaya, ambos nombres son iguales, ${driver1.length} caracteres!!`; -if (driver1.length>driver2.length){ - lengthMsg=`The Driver tiene el nombre más largo, tiene ${driver1.length} caracteres (${driver1.length-driver2.length} caracteres mas de el navegador)`; -}else if (driver1.lengthl2){ + msg=`The Driver ${nom1} tiene el nombre más largo con ${l1} caracteres`; + }else if (l1= 0; index--) { - palindrome2 +=palindrome[index]; +var palindrom1 = prompt('Introdueix el mot o expresio a evaluar:'); + +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 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; } -if (palindrome.toUpperCase()===palindrome2.toUpperCase()) - alert('Eureka! es palíndrom'); -else - alert('ho es palindrom'); +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(palindrome2(palindrom1)); \ No newline at end of file diff --git a/exercici9-3.js b/exercici9-3.js index 00a5f39..ee85ca3 100644 --- a/exercici9-3.js +++ b/exercici9-3.js @@ -18,16 +18,18 @@ function contar_paraules(text) { //Contem els trossos de cadenas que hi han let numParaules = textEnParaules.length; //Mostrem el número de paraules - console.log(`Total paraules al text: ${numParaules}`); + 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 - console.log(`La paraula \'${paraula}\' està repetida ${numParaules} vegades al text`); + return msg = (`La paraula \'${paraula}\' està repetida ${numParaules} vegades al text`); } textAdapt(mainText); -contar_paraules(adaptedText); -contar_repeticions((' ' + adaptedText + ' ').toUpperCase(), 'et'.toUpperCase()); \ No newline at end of file +console.log(contar_paraules(adaptedText)); +console.log(contar_repeticions(adaptedText, 'et')); \ No newline at end of file diff --git a/exercici9.js b/exercici9.js index 271e314..e9a575a 100644 --- a/exercici9.js +++ b/exercici9.js @@ -1,24 +1,34 @@ -let driver1='Node.js'; -let driver11=''; -driver1=driver1.toUpperCase(); -for (let index = 0; index < driver1.length; index++) { - driver11+=driver1[index]+' '; +let driver1 = 'Carlos'; +let driver2 = 'Dani'; + +function nombrarSeparadoEspacio(nom) { + let nouNom = ''; + nom = nom.toUpperCase(); + for (let index = 0; index < nom.length; index++) { + nouNom += nom[index] + ' '; + } + return nouNom; } -console.log(driver11); -let driver2=navigator.appName+''; -let driver21=''; -for (let index = driver2.length-1; index >= 0; index--) { - driver21 +=driver2[index]; +console.log(nombrarSeparadoEspacio(driver1)); +function invertirNom(nom) { + let nouNom = ''; + for (let index = nom.length - 1; index >= 0; index--) { + nouNom += nom[index]; + } + return nouNom; } -console.log(driver21); - -driver2=driver2.toUpperCase(); -let names = [driver1, driver2]; -names.sort(); -lexMsg='Increíble! Ambos tenemos el mismo nombre?'; -if (names[0]!==driver2) - lexMsg='El nombre del driver va primero'; -else if (names[0]!==driver1) - lexMsg='Yo, el navigator voy primero'; +console.log(invertirNom(driver2)); -console.log(lexMsg); \ No newline at end of file +function longitudNombre(nom1, nom2) { + nom1=nom1.toUpperCase(); + nom2=nom2.toUpperCase(); + let names = [nom1, nom2]; + names.sort(); + lexMsg = 'Increíble! Ambos tenemos el mismo nombre?'; + if (names[0] === nom1) + lexMsg = `El nombre del driver ${nom1} va primero`; + else if (names[0] === nom2) + lexMsg = `Yo, el navigator ${nom2} voy primero`; + return lexMsg; +} +console.log(longitudNombre(driver1, driver2)); From 47e10fb9216347c55abf1d8fd457378ea046e066 Mon Sep 17 00:00:00 2001 From: Dani Date: Sat, 4 May 2019 09:54:25 +0200 Subject: [PATCH 11/12] 1st refactored code --- exercici3.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/exercici3.js b/exercici3.js index 11d208b..83aa29a 100644 --- a/exercici3.js +++ b/exercici3.js @@ -1,25 +1,29 @@ /* introuir la cadena a comparar*/ -var n1 = prompt("Introdueix cadena de text"); +let n1 = prompt("Introdueix cadena de text"); /* inicializem valor numeric random */ -var rnd1 = 0; +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 < 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*/ -var res=String.fromCharCode(rnd1); -if (res>0){ - console.log("true"); -}else console.log("false"); +let res=String.fromCharCode(rnd1); +if (res>0) console.log("true"); +else console.log("false"); /* abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ -*/ \ No newline at end of file +*/ + + + From f4828a5a515f7e0c92e55a9411abab7e5ec0025c Mon Sep 17 00:00:00 2001 From: Dani Date: Sat, 4 May 2019 10:21:52 +0200 Subject: [PATCH 12/12] refactored code --- exercici9-2.js | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/exercici9-2.js b/exercici9-2.js index f5ee6e4..2d6f6a0 100644 --- a/exercici9-2.js +++ b/exercici9-2.js @@ -1,6 +1,22 @@ -var palindrom1 = prompt('Introdueix el mot o expresio a evaluar:'); +// 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 @@ -20,16 +36,16 @@ function palindrome2(cadena) { //divideix un string en caracters i ho guaradem com array let cadena1 = cadena.split(''); //fem una copia del array - let cadena2 =cadena1.slice(); + 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'; + msg = 'Eureka! es palíndrom'; return msg; } - alert(palindrome(palindrom1)); +alert(palindrome1(palindrom1)); alert(palindrome2(palindrom1)); \ No newline at end of file