Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
|
Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeito - Exercícios Resolvidos de JavaQuantidade de visualizações: 2369 vezes |
|
Exercícios Resolvidos de Java - Um programa que solicita ao usuário que informe um número e verifica se tal número é um número perfeito Pergunta/Tarefa: Em Matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo, o número 6 é um número perfeito, pois: 6 = 1 + 2 + 3. O próximo número perfeito é o 28, pois 28 = 1 + 2 + 4 + 7 + 14. Todo número perfeito é um número triangular, bem como um número hexagonal. Escreva um programa Java que solicita um número inteiro ao usuário e verifica se tal número é um número perfeito. Sua saída deve ser parecida com: Informe um número: 6 O número informado é um número perfeito. Veja a resolução comentada deste exercício usando Java console: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos pedir que o usuário informe um número System.out.print("Informe um número: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos verificar se o número informado é um número perfeito int soma = 0; // vamos contar de 1 até a metade do número informado for(int i = 1; i <= numero / 2; i++){ if(numero % i == 0){ // o número informado é divisível pelo valor de i? soma = soma + i; } } // a soma é igual ao numero informado? if(soma == numero){ System.out.println("O número informado é um número perfeito."); } else{ System.out.println("O número informado não é um número perfeito."); } System.out.println("\n"); } } |
|
Link para compartilhar na Internet ou com seus amigos: | |
VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de VB.NET - Como testar se um ano é bissexto em VB.NET - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 234 vezes |
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa VB.NET que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando VB.NET console: Imports System Module Program ' função principal do programa VB.NET Sub Main(args As String()) ' vamos solicitar que o usuário informe um ano Console.Write("Informe o ano: ") Dim ano As Integer = Int32.Parse(Console.ReadLine()) ' vamos verificar se o ano informado é bissexto If (((ano Mod 4 = 0) And (ano Mod 100 <> 0)) Or (ano Mod 400 = 0)) Then Console.WriteLine("O ano informado é bissexto.") Else Console.WriteLine("O ano informado não é bissexto.") End If Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como pesquisar e selecionar um item em uma ListBox do DelphiQuantidade de visualizações: 16374 vezes |
O trecho de código abaixo mostra como podemos usar a mensagem LB_SELECTSTRING da Windows API para pesquisar e selecionar um item em uma ListBox. Veja que aqui eu usei a função InputBox() para permitir ao usuário inserir o texto a ser pesquisado. Note também o valor -1 fornecido como wParam para a função SendMessage(). Este valor faz com que a busca se inicie no primeiro item da lista e continue até o final da lista. Veja o código: procedure TForm1.Button2Click(Sender: TObject); var pesquisa: string; begin // vamos solicitar o texto a ser pesquisado na ListBox pesquisa := InputBox('Pesquisar', 'Informe o texto', ''); // vamos pesquisar e selecionar o item encontrado if SendMessage(ListBox1.Handle, LB_SELECTSTRING, - 1, Longint(PChar(pesquisa))) <> LB_ERR then begin ShowMessage('O texto pesquisado foi encontrado no ' + 'índice: ' + IntToStr(ListBox1.ItemIndex)); end else begin ShowMessage('O texto pesquisado não foi encontrado.'); end; end; Note que a busca efetuada por LB_SELECTSTRING não é sensitiva a maiúsculas e minúsculas. Assim, Osmar e OSMAR são tratadas igualmente. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
C++ para iniciantes - Como usar o laço for em C++Quantidade de visualizações: 22510 vezes |
O laço for é usado quando queremos executar um bloco de códigos um determinado número de vezes. Este laço é composto de três partes:for(início; condição; incremento/decremento){ bloco de instruções } A parte início é executada uma única vez (na entrada do laço). Geralmente é nesta parte que declaramos e inicializamos a variável de controle. Na parte condição nós testamos a condição atual da variável de controle, para verificar se o laço pode continuar sua execução. Na parte do incremento/decremento nós alteramos o valor da variável de controle. Finalmente o bloco de instruções representa as instruções que serão executadas no laço. Veja um exemplo de laço for no qual exibimos os números de 0 a 10: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // um laço for que conta de 0 a 10 for(int i = 0; i <= 10; i++){ cout << i << "\n"; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Veja agora um laço for usado para exibir os números de 10 a 0: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // um laço for que conta de 10 a 0 for(int i = 10; i >= 0; i--){ cout << i << "\n"; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } É importante observar que mais de uma expressão podem ser executadas nas partes início e incremento/decremento de um laço for. Veja um exemplo: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // um laço for que conta de 10 a 0 for(int i = 0, x = 4; i <= 10; i++, x += 2){ cout << (i * x) << "\n"; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
HTML5 ::: Aplicativos Completos ::: Programas de desenho, edição e visualização de imagens e fotos |
Como criar um programa de desenho simples usando o objeto Canvas do HTML5Quantidade de visualizações: 5123 vezes |
Revisando alguns códigos que desenvolvi para clientes ao longo desses anos, encontrei um exemplo de um programa de desenho bem simples demonstrando as possibilidades gráficas do elemento Canvas do HTML. Este código foi escrito há uns dois anos e resolvi compartilhar com todos, para que vocês possam aprimorá-lo e acrescentar novas idéias, afinal, o HTML5 está mais atual do que nunca. Veja o resultado no navegador: Eu o escrevi de forma bem simples, sem usar jQuery ou qualquer outro framework, apenas JavaScript raiz mesmo, de forma que até os estudantes mais iniciantes não terão dificuldade de entender. Veja a listagem completa e com comentários: <html> <head> <title>Desenhando no canvas do HTML5</title> </head> <body style="padding: 15px"> <b>Clique e arraste para desenhar</b><br><br> <canvas id="quadro" style="border: 1px solid #666" width="600" height="350"></canvas> <br><br><button onClick="limpar()">Limpar</button> <script type="text/javascript"> // obtém uma referência ao canvas var quadro = document.getElementById('quadro'); // vamos obter o contexto de desenho var areaDesenho = quadro.getContext("2d"); // podemos desenhar? var podeDesenhar = false; // ainda não // vetores para guardar as posições x, y, e se o mouse está sendo // movimentado pressionado var vetorX = new Array(); var vetorY = new Array(); var vetorArrastar = new Array(); // agora vamos adicionar na área de desenho um "ouvidor" de // eventos mousedown, ou seja, vamos detectar quando o usuário // pressionar o botão do mouse (sem soltar) quadro.addEventListener('mousedown', function(e){ // podemos iniciar o desenho podeDesenhar = true; registrarClique(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, false); desenhar(); // faça o desenho, moço }); // o "ouvidor" de evento que detecta se o mouse está sendo arrastado // pressionado quadro.addEventListener('mousemove', function(e){ if(podeDesenhar){ registrarClique(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, true); desenhar(); // faça o desenho, moço } }); // o "ouvidor" de evento que detecta se o mouse foi liberado // e interrompe o desenho quadro.addEventListener('mouseup', function(e){ podeDesenhar = false; }); // o mouse saiu da área de desenho? quadro.addEventListener('mouseleave', function(e){ podeDesenhar = false; }); function registrarClique(x, y, arrastar){ // aqui nós guardamos em vetores as posições x, y do clique ou // o movimento do mouse pressionado. vetorX.push(x); vetorY.push(y); vetorArrastar.push(arrastar); } // é aqui que a mágica ocorre function desenhar(){ // primeiro vamos limpar o quadro de desenho areaDesenho.clearRect(0, 0, areaDesenho.canvas.width, areaDesenho.canvas.height); areaDesenho.strokeStyle = "#5c5cd6"; // cor areaDesenho.lineJoin = "round"; // formato da junção de linha areaDesenho.lineWidth = 5; // largura da linha // percorremos os vetores, usando como base o vetor de coordenadas x for(var i = 0; i < vetorX.length; i++){ areaDesenho.beginPath(); // inicia o caminho // o mouse foi arrastado neste evento? if((vetorArrastar[i] == true && i > 0)){ areaDesenho.moveTo(vetorX[i - 1], vetorY[i - 1]); } else{ // é o início do desenho areaDesenho.moveTo(vetorX[i] - 1, vetorY[i]); } // desenha a linha do ponto X ao ponto Y areaDesenho.lineTo(vetorX[i], vetorY[i]); // fecha o caminho areaDesenho.closePath(); // conclui de fato o desenho areaDesenho.stroke(); } } // e aqui nós limpamos a área de desenho e esvaziamos os vetores function limpar(){ areaDesenho.clearRect(0, 0, areaDesenho.canvas.width, areaDesenho.canvas.height); vetorX = []; vetorY = []; vetorArrastar = []; } </script> </body> </html> Salve o código como "desenho.html" (cuidado para não salvar como "desenho.html.txt") e abra-o no seu navegador, remoto ou localmente. Você pode começar suas modificações alterando a cor do desenho, a largura da linha, etc. Você pode também deixar figuras pré-configuradas e até permitir que o usuário inclua fotos no Canvas. Para os estudantes que já sabem Node.js, saiba que é possível enviar os três vetores via sockets em um ambiente real time para que outros usuários na rede vejam o seu desenho em tempo real. Bons estudos. |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar vetores em PHP com a construção array() e usando inteiros como chavesQuantidade de visualizações: 8065 vezes |
A linguagem PHP nos permite criar vetores (arrays) e informar os valores inteiros que queremos como chaves, ou seja, não precisamos, obrigatoriamente, iniciar os índices dos elementos em 0. Veja o código a seguir: <html> <head> <title>Estudando PHP</title> </head> <body> <?php $linguagens = array(10 => 'Java', 11 => 'Python', 12 => 'C++'); echo "A linguagem escolhida foi: " . $linguagens[11]; ?> </body> </html> Ao executar este código nós teremos o seguinte resultado: A linguagem escolhida foi: Python |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |