O objetivo deste repositório é reunir um conjunto de exercícios de lógica de programação utilizando Javascript para aprimorar as habilidades em resolução de problemas do cotidiano profissional de forma rápida e assertiva.
Dentre as subpastas é possível encontrar os sequintes exercícios:- Gerar uma sequência de Fibonacci utilizando JS
- Trocar os valores entre as variáveis A e B
- Média de idades
- Efetuar operações matemáticas
- Conversor de medidas
- Var, let, const (diferenças na prática)
- Recursividade com função Fibonacci
- Destructuring assignment
- Troca de valores com destructuring assignment
- Passando um objeto como parâmetros de uma função
- Operações com vetores
- Loops em Loops
- Condicionais 1.1
- Condicionais 1.2
- Estrutura de Repetição - For
- Estrutura de Repetição - Filtrando itens de um array
Ao decorrer do tempo este repositório será preenchido com mais exercícios que considero relevante para exercitar essa parte crucial da programação que é a lógica. É através do desenvolvimento de uma lógica de programação sólida e àgil que conseguimos absorver de forma eficáz qualquer linguagem de programação.
A sequência de Fibonacci é uma sequência de números onde o número 1 é o primeiro e segundo termo da ordem, e os demais são originados pela soma de seus antecessores. Fibonacci foi um dos mais importantes matemáticos da idade média, a 'sequência de fiboancci' criada a partir dos estudos sobre reprodução de coelhos, hoje é um dos pilares das operações do mercado financeiro. Suas contribuições surtiram efeito nas mais variadas áreas partindo da biologia até a tecnologia.
Com esta solução é necessário definir dois valores iniciais e a partir disso, será iniciado um loop que irá gerar o resto dos valores adicionando dois valores anteriores da sequência. Com uma function
é possível pré-determinar o número de valores que queremos gerar para a função que irá gerar a sequência.
Escopo: Ler os valores A e B e trocar os valores entre as duas variáveis; a variável A passa a possuir o valor de B e a variável B passa a possuir o valor de A.
- Utilizei neste projeto o DOM (Document Object Model) para fazer a interação com os arquivos HTML e CSS.
- Optei por um HTML simples e funcional, utilizando
inputs
para inserir os números que irão posteriormente ser armazenados nas variáveis A e B. E umbutton
Enviar para posteriormente "mandar" os valores para o Javascript. - No Javascript será criado uma variável adicional que será a responsável por proporcionar a mudança entre os valores A e B. Como poder ser observado no código abaixo:
var c = b;
var b = a;
var a = c;
console.log('Variável A: ' + a);
console.log('Variável B: ' + b);
Escopo: Leia as idades de duas crianças, calcule e mostre sua soma e média.
Escopo: Leia 2 números, efetue as 4 operações matemáticas e mostre os resultados.
Leia uma temperatura em graus Celsius e mostre a mesma em graus Fahrenheit. Exercício solucionado com Javascript.
Compreendendo que as constantes: const
não podem ter seus valores reatribuidos troque os valores do array declarado para [2, 5, 7].
Obs. Não pode alterar o tipo const
para let. Pense em uma solução que não haja essa troca.
Código base do desafio citado:
const s = [5, 7, 2];
function editInPlace() {
}
editInPlace();
Desenvolver um algorítimo (n) que vai retornar o número em questão na sequência de fibonaci.
n
for 4 o que precisa ser retornado é o número 3, porque o valor 3 está na posição 4 na sequência FibonacciA função recursiva é composta por duas partes:
- O caso base; O caso base é o caso de parada. Sem ele a função seria um loop infinito. No problema o caso base é se
n
for menor ou igual a 2.
Perceba os testes abaixo (lembrando que na Fibonacci é necessário a soma dos dois números anteriores):
f(1) = 1 ↦ Cai na função recursivaf(2) = 1 ↦ Cai na função recursiva
f(3) = f(2) + f(1) = 2 ↦ Porque o f(2) é 1 e o f(1) também é 1
f(4) = f(3) + f(2) = 2 + 1 = 3 ↦ Porque o f(3) é igual a 2 e o f(2) é igual a 1
A função recursiva então funciona como uma pilha de chamada (estrutura de dados pilha).
Contexto: A função abaixo receberá 2 parâmetros; um vetor com apenas valores numéricos e um número. Faça com que ela multiplique cada item do vetor pelo segundo parâmetro apenas se o item do vetor for maior que 5. Após isso, ele deverá retornar o novo vetor.
Exemplo: Calcular Vetor ([1, 5, 10, 20], 2)
retornará: [2, 5, 20, 40]
pois só 10 e 20 são maiores que 5.
Segundo exemplo: Calcular Vetor ([1, 3, 4, 5], 10)
retornará [1, 3, 4, 5]
pois nenhum é maior que 5.
Escopo: Complete a função abaixo de forma que ela receba uma variável como parâmetro e retorne um vetor no final. Essa variável passada por parâmetro terá as seguintes propriedades:
- Ela também será um vetor
- Cada um de seus valores serão vetores com números
Escopo: Você foi contratado por uma empresa de desenvolvimento de software que está modificando parte do código de cadastro de novos usuários. Neste cadstro está sendo colocado um limite no tamanho do arquivo da foto que o usuário envia. Caso a foto seja maior que 5MB, será exibida uma mnesagem de erro. Caso contrário, será exbilida uma mensagem de sucesso.
Escopo: Programe um identificador de estágios da vida, exemplo: Menores de 18 anos = Menor de idade; Entre 18 e 60 anos = Adulto; Maior de 60 anos = Idoso.
É indicado quando é necessário percorrer um array inteiro pra fazer um mesmo procedimento com cada item desse array, é recomendável que seja usado o for of
.
Crie um sistema que filtre e exiba todos os itens de um array que comece com a letra "a".
The purpose of this repository is to gather a set of programming logic exercises using Javascript to improve the skills in solving everyday professional problems quickly and assertively.
Among the subfolders it is possible to find the following exercises:- Generate a Fibonacci sequence using JS
- Swap the values between variables A and B
- Average ages
- Perform mathematical operations
- Measurement Converter
- Var, let, const (differences in practice)
- Recursion with Fibonacci function
- Destructuring assignment
- Swapping values with destructuring assignment
- Passing an object as parameters to a function
- Operations with vectors
- Loops on Loops
- Conditionals 1.1
- Condicionais 1.2
- For Repeat Structure
- Repeat Structure - Filtering items from an array
Over time this repository will be filled with more exercises that I consider relevant to exercise that crucial part of programming that is logic. It is through the development of solid and agile programming logic that we can effectively absorb any programming language.
The Fibonacci sequence is a sequence of numbers where the number 1 is the first and second term of the order, and the others are originated by the sum of their predecessors. Fibonacci was one of the most important mathematicians of the Middle Ages, the 'fiboancci sequence' created from studies on rabbit reproduction, today is one of the pillars of financial market operations. His contributions have had an effect in the most varied areas from biology to technology.
With this solution it is necessary to define two initial values and from that, a loop will be started that will generate the rest of the values adding two previous values of the sequence. With a function
it is possible to predetermine the number of values we want to generate for the function that will generate the sequence.
Scope: Read values A and B and exchange values between the two variables; variable A takes on the value of B and variable B takes on the value of A.
- In this project I used the DOM (Document Object Model) to interact with the HTML and CSS files.
- I opted for a simple and functional HTML, using
inputs
to insert the numbers that will later be stored in variables A and B. And abutton
Send< /b> to later "send" the values to Javascript. - In Javascript an additional variable will be created that will be responsible for providing the change between the values A and B. As can be seen in the code below:
var c = b;
var b = a;
var a = c;
console.log('Variable A: ' + a);
console.log('Variable B: ' + b);
Scope: Read the ages of two children, calculate and display their sum and average.
Scope: Read 2 numbers, perform 4 mathematical operations and display the results.
Read a temperature in degrees Celsius and display it in degrees Fahrenheit. Exercise solved with Javascript.
Understanding that constants: const
cannot have their values reassigned change the declared array values to [2, 5, 7].
Obs. You cannot change the type const
to let. Think of a solution that doesn't have this switch.
Base code of the mentioned challenge:
const s = [5, 7, 2];
function editInPlace() {
}
editInPlace();
Develop an algorithm (n) that will return the number in question in the fibonaci sequence.
n
is 4 what needs to be returned is the number 3, because the value 3 is at position 4 in the Fibonacci sequenceThe recursive function consists of two parts:
- The base case; The base case is the halting case. Without it the function would be an infinite loop. In the problem the base case is if
n
is less than or equal to 2.
Understand the tests below (remembering that in Fibonacci the sum of the two previous numbers is necessary):
f(1) = 1 ↦ Falls into the recursive functionf(2) = 1 ↦ Falls into the recursive function
f(3) = f(2) + f(1) = 2 ↦ Because f(2) is 1 and f(1) is also 1
f(4) = f(3) + f(2) = 2 + 1 = 3 ↦ Because f(3) equals 2 and f(2) equals 1
The recursive function then works like a call stack (stack data structure).
Context: The function below will receive 2 parameters; a vector with only numerical values and a number. Have it multiply each array item by the second parameter only if the array item is greater than 5. After that it should return the new array.
Example: Calculate Vector ([1, 5, 10, 20], 2)
will return: [2, 5, 20, 40]
because only 10 and 20 are greater than 5.
Second example: Calculate Vector ([1, 3, 4, 5], 10)
will return [1, 3, 4, 5]
as none is greater than 5.
Scope: Complete the function below so that it takes a variable as a parameter and returns a vector at the end. This variable passed as a parameter will have the following properties:
- It will also be a vector
- Each of your values will be vectors with numbers
Scope: You have been hired by a software development company that is modifying part of the new user registration code. In this register, a limit is being placed on the size of the photo file that the user sends. If the photo is larger than 5MB, an error message will be displayed. Otherwise, a success message will be displayed.
ScopeProgram a life stage identifier, example: Under 18 = Minor; Between 18 and 60 years = Adult; Over 60 years old = Elderly
It is indicated when it is necessary to go through an entire array to perform the same procedure with each item of that array, it is recommended that for of
be used.
Create a system that filters and displays all items in an array that starts with the letter "a".