Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Como testar se dois números são números amigos em C# - Escreva um programa C# que - Exercícios Resolvidos de C#

Quantidade de visualizações: 203 vezes
Pergunta/Tarefa:

Dois números inteiros positivos A e B são considerados números amigos se a soma dos divisores próprios de A for igual a B e a soma dos divisores próprios de B for igual a A.

Divisores próprios de um número positivo N são todos os divisores inteiros positivos de N exceto o próprio N. Por exemplo, os divisores próprios de 6 são: 1, 2 e 3.

Como exemplo de números amigos podemos citar 220 e 284. Os divisores próprios de 220 são 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 e 110, resultando na soma 284. O número 284, por sua vez, possui os divisores próprios 1, 2, 4, 71 e 142, resultando na soma 220. Dessa forma, 220 e 284 são números amigos.

Escreva um programa C# que leia dois números inteiros positivos e informe se eles são números amigos ou não.

Sua saída deve ser parecida com:

Informe o primeiro número: 220
Informe o segundo número: 284
Os dois números são amigos

Informe o primeiro número: 158
Informe o segundo número: 932
Os números não são amigos.

Informe o primeiro número: 1210
Informe o segundo número: 1184
Os dois números são amigos
Resposta/Solução:

Veja a resolução comentada deste exercício usando C#:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;

namespace Estudos {
  class Principal {
    // função principal do programa C#
    static void Main(string[] args) {
      // variáveis usadas na resolução do problema
      int n1, n2, soma = 0;

      // vamos ler os dois números
      Console.Write("Informe o primeiro número: ");
      n1 = Int32.Parse(Console.ReadLine());
      Console.Write("Informe o segundo número: ");
      n2 = Int32.Parse(Console.ReadLine());

      // vamos somar todos os divisores próprios do
      // primeiro número
      for (int i = 1; i < n1; i++) {
        if (n1 % i == 0) {
          soma = soma + i;
        }
      }

      // se essa soma for igual ao valor de n2 nós já temos a
      // primeira condição
      if (soma == n2) {
        // zera a soma
        soma = 0;
        for (int i = 1; i < n2; i++) {
          if (n2 % i == 0) {
            soma = soma + i;
          }
        }

        // esta soma é igual ao valor de n1?
        if (soma == n1) {
          Console.WriteLine("Os dois números são amigos.");
        }
        else {
          Console.WriteLine("Os números não são amigos.");
        }
      }
      else {
        Console.WriteLine("Os números não são amigos.");
      }
        
      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Os números amigos eram conhecidos pelos Pitagóricos, que acreditavam que eles possuíam propriedades místicas.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Strings e Caracteres

Como usar o método replace() da classe String do Java para substituir palavras em uma frase ou texto - Revisado

Quantidade de visualizações: 11078 vezes
Nesta dica mostrarei como substituir substrings em uma string, ou seja, substituir uma palavra (ou parte de uma palavra) em uma frase ou texto. Para isso podemos usar o método replace() da classe String da linguagem Java.

Note que o método replace() da classe String retorna uma nova string com todas as ocorrências substituídas. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
 
package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é bom.";
    System.out.println(frase); 
    
    // substitui todas as ocorrências de "Java" por "C#"
    String frase2 = frase.replace("Java", "C#");
     
    System.out.println(frase2);
     
    System.exit(0);
  }
}

Ao executar este exemplo nós teremos o seguinte resultado:

Programar em Java é bom.
Programar em C# é bom.

Esta dica foi revisada e testada no Java 8.


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como contar as ocorrências de uma substring em uma string em Ruby usando a função scan()

Quantidade de visualizações: 8124 vezes
Podemos obter a quantidade de vezes em que uma substring aparece em uma string Ruby usando o método scan() da classe String. Este método nos permite executar um bloco de código a cada vez que a substring fornecida a ele for encontrada. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# declara e inicializa uma variável string
frase = "Ruby? Gosto muito de Ruby"
puts "A frase é: " + frase

# vamos obter a quantidade de vezes em que a
# substring "Ruby" aparece na frase
quant = 0
substring = "Ruby"

frase.scan(substring){quant = quant + 1}

# exibe  o resultado
puts "A substring \"Ruby\" aparece " + quant.to_s \
  + " vezes"

Ao executarmos este código Ruby nós teremos o seguinte resultado:

A frase é: Ruby? Gosto muito de Ruby
A substring "Ruby" aparece 2 vezes


Delphi ::: Dicas & Truques ::: Arquivos e Diretórios

Como ler todo o conteúdo de um arquivo texto usando Delphi - As funções AssignFile(), ReadLn() e Eof() do Delphi

Quantidade de visualizações: 30632 vezes
Nesta dica mostro como usar o Delphi para ler todo o conteúdo de um arquivo texto. Esta leitura será feita linha a linha e adicionaremos cada linha a um TMemo à medida que ela for lida.

O primeiro passo para se ler um arquivo texto usando Delphi é declarar uma variável do tipo TextFile. Em seguida usamos a procedure AssignFile() para associar a variável TextFile ao arquivo em disco.

Como queremos ler o conteúdo do arquivo, a função Reset() deve ser usada. Esta função abre o arquivo texto fornecido e posiciona o cursor de leitura no início do arquivo. A partir daí podemos usar um laço while e a função ReadLn() para ler cada linha do arquivo. Note o uso da função Eof() para testarmos se o ponteiro de leitura ainda não atingiu o fim do arquivo.

Veja o exemplo para um melhor entendimento:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

procedure TForm1.Button1Click(Sender: TObject);
var
  arquivo: TextFile;
  linha: String;
begin
  // vamos fazer uma ligação entre a variável arquivo e o
  // arquivo que queremos ler
  AssignFile(arquivo, 'C:\arquivo de codigos\dados.txt');

  // vamos abrir o arquivo em  modo leitura
  Reset(arquivo);

  // vamos ler cada linha e adicioná-la a um Memo
  while not Eof(arquivo) do
  begin
    ReadLn(arquivo, linha);
    Memo1.Lines.Add(linha);
  end;

  // hora de fechar o arquivo
  CloseFile(arquivo);
end;


Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


C ::: Fundamentos da Linguagem ::: Estruturas de Controle

Apostila C para iniciantes - Como usar o laço for em C

Quantidade de visualizações: 38460 vezes
O laço for é usado quando queremos executar um bloco de instruções um determinado número de vezes. Este laço é composto de três partes:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

for(inicialização; teste; incremento/decremento){
  bloco de instruções
}

Na parte inicialização nós definimos o valor inicial da variável de controle. Na parte teste nós usamos o valor da variável de controle para testar a continuidade ou interrupção do laço. Finalmente, na parte incremento/decremento nós alteramos o valor da variável de controle para cima ou para baixo. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
 
int main(int argc, char *argv[])
{
  int i;

  for(i = 1; i <= 10; i++){
    printf("%d  ", i);
  }

  printf("\n\n");
  system("PAUSE");
  return 0;
}

O incremento/decremento da variável de controle não precisa ser necessariamente em 1. Podemos usar qualquer expressão. Veja um trecho de código que exibe os números pares de 0 à 10:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

int main(int argc, char *argv[])
{
  int i;

  for(i = 0; i <= 10; i += 2){
    printf("%d  ", i);
  }

  printf("\n\n");
  system("PAUSE");
  return 0;
}

Observe que "i += 2" é o mesmo que "i = i + 2".

Com exceção da parte de testes, podemos inserir múltiplas expressões nas demais partes de um laço for. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int i, x;

  for(i = 0, x = 2; i <= 10; printf("%d  ", i * x), i++);

  printf("\n\n");
  system("PAUSE");
  return 0;
}

Este último código é um pouco exótico, mas muito fácil de ser encontrado por aí.


Python ::: Dicas & Truques ::: Matemática e Estatística

Como calcular desvio padrão em Python - Python para Matemática e Estatística

Quantidade de visualizações: 4747 vezes
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média.

Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística:

\[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\]

Onde:

a) __$\sigma__$ é o desvio;
b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i;
c) __$\mu__$ é a média aritmética dos valores do conjunto de dados;
d) N é a quantidade de valores no conjunto.

O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto.

Veja o código Python completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# precisamos importar o módulo Math
import math

# função principal do programa
def main():
  # conjunto dos dados
  conjunto = [10, 30, 90, 30]
  soma = 0.0 # soma dos elementos
  desvio_padrao = 0.0 # desvio padrão
  tam = len(conjunto) # tamanho dos dados

  # vamos somar todos os elementos
  for i in range(0, tam):
    soma = soma + conjunto[i]
  
  # agora obtemos a média do conjunto de dados    
  media = soma / tam

  # e finalmente obtemos o desvio padrão
  for i in range(0, tam):
    desvio_padrao = desvio_padrao + math.pow(conjunto[i] - media, 2)
    
  # mostramos o resultado
  print("Desvio Padrão Populacional: {0}".format(math.sqrt(desvio_padrao / tam)))
  print("Desvio Padrão Amostral: {0}".format(math.sqrt(desvio_padrao / (tam - 1))))
  
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Desvio Padrão Populacional: 30.0
Desvio Padrão Amostral: 34.64101615137755

Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento).


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware 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 funcionalidadesControle 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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 61 usuários muito felizes estudando em nosso site.