OBS: É importante que você gere um commit para cada parte da atividade que você concluir.
Nota: Exercícios retirados/inspirados do livro Eloquent JavaScript, de Marijn Haverbeke.
Implemente um programa em JavaScript que imprima a seguinte forma no console:
##
###
####
#####
######
OBS: A quantidade de linhas deve ser informada pelo usuário.
Implemente um programa em JavaScript que imprima na página um tabuleiro de xadrez:
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
OBS: A quantidade de linhas deve ser informada pelo usuário.
Implemente um programa que, dado uma palavra de entrada pelo usuário, verifique se essa palavra é um palíndromo. Um palíndromo é uma palavra que poder ser lida tanto da direita para a esquerda como da esquerda para a direita.
Escreva um programa que utilize a função console.log para imprimir números de 1 a 100, com duas exceções:
Para números divsíveis por 3: Imprimir Fizz Para números divisíveis por 5: Imprimir Buzz Para números divisíveis por 3 e 5: Imprimir FizzBuzz
Implemente duas funções JavaScript, uma para retornar o menor valor entre dois elementos (chamada min(a, b)
), e outra para retornar o maior valor entre dois elementos (chamada max(a, b)
).
-
Implemente uma função que verifique se um número é divisível por 2. A função deverá se chamar
mod2(number)
e retornar um valor booleano, indicando se o número é ou não divisível. -
Extenda o exercício anterior de modo a criar uma função
mod(num, mod)
, que verifique se num é divisível por mod.
Implemente uma função chamada countChars(frase, c)
que receba como parâmetro uma string e um caractere e retorne quantas vezes aquele caracteres aparece na string.
-
Implemente uma função
range(min, max)
que receba dois númerosmin
emax
, e retorne um array contendo todos os números inteiros entremin
emax
. -
Adicione um parâmetro na função
range(min, max, i)
que representa o intervalo de variação entre os números a serem preenchidos no array.
Implemente uma função reverseArray(array)
que receba um array como parâmetro e retorne outro array como reverso.
Implemente uma função toList(array)
que converta o array array
para uma lista. A lista deverá ter a estrutura abaixo:
var list = {
value: 1,
rest: {
value: 2,
rest: {
value: 3,
rest: null
}
}
};
Implemente uma função chamada deepEquals(obj1, obj2)
que verifica se dois objetos quaisquer possuem as mesmas propriedades.
OBS: Você pode, através do próprio JavaScript, iterar sobre cada uma das propriedades existentes de um objeto javascript e seus valores.
Implemente uma função que faça a ordenação de um vetor. O critério de ordenação deverá ser enviado por parâmetro, na forma de função. A ordenação deverá seguir o algoritmo bubble sort.
Teste a ordenação criando critérios de ordenação crescente, descrente, crescente ímpares, decrescente pares.
Implemente uma função que faça a criptografia de uma determinada string. O critério de criptografia deverá ser enviado por parâmetro, na forma de função.
Teste a criptografia utilizando como critério a cifra de César.
Implemente uma função que faça uma determinada verificação de um número, retornando sempre verdadeiro ou falso. Essa verificação deverá ser enviada como parâmetro, na forma de função.
Teste a função utilizando como verificações se um número é impar, e se um número é primo.
Implemente uma função que faça transformações nos caracteres de uma string. A transformação a ser realizada deverá ser enviada por parâmetro, na forma de função.
Teste a função passando como parâmetro as seguintes transformações:
- Caixa alta nas vogais
- Caixa alta nas consoantes
- Caixa baixa nas vogais
- Caixa baixa nas consoantes
Implemente uma função que crie matrizes com base em uma função matricial com base nos índices da matriz. A função matricial deverá ser enviada por parâmetro, na forma de função.
Teste o exercício passando como parâmetro as seguintes funções matriciais:
m[i,j] = i + j
[i,j] = i * j
m[i,j] = i == j ? 1 : 0
[i,j] = i^2/(j+1)
m[i,j] = i > j ? 1 : (i < j ? 5 : 0)