Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios

Como contar palavras em um arquivo texto usando C# - Lista de Exercícios Resolvidos de C#

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

Escreva um programa C# para contar as palavras contidas em um arquivo texto.

Sua saída deverá ser parecida com:

Quantidade de palavras no arquivo: 14
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;
using System.IO;

namespace Estudos {
  class Principal {
    static void Main(string[] args) {
      // vamos abrir o arquivo texto
      StreamReader arquivo = File.OpenText(@"C:\estudos_java\conteudo.txt");
      
      string linha; // para cada linha do arquivo
      int quantidadePalavras = 0; // para guardar a quantidade de palavras
      
      do {
        // vamos ler a linha
        linha = arquivo.ReadLine();
        if (linha != null) {
          // vamos quebrar a linha nos caracteres de espaço
          string[] palavras = linha.Split(' ');
          quantidadePalavras += palavras.Length;
        }
      }
      while (linha != null);
      
      // vamos fechar o arquivo
      arquivo.Close();
      
      Console.WriteLine("Quantidade de palavras no arquivo: " + quantidadePalavras);

      Console.WriteLine("\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Namespace System.Drawing ::: Graphics

C# Windows Forms - Como passar um objeto da classe Graphics como argumento para um método e usá-lo para desenhar na superfície do formulário

Quantidade de visualizações: 5771 vezes
Em algumas situações gostaríamos de escrever um método que recebe um objeto da classe Graphics como argumento e usar este objeto para alguma tarefa, por exemplo, desenhar na superfície do formulário. Nesta dica eu mostro como isso é possível. Comece escrevendo o seguinte método:

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

// um método que recebe um objeto da classe Graphics
private void desenhar(ref Graphics g){
  // vamos desenhar uma linha horizontal de 300 pixels na
  // cor preta e espessura de 1 pixel
  g.DrawLine(new Pen(Color.Black, 1), new Point(20, 80),
    new Point(320, 80));

  // vamos liberar o objeto Graphics
  g.Dispose();
}

Note que, na definição do parâmetro do método nós usamos a palavra-chave ref. Isso foi necessário porque queremos que o objeto Graphics seja passado por referência, uma vez que o estamos liberando dentro do corpo do método com uma chamada ao método Dispose().

Veja agora como obter o objeto Graphics relacionado ao formulário atual e passá-lo ao método desenhar():

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

private void button1_Click_1(object sender, EventArgs e){
  // vamos obter o objeto Graphics relacionado ao formulário atual
  Graphics graphics = this.CreateGraphics();

  // vamos passar o objeto Graphics para o método desenhar
  desenhar(ref graphics);
}



C# ::: C# para Engenharia ::: Geometria Analítica e Álgebra Linear

Como somar os elementos da diagonal principal de uma matriz em C#

Quantidade de visualizações: 2498 vezes
A Matriz quadrada é um tipo especial de matriz que possui o mesmo número de linhas e o mesmo número de colunas, ou seja, dada uma matriz Anxm, ela será uma matriz quadrada se, e somente se, n = m, onde n é o número de linhas e m é o número de colunas.

Em geral as matrizes quadradas são chamadas de Matrizes de Ordem n, onde n é o número de linhas e colunas. Dessa forma, uma matriz de ordem 4 é uma matriz que possui 4 linhas e quatro colunas.

Toda matriz quadrada possui duas diagonais, e elas são muito exploradas tanto na matemática quanto na construção de algorítmos. Essas duas diagonais são chamadas de
Diagonal Principal e Diagonal Secundária.

A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito. Veja:



Nesta dica veremos como calcular a soma dos valores dos elementos da diagonal principal de uma matriz usando C#. Para isso, só precisamos manter em mente que a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. Assim, tudo que temos a fazer é converter essa regra para código C#.

Veja um trecho de código C# completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior:

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

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // vamos declarar e construir uma matriz de três linhas
      // e três colunas
      int[,] matriz = new int[3, 3];
      int soma_diagonal = 0; // guarda a soma dos elementos na diagonal
      // principal

      // vamos ler os valores para os elementos da matriz
      for (int i = 0; i < matriz.GetLength(0); i++) { // linhas
        for (int j = 0; j < matriz.GetLength(1); j++) { // colunas
          Console.Write("Informe o valor para a linha " + i + " e coluna "
            + j + ": ");
          matriz[i, j] = Int32.Parse(Console.ReadLine());
        }
      }

      // vamos mostrar a matriz da forma que ela
      // foi informada
      Console.WriteLine();
      // percorre as linhas
      for (int i = 0; i < matriz.GetLength(0); i++) {
        // percorre as colunas
        for (int j = 0; j < matriz.GetLength(1); j++) {
          Console.Write("   " + matriz[i, j]);
        }

        // passa para a próxima linha da matriz
        Console.WriteLine();
      }

      // vamos calcular a soma dos elementos da diagonal   
      // principal
      for (int i = 0; i < matriz.GetLength(0); i++) {
        for (int j = 0; j < matriz.GetLength(1); j++) {
          if (i == j) {
            soma_diagonal = soma_diagonal + matriz[i, j];
          }
        }
      }

      // finalmente mostramos a soma da diagonal principal
      Console.WriteLine("\nA soma dos elementos da diagonal principal é: "
        + soma_diagonal);
    
      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:

Informe o valor para a linha 0 e coluna 0: 3
Informe o valor para a linha 0 e coluna 1: 7
Informe o valor para a linha 0 e coluna 2: 9
Informe o valor para a linha 1 e coluna 0: 2
Informe o valor para a linha 1 e coluna 1: 4
Informe o valor para a linha 1 e coluna 2: 1
Informe o valor para a linha 2 e coluna 0: 5
Informe o valor para a linha 2 e coluna 1: 6
Informe o valor para a linha 2 e coluna 2: 8

   3   7   9
   2   4   1
   5   6   8

A soma dos elementos da diagonal principal é: 15



C# ::: Dicas & Truques ::: Data e Hora

Como obter a quantidade de dias em um determinado mês usando o método GetDaysInMonth() da classe GregorianCalendar do C#

Quantidade de visualizações: 11934 vezes
Em algumas situações precisamos saber quantos dias há em um determinado mês. Para isso podemos usar o método GetDaysInMonth() da classe Calendar (ou alguma de suas subclasses). Este método recebe dois valores inteiros: o ano e o mês desejado.

Na classe GregorianCalendar (que extende Calendar) o método GetDaysInMonth() retorna 28 para os anos comuns e 29 para os anos bissextos.

Veja um trecho de código no qual usamos o método GetDaysInMonth() para obter a quantidade de dias para o mês de Março de 2009:

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

static void Main(string[] args){
  // using System.Globalization;

  // obtém uma instância da classe GregorianCalendar
  Calendar c = new GregorianCalendar();

  // obtém a quantidade de dias para março de 2009
  int dias = c.GetDaysInMonth(2009, 3);

  // exibe o resultado
  Console.WriteLine("Este mês possui {0} dias", dias);

  // pausa o programa
  Console.ReadKey();
}

Note, contudo, que o mesmo resultado pode ser obtido por meio do calendário padrão independente de cultura, desde que as regiões as quais o programa se destina tenham compatibilidade de calendários:

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

Calendar c = CultureInfo.InvariantCulture.Calendar;

O método GetDaysInMonth() pode atirar uma exceção do tipo ArgumentOutOfRangeException se os valores do ano ou mês estiverem fora das faixas permitidas pelo calendário. Veja:

System.ArgumentOutOfRangeException was unhandled
  Message="Month must be between one and twelve.
   Parameter name: month"
  Source="mscorlib"
  ParamName="month"



Vamos testar seus conhecimentos em Hidrologia

(Unifal 2008) Assinale a alternativa correta a respeito das alterações do ciclo hidrológico.

A) O desmatamento provoca um aumento da evapotranspiração vegetal, desequilibrando o balanço de água no solo, que se torna estéril.

B) A agricultura irrigada retira água do lençol freático, devolvendo-a ao rio, por meio do escoamento fluvial, poluída e pobre em nutrientes.

C) A superexploração dos aquíferos provoca o ressecamento dos solos e contribui para o aumento da erosão fluvial.

D) A compactação dos solos, que pode ser decorrente das atividades agropecuárias, reduz a infiltração da água da chuva e aumenta o escoamento superficial.

E) O consumo de água urbano e industrial é responsável pela poluição das águas, mas não afeta a hidrografia local quanto à redução da vazão dos rios.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual o resultado da execução do seguinte código JavaScript?

document.write(1 +  "2" + "2");

A) O valor 122 será exibido.

B) O valor 5 será exibido.

C) O valor 32 será exibido.

D) O valor NaN será exibido.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Conjuntos de Description Key no AutoCAD Civil 3D

Quando estamos usando conjuntos de Description Key, qual parâmetro nos permite controlar automaticamente os parâmetros de alguns pontos?

A) Location description (Descrição de localização)

B) Marker style (Estilo de marcador)

C) Raw description (Descrição crua)

D) Full description (Descrição completa)
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Evolução das estruturas

Até o início do século XIX os metais exerciam uma função estrutural limitada nas edificações. O aço em abundância e econômico tornou-se disponível pela primeira vez na década de 1850. Assinale a opção correta quanto aos motivos que levaram à expansão da utilização de elementos metálicos em estruturas:

Selecione a resposta:

A) A utilização do ferro forjado e o sentido estético da época levaram a maior utilização da estrutura metálica.

B) Devido à introdução do Processo Bessemer, em que grandes quantidades de ferro podiam ser transformadas em aço, em aproximadamente 20 minutos resultando em um metal com propriedades estruturais bastante superiores ao do ferro fundido.

C) A carência de profissionais capacitados, artesãos, em trabalhar a alvenaria de pedra como elemento estrutural levaram a uma mudança em termos de tecnologia estrutural, havendo a utilização da estrutura metálica em larga escala.

D) O incremento da urbanização e a necessidade da rapidez na construção de casas para as pessoas que vinham para as cidades trabalhar nas fábricas levaram à larga utilização da estrutura metálica, reduzindo assim, o seu custo.

E) A verticalização das cidades e a ousadia dos arquitetos e dos construtores de se construir edifícios cada vez mais altos.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Perfil em aço

À medida que os perfis de aço são utilizados para estruturar uma edificação, é fundamental que sejam conectados uns aos outros. Isso vai garantir a estabilidade da construção e permitir a criação de blocos mais resistentes.

Considerando essa informação e a figura apresentada a seguir, assinale a alternativa que indica corretamente o tipo de conexão que está sendo utilizado.



A) Conexão de cisalhamento com solda.

B) Conexão de momento com solda.

C) Conexão de cisalhamento com pinos.

D) Conexão de momento com pinos.

E) Conexão de tensão com solda.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

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á 14 usuários muito felizes estudando em nosso site.