![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Ler um número inteiro na faixa 0-999 e mostrar a soma de seus dígitos - C BásicoQuantidade de visualizações: 3090 vezes |
Pergunta/Tarefa: Escreva um programa C que leia um inteiro na faixa 0-999 e mostre a soma de seus dígitos. Por exemplo, se o valor for 523, a soma de seus dígitos será 5 + 2 + 3 = 10. Lembre-se que você deverá usar apenas os operadores matemáticos e o operador de módulo (%). Seu programa deverá exibir a seguinte saída: Informe um valor inteiro (0-999): 523 A soma dos dígitos é: 10 Veja a resolução comentada deste exercício usando C console: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // vamos solicitar ao usuário que informe um valor inteiro // na faixa 0 a 999 (incluindo) printf("Informe um valor inteiro (0-999): "); // vamos ler o valor informado int valor; scanf("%d", &valor); // vamos verificar se o valor está na faixa permitida if(valor < 0 || valor > 999){ puts("Valor fora da faixa permitida"); } else{ // vamos obter o terceiro dígito int terceiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o segundo dígito int segundo = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o primeiro dígito int primeiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter a soma dos dígitos int soma = terceiro + segundo + primeiro; // vamos mostrar o resultado printf("A soma dos dígitos é: %d", soma); } printf("\n\n"); system("PAUSE"); return 0; } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Percorrer todos os elementos de um array, exibir a soma dos valores positivos e a quantidade de valores negativosQuantidade de visualizações: 12774 vezes |
Pergunta/Tarefa: Considere o seguinte vetor de inteiros: // um array de inteiros contendo sete elementos int valores[] = {-3, 9, 12, -34, -2, 20, 10}; Seu programa deverá exibir uma saída com a mensagem: A soma dos valores positivos é: 51 A quantidade de valores negativos é: 3 Resposta/Solução: Veja a resolução comentada deste exercício em Java: public static void main(String[] args){ // um array de inteiros contendo sete elementos int valores[] = {-3, 9, 12, -34, -2, 20, 10}; // o primeiro passo é criar uma variável que vai receber a soma // dos valores positivos int soma_positivos = 0; // agora uma variável para receber a quantidade de valores negativos int quant_negativos = 0; // agora vamos usar uma laço for para percorrer todos os elementos // do array for(int i = 0; i < valores.length; i++){ // vamos verificar se o valor do elemento atual é negativo if(valores[i] < 0){ quant_negativos++; } else{ // o valor é positivo soma_positivos = soma_positivos + valores[i]; } } // vamos exibir a soma dos valores positivos System.out.println("A soma dos valores positivos é: " + soma_positivos); // vamos exibir a quantidade de valores negativos System.out.println("A quantidade de valores negativos é: " + quant_negativos); } |
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Java Reflection - Como exibir os nomes de todas as superclasses de uma determinada classe usando introspecção em JavaQuantidade de visualizações: 8030 vezes |
Nesta dica veremos como tirar proveito dos métodos getClass(), getName() e getSuperclass() da classe Class da linguagem Java para exibirmos todas as super classes de um determinada classe, até chegarmos à super classe mais alta na hierarquia, ou seja, a classe Object. Note como usamos um objeto da classe Stack para criarmos uma estrutura de dados do tipo pilha que nos permite obter os nomes das super classes e depois exibir os mesmos na ordem inversa. Veja o código completo para o exemplo: package arquivodecodigos; import java.util.Stack; import javax.swing.*; public class Estudos{ // vamos precisar de uma pilha aqui static Stack<String> pilha = new Stack(); public static void main(String args[]){ // Exibe todas as superclasses de JPanel JPanel panel = new JPanel(); obterSuperclasses(panel); // agora vamos exibir os resultados na ordem // contrária que eles foram obtidos int cont = 0; while(pilha.size() > 0){ // insere espaços antes String ident = ""; for(int i = 0; i < cont; i++){ ident = ident + " "; } System.out.println(ident + pilha.pop()); cont++; } System.exit(0); } static void obterSuperclasses(Object obj){ // vamos adicionar este valor na pilha pilha.push(obj.getClass().getName()); Class cls = obj.getClass(); Class superclass = cls.getSuperclass(); while(superclass != null){ String className = superclass.getName(); // vamos adicionar este valor na pilha pilha.push(className); cls = superclass; superclass = cls.getSuperclass(); } } } Ao executarmos este código Java nós teremos o seguinte resultado: java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.JPanel |
C# ::: Windows Forms ::: DataGridView |
Como ocultar ou exibir uma determinada linha do DataGridView do C# Windows FormsQuantidade de visualizações: 13314 vezes |
Em algumas situações precisamos ocultar ou exibir determinadas linhas do DataGridView. Isso pode ser feito definindo-se os valores true ou false para a propriedade Visible da classe DataGridViewRow. Veja um trecho de código no qual ocultamos a primeira linha do DataGridView:private void button3_Click(object sender, EventArgs e){ // vamos ocultar a primeira linha dataGridView1.Rows[0].Visible = false; } Veja que aqui nós acessamos a coleção DataGridViewRowCollection e usamos um índice para retornar o DataGridViewRow desejado. Em seguida definimos o valor false para sua propriedade Visible. |
VisuAlg ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em VisuAlg dados dois pontos no plano cartesianoQuantidade de visualizações: 635 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem VisuAlg que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: algoritmo "Calcular o coeficiente angular de uma reta em VisuAlg" var // coordenadas dos dois pontos x1, y1, x2, y2: real // guarda o coeficiente angular m: real inicio // x e y do primeiro ponto escreva("Coordenada x do primeiro ponto: ") leia(x1) escreva("Coordenada y do primeiro ponto: ") leia(y1) // x e y do segundo ponto escreva("Coordenada x do segundo ponto: ") leia(x2) escreva("Coordenada y do segundo ponto: ") leia(y2) // vamos calcular o coeficiente angular m <- (y2 - y1) / (x2 - x1) // mostramos o resultado escreva("O coeficiente angular é: ", m) fimalgoritmo Ao executar este código VisuAlg nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$): algoritmo "Calcular o coeficiente angular de uma reta em VisuAlg" var // coordenadas dos dois pontos x1, y1, x2, y2: real // guarda os comprimentos dos catetos oposto e adjascente cateto_oposto, cateto_adjascente: real // guarda o ângulo tetha (em radianos) e a tangente tetha, tangente: real inicio // x e y do primeiro ponto escreva("Coordenada x do primeiro ponto: ") leia(x1) escreva("Coordenada y do primeiro ponto: ") leia(y1) // x e y do segundo ponto escreva("Coordenada x do segundo ponto: ") leia(x2) escreva("Coordenada y do segundo ponto: ") leia(y2) // vamos obter o comprimento do cateto oposto cateto_oposto <- y2 - y1 // e agora o cateto adjascente cateto_adjascente <- x2 - x1 // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa // (em radianos, não se esqueça) tetha <- ArcTan(cateto_oposto / cateto_adjascente) // e finalmente usamos a tangente desse ângulo para calcular // o coeficiente angular tangente <- Tan(tetha) // mostramos o resultado escreva("O coeficiente angular é: ", tangente) fimalgoritmo Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função na linguagem C que verifica se duas strings são iguais ou diferentesQuantidade de visualizações: 9371 vezes |
Esta dica mostra como escrever uma função em C que verifica se duas strings são iguais ou diferentes. O nome da função é str_equal(). Esta função aceita duas strings como argumentos e retorna 1 se estas forem iguais e 0 em caso contrário. Experimente, faça as devidas alterações e adicione mais esta função ao seu repertório de códigos C. Veja o código completo para o exemplo: #include <stdio.h> #include <stdlib.h> #include <string.h> // função personalizada que permite verificar // se duas strings são iguais ou diferentes int str_equal(const char *str1, const char *str2){ while((*str1 == *str2) && (*str1)){ str1++; str2++; } return((*str1 == 0) && (*str2 == 0)); } int main(int argc, char *argv[]){ char palavra1[] = "Java"; char palavra2[] = "Java"; if(str_equal(palavra1, palavra2) == 1) printf("As palavras sao iguais"); else printf("As palavras sao diferentes"); puts("\n\n"); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: As palavras são iguais |
HTML5 ::: Canvas Element ::: Linhas |
Computação gráfica usando HTML 5 - Como usar o método lineTo() do objeto Canvas do HTML5 para desenhar retasQuantidade de visualizações: 2981 vezes |
O método lineTo() do objeto Canvas do HTML5 nos permite desenhar linhas retas entre um ponto x e um ponto y. Para isso, usamos o método moveTo() para mover a caneta (ou pena) de desenho para um coordenada x, y e a partir deste ponto nós especificamos as coordenadas x, y para a outra extremidade da linha. O trecho de código a seguir desenha uma linha saindo das coordenadas x = 20, y = 20 e chegando até x = 300, y = 150. Veja: contexto.moveTo(20, 20); // move a caneta para x, y contexto.lineTo(300, 150); // coordenadas x, y E aqui estão os códigos HTML e JavaScript para o exemplo completo: <!doctype html> <html> <head> <title>O objeto Canvas do HTML5</title> </head> <body> <Canvas id="canvas1" width="500" height="350"></Canvas> <script type="text/javascript"> // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas1"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); contexto.beginPath(); // inicia ou reseta o caminho anterior contexto.moveTo(20, 20); // move a caneta para x, y contexto.lineTo(300, 150); // coordenadas x, y contexto.stroke(); // finaliza o desenho </script> </body> </html> Ao abrir esta página HTML nós teremos o seguinte resultado: ![]() |
Python ::: Dicas & Truques ::: Data e Hora |
Como exibir a data atual em Python de acordo com as configurações regionais usando as funções strftime() e setlocale()Quantidade de visualizações: 7785 vezes |
Nesta dica mostrarei como podemos combinar os objeto datetime e locale e as funções today(), strftime() e setlocale() para retornar e exibir a data atual em Python usando as configurações regionais do computador do usuário. Veja o código completo para o exemplo: from datetime import datetime import locale # função principal do programa def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, "") # Obtém um datetime da data e hora atual hoje = datetime.today() # Exibe a data atual print("Hoje é {0}".format(hoje.strftime("%x"))) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Hoje é 04/02/2023 |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etcQuantidade de visualizações: 11973 vezes |
Nesta dica veremos como retornar o dia da semana de uma data no formato Domingo, Segunda-feira, Terça-feira, etc, em JavaScript. Esta técnica é muito útil quando queremos escrever aplicações envolvendo calendários. Veja a página HTML completa para o exemplo: <!doctype html> <html> <head> <title>Data e hora em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar um array com os dias da semana var dias_semana = new Array("Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"); // agora vamos obter a data de hoje var data = new Date(); // agora vamos obter o número do dia da semana // começando em 0 para o domingo var dia_semana = data.getDay(); // e finalmente mostramos o resultado document.write("Dia da semana: " + dias_semana[dia_semana]); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: Dia da semana: Segunda-feira |
C# ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter um tipo string para um tipo decimal em C# usando o método Parse() da classe DecimalQuantidade de visualizações: 12702 vezes |
Este exemplo mostra como converter uma string em um valor do tipo decimal. Para isso nós vamos usar o método Parse() da classe Decimal da linguagem C#. No entanto, é preciso termos cuidado, pois este método pode lançar três tipos de exceções: ArgumentNullException, FormatException e OverflowException. Veja o trecho de código a seguir: using System; namespace Estudos { class Program { static void Main(string[] args) { string valor_string = "530,54"; // experimente com os valores "23,5", "arquivo" e // "659" // tenta efetuar a conversão de string para decimal try { decimal valor_decimal = decimal.Parse(valor_string); // exibe o resultado Console.WriteLine("Valor convertido com sucesso: " + valor_decimal); } catch (FormatException e) { // exibe a informações sobre a exceção // Input string was not in a correct format. Console.WriteLine(e.Message); } Console.WriteLine("\n\nPressione qualquer tecla para sair..."); // pausa o programa Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Valor convertido com sucesso: 530,54 Se tentarmos atribuir um valor string a um tipo decimal, sem efetuar a conversão, teremos o seguinte erro de compilação: Cannot implicitly convert type string to decimal |
Você também poderá gostar das dicas e truques de programação abaixo |
C++ Builder - Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ Builder Excel - Como gerar números aleatórios inteiros entre 1 e 10 no Excel usando as funções ALEATÓRIO() e INT() Java - Como percorrer uma árvore binária em Java usando o algorítmo depth-first search (DFS) recursivo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |