<!DOCTYPE ...>
na primeira linha, onde a parte " ...
" é a versão do HTML. Para HTML5, você usa <!DOCTYPE html>
. O !
e DOCTYPE
maiúsculas é importante, especialmente para navegadores mais antigos. O html
não faz html
entre maiúsculas e minúsculas. Em seguida, o restante do código HTML precisa ser agrupado em tags html
. A abertura <html>
vai diretamente abaixo da linha <!DOCTYPE html>
, e o fechamento </html>
vai no final da página. Aqui está um exemplo da estrutura da página: <! DOCTYPE html>
<html>
<! - Seu código HTML vai aqui ->
</ html>
<!DOCTYPE ...>
na primeira linha, onde a parte ...
é a versão do HTML. Para HTML5, você usa <!DOCTYPE html>
. O !
e DOCTYPE
maiúsculas é importante, especialmente para navegadores mais antigos. O html
não faz html
entre maiúsculas e minúsculas. Em seguida, o restante do código HTML precisa ser agrupado em tags html
. A abertura <html>
vai diretamente abaixo da linha <!DOCTYPE html>
, e o fechamento </html>
vai no final da página. Aqui está um exemplo da estrutura da página: <! DOCTYPE html>
<html>
<! - Seu código HTML vai aqui ->
</ html>
DOCTYPE
para HTML5 à parte superior do documento HTML em branco no editor de código. Sob ele, adicione as tags html
abertura e fechamento, que envolvem um elemento h1
. O título pode incluir qualquer texto. do...while
" porque primeiro ele " do
" uma passagem do código dentro do loop, não importa o que aconteça, e então executa " while
" uma condição especificada é verdadeira e pára assim que a condição não for mais verdadeira. Vamos ver um exemplo. var ourArray = [];Isso se comporta exatamente como você esperaria com qualquer outro tipo de loop, e a matriz resultante será semelhante a
var i = 0;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
[0, 1, 2, 3, 4]
. No entanto, o que faz o do...while
diferente de outros loops é como ele se comporta quando a condição falha na primeira verificação. Vamos ver isso em ação. Aqui está um loop regular que executará o código no loop desde que i < 5
. var ourArray = [];Observe que inicializamos o valor de
var i = 5;
enquanto (i <5) {
ourArray.push (i);
i ++;
}
i
como sendo 5. Quando executamos a próxima linha, notamos que i
não é menor que 5. Portanto, não executamos o código dentro do loop. O resultado é que o ourArray
terá nada adicionado a ele, então ele ainda ficará assim []
quando todo o código no exemplo acima terminar de ser executado. Agora, dê uma olhada em um do...while
loop. var ourArray = [];Neste caso, inicializamos o valor de
var i = 5;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
i
como 5, assim como fizemos com o loop while. Quando chegamos à próxima linha, não há verificação para o valor de i
, então vamos para o código dentro das chaves e executá-lo. Vamos adicionar um elemento à matriz e incrementar i
antes de chegarmos à verificação de condição. Então, quando chegarmos a verificar se i < 5
ver que i
agora é 6, o que falha na verificação condicional. Então, saímos do loop e acabamos. No final do exemplo acima, o valor de ourArray
é [5]
. Essencialmente, um laço do...while
while garante que o código dentro do loop será executado pelo menos uma vez. Vamos tentar fazer um do...while
loop para trabalhar, empurrando valores para um array. do...while
porque primeiro ele do
uma passagem do código dentro do loop, não importa o que aconteça, e então executa while
uma condição especificada é verdadeira e pára assim que a condição não for mais verdadeira. Vamos ver um exemplo. var ourArray = [];Isso se comporta exatamente como você esperaria com qualquer outro tipo de loop, e a matriz resultante será semelhante a
var i = 0;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
[0, 1, 2, 3, 4]
. No entanto, o que faz o do...while
diferente de outros loops é como ele se comporta quando a condição falha na primeira verificação. Vamos ver isso em ação. Aqui está um loop regular que executará o código no loop desde que i < 5
. var ourArray = [];Observe que inicializamos o valor de
var i = 5;
enquanto (i <5) {
ourArray.push (i);
i ++;
}
i
como sendo 5. Quando executamos a próxima linha, notamos que i
não é menor que 5. Portanto, não executamos o código dentro do loop. O resultado é que o ourArray
terá nada adicionado a ele, então ele ainda ficará assim []
quando todo o código no exemplo acima terminar de ser executado. Agora, dê uma olhada em um do...while
loop. var ourArray = [];Neste caso, inicializamos o valor de
var i = 5;
Faz {
ourArray.push (i);
i ++;
} enquanto (i <5);
i
como 5, assim como fizemos com o loop while. Quando chegamos à próxima linha, não há verificação para o valor de i
, então vamos para o código dentro das chaves e executá-lo. Vamos adicionar um elemento à matriz e incrementar i
antes de chegarmos à verificação de condição. Então, quando chegarmos a verificar se i < 5
ver que i
agora é 6, o que falha na verificação condicional. Então, saímos do loop e acabamos. No final do exemplo acima, o valor de ourArray
é [5]
. Essencialmente, um laço do...while
while garante que o código dentro do loop será executado pelo menos uma vez. Vamos tentar fazer um do...while
loop para trabalhar, empurrando valores para um array. while
loop no código a um do...while
loop para que o loop vai empurrar o número 10 a myArray
, e i
será igual a 11
quando o código termina a execução. for loop
" porque é executado "por" um número específico de vezes. For loops são declarados com três expressões opcionais separadas por ponto e vírgula: for ([initialization]; [condition]; [final-expression])
A instrução de initialization
é executada uma vez apenas antes do loop iniciar. É normalmente usado para definir e configurar sua variável de loop. A instrução de condition
é avaliada no início de cada iteração de loop e continuará enquanto ela for avaliada como true
. Quando a condition
é false
no início da iteração, o loop deixará de ser executado. Isso significa que se a condition
começar como false
, seu loop nunca será executado. A final-expression
é executada no final de cada iteração de loop, antes da próxima verificação de condition
e é geralmente usada para incrementar ou decrementar seu contador de loop. No exemplo a seguir, inicializamos com i = 0
e iteramos enquanto nossa condição i < 5
é verdadeira. Vamos incrementar i
por 1
em cada iteração de loop com o i++
como nossa final-expression
. var ourArray = [];
para (var i = 0; i <5; i ++) {
ourArray.push (i);
}
ourArray
irá agora conter [0,1,2,3,4]
. for loop
porque é executado "por" um número específico de vezes. For loops são declarados com três expressões opcionais separadas por ponto e vírgula: for ([initialization]; [condition]; [final-expression])
A instrução de initialization
é executada uma vez apenas antes do loop iniciar. É normalmente usado para definir e configurar sua variável de loop. A instrução de condition
é avaliada no início de cada iteração de loop e continuará enquanto ela for avaliada como true
. Quando a condition
é false
no início da iteração, o loop deixará de ser executado. Isso significa que se a condition
começar como false
, seu loop nunca será executado. A final-expression
é executada no final de cada iteração de loop, antes da próxima verificação de condition
e é geralmente usada para incrementar ou decrementar seu contador de loop. No exemplo a seguir, inicializamos com i = 0
e iteramos enquanto nossa condição i < 5
é verdadeira. Vamos incrementar i
por 1
em cada iteração de loop com o i++
como nossa final-expression
. var ourArray = [];
para (var i = 0; i <5; i ++) {
ourArray.push (i);
}
ourArray
irá agora conter [0,1,2,3,4]
. for
para trabalhar para empurrar os valores de 1 a 5 para myArray
. while
" laço porque ele é executado "enquanto" uma condição especificada for verdadeira e pára uma vez que a condição já não é verdade. var ourArray = [];Vamos tentar fazer um loop while funcionar empurrando valores para um array.
var i = 0;
enquanto (i <5) {
ourArray.push (i);
i ++;
}
while
laço porque ele é executado "enquanto" uma condição especificada for verdadeira e pára uma vez que a condição já não é verdade. var ourArray = [];Vamos tentar fazer um loop while funcionar empurrando valores para um array.
var i = 0;
enquanto (i <5) {
ourArray.push (i);
i ++;
}
myArray
usando uma while
loop. chainToSwitch(42)
should be "The Answer"");'
- text: 'chainToSwitch(1)
deve ser "Não existe # 1"'
testString: 'assert(chainToSwitch(1) === "There is no #1", "chainToSwitch(1)
should be "There is no #1"");'
- - text: chainToSwitch(99)
deve ser " chainToSwitch(99)
!"
+ - text: chainToSwitch(99)
deve ser chainToSwitch(99)
!
testString: 'assert(chainToSwitch(99) === "Missed me by this much!", "chainToSwitch(99)
should be "Missed me by this much!"");'
- text: chainToSwitch(7)
deve ser "Ate Nine"
testString: 'assert(chainToSwitch(7) === "Ate Nine", "chainToSwitch(7)
should be "Ate Nine"");'
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt.portuguese.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt.portuguese.md
index 9189d9c2c2..6e4202b5cf 100644
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt.portuguese.md
+++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt.portuguese.md
@@ -17,19 +17,19 @@ localeTitle: Encontre um ou mais criminosos em uma perseguição policial
```yml
tests:
- - text: Sua expressão regular deve corresponder a one
criminoso (" C
") em "C"
+ - text: Sua expressão regular deve corresponder a one
criminoso ( C
) em C
testString: 'assert("C".match(reCriminals) && "C".match(reCriminals)[0] == "C", "Sua expressão regular deve corresponder a one
criminoso ("C
") em "C"
");'
- text: Sua expressão regular deve coincidir com two
criminosos (" CC
") em "CC"
- testString: 'assert("CC".match(reCriminals) && "CC".match(reCriminals)[0] == "CC", "Sua expressão regular deve corresponder a two
criminosos ("CC
") em "CC"
");'
- - text: Sua expressão regular deve corresponder a three
criminosos (" CCC
") em "P1P5P4CCCP2P6P3"
+ testString: 'assert("CC".match(reCriminals) && "CC".match(reCriminals)[0] == "CC", "Sua expressão regular deve corresponder a two
criminosos (CC
) em CC
);'
+ - text: Sua expressão regular deve corresponder a three
criminosos ( CCC
) em P1P5P4CCCP2P6P3
testString: 'assert("P1P5P4CCCP2P6P3".match(reCriminals) && "P1P5P4CCCP2P6P3".match(reCriminals)[0] == "CCC", "Sua expressão regular deve corresponder a three
criminosos ("CCC
") em "P1P5P4CCCP2P6P3"
");'
- - text: Sua expressão regular deve corresponder a five
criminosos (" CCCCC
") em "P6P2P7P4P5CCCCCP3P1"
+ - text: Sua expressão regular deve corresponder a five
criminosos ( CCCCC
) em P6P2P7P4P5CCCCCP3P1
testString: 'assert("P6P2P7P4P5CCCCCP3P1".match(reCriminals) && "P6P2P7P4P5CCCCCP3P1".match(reCriminals)[0] == "CCCCC", "Sua expressão regular deve corresponder a five
criminosos ("CCCCC
") em "P6P2P7P4P5CCCCCP3P1"
");'
- text: Sua expressão regular não deve corresponder a nenhum criminoso em ""
testString: 'assert(!reCriminals.test(""), "Sua expressão regular não deve corresponder a nenhum criminoso ""
");'
- - text: Sua expressão regular não deve corresponder a nenhum criminoso em "P1P2P3"
+ - text: Sua expressão regular não deve corresponder a nenhum criminoso em P1P2P3
testString: 'assert(!reCriminals.test("P1P2P3"), "Sua expressão regular não deve corresponder a nenhum criminoso em "P1P2P3"
");'
- - text: Sua expressão regular deve corresponder a fifty
criminosos (" CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
") em "P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3"
.
+ - text: Sua expressão regular deve corresponder a fifty
criminosos ( CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
) em P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3
.
testString: 'assert("P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3".match(reCriminals) && "P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3".match(reCriminals)[0] == "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC", "Sua expressão regular deve corresponder a fifty
criminosos ("CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
") em "P2P1P5P4CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCP3"
.");'
```
diff --git a/curriculum/challenges/portuguese/08-coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration.portuguese.md b/curriculum/challenges/portuguese/08-coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration.portuguese.md
index d4674ef769..c16eeaeec0 100644
--- a/curriculum/challenges/portuguese/08-coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration.portuguese.md
+++ b/curriculum/challenges/portuguese/08-coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration.portuguese.md
@@ -7,7 +7,7 @@ localeTitle: Converta segundos para duração composta
---
## Description
-Implemente uma função que:
recebe um inteiro positivo representando uma duração em segundos como entrada (por exemplo,100
) e retorna uma string que mostra a mesma duração decomposta em semanas, dias, horas, minutos e segundos, conforme detalhado abaixo (por exemplo, " 1 min, 40 sec
"). Demonstre que ele passa nos três casos de teste a seguir:
Casos de teste
número de entrada | número de saída |
---|---|
7259 | 2 hr, 59 sec |
86400 | 1 d |
6000000 | 9 wk, 6 d, 10 hr, 40 min |
Detalhes
As seguintes cinco unidades devem ser usadas:unidade | sufixo usado na saída | conversão |
---|---|---|
semana | wk | 1 semana = 7 dias |
dia | d | 1 dia = 24 horas |
hora | hr | 1 hora = 60 minutos |
minuto | min | 1 minuto = 60 segundos |
segundo | sec |
1 d
" e não " 0 wk, 1 d, 0 hr, 0 min, 0 sec
"). Dê precedência às unidades maiores em relação às menores possível (por exemplo, retornar 2 min, 10 sec
e não 1 min, 70 sec
ou 130 sec
) Imite a formatação mostrada nos casos de teste (quantidades classificadas da maior unidade para a menor e separadas por vírgula + espaço; valor e unidade de cada quantidade separada por espaço). Implemente uma função que:
recebe um inteiro positivo representando uma duração em segundos como entrada (por exemplo,100
) e retorna uma string que mostra a mesma duração decomposta em semanas, dias, horas, minutos e segundos, conforme detalhado abaixo (por exemplo, 1 min, 40 sec
). Demonstre que ele passa nos três casos de teste a seguir:
Casos de teste
número de entrada | número de saída |
---|---|
7259 | 2 hr, 59 sec |
86400 | 1 d |
6000000 | 9 wk, 6 d, 10 hr, 40 min |
Detalhes
As seguintes cinco unidades devem ser usadas:unidade | sufixo usado na saída | conversão |
---|---|---|
semana | wk | 1 semana = 7 dias |
dia | d | 1 dia = 24 horas |
hora | hr | 1 hora = 60 minutos |
minuto | min | 1 minuto = 60 segundos |
segundo | sec |
1 d
e não 0 wk, 1 d, 0 hr, 0 min, 0 sec
). Dê precedência às unidades maiores em relação às menores possível (por exemplo, retornar 2 min, 10 sec
e não 1 min, 70 sec
ou 130 sec
) Imite a formatação mostrada nos casos de teste (quantidades classificadas da maior unidade para a menor e separadas por vírgula + espaço; valor e unidade de cada quantidade separada por espaço).