Gostou do nosso conteúdo? Te ajudou?
Nos ajude também! Faça um PIX, de qualquer valor:
programacao.progressiva@gmail.com
Mostrando postagens com marcador Código comentado. Mostrar todas as postagens
Mostrando postagens com marcador Código comentado. Mostrar todas as postagens

Jogo da Velha em JavaScript - Código comentado

Neste tutorial, vamos comentar todo o código do Jogo da Velha em JavaScript, linha por linha e função por função.

Veja:
Código HTML e JS do Jogo da Velha

O Jogo da Velha em JavaScript


Esse exercício serve, principalmente, para treinarmos duas importantes seções de nossa apostila de JavaScript:
Vai funcionar assim: o primeiro jogador fornece uma linha e uma coluna, marcamos X pra ele no local, então checamos se alguém ganhou.

Se não, é a vez do jogador 2 fornecer uma linha e uma coluna, então marcamos O no tabuleiro.
Checamos novamente.

E assim vai...fornece a posição, marcamos no tabuleiro e checamos se alguém ganhou.
Bem simples.

Código HTML do Jogo da Velha

Primeiro, vamos comentar o HTML.
Ele é bem simples.
Assim que inicia a <body> (corpo da página), ele já chama a função inicia() de nosso script.
Depois, temos uma div, a board.
É nessa DIV que iremos printar na página o tabuleiro do jogo da velha.

Depois, temos dois formulários de input, onde o usuário vai fornecer a linha e a coluna que ele deseja marcar. Você deve escolher números de 1 até 3, pois o tabuleiro de um jogo da velha é 3x3.

Quando o jogador escolher linha e coluna, então ele clica no botão Marca, que chama a função jogar().

Embaixo, tem a div aviso, é lá que exibiremos os avisos: vez do jogador tal, campo já marcado, fulano ganhou, linha tal foi preenchida etc.

Agora vamos deixar o bom e velho HTML de lado, ver onde o bicho pega: na programação JavaScript.

Código JavaScript do Jogo da Velha

Primeiro, vamos declarar todas as variáveis que vamos usar, fora do escopo de qualquer função, para que estas variáveis fiquem 'visíveis' e acessíveis a qualquer função.


A variável tabuleiro, que vai armazenar a matriz 3x3, inicializada com todos elementos iguais a 0.
Quando o primeiro jogador marca uma posição, mudamos de 0 pra 1.
Quando o segundo jogador marca uma posição, mudamos de 0 pra -1.
Já já você vai entender o motivo disso.

A variável board é que vai se ligar com a div board, e a variável aviso vai se ligar com a div aviso.

A variável jogador vai ser incrementada a cada jogada. Vamos usar o resto da divisão dela por 2 pra sabermos de quem é a vez de jogar (o resto da divisão de qualquer número por 2 vai sempre dar 0 ou 1, basta somar 1 que teremos sempre os valores 1 e 2 se alternando).

Por fim, as variáveis lin e col, que vão pegar as posições de linha e coluna que o usuário digitou.

Quando o HTML roda, a tag <body> 'chama' a função inicia().
Essa função só roda uma vez, quando carregamos a página.

Ela vai criar a o array de arrays, e depois inicializar todos os elementos com o número 0, na variável tabuleiro.
Linkamos as variáveis board e aviso com o HTML, e inicializamos o jogador como 1 (resto da divisão por 2 vai dar 1, logo o jogador 1 é o primeiro a jogar).

Agora a função exibe().
Ela vai pegar o tabuleiro tabuleiro e em vez de exibir 0, 1 e -1, vai exibir:
campo vazio: ___
os X
os O

Toda vida que se depara com o número 0, ela escreve no HTML: _
Quando encontra o número 1 no tabuleiro, ela escreve no HTML: X
Quando encontra o número -1, ela escreve: O

Colocamos todo o desenho no tabuleiro na variável HTML e mandamos pra nossa página, via board.innerHTML

Toda vez que você digita a linha, a coluna e clica no botão Marca, a função jogar() é acionada.
Primeira ela mostra o aviso de qual jogador é a vez.

Depois, pega as strings com os números de linha e coluna que o usuário digitou, e transforma em inteiros.

Lembrando que o usuário digita: 1, 2, ou 3
Mas nosso tabuleiro tem posições: 0, 1 e 2 para linhas e colunas, por isso é necessário subtrair 1 do valor digitado pelo usuário.

Agora vamos marcar X ou O no tabuleiro.
Primeiro verificamos se ele está vazio: tabuleiro[lin][col]==0

Se tiver 0 lá, tá vazio.
Se for o primeiro jogador, colocamos o número 1 nessa posição.
Se for a vez do segundo jogador, colocamos o número -1 nessa posição.

Se não tiver 0 no local, cai no ELSE e avisa que o campo já foi marcado (e subtraímos 1 da variável jogador).

Quando terminar esse tratamento de IF e ELSE, incrementamos a variável jogador, para ser a vez do próximo.

Depois, exibimos novamente o tabuleiro (agora atualizado com a mudança).
E também chamamos a função checa().

A função checa() vai chegar se alguém ganhou o jogo.
Pra isso, ela primeiro percorre todas as linhas (primeiro FOR), e olha se a soma de alguma linha dá 3 ou -3.

Depois faz o mesmo para as colunas (segundo FOR).

Depois testamos se as diagonais tem soma 3 ou -3.

Se sim, exibimos qual linha, coluna ou diagonal está preenchida e venceu, bem como o vencedor.

Prontinho, temos nosso jogo da Velha em JavaScript.

Exercícios de Array


01. Crie uma função que recebe um array de 2 números e coloque eles em ordem crescente. Não use o método sort.

02. Crie uma função que recebe um array de 3 números e coloque eles em ordem crescente. Crie sua própria função para isso.

03. Crie um script que pergunte 3 números ao usuário, coloque em um array, depois exiba tal array.
Modifique os elementos do array de modo a a sequência de números ficar do contrário.
Ou seja, se digitou: 1,2,3
Vai aparecer: 3,2,1

04. Refaça o script anterior, mas agora pergunte ao usuário quantos números ele deseja inserir no array.
Depois, o usuário vai preenchendo elemento por elemento do vetor.
Ao final, exiba o array e o array ao contrário (generalização do script anterior).


05. Faça uma função que recebe um array de qualquer tamanho e ordene seus elementos na ordem crescente. Faça sua função na mão, não invoque nenhum método de sorting. Dica: pesquise sobre bubble sort.

06. Crie uma função que recebe um vetor e um número.
Ela deve mostrar todos os índices onde esse número aparece no vetor, e não só apenas o primeiro e/ou  último índice em que o número aparece (como nos métodos indexOf e lastIndexOf).

07. Crie um script que pede um inteiro positivo para o usuário. Em seguida, popule uma array com os números de Fibonacci, na hora de somar com os termos anteriores, some com elementos anteriores do array.

08. Faça o mesmo do exercício anterior, mas com fatorial.
Fatorial de 0: 0! = '
Fatorial de 1: 1 x elemento0 = 1
Fatorial de 2: 2 x elemento1 = 2
Fatorial de 3: 3 x elemento2 = 3 x 2 = 6
...
Fatorial de n: n x elemento(n-1) = n x (n-1)! = n!

08. Usando matriz (array de array), crie o jogo da velha. Inicialmente, as posições são variáveis vazias.
O usuário fornece a linha e a coluna e clica num botão, então é marcado no tabuleiro X ou O (se for o jogador 1 ou jogador 2) que

09. Peça ao usuário uma quantidade de linhas e e outra de colunas, depois declare tal matriz, inicialize todos os elementos de 1 até 'linha x coluna'.

Calcular Média de um Número Variável de Notas (Arrays, laço FOR e FOR...IN)

Neste tutorial de nossa apostila de JavaScript, vamos resolver um exercício que propomos no tutorial anterior, de laços FOR IN em arrays, onde vamos aprender como calcular a média de uma turma, qualquer que seja o número de alunos que tenha nela, usando arrays, laços FOR e FOR IN.


Enunciado do Exercício



Sua tia, professora, encomendou um trabalho para você.

Ela quer que você crie um script que vai pedir o número de alunos da turma (peça via prompt mesmo).

Em seguida, vai perguntar qual foi a nota de cada um deles.

No final, seu script deve fornecer a média geral da turma.

Use array para armazenar as notas, laço FOR para preencher cada elemento do array e um laço FOR IN para calcular a soma das notas (cálculo necessário para calcular a média).

Resolução comentada

Primeiro, perguntamos o número de alunos na turma, via comando prompt e nos transformamos a string recebida em um número inteiro, via função parseInt, e armazenamos na variável alunos.

Agora, vem um pulo do gato. Vamos criar nosso vetor, de nome vetor, fazendo:
var vetor = new Array(alunos);

Ou seja, vamos alocar um vetor de memória com alunos elementos, e esse valor é variável, você que vai decidir quando digitar a quantidade de alunos, ok?

Agora, precisamos preencher esse vetor com a nota dos alunos.
Vamos pegar um laço FOR que vai de 0 até alunos (menor que), com sua variável count.



Lembre-se que:
aluno 1 -> índice 0
aluno 2 -> índice 1
...
alunos i -> índice i-1

Por isso usamos (count + 1) no prompt. Para preencher a posição alunos[count] mostramos sempre pro usuário o valor count+1, pois em programação nossa contagem começa sempre no 0.

Agora, com todo o array populado de valores, vamos calcular a soma de todos os elementos.
Vamos inicializar uma variável soma com valor 0.

Agora, vamos usar um laço FOR IN, que vai pegar desde o primeiro até o último índice, e vamos somar o elemento correspondente com a variável soma.

Por fim, para achar a média, basta dividir pelo número de alunos, armazenado na variável alunos.

Código da questão resolvida

HTML:

<!DOCTYPE html>
<meta charset="UTF-8">
<html>
 <head>
    <title>Apostila JavaScript Progressivo</title>
    <script type="text/javascript" src="script.js"></script>
 </head>
 <body onload="main()">
 </body>
</html>


script.js
function main()
{
 var alunos =  parseInt(prompt("Numero de alunos: "));
 var vetor = new Array(alunos);

 // Preenchendo o veotr
 for(let count=0; count<alunos; count++)
  vetor[count] = parseInt( prompt("Aluno " + (count+1) + ":") )
 

 // Somando todos os elementos
 var soma=0;
 for(let count in vetor)
  soma += vetor[count];

 var media = soma/alunos;
 document.write("Média da turma: " + media);
}

Número Perfeito em JavaScript - Como encontrar


Neste tutorial, vamos criar um script que diz se um determinado número fornecido pelo usuário é perfeito ou não.

Esse é um exercício de função, veja:
"Um número é dito perfeito quando ele é igual a soma de seus fatores. 

Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n."


Número perfeito em JavaScript

O que vamos fazer é basicamente pegar o número fornecido pelo usuário, e avaliar o resto da divisão dele por 1, por 2, por 3, por 4, ...até por (n-1) , onde n é o número fornecido.

Cada vez que este resto da divisão for 0, somamos esse valor numa variável pré-definida, de nome soma que inicia com valor 0.

Ao final, verificamos se soma é igual o número n.
Se for, o número é perfeito.

Se não for, não é perfeito.

Exemplos de números perfeitos para você testar:

  • 6
  • 28
  • 496
  • 8128
Código HTML:


<!DOCTYPE html>
<meta charset="UTF-8">
<html>
 <head>
    <title>Apostila JavaScript Progressivo</title>
    <script type="text/javascript" src="script.js"></script>
 </head>
 <body>
    Numero: <input id="num" type="number"> <br />
  <button onclick="perfeito()">Checar</button><br />
  Resposta: <div id="resposta" style='display:inline'></div><br />
</html>

Código script.js:


function perfeito()
{
 var num = parseInt(document.getElementById("num").value);
 var resp = document.getElementById("resposta");
 
 var soma=1;

 for(let count=2; count<num ; count++)
  if (num%count == 0)
   soma += count;

 if(soma==num)
  resp.innerHTML="Perfeito";
 else
  resp.innerHTML="Nao é perfeito";
}

Resultado:

Numero:

Resposta:



Exercício de JavaScript
Faça um script que peça um inteiro positivo para o usuário e mostre todos os números perfeitos até tal número.

Script: Conversão de Celsius para Fahrenheit e Vice-versa

Neste tutorial, vamos resolver um exercício de funções, fazendo um script que faz a conversão entre as temperaturas Celsius e Fahrenheit.


Converter entre Celsius e Fahrenheit

As fórmulas para transformar, são:
Conversão de Fahrenheit para Celsius

Nosso script vai ter a seguinte 'cara':
Curso de JavaScript online grátis para download

Ou seja, primeiro selecionamos que tipo de conversão desejamos fazer.
Depois, inserimos o valor a ser convertido.

Após clicar no botão resposta, o valor convertido aparece logo abaixo.

Script de Conversão de temperatura

No HTML, usamos dois radio buttons para que o usuário possa selecionar apenas uma das opções.

A id do primeiro é "CtoF", ou seja, Celsius para Fahrenheit. O usuário vai fornecer a temperatura em Celsius e ela exibirá em Fahrenheit.

A segunda id é "FtoC", ou seja, de Fahrenheit para Celsius.

Temos uma campo de input de id "number", um botão e uma div onde vai a resposta.

Nosso código HTML fica:

<!DOCTYPE html>
<html>
 <head>
    <title>Apostila JavaScript Progressivo</title>
    <script type="text/javascript" src="script.js"></script>
 </head>
 <body>
  <input type="radio" name="converter" id="CtoF"/>Celsius para Fahrenheit <br />
    <input type="radio" name="converter" id="FtoC"/>Fahrenheit para Celsius <br />
    Converter valor :<input id="num" type="number"> <br />
  <button onclick="main()">Calcular</button><br />
  Resposta: <div id="resposta" style='display:inline'></div><br />
</html>



Quando clicamos no botão calcular, ele chama a função main().
Essa função vai checar qual radiobutton foi selecionado (.checked) e chamar a função correta.

Se foi o "CtoF", chama a função ctof.
Se foi o "FtoC", chama a função ftoc.

Em ambas funções, ela recebem um número como parâmetro, é o valor que o usuário digitou no campo de input.

Dentro de cada função colocamos direto a fórmula de conversão e damos return nessa resposta.
Colocamos essa resposta no HTML via innerHTML.

Veja como ficou o código JavaScript:


function main()
{
 var num = parseInt(document.getElementById("num").value);
 var resp = document.getElementById("resposta");
 
 if(document.getElementById("CtoF").checked==true)
  resp.innerHTML = ctof(num);
 if(document.getElementById("FtoC").checked==true)
  resp.innerHTML = ftoc(num);
}
function ctof(x)
{
 return (1.8*x + 32);
}

function ftoc(x)
{

 return ( (x-32)*5/9 );
}

Resultado do script:


Celsius para Fahrenheit
Fahrenheit para Celsius
Converter valor :

Resposta:

Exercícios de Função em JavaScript


  1. Escreva um script que pergunta ao usuário se ele deseja converter uma temperatura de grau Celsius para Farenheit ou vice-versa. Para cada opção, crie uma função. Crie uma terceira, que é um menu para o usuário escolher a opção desejada, onde esse menu chama a função de conversão correta.
    Conversão Celsius e Fahrenheit
  2. Faça um programa, com uma função que necessite de três argumentos, e que forneça a soma desses três argumentos através de uma função. Seu script também deve fornecer a média dos três números, através de uma segunda função que chama a primeira.
    Código na apostila
  3. Faça um programa que recebe três números do usuário, e identifica o maior através de uma função e o menor número através de outra função.
  4. A probabilidade de dar um valor em um dado é 1/6 (uma em 6). Faça um script em JavaScript que simule 1 milhão de lançamentos de dados e mostre a frequência que deu para cada número.
  5. Crie uma função que recebe um inteiro positivo e teste para saber se ele é primo ou não. Faça um script que recebe um inteiro n e mostra todos os primos, de 1 até n.
  6. Um número é dito perfeito quando ele é igual a soma de seus fatores. Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n.
    Número perfeito em JS
  7. Faça um programa para imprimir:

    •     1
          2   2
          3   3   3
          .....
          n   n   n   n   n   n  ... n
      para um n informado pelo usuário. Use uma função que receba um valor n inteiro e imprima até a n-ésima linha.

  8. Faça um programa para imprimir:
    •     1
          1   2
          1   2   3
          .....
          1   2   3   ...  n
      para um n informado pelo usuário. Use uma função que receba um valor n inteiro imprima até a n-ésima linha.

  9. Faça um programa, com uma função que necessite de um argumento. A função retorna o valor de caractere ‘P’, se seu argumento for positivo, e ‘N’, se seu argumento for zero ou negativo.
  10. Faça um programa com uma função chamada somaImposto. A função possui dois parâmetros formais: taxaImposto, que é a quantia de imposto sobre vendas expressa em porcentagem e custo, que é o custo de um item antes do imposto. A função “altera” o valor de custo para incluir o imposto sobre vendas.


  11. Faça um programa que converta da notação de 24 horas para a notação de 12 horas. Por exemplo, o programa deve converter 14:25 em 2:25 P.M. A entrada é dada em dois inteiros. Deve haver pelo menos duas funções: uma para fazer a conversão e uma para a saída. Registre a informação A.M./P.M. como um valor ‘A’ para A.M. e ‘P’ para P.M. Assim, a função para efetuar as conversões terá um parâmetro formal para registrar se é A.M. ou P.M. Inclua um loop que permita que o usuário repita esse cálculo para novos valores de entrada todas as vezes que desejar.
  12. Faça uma função que informe a quantidade de dígitos de um determinado número inteiro informado.

Exercícios de Laços e Loops em JavaScript

Lista de Exercícios usando Laços em JavaScript
  1. Faça um programa que peça uma nota, entre zero e dez. Mostre uma mensagem caso o valor seja inválido e continue pedindo até que o usuário informe um valor válido. 
  2. Faça um programa que leia um nome de usuário e a sua senha e não aceite a senha igual ao nome do usuário, mostrando uma mensagem de erro e voltando a pedir as informações. 
  3. Faça um programa que leia e valide as seguintes informações:
    1. Nome: maior que 3 caracteres;
    2. Idade: entre 0 e 150;
    3. Salário: maior que zero;
    4. Sexo: 'f' ou 'm';
    5. Estado Civil: 's', 'c', 'v', 'd';
    Dica: se sua variável é texto, o tamanho dela está armazenado em: texto.length

    1. Supondo que a população de um país A seja da ordem de 80000 habitantes com uma taxa anual de crescimento de 3% e que a população de B seja 200000 habitantes com uma taxa de crescimento de 1.5%. Faça um programa que calcule e escreva o número de anos necessários para que a população do país A ultrapasse ou iguale a população do país B, mantidas as taxas de crescimento.
    2. Altere o programa anterior permitindo ao usuário informar as populações e as taxas de crescimento iniciais. Valide a entrada e permita repetir a operação.
    3. Faça um programa que imprima na tela os números de 1 a 20, um abaixo do outro. Depois modifique o programa para que ele mostre os números um ao lado do outro.
    4. Faça um programa que leia 5 números e informe o maior número.
    5. Faça um programa que leia 5 números e informe a soma e a média dos números. 
    6. Faça um programa que imprima na tela apenas os números ímpares entre 1 e 50.
    7. Faça um programa que receba dois números inteiros e gere os números inteiros que estão no intervalo compreendido por eles.
    8. Altere o programa anterior para mostrar no final a soma dos números.
    9. Desenvolva um gerador de tabuada, capaz de gerar a tabuada de qualquer número inteiro entre 1 a 10. O usuário deve informar de qual numero ele deseja ver a tabuada. A saída deve ser conforme o exemplo abaixo:
      • Faça um programa que peça dois números, base e expoente, calcule e mostre o primeiro número elevado ao segundo número. Não utilize a função de potência da linguagem. 
      • Faça um programa que peça 10 números inteiros, calcule e mostre a quantidade de números pares e a quantidade de números ímpares.
      • A série de Fibonacci é formada pela sequência 1,1,2,3,5,8,13,21,34,55,... Faça um programa capaz de gerar a série até o n−ésimo termo.
        Sequência de Fibonacci com laços
      • A série de Fibonacci é formada pela sequência 0,1,1,2,3,5,8,13,21,34,55,... Faça um programa que gere a série até que o valor seja maior que 500.
      • Faça um programa que calcule o fatorial de um número inteiro fornecido pelo usuário. Ex.: 5!=5.4.3.2.1=120
        Calcular fatorial com laços
      • Faça um programa que, dado um conjunto de N números, determine o menor valor, o maior valor e a soma dos valores.
      • Altere o programa anterior para que ele aceite apenas números entre 0 e 1000.
      • Altere o programa de cálculo do fatorial, permitindo ao usuário calcular o fatorial várias vezes e limitando o fatorial a números inteiros positivos e menores que 16.
      • Faça um programa que peça um número inteiro e determine se ele é ou não um número primo. Um número primo é aquele que é divisível somente por ele mesmo e por 1.
        Números primos com laços
      • Altere o programa de cálculo dos números primos, informando, caso o número não seja primo, por quais número ele é divisível.
      • Faça um programa que mostre todos os primos entre 1 e N sendo N um número inteiro fornecido pelo usuário. O programa deverá mostrar também o número de divisões que ele executou para encontrar os números primos. Serão avaliados o funcionamento, o estilo e o número de testes (divisões) executados.
      • Faça um programa que calcule o mostre a média aritmética de N notas.
      • Faça um programa que peça para n pessoas a sua idade, ao final o programa devera verificar se a média de idade da turma varia entre 0 e 25,26 e 60 e maior que 60; e então, dizer se a turma é jovem, adulta ou idosa, conforme a média calculada.
      • Numa eleição existem três candidatos. Faça um programa que peça o número total de eleitores. Peça para cada eleitor votar e ao final mostrar o número de votos de cada candidato.
      • Faça um programa que calcule o número médio de alunos por turma. Para isto, peça a quantidade de turmas e a quantidade de alunos para cada turma. As turmas não podem ter mais de 40 alunos.
      • Faça um programa que calcule o valor total investido por um colecionador em sua coleção de CDs e o valor médio gasto em cada um deles. O usuário deverá informar a quantidade de CDs e o valor para em cada um.
      • O Sr. Manoel Joaquim possui uma grande loja de artigos de R$ 1,99, com cerca de 10 caixas. Para agilizar o cálculo de quanto cada cliente deve pagar ele desenvolveu um tabela que contém o número de itens que o cliente comprou e ao lado o valor da conta. Desta forma a atendente do caixa precisa apenas contar quantos itens o cliente está levando e olhar na tabela de preços. Você foi contratado para desenvolver o programa que monta esta tabela de preços, que conterá os preços de 1 até 50 produtos, conforme o exemplo abaixo:
        • Lojas Quase Dois - Tabela de preços
          1 - R$ 1.99
          2 - R$ 3.98
          ...
          50 - R$ 99.50
      • O Sr. Manoel Joaquim acaba de adquirir uma panificadora e pretende implantar a metodologia da tabelinha, que já é um sucesso na sua loja de 1,99. Você foi contratado para desenvolver o programa que monta a tabela de preços de pães, de 1 até 50 pães, a partir do preço do pão informado pelo usuário, conforme o exemplo abaixo:
        • Preço do pão: R$ 0.18
          Panificadora Pão de Ontem - Tabela de preços
          1 - R$ 0.18
          2 - R$ 0.36
          ...
          50 - R$ 9.00
      • O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99 e agora possui uma loja de conveniências. Faça um programa que implemente uma caixa registradora rudimentar. O programa deverá receber um número desconhecido de valores referentes aos preços das mercadorias. Um valor zero deve ser informado pelo operador para indicar o final da compra. O programa deve então mostrar o total da compra e perguntar o valor em dinheiro que o cliente forneceu, para então calcular e mostrar o valor do troco. Após esta operação, o programa deverá voltar ao ponto inicial, para registrar a próxima compra. A saída deve ser conforme o exemplo abaixo:
        • Lojas Tabajara 
          Produto 1: R$ 2.20
          Produto 2: R$ 5.80
          Produto 3: R$ 0
          Total: R$ 9.00
          Dinheiro: R$ 20.00
          Troco: R$ 11.00
          ...
      • O Departamento Estadual de Meteorologia lhe contratou para desenvolver um programa que leia as um conjunto indeterminado de temperaturas, e informe ao final a menor e a maior temperaturas informadas, bem como a média das temperaturas.
      • Os números primos possuem várias aplicações dentro da Computação, por exemplo na Criptografia. Um número primo é aquele que é divisível apenas por um e por ele mesmo. Faça um programa que peça um número inteiro e determine se ele é ou não um número primo.
      • Encontrar números primos é uma tarefa difícil. Faça um programa que gera uma lista dos números primos existentes entre 1 e um número inteiro informado pelo usuário.
      • Desenvolva um programa que faça a tabuada de um número qualquer inteiro que será digitado pelo usuário, mas a tabuada não deve necessariamente iniciar em 1 e terminar em 10, o valor inicial e final devem ser informados também pelo usuário, conforme exemplo abaixo:
        • Montar a tabuada de: 5
          Começar por: 4
          Terminar em: 7
          
          Vou montar a tabuada de 5 começando em 4 e terminando em 7:
          5 X 4 = 20
          5 X 5 = 25
          5 X 6 = 30
          5 X 7 = 35
          Obs: Você deve verificar se o usuário não digitou o final menor que o inicial.
      • Uma academia deseja fazer um senso entre seus clientes para descobrir o mais alto, o mais baixo, a mais gordo e o mais magro, para isto você deve fazer um programa que pergunte a cada um dos clientes da academia seu código, sua altura e seu peso. O final da digitação de dados deve ser dada quando o usuário digitar 0 (zero) no campo código. Ao encerrar o programa também deve ser informados os códigos e valores do clente mais alto, do mais baixo, do mais gordo e do mais magro, além da média das alturas e dos pesos dos clientes
      • Um funcionário de uma empresa recebe aumento salarial anualmente: Sabe-se que:
        1. Esse funcionário foi contratado em 1995, com salário inicial de R$ 1.000,00;
        2. Em 1996 recebeu aumento de 1,5% sobre seu salário inicial;
        3. A partir de 1997 (inclusive), os aumentos salariais sempre correspondem ao dobro do percentual do ano anterior. Faça um programa que determine o salário atual desse funcionário. Após concluir isto, altere o programa permitindo que o usuário digite o salário inicial do funcionário.
      • Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito. Foram obtidos os seguintes dados:
        1. Código da cidade;
        2. Número de veículos de passeio (em 1999);
        3. Número de acidentes de trânsito com vítimas (em 1999). Deseja-se saber:
        4. Qual o maior e menor índice de acidentes de transito e a que cidade pertence;
        5. Qual a média de veículos nas cinco cidades juntas;
        6. Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.
      • Faça um programa que receba o valor de uma dívida e mostre uma tabela com os seguintes dados: valor da dívida, valor dos juros, quantidade de parcelas e valor da parcela.
        • Os juros e a quantidade de parcelas seguem a tabela abaixo:
          Quantidade de Parcelas  % de Juros sobre o valor inicial da dívida
          1       0
          3       10
          6       15
          9       20
          12      25
          Exemplo de saída do programa:
          Valor da Dívida Valor dos Juros Quantidade de Parcelas  Valor da Parcela
          R$ 1.000,00     0               1                       R$  1.000,00
          R$ 1.100,00     100             3                       R$    366,00
          R$ 1.150,00     150             6                       R$    191,67
      • O cardápio de uma lanchonete é o seguinte:
        • Especificação   Código  Preço
          Cachorro Quente 100     R$ 1,20
          Bauru Simples   101     R$ 1,30
          Bauru com ovo   102     R$ 1,50
          Hambúrguer      103     R$ 1,20
          Cheeseburguer   104     R$ 1,30
          Refrigerante    105     R$ 1,00
          Faça um programa que leia o código dos itens pedidos e as quantidades desejadas. Calcule e mostre o valor a ser pago por item (preço * quantidade) e o total geral do pedido. Considere que o cliente deve informar quando o pedido deve ser encerrado.
      • Em uma eleição presidencial existem quatro candidatos. Os votos são informados por meio de código. Os códigos utilizados são:
        • 1 , 2, 3, 4  - Votos para os respectivos candidatos 
          (você deve montar a tabela ex: 1 - Jose/ 2- João/etc)
          5 - Voto Nulo
          6 - Voto em Branco
          Faça um programa que calcule e mostre:
        • O total de votos para cada candidato;
        • O total de votos nulos;
        • O total de votos em branco;
        • A percentagem de votos nulos sobre o total de votos;
        • A percentagem de votos em branco sobre o total de votos. Para finalizar o conjunto de votos tem-se o valor zero.
      • Desenvolver um programa para verificar a nota do aluno em uma prova com 10 questões, o programa deve perguntar ao aluno a resposta de cada questão e ao final comparar com o gabarito da prova e assim calcular o total de acertos e a nota (atribuir 1 ponto por resposta certa). Após cada aluno utilizar o sistema deve ser feita uma pergunta se outro aluno vai utilizar o sistema. Após todos os alunos terem respondido informar:
        1. Maior e Menor Acerto;
        2. Total de Alunos que utilizaram o sistema;
        3. A Média das Notas da Turma.
          Gabarito da Prova:
          
          01 - A
          02 - B
          03 - C
          04 - D
          05 - E
          06 - E
          07 - D
          08 - C
          09 - B
          10 - A
          Após concluir isto você poderia incrementar o programa permitindo que o professor digite o gabarito da prova antes dos alunos usarem o programa.
      • Em uma competição de salto em distância cada atleta tem direito a cinco saltos. No final da série de saltos de cada atleta, o melhor e o pior resultados são eliminados. O seu resultado fica sendo a média dos três valores restantes. Você deve fazer um programa que receba o nome e as cinco distâncias alcançadas pelo atleta em seus saltos e depois informe a média dos saltos conforme a descrição acima informada (retirar o melhor e o pior salto e depois calcular a média). Faça uso de uma lista para armazenar os saltos. Os saltos são informados na ordem da execução, portanto não são ordenados. O programa deve ser encerrado quando não for informado o nome do atleta. A saída do programa deve ser conforme o exemplo abaixo:
        Atleta: Rodrigo Curvêllo
        
        Primeiro Salto: 6.5 m
        Segundo Salto: 6.1 m
        Terceiro Salto: 6.2 m
        Quarto Salto: 5.4 m
        Quinto Salto: 5.3 m
        
        Melhor salto:  6.5 m
        Pior salto: 5.3 m
        Média dos demais saltos: 5.9 m
        
        Resultado final:
        Rodrigo Curvêllo: 5.9 m
      • Em uma competição de ginástica, cada atleta recebe votos de sete jurados. A melhor e a pior nota são eliminadas. A sua nota fica sendo a média dos votos restantes. Você deve fazer um programa que receba o nome do ginasta e as notas dos sete jurados alcançadas pelo atleta em sua apresentação e depois informe a sua média, conforme a descrição acima informada (retirar o melhor e o pior salto e depois calcular a média com as notas restantes). As notas não são informados ordenadas. Um exemplo de saída do programa deve ser conforme o exemplo abaixo:
        Atleta: Aparecido Parente
        Nota: 9.9
        Nota: 7.5
        Nota: 9.5
        Nota: 8.5
        Nota: 9.0
        Nota: 8.5
        Nota: 9.7
        
        Resultado final:
        Atleta: Aparecido Parente
        Melhor nota: 9.9
        Pior nota: 7.5
        Média: 9,04
      • Faça um programa que peça um numero inteiro positivo e em seguida mostre este numero invertido.
        • Exemplo:
            12376489
            => 98467321
      • Faça um programa que mostre os n termos da Série a seguir:
        •   S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + ... + n/m. 
          Imprima no final a soma da série.
      • Sendo H= 1 + 1/2 + 1/3 + 1/4 + ... + 1/N, Faça um programa que calcule o valor de H com N termos.
      • Faça um programa que mostre os n termos da Série a seguir:
        •   S = 1/1 + 2/3 + 3/5 + 4/7 + 5/9 + ... + n/m. 
          Imprima no final a soma da série.

      Par ou Ímpar em JavaScript (e outros múltiplos)


      Neste tutorial de JavaScript, vamos te ensinar como saber se um número é par ou ímpar; e também saber se ele é múltiplo de qualquer outro valor que você desejar saber.

      Par ou Ímpar em JavaScript

      Para resolver este exercício, precisamos primeiramente saber o que é e como usar o operador %, de resto da divisão.

      Pra isso, você precisa voltar pra escolinha, quando fazia continhas:
      Paridade em JS
      Ao dividirmos 17 por 2, o resultado é um quociente de valor 8 e resto 1.
      Esse resto, é o resto da divisão.

      Quando fazemos: x % y
      O JS nos retorna o resto da divisão.

      E ai que vem o pulo do gato:
      O resto da divisão de um número par por 2 é sempre 0.
      Se o resto da divisão for 1, o número é ímpar.

      Então, nosso código fica:

      <!DOCTYPE html>
      <html>
       <head>
         <title>Curso JavaScript Progressivo</title>
             Numero:<input id="num" type="number"> <br />
          <button onclick="paridade()">Resposta</button><br />
      
          Resposta: <div id='resposta' style='display:inline'></div>
      
          <script type="text/javascript">
         function paridade(){
          var num = parseInt(document.getElementById("num").value);
             var resposta = document.getElementById('resposta');
              
                if (num%2 == 0)
                 resposta.innerHTML = "Par";
                else
                 resposta.innerHTML = "Ímpar";
         }
          </script>
       </head>
      </html>
      


      Teste:

      Numero:

      Resposta:


      Múltiplos em JavaScript
      Os números pares são, na verdade, números múltiplos de 2.
      Existem uma infinidade de outros múltiplos e uma hora ou outra você vai precisar identificar eles.

      Por exemplo, múltiplos de 3: 3, 6, 9, 12, 15, 18, 21...
      Múltiplos de 4: 4, 8, 12, 16, 20, ...
      Múltiplos de 7: 7, 12, 21, 28, 35, ...

      A lógica para identificar um determinado múltiplo é a mesma que usamos para saber se um número é par ou ímpar, basta usar o módulo da divisão %.

      Para o número x ser múltiplo de y, o valor da operação: x % y
      Deve ser 0. Simples assim.

      Teste o seguinte código:


      <!DOCTYPE html>
      <html>
       <head>
         <title>Curso JavaScript Progressivo</title>
             Numero     :<input id="num" type="number"> <br />
             Multiplo de:<input id="mult" type="number"> <br />
          <button onclick="paridade()">Checar</button><br />
      
          Resposta: <div id='resposta' style='display:inline'></div>
      
          <script type="text/javascript">
         function paridade(){
          var num = parseInt(document.getElementById("num").value);
          var mult = parseInt(document.getElementById("mult").value);
             var resposta = document.getElementById('resposta');
              
                if (num%mult == 0)
                 resposta.innerHTML = num+" é múltiplo de "+mult;
                else
                 resposta.innerHTML = num+" não é múltiplo de "+mult;
         }
          </script>
       </head>
      </html>