![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Rust ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Rust - Como testar se um ano é bissexto em Rust - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 471 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 Rust 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 Rust: use std::io; use std::io::Write; // esta é a função principal do programa Rust fn main() { // variáveis usadas na resolução do problema let ano:i32; let mut ano_str = String::new(); // vamos solicitar que o usuário informe um ano print!("Informe o ano: "); std::io::stdout().flush().unwrap(); io::stdin().read_line(&mut ano_str).expect("String inválida"); ano = ano_str.trim().parse().expect("Valor inválido"); // vamos verificar se o ano informado é bissexto if ((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0) { println!("O ano informado é bissexto."); } else{ println!("O ano informado não é bissexto."); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java que calcula qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decompostoQuantidade de visualizações: 15944 vezes |
Pergunta/Tarefa: Escreva um programa Java que lê um valor inteiro e simule o comportamento de um caixa eletrônico, ou seja, calcule qual o menor número possível de notas de 100, 50, 10, 5 e 1 em que o valor a ser sacado pode ser decomposto. Seu programa deverá exibir uma saída parecida com: Informe o valor do saque (valor inteiro): 139 O valor do saque pode ser expresso em: 1 notas de 100 0 notas de 50 3 notas de 10 1 notas de 5 4 notas de 1 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console (lendo a entrada do usuário por meio do uso da classe Scanner): public static void main(String[] args){ // não se esqueça de adicionar um import para a classe Scanner // import java.util.Scanner; // vamos criar um objeto da classe Scanner Scanner entrada = new Scanner(System.in); // variáveis que vão guardar a quantidade de notas de 100, 50, 10, 5 e 1; int cem = 0, cinquenta = 0, dez = 0, cinco = 0, um = 0; int valor; // guarda o valor lido int temp; // variável auxiliar // vamos solicitar o valor a ser sacado System.out.print("Informe o valor do saque (valor inteiro): "); // vamos ler o valor do saque valor = Integer.parseInt(entrada.nextLine()); // inicializa a variável temporária temp = valor; // quantas notas de 100? if(temp >= 100){ cem = valor / 100; temp = valor % 100; } // quantas notas de 50? if(temp >= 50){ cinquenta = temp / 50; temp = temp % 50; } // quantas notas de 10? if(temp >= 10){ dez = temp / 10; temp = temp % 10; } // quantas notas de 5? if(temp >= 5){ cinco = temp / 5; temp = temp % 5; } // quantas notas de 1? if(temp >= 1){ um = temp / 1; } // vamos exibir o resultado System.out.println("O valor do saque pode ser expresso em:"); System.out.printf("%d notas de 100\n", cem); System.out.printf("%d notas de 50\n", cinquenta); System.out.printf("%d notas de 10\n", dez); System.out.printf("%d notas de 5\n", cinco); System.out.printf("%d notas de 1\n", um); } |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como extrair uma substring de uma string usando a função AnsiMidStr() do DelphiQuantidade de visualizações: 31023 vezes |
Em algumas situações precisamos obter uma substring de uma string. Em Delphi isso pode ser feito por meio da função AnsiMidStr(). Esta função requer a string a partir da qual a substring será obtida, a posição inicial da substring (começando em 1) e a quantidade de caracteres que comporâo a substring. O retorno será uma nova string contendo a substring obtida. Veja o exemplo:procedure TForm1.Button1Click(Sender: TObject); var frase, substring: string; begin frase := 'Programar em Delphi é muito bom'; // vamos obter a substring "Delphi" substring := AnsiMidStr(frase, 14, 6); // vamos exibir o resultado ShowMessage('Resultado: ' + substring); end; Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
C ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em CQuantidade de visualizações: 2722 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código C completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int numero, i; int primo = 1; // verdadeiro, true // vamos solicitar um número inteiro positivo printf("Informe um número inteiro positivo: "); scanf("%d", &numero); // o número é negativo? if(numero < 0){ printf("Número inválido.\n\n"); } // é 0 ou 1? else if((numero == 0) || (numero == 1)){ printf("Número válido, mas não é primo.\n\n"); } // passou até aqui. Vamos testar se o número é primo else{ for (i = 2; i <= (numero / 2); i++){ // se passar no teste, não é primo if (numero % i == 0) { primo = 0; // recebe false break; } } if(primo){ printf("O número informado é primo\n\n"); } else{ printf("O número informado não é primo\n\n"); } } printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Como percorrer todos os elementos de um vetor de inteiros e exibir a soma de seus valoresQuantidade de visualizações: 13245 vezes |
Pergunta/Tarefa: Considere o seguinte vetor de inteiros: // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; A soma dos valores do vetor é: 32 Resposta/Solução: public static void main(String[] args){ // um vetor de inteiros contendo sete elementos int valores[] = {4, 5, 1, 8, 2, 2, 10}; // o primeiro passo é criar uma variável que vai receber a soma // dos valores dos elementos int soma = 0; // agora vamos usar uma laço for para percorrer todos os elementos // do vetor, obter o valor do elemento atual e adicionar ao valor atual // da variável soma for(int i = 0; i < valores.length; i++){ soma = soma + valores[i]; // poderia também ser escrito assim: // soma += valores[i]; } // vamos exibir a soma dos valores do vetor System.out.println("A soma dos valores do vetor é: " + soma); } |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como comparar strings em VB.NET usando o método Compare() da classe String do .NET FrameworkQuantidade de visualizações: 12514 vezes |
Este exemplo mostra como comparar strings em VB.NET usando o método Compare() da classe String. Lembre-se de que a versão do método que usamos neste exemplo diferencia maiúsculas de minúsculas. Veja o código completo: Imports System Module Program Sub Main(args As String()) Dim palavra1, palavra2 As String palavra1 = "Visual Basic" palavra2 = "Visual Basic" If String.Compare(palavra1, palavra2) = 0 Then Console.WriteLine("As duas strings são iguais") Else Console.WriteLine("As duas strings são diferentes") End If Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: As duas strings são iguais |
Python ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o arco cosseno de um número em Python usando o método acos() do módulo mathQuantidade de visualizações: 3591 vezes |
O arco cosseno, (também chamado de cosseno inverso) pode ser representado por cos-1 x, arccos x ou acos x. Esta função é a inversa do cosseno, ou seja, se o cosseno é a relação entre o cateto adjacente ao ângulo e a hipotenusa, o arco cosseno parte desta relação para encontrar o valor do ângulo. Em Python, o arco cosseno de um número pode ser obtido por meio do método acos() da classe Math. Este método recebe um valor double e retorna também um double, na faixa 0 <= x <= PI, onde PI vale 3.1416. Veja um código Python completo no qual informamos um número e em seguida calculamos o seu arco-cosseno: # vamos importar o módulo Math import math as math def main(): numero = 0.5 print("O arco cosseno de %f é %f" % (numero, math.acos(numero))) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: O arco cosseno de 0.500000 é 1.047198 Não se esqueça de que as funções trigonométricas são usadas para modelar o movimento das ondas e fenômenos periódicos, como padrões sazonais. Elas formam a base para análises avançadas em engenharia elétrica, processamento digital de imagem, radiografia, termodinâmica, telecomunicações e muitos outros campos da ciência e da tecnologia. |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o Índice de Esbeltez de um pilar em Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 361 vezes |
![]() O índice de esbeltez de um pilar, representado pela letra grega λ (lambda) é uma relação que mede a altura do pilar em relação à sua largura ou seção transversal. Esse índice é usado para avaliar a suscetibilidade de um pilar à flambagem, que é um tipo de falha estrutural que pode ocorrer em pilares esbeltos sob compressão. Segundo a NBR 6118, 15.8.2, os pilares devem ter índice de esbeltez menor ou igual a 200 (λ ≤ 200). Apenas no caso de postes com força normal menor que 0,10 fcd x Ac, o índice de esbeltez pode ser maior que 200. O índice de esbeltez é a razão entre o comprimento de flambagem e o raio de giração, nas direções a serem consideradas. De acordo com o comprimento de flambagem, os pilares classificam-se como: curto, se λ < 35; medianamente esbelto, se 35 < λ < 90; esbelto, se 90 < λ < 140; e muito esbelto, se 140 < λ < 200. A fórmula para o cálculo do índice de esbeltez pode ser definida como: \[\lambda = 3,46 \cdot \frac{le}{h} \] Onde: λ = número adimensional representando o índice de esbeltez ao longo da direção escolhida (x ou y); le = algura do pilar, ou seja, o comprimento do pilar em centímetros. h = dimensão escolhida (x ou y) em centímetros. De acordo com a norma NBR 6118 (ABNT, 2014), se o índice de esbeltez na direção escolhida for menor que 35, nós não precisamos considerar os efeitos locais de 2ª ordem. Vamos agora ao código Python? Pediremos ao usuário para informar o comprimento (altura) do pilar em metros, as dimensões nas direções x e y e mostraremos os índices de esbeltez nas direções x e y do pilar com as respectivas anotações da necessidade ou não da consideração dos efeitos locais de 2ª ordem. Veja: # método principal def main(): # vamos pedir o comprimento do pilar em metros (pé direito) le = float(input("Informe o comprimento do pilar (em metros): ")) # vamos converter o comprimento em metros para centímetros le = le * 100.0 # vamos pedir as dimensões do pilar hx = float(input("Informe a dimensão do pilar na direção x (em cm): ")) hy = float(input("Informe a dimensão do pilar na direção y (em cm): ")) # agora vamos calcular o índice de esbeltez na direção x lambda_x = 3.46 * (le / hx) # agora vamos calcular o índice de esbeltez na direção y lambda_y = 3.46 * (le / hy) # e mostramos os resultados print("\nO índice de esbeltez na direção x é: {0}".format(round(lambda_x, 2))) # precisamos considerar os efeitos locais de segunda ordem na direção x? if lambda_x < 35: print("Não considerar os efeitos locais de 2ª ordem na direção x") else: print("Considerar os efeitos locais de 2º ordem na direção x") print("\nO índice de esbeltez na direção y é: {0}".format(round(lambda_y, 2))) # precisamos considerar os efeitos locais de segunda ordem na direção y? if lambda_y < 35: print("Não considerar os efeitos locais de 2ª ordem na direção y") else: print("Considerar os efeitos locais de 2ª ordem na direção y") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe o comprimento do pilar (em metros): 2.88 Informe a dimensão do pilar na direção x (em cm): 40 Informe a dimensão do pilar na direção y (em cm): 19 O índice de esbeltez na direção x é: 24.91 Não considerar os efeitos locais de 2ª ordem na direção x O índice de esbeltez na direção y é: 52.45 Considerar os efeitos locais de 2ª ordem na direção y |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em PHP - Como usar herança em PHPQuantidade de visualizações: 11843 vezes |
Quando estamos projetando as classes que farão parte de um sistema, é aconselhável ter em mente um conceito muito importante da programação orientada a objetos: a herança. O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação. É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa como mostrado no código a seguir: <? class Pessoa{ public $nome; public $idade; } ?> Esta classe possui os atributos $nome e $idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código: <? class Pessoa{ public $nome; public $idade; } class Aluno extends Pessoa{ public $matricula; } ?> Observe que, em PHP, a palavra-chave usada para indicar herança é extends. A classe Aluno agora possui três atributos: $nome, $idade e $matricula. Veja um trecho de código mais completo, no qual este relacionamento é mais fácil de ser percebido: <? class Pessoa{ public $nome; public $idade; } class Aluno extends Pessoa{ public $matricula; } $aluno = new Aluno; $aluno->nome = "Osmar J. Silva"; $aluno->idade = 36; $aluno->matricula = "AC33-65"; // Exibe o resultado echo "Nome: " . $aluno->nome . "<br>" . "Idade: " . $aluno->idade . "<br>" . "Matrícula: " . $aluno->matricula; ?> A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como criar herança em Java usando extends - Programação orientada a objetos em JavaQuantidade de visualizações: 29325 vezes |
Quando estamos projetando as classes que farão parte de um sistema, é aconselhável ter em mente um conceito muito importante da programação orientada a objetos: a herança. O que um aluno, um professor e um funcionário possuem em comum? Todos eles são pessoas e, portanto, compartilham alguns dados comuns. Todos têm nome, idade, endereço, etc. E, o que diferencia um aluno de uma outra pessoa qualquer? Um aluno possui uma matrícula; Um funcionário possui um código de funcionário, data de admissão, salário, etc; Um professor possui um código de professor e informações relacionadas à sua formação. É aqui que a herança se torna uma ferramenta de grande utilidade. Podemos criar uma classe Pessoa, que possui todos os atributos e métodos comuns a todas as pessoas e herdar estes atributos e métodos em classes mais específicas, ou seja, a herança parte do geral para o mais específico. Comece criando uma classe Pessoa (Pessoa.java) como mostrado no código a seguir: public class Pessoa{ public String nome; public int idade; } Esta classe possui os atributos nome e idade. Estes atributos são comuns a todas as pessoas. Veja agora como podemos criar uma classe Aluno que herda estes atributos da classe Pessoa e inclui seu próprio atributo, a saber, seu número de matrícula. Eis o código: public class Aluno extends Pessoa{ public String matricula; } Observe que, em Java, a palavra-chave usada para indicar herança é extends. A classe Aluno agora possui três atributos: nome, idade e matricula. Veja um aplicativo demonstrando este relacionamento: public class Estudos{ public static void main(String args[]){ // cria um objeto da classe Aluno Aluno aluno = new Aluno(); aluno.nome = "Osmar J. Silva"; aluno.idade = 36; aluno.matricula = "AC33-65"; // Exibe o resultado System.out.println("Nome: " + aluno.nome + "\n" + "Idade: " + aluno.idade + "\n" + "Matrícula: " + aluno.matricula); } } Ao executar este código nós teremos o seguinte resultado: Nome: Osmar J. Silva Idade: 36 Matrícula: AC33-65 A herança nos fornece um grande benefício. Ao concentrarmos características comuns em uma classe e derivar as classes mais específicas a partir desta, nós estamos preparados para a adição de novas funcionalidades ao sistema. Se mais adiante uma nova propriedade comum tiver que ser adicionada, não precisaremos efetuar alterações em todas as classes. Basta alterar a superclasse e pronto. As classes derivadas serão automaticamente atualizadas. Esta dica foi testada no Java 8. |
Você também poderá gostar das dicas e truques de programação abaixo |
C - Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear |
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 |