95 lines
3.5 KiB
Markdown
95 lines
3.5 KiB
Markdown
|
---
|
||
|
id: 56533eb9ac21ba0edf2244d8
|
||
|
title: Comparisons with the Logical And Operator
|
||
|
localeTitle: Comparaciones con lo lógico y el operador.
|
||
|
challengeType: 1
|
||
|
---
|
||
|
|
||
|
## Description
|
||
|
<section id='description'>
|
||
|
A veces necesitará probar más de una cosa a la vez. La <dfn>lógica y el</dfn> operador ( <code>&&</code> ) devuelven <code>true</code> si y solo si los <dfn>operandos</dfn> a su izquierda y derecha son verdaderos.
|
||
|
El mismo efecto podría lograrse anidando una instrucción if dentro de otra if:
|
||
|
<blockquote>if (num > 5) {<br> if (num < 10) {<br> return "Yes";<br> }<br>}<br>return "No";</blockquote>
|
||
|
solo devolverá "Sí" si <code>num</code> es mayor que <code>5</code> y menor que <code>10</code> . La misma lógica se puede escribir como:
|
||
|
<blockquote>if (num > 5 && num < 10) {<br> return "Yes";<br>}<br>return "No";</blockquote>
|
||
|
</section>
|
||
|
|
||
|
## Instructions
|
||
|
<section id='instructions'>
|
||
|
Combine las dos declaraciones if en una declaración que devolverá <code>"Yes"</code> si <code>val</code> es menor o igual a <code>50</code> y mayor o igual a <code>25</code> . De lo contrario, devolverá <code>"No"</code> .
|
||
|
</section>
|
||
|
|
||
|
## Tests
|
||
|
<section id='tests'>
|
||
|
|
||
|
```yml
|
||
|
tests:
|
||
|
- text: Debe usar el operador <code>&&</code> una vez
|
||
|
testString: 'assert(code.match(/&&/g).length === 1, "You should use the <code>&&</code> operator once");'
|
||
|
- text: Sólo debe tener una declaración <code>if</code>
|
||
|
testString: 'assert(code.match(/if/g).length === 1, "You should only have one <code>if</code> statement");'
|
||
|
- text: <code>testLogicalAnd(0)</code> debe devolver "No"
|
||
|
testString: 'assert(testLogicalAnd(0) === "No", "<code>testLogicalAnd(0)</code> should return "No"");'
|
||
|
- text: <code>testLogicalAnd(24)</code> debe devolver "No"
|
||
|
testString: 'assert(testLogicalAnd(24) === "No", "<code>testLogicalAnd(24)</code> should return "No"");'
|
||
|
- text: <code>testLogicalAnd(25)</code> debe devolver "Sí"
|
||
|
testString: 'assert(testLogicalAnd(25) === "Yes", "<code>testLogicalAnd(25)</code> should return "Yes"");'
|
||
|
- text: <code>testLogicalAnd(30)</code> debe devolver "Sí"
|
||
|
testString: 'assert(testLogicalAnd(30) === "Yes", "<code>testLogicalAnd(30)</code> should return "Yes"");'
|
||
|
- text: <code>testLogicalAnd(50)</code> debe devolver "Sí"
|
||
|
testString: 'assert(testLogicalAnd(50) === "Yes", "<code>testLogicalAnd(50)</code> should return "Yes"");'
|
||
|
- text: <code>testLogicalAnd(51)</code> debe devolver "No"
|
||
|
testString: 'assert(testLogicalAnd(51) === "No", "<code>testLogicalAnd(51)</code> should return "No"");'
|
||
|
- text: <code>testLogicalAnd(75)</code> debe devolver "No"
|
||
|
testString: 'assert(testLogicalAnd(75) === "No", "<code>testLogicalAnd(75)</code> should return "No"");'
|
||
|
- text: <code>testLogicalAnd(80)</code> debe devolver "No"
|
||
|
testString: 'assert(testLogicalAnd(80) === "No", "<code>testLogicalAnd(80)</code> should return "No"");'
|
||
|
|
||
|
```
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Challenge Seed
|
||
|
<section id='challengeSeed'>
|
||
|
|
||
|
<div id='js-seed'>
|
||
|
|
||
|
```js
|
||
|
function testLogicalAnd(val) {
|
||
|
// Only change code below this line
|
||
|
|
||
|
if (val) {
|
||
|
if (val) {
|
||
|
return "Yes";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Only change code above this line
|
||
|
return "No";
|
||
|
}
|
||
|
|
||
|
// Change this value to test
|
||
|
testLogicalAnd(10);
|
||
|
```
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
</section>
|
||
|
|
||
|
## Solution
|
||
|
<section id='solution'>
|
||
|
|
||
|
|
||
|
```js
|
||
|
function testLogicalAnd(val) {
|
||
|
if (val >= 25 && val <= 50) {
|
||
|
return "Yes";
|
||
|
}
|
||
|
return "No";
|
||
|
}
|
||
|
```
|
||
|
|
||
|
</section>
|