Você está aqui: Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Um laço for que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informado - Desafio de Programação Resolvido em RubyQuantidade de visualizações: 196 vezes |
Pergunta/Tarefa: Escreva um programa Ruby que usa o laço for para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar vetores ou matrizes (arrays). Sua saída deve ser parecida com: Informe o 1º valor: 5 Informe o 2º valor: 1 Informe o 3º valor: 20 Informe o 4º valor: 6 Informe o 5º valor: 3 Informe o 6º valor: 4 Informe o 7º valor: 7 Informe o 8º valor: 12 Informe o 9º valor: 9 Informe o 10º valor: 8 O maior valor lido foi: 20 O menor valor lido foi: 1 Veja a solução comentada deste exercício usando a linguagem Ruby: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # variáveis que guardarão o maior e o menor valor lido maior = 0 menor = 0 # vamos pedir ao usuário que informe 10 valores inteiros for i in (0..9) printf "Informe o %d.o valor: ", (i + 1) valor = gets.chomp.to_i # esta é a primeira iteração do laço? se for vamos assumir que o # maior e menor valor lido são o primeiro valor informado if i == 1 maior = valor menor = valor else # não é a primeira iteração # vamos verificar se é maior que o valor atual da variável maior if valor > maior maior = valor end # vamos verificar se é menor que o valor atual da variável menor if valor < menor menor = valor end end end # vamos exibir o maior e o menor valor lido printf "\nO maior valor lido foi: %d", maior printf "\nO menor valor lido foi: %d", menor |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como exibir os valores de 0 a 10 em ordem decrescente usando o laço for da linguagem PythonQuantidade de visualizações: 12666 vezes |
Em geral, todos os exemplos que vemos de laço for (laço ou loop PARA) mostram a variável de controle sendo incrementada, raras vezes decrementada. Nesta dica mostrarei como isso pode ser feito, ou seja, vamos contar de 0 a 10 em ordem decrescente. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): for i in range(10, -1, -1): print(i) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 10 9 8 7 6 5 4 3 2 1 0 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como resolver o problema da Torre de Hanói recursivamenteQuantidade de visualizações: 1259 vezes |
Pergunta/Tarefa: Torre de Hanói, ou The Towers of Hanoi, é um "quebra-cabeça" que consiste em uma base contendo três pinos, em um dos quais são dispostos alguns discos uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo. O problema consiste em passar todos os discos de um pino para outro qualquer, usando um dos pinos como auxiliar, de maneira que um disco maior nunca fique em cima de outro menor em nenhuma situação. O número de discos pode variar sendo que o mais simples contém apenas três. A solução da Torre de Hanói (The Towers of Hanoi) pode ser feita recursivamente da seguinte forma: O caso base (parada da recursão) é quando n = 1. Se n = 1 nós podemos simplesmente mover o disco de A para B, sem precisar passar pelo pino C. Quando n > 1 nós podemos dividir o problema original em três sub-problemas e resolvê-los sequencialmente. 1) Mova os primeiros n - 1 discos de A para C com a ajuda do pino B; 2) Mova o disco n de A para B; 3) Mova n - 1 discos do pino C para o pino B com a ajuda do pino A. Além de resolver o problema, seu programa deverá informar quantas chamadas recursivas foram feitas. Sua saída deverá ser parecida com: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos { static int quantChamadasRecursivas = 0; // registra as chamadas recursivas public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos ler a quantidade de discos a serem usados na simulação System.out.print("Informe a quantidade de discos: "); int discos = Integer.parseInt(entrada.nextLine()); // resolve o problema recusivamente System.out.println("\nOs movimentos para resolver o problema foram:\n"); moverDiscos(discos, 'A', 'B', 'C'); System.out.println("\nForam feitas " + quantChamadasRecursivas + " chamadas recursivas"); System.out.println(); } // método recursivo que resolve o problema da Torre de Hanói public static void moverDiscos(int n, char daTorre, char paraTorre, char torreAux) { quantChamadasRecursivas++; // registra mais uma chamada recursiva if(n == 1){ // condição de parada System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + paraTorre); } else{ // faz mais uma chamada recursiva moverDiscos(n - 1, daTorre, torreAux, paraTorre); System.out.println("Movendo o disco " + n + " de " + daTorre + " para " + paraTorre); moverDiscos(n - 1, torreAux, paraTorre, daTorre); } } } |
C++ ::: C++ para Engenharia ::: Física - Mecânica |
Como calcular a Energia Potencial Gravitacional de um corpo dado a sua massa e altura em C++Quantidade de visualizações: 198 vezes |
A Energia Potencial Gravitacional ou Energia Gravitacional é a energia potencial que um objeto massivo tem em relação a outro objeto massivo devido à gravidade. É a energia potencial associada ao campo gravitacional, que é parcialmente convertida em energia cinética quando os objetos caem uns contra os outros. A energia potencial gravitacional aumenta quando dois objetos são separados. A fórmula para obtenção da Energia Potencial Gravitacional de um corpo em relação à sua massa e distância do chão, ou seja, da superfície terrestre, é: \[ E_\text{pg} = \text{m} \cdot \text{g} \cdot \text{h} \] Onde: Epg ? energia potencial gravitacional (em joule, J). m ? massa do corpo (em kg). g ? aceleração da gravidade (m/s2). h ? altura do objeto em relação ao chão (em metros). Como podemos ver, a Energia Potencial Gravitacional está diretamente relacionada à distância do corpo em relação à superfície terrestre. Dessa forma, quanto mais distante da terra o objeto estiver, maior a sua energia gravitacional. Isso nós diz também que, um objeto de altura zero possui Energia Potencial Gravitacional nula. Vamos ver um exemplo agora? Observe o seguinte enunciado: 1) Uma pessoa levanta um tijolo com peso de 2 quilogramas à distância de 1,5 metros do chão. Qual é a Energia Potencial Gravitacional deste corpo? Como o exercício nos dá a massa do objeto em kg e a distância dele em relação ao chão já está em metros, tudo que temos a fazer é jogar na fórmula. Veja o código C++ completo para o cálculo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // gravidade terrestre em m/s2 double gravidade = 9.80665; // massa do corpo double massa = 2; // em kg // altura do corpo em relação ao chão double altura = 1.5; // em metros // vamos calcular a energia potencial gravitacional double epg = massa * gravidade * altura; // mostramos o resultado cout << "A Energia Potencial Gravitacional é: " << epg << "J"; cout << "\n" << endl; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: A Energia Potencial Gravitacional é: 29.419950J |
Java ::: Java para Engenharia ::: Eletricidade, Circuitos Elétricos e Eletrônicos |
Como calcular corrente, voltagem, resistência e potência em um circuito série de corrente contínua usando JavaQuantidade de visualizações: 1278 vezes |
Como calcular corrente, voltagem, resistência e potência em um círcuito série de corrente contínua usando Java Nesta dica mostrarei como é possível usar operações básicas da linguagem Java para calcular a corrente, voltagem, resistência e potência em um circuito série de corrente contínua. É conhecido como um circuito série um circuito composto exclusivamente por componentes elétricos ou eletrônicos conectados em série (de conexão em série, que é o mesmo que associação em série ou ligação em série). A associação em série é uma das formas básicas de se conectarem componentes elétricos ou eletrônicos. A nomeação descreve o método como os componentes são conectados. Vanos começar analisando a seguinte imagem: Esta imagem foi extraída do Simulador do PHET, no endereço https://phet.colorado.edu. Note que temos uma fonte de alimentação 90V, e três resistores (com resistências de 10Ω, 20Ω e 30Ω). Vamos começar relembrando os aspectos importantes dos circuitos em série: 1) A corrente elétrica I (medida em ampères (A), ou coulombs por segundo) é comum a todos os elementos do circuito. 2) A tensão elétrica V, (medida em volts (V), ou joules por coulomb) é dividida entre as cargas, ou seja, a soma das tensões nas cargas deve ser igual à tensão da fonte de alimentação. 3) A resistência elétrica R (medida em ohms (Ω)) total do circuito é igual à soma de todas as resistências das cargas. 4) A potência total P (medida em watts (W)) é igual à soma das potências das cargas que compõem o circuito. Vamos escrever um pouco de código então? Veja nosso primeiro código Java que calcula a corrente total, a tensão total, a resistência total e a potência total do circuito em série mostrado na imagem: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos_java; public class Estudos{ public static void main(String[] args){ // Tensão total do circuito em série double eTotal = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double rTotal = resist1 + resist2 + resist3; // Corrente elétrica total double iTotal = eTotal / rTotal; // Potência elétrica total double pTotal = eTotal * iTotal; // mostra os valores System.out.println("Tensão total: " + eTotal); System.out.println("Resistência total: " + rTotal); System.out.println("Corrente total: " + iTotal); System.out.println("Potência total: " + pTotal); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Tensão total: 90.0 Resistência total: 60.0 Corrente total: 1.5 Potência total: 135.0 Pronto! Agora que já sabemos o valor da corrente elétrica, e sabemos que a corrente é comum a todos os elementos do circuito em série, podemos calcular a tensão individual dos componentes. Assim, veja um trecho de código Java que calcula a tensão elétrica nos três resistores (lembre-se: tensão é o produto da corrente pela resistência): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos_java; public class Estudos{ public static void main(String[] args){ // Tensão total do circuito em série double eTotal = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double rTotal = resist1 + resist2 + resist3; // Corrente elétrica total double iTotal = eTotal / rTotal; // Potência elétrica total double pTotal = eTotal * iTotal; // mostra os valores System.out.println("Tensão total: " + eTotal); System.out.println("Resistência total: " + rTotal); System.out.println("Corrente total: " + iTotal); System.out.println("Potência total: " + pTotal); // mostra as tensões nos resistores System.out.println("\nTensão nos resistores individuais:"); double e1 = resist1 * iTotal; double e2 = resist2 * iTotal; double e3 = resist3 * iTotal; System.out.println("Tensão no Resistor 1: " + e1 + "V"); System.out.println("Tensão no Resistor 2: " + e2 + "V"); System.out.println("Tensão no Resistor 3: " + e3 + "V"); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Tensão total: 90.0 Resistência total: 60.0 Corrente total: 1.5 Potência total: 135.0 Tensão nos resistores individuais: Tensão no Resistor 1: 15.0V Tensão no Resistor 2: 30.0V Tensão no Resistor 3: 45.0V Para finalizar, vamos calcular a potência dissipada em cada um dos resistores de forma individual. Observe que a potência é o produto da tensão pela corrente (P = E.I). Eis o código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos_java; public class Estudos{ public static void main(String[] args){ // Tensão total do circuito em série double eTotal = 90.0; // Resitência total double resist1 = 10.0; double resist2 = 20.0; double resist3 = 30.0; double rTotal = resist1 + resist2 + resist3; // Corrente elétrica total double iTotal = eTotal / rTotal; // Potência elétrica total double pTotal = eTotal * iTotal; // mostra os valores System.out.println("Tensão total: " + eTotal); System.out.println("Resistência total: " + rTotal); System.out.println("Corrente total: " + iTotal); System.out.println("Potência total: " + pTotal); // mostra as tensões nos resistores System.out.println("\nTensão nos resistores individuais:"); double e1 = resist1 * iTotal; double e2 = resist2 * iTotal; double e3 = resist3 * iTotal; System.out.println("Tensão no Resistor 1: " + e1 + "V"); System.out.println("Tensão no Resistor 2: " + e2 + "V"); System.out.println("Tensão no Resistor 3: " + e3 + "V"); // mostra as potências dissapadas nos resistores System.out.println("\nPotência dissipada nos resistores individuais:"); double p1 = e1 * iTotal; // Potência = Tensão x Corrente double p2 = e2 * iTotal; double p3 = e3 * iTotal; System.out.println("Potência no Resistor 1: " + p1 + "W"); System.out.println("Potência no Resistor 2: " + p2 + "W"); System.out.println("Potência no Resistor 3: " + p3 + "W"); System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Tensão total: 90.0 Resistência total: 60.0 Corrente total: 1.5 Potência total: 135.0 Tensão nos resistores individuais: Tensão no Resistor 1: 15.0V Tensão no Resistor 2: 30.0V Tensão no Resistor 3: 45.0V Potência dissipada nos resistores individuais: Potência no Resistor 1: 22.5W Potência no Resistor 2: 45.0W Potência no Resistor 3: 67.5W |
C# ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como criar sua primeira classe em C# - Programação Orientada a Objetos em C#Quantidade de visualizações: 34522 vezes |
O estudo da programação orientada a objeto em C# passa obrigatoriamente pela criação de sua primeira classe. E esta não é uma tarefa fácil para os iniciantes. Esta dica o guiará passo-a-passo pelas caminhos iniciais. Esta dica assume que você já sabe criar uma aplicação console ou Windows Forms no Visual C# 2005 ou 2008. Sendo assim, crie uma nova aplicação console e vamos criar o esqueleto da classe. Em Visual C# 2005 ou 2008, a forma mais comum de adicionar uma classe ao seu projeto é clicando com o botão direito no namespace do projeto (o primeiro filho do solution explorer) e escolhendo a opção Add -> Class. Em seguida dê o nome "Pessoa.cs" para a classe e clique o botão Add. Imediatamente o código inicial para a classe será exibido, contendo o namespace e alguns using padrões. Agora faça sua classe Pessoa parecida com o código abaixo (não altere nada em relação ao namespace): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- class Pessoa{ // varíáveis privadas para o nome // e idade da pessoa private string nome; private int idade; // método que permite definir o nome // da pessoa public void setNome(string nome){ this.nome = nome; } // método que permite definir a idade // da pessoa public void setIdade(int idade){ this.idade = idade; } // método que permite obter o nome // da pessoa public string getNome(){ return this.nome; } // método que permite obter a idade // da pessoa public int getIdade(){ return this.idade; } } Hora de testar a classe. Volte à classe principal da aplicação (aquela que contém o método Main) e faça as seguintes alterações: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // Cria uma instância da classe Pessoa Pessoa p = new Pessoa(); // Define um nome e idade para a pessoa p.setNome("Osmar J. Silva"); p.setIdade(37); // Obtém o nome e idade da pessoa string nome = p.getNome(); int idade = p.getIdade(); Console.WriteLine("Nome: " + nome + " - Idade: " + idade); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Funcionou? Agora tente refazer todo o processo, desta vez usando Windows Forms. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
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 |