2021-06-15 07:49:18 +00:00
---
id: 5a23c84252665b21eecc7eb0
2021-07-25 18:17:00 +00:00
title: I antes de E, exceto depois de C
2021-06-15 07:49:18 +00:00
challengeType: 5
forumTopicId: 302288
dashedName: i-before-e-except-after-c
---
# --description--
2022-05-31 14:07:07 +00:00
**"I antes de E, exceto depois de C"** é uma regra mnemônica para a ortografia em inglês. Quando não temos certeza se uma palavra é escrita com o dígrafo `ei` ou `ie` , a rima sugere que a ordem correta é `ie` , a menos que a letra anterior seja `c` , caso no qual ele deve ser `ei` .
2021-06-15 07:49:18 +00:00
2021-07-25 18:17:00 +00:00
Usando as palavras fornecidas, verifique se as duas subcláusulas da frase são plausíveis individualmente:
2021-06-15 07:49:18 +00:00
< ol >
< li >
2021-07-25 18:17:00 +00:00
< i > "I antes de E quando não for precedido por C".< / i >
2021-06-15 07:49:18 +00:00
< / li >
< li >
2021-07-25 18:17:00 +00:00
< i > "E antes de I quando for precedido por C".< / i >
2021-06-15 07:49:18 +00:00
< / li >
< / ol >
2021-07-25 18:17:00 +00:00
Se ambas as subfrases forem plausíveis, então a frase original pode ser considerada plausível.
2021-06-15 07:49:18 +00:00
# --instructions--
2021-07-25 18:17:00 +00:00
Escreva uma função que aceite uma palavra e verifique se a palavra segue esta regra. A função deve retornar verdadeiro se a palavra seguir a regra e falso se não seguir.
2021-06-15 07:49:18 +00:00
# --hints--
2021-07-25 18:17:00 +00:00
`IBeforeExceptC` deve ser uma função.
2021-06-15 07:49:18 +00:00
```js
assert(typeof IBeforeExceptC == 'function');
```
2021-07-25 18:17:00 +00:00
`IBeforeExceptC("receive")` deve retornar um booleano.
2021-06-15 07:49:18 +00:00
```js
assert(typeof IBeforeExceptC('receive') == 'boolean');
```
2021-07-25 18:17:00 +00:00
`IBeforeExceptC("receive")` deve retornar `true` .
2021-06-15 07:49:18 +00:00
```js
assert.equal(IBeforeExceptC('receive'), true);
```
2021-07-25 18:17:00 +00:00
`IBeforeExceptC("science")` deve retornar `false` .
2021-06-15 07:49:18 +00:00
```js
assert.equal(IBeforeExceptC('science'), false);
```
2021-07-25 18:17:00 +00:00
`IBeforeExceptC("imperceivable")` deve retornar `true` .
2021-06-15 07:49:18 +00:00
```js
assert.equal(IBeforeExceptC('imperceivable'), true);
```
2021-07-25 18:17:00 +00:00
`IBeforeExceptC("inconcebível")` deve retornar `verdadeiro` .
2021-06-15 07:49:18 +00:00
```js
assert.equal(IBeforeExceptC('inconceivable'), true);
```
2021-07-25 18:17:00 +00:00
`IBeforeExceptC("insuficiente")` deve retornar `falso` .
2021-06-15 07:49:18 +00:00
```js
assert.equal(IBeforeExceptC('insufficient'), false);
```
2021-07-25 18:17:00 +00:00
`IBeforeExceptC("onisciente")` deve retornar `falso` .
2021-06-15 07:49:18 +00:00
```js
assert.equal(IBeforeExceptC('omniscient'), false);
```
# --seed--
## --seed-contents--
```js
function IBeforeExceptC(word) {
}
```
# --solutions--
```js
function IBeforeExceptC(word)
{
if(word.indexOf("c")==-1 & & word.indexOf("ie")!=-1)
return true;
else if(word.indexOf("cei")!=-1)
return true;
return false;
}
```