Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico |
Ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit - Desafio de Programação Resolvido em C#Quantidade de visualizações: 1255 vezes |
Pergunta/Tarefa: Escrever um programa em C# para ler uma temperatura em graus Celsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é: F = ((C * 9) / 5) + 32, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. Sua saída deverá ser parecida com: Informe a temperatura em Celsius: 40 40.0 graus Celcius é igual à 104.0 graus Fahrenheit. Veja a resolução comentada deste exercício usando C#: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; // Algoritmo C# para converter graus Celsius para graus // Fahrenheit namespace Estudos { class Principal { static void Main(string[] args) { // vamos pedir para o usuário informar a temperatura em // Celsius Console.Write("Informe a temperatura em Celsius: "); // efetua a leitura da entrada do usuário double celsius = Double.Parse(Console.ReadLine()); // vamos converter os graus Celsius para graus // Fahrenheit double fahrenheit = ((celsius * 9) / 5.0) + 32; // e agora mostramos o resultado Console.WriteLine(celsius + " graus Celcius é igual à " + fahrenheit + " graus Fahrenheit."); Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
![]() |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o índice da primeira ocorrência de uma substring em uma string C# usando o método IndexOf() da classe StringQuantidade de visualizações: 7819 vezes |
Este trecho de código mostra como obter o índice da primeira ocorrência de uma substring em uma string. Se a substring não for encontrada, o valor -1 é retornado. Note que o método IndexOf() da classe String recebe a substring a ser pesquisada e retorna o índice de sua primeira ocorrência (começando sempre em 0). Além disso, este método diferencia maiúsculas de minúsculas. Veja o código para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { string frase = "Gosto de Java e C#"; // obtém o índice da primeira ocorrência int pos = frase.IndexOf("de"); if (pos != -1) { Console.WriteLine("A substring foi encontrada" + " na posição " + pos); } else { Console.WriteLine("A substring não foi encontrada"); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: A substring foi encontrada na posição 6 |
C# ::: Dicas & Truques ::: Sistema |
Como retornar a capacidade do HD em MB ou GB em C# usando um objeto ManagementObjectQuantidade de visualizações: 8918 vezes |
Nesta dica mostrarei como podemos usar um objeto ManagementObject para retornar o tamanho de um HD em MB ou GB usando a linguagem C#. No exemplo eu acessei o drive C, mas você pode usar qualquer um que esteja disponível na sua máquina. Veja o código C# completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button2_Click(object sender, EventArgs e) { // não esqueça de importar // using System.Management; // vamos criar um novo objeto ManagementObject ManagementObject dispositivo = new ManagementObject("win32_logicaldisk.deviceid=\"C:\""); // vamos retornar o dispositivo dispositivo.Get(); // agora vamos retornar o tamanho do HD double tam = Convert.ToDouble(dispositivo["Size"]); // convertemos para GB tam = tam / 1024 / 1024 / 1024; // e mostramos o resultado textBox1.Text = "O HD tem capacidade de " + tam + " GB"; } Ao executar este código C# nós teremos o seguinte resultado: O HD tem capacidade de 251,767574310303 GB Se você quiser o tamanho do HD em MB, basta usar: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- tam = tam / 1024 / 1024; Nos testes que fiz no Visual Studio 2019, não foi possível acessar o HD a partir de uma aplicação C# console, somente por meio de uma aplicação Windows Desktop. Veja a mensagem retornada: System.PlatformNotSupportedException: 'System.Management currently is only supported for Windows desktop applications.' |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço do...while da linguagem C#Quantidade de visualizações: 11806 vezes |
O laço do...while (faça...enquanto) é usado quando queremos repetir uma instrução ou bloco de instruções ENQUANTO uma condição for satisfatória. A única diferença entre este laço e o laço while, é que, no laço do...while a condição de parada é testada após a iteração, o que garante que o laço do...while será executado no mínimo uma vez. No laço while a condição é testada antes da iteração. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- static void Main(string[] args){ int valor = 1; do{ Console.WriteLine("{0}", valor); valor++; }while(valor <= 10); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Este trecho de código conta de 1 até 10. Veja que após cada iteração do laço nós testamos se o valor da variável de controle é menor ou igual a 10. A próxima iteração acontece somente se esta condição for satisfeita. Note ainda que dentro de cada iteração nós incrementamos o valor da variável de controle. Isso é feito para que o laço não seja executado infinitamente. Veja um outro exemplo de laço do...while, desta vez simulando um menu de opções: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- static void Main(string[] args){ // variável que registra a opção do usuário int opcao; // laço do..while que mostra as opções do menu enquanto // o valor -1 não for informado do{ // lê a opção Console.Write("Informe a opção 1, 2 ou 3" + " (-1 para sair): "); opcao = int.Parse(Console.ReadLine()); switch (opcao){ case 1: Console.WriteLine("Executando a opção 1"); break; case 2: Console.WriteLine("Executando a opção 2"); break; case 3: Console.WriteLine("Executando a opção 3"); break; default: Console.WriteLine("Opção incorreta"); break; } }while(opcao != -1); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } O laço do...while não é tão usado quanto o laço while. Use-o naquelas situações em que o laço deverá ser executado no mínimo uma vez. |
C# ::: Dicas & Truques ::: Mouse e Teclado |
C# Windows Forms - Como verificar o estado da tecla Num Lock em suas aplicações C# Windows FormsQuantidade de visualizações: 8203 vezes |
Em algumas situações nós precisamos verificar o estado da tecla Num Lock (que ativa ou desativa o teclado numérico), ou seja, precisamos saber se ela está ou não ativada. Em C# isso pode ser feito de duas formas: 1) A forma mais simples, oferecida no .NET Framework a partir da versão 2.0; 2) Usando código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Vamos começar com a forma mais fácil, disponível no .NET Framework a partir da versão 2.0: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // vamos verificar se a tecla Num Lock está ativada if(Control.IsKeyLocked(Keys.NumLock)){ MessageBox.Show("A tecla Num Lock está ativada"); } else{ MessageBox.Show("A tecla Num Lock NÃO está ativada"); } } Aqui nós usamos o método IsKeyLocked() da classe Control e fornecemos como argumento a constante NumLock, da enumeração Keys. A segunda forma consiste em usar código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Para isso devemos seguir os seguintes passos: a) Adicionar using System.Runtime.InteropServices; na seção de importações. b) Adicionar o código abaixo no corpo da classe, como um método: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // Função com código não gerenciado que obtém o estado de uma // determinada tecla [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)] public static extern short GetKeyState(int keyCode); c) Adicione o código abaixo no evento Click de um botão: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void button1_Click(object sender, EventArgs e){ // vamos obter o estado da tecla Num Lock como um boolean bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0; // vamos verificar se a tecla Num Lock está ativada if(NumLock){ MessageBox.Show("A tecla Num Lock está ativada"); } else{ MessageBox.Show("A tecla Num Lock NÃO está ativada"); } } |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o tamanho de uma string em C# usando a propriedade LengthQuantidade de visualizações: 179 vezes |
Nesta dica mostrarei como podemos usar a propriedade Length da classe String da linguagem C# para obter o tamanho, ou seja, a quantidade de caracteres em uma palavra, frase ou texto. Veja um exemplo de seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { string nome = "Marcos"; int tam = nome.Length; Console.WriteLine("Esta string contém {0} caracteres", tam); } } } Ao executarmos este código C# nós teremos o seguinte resultado: Esta string contém 6 caracteres |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em C#Quantidade de visualizações: 7581 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: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { bool primo = true; // vamos solicitar um número inteiro positivo Console.Write("Informe um número inteiro positivo: "); int numero = int.Parse(Console.ReadLine()); // o número é negativo? if (numero < 0) { Console.WriteLine("Número inválido."); } // é 0 ou 1? else if ((numero == 0) || (numero == 1)) { Console.WriteLine("Número válido, mas não é primo."); } // passou até aqui. Vamos testar se o número é primo else { for (int i = 2; i <= (numero / 2); i++) { // se passar no teste, não é primo if (numero % i == 0) { primo = false; // recebe false break; } } if (primo) { Console.WriteLine("O número informado é primo"); } else { Console.WriteLine("O número informado não é primo"); } } 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 um número inteiro positivo: 9 O número informado não é primo |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como testar se um diretório existe em C# usando a propriedade Exists da classe DirectoryInfoQuantidade de visualizações: 1 vezes |
Em algumas situações nós precisamos verificar se um diretório existe em C#, talvez para ler ou gravar dados neste arquivo. Isso pode ser feito por meio da propriedade Exists da classe DirectoryInfo. Esta propriedade retorna um valor true se o diretório existir e false em caso contrário. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- using System; using System.IO; namespace Estudos { class Principal { static void Main(string[] args) { // vamos criar uma nova instância da classe DirectoryInfo DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\imagens"); // vamos testar se o diretório existe if (dir.Exists) { Console.Write("Diretório existe"); } else { Console.Write("Diretório não existe"); } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: O diretório existe. |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Tutorial C# - Como usar o laço while (enquanto) da linguagem C#Quantidade de visualizações: 13340 vezes |
O laço while (enquanto) é usado quando queremos repetir uma instrução ou bloco de instruções ENQUANTO uma condição for satisfatória. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- static void Main(string[] args){ int valor = 1; while(valor <= 10){ Console.WriteLine("{0}", valor); valor++; } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Este trecho de código conta de 1 até 10. Veja que antes de cada iteração do laço nós testamos se o valor da variável de controle é menor ou igual a 10. A iteração acontece somente se esta condição for satisfeita, o que nos mostra que um laço while pode nunca ser executado (o que aconteceria se a condição fosse falsa já na entrada). Note ainda que dentro de cada iteração nós incrementamos o valor da variável de controle. Isso é feito para que o laço não seja executado infinitamente. Veja um outro exemplo de laço while, desta vez simulando um menu de opções: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- static void Main(string[] args){ // variável que registra a opção do usuário int opcao; // lê a opção Console.Write("Informe a opção 1, 2 ou 3" + " (-1 para sair): "); // laço while que mostra as opções do menu enquanto // o valor -1 não for informado while((opcao = int.Parse(Console.ReadLine())) != -1){ switch(opcao){ case 1: Console.WriteLine("Executando a opção 1"); break; case 2: Console.WriteLine("Executando a opção 2"); break; case 3: Console.WriteLine("Executando a opção 3"); break; default: Console.WriteLine("Opção incorreta"); break; } // mostra o texto das opções novamente Console.Write("Informe a opção 1, 2 ou 3" + " (-1 para sair): "); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Se você é realmente iniciante em C#, notará que este exemplo é um pouco mais elaborado. Desta forma, estude-o atentamente. É uma técnica muito útil quando estamos escrevendo programas console, uma vez que a maioria deles possui um menu de opções. |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de extremidade Dimensionar a área de aço para as armaduras é uma das etapas mais importantes no dimensionamento dos pilares de extremidade. Esses pilares podem ter uma armadura longitudinal que deve atender aos requisitos de armadura mínima estabelecidos em norma, como também uma armadura transversal e, em alguns casos, uma armadura transversal suplementar. Diante disso, qual é o valor da área de aço da armadura longitudinal e armadura mínima do pilar de extremidade a seguir? ![]() A) As = 10,35cm2; Asmínima = 2,42cm2. B) As = 15cm2; Asmínima = 10cm2. C) As = 35cm2; Asmínima = 5cm2. D) As = 23cm2; Asmínima = 15cm2. E) As = 18,5cm2; Asmínima = 7,45cm2. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual declaração de variável vai provocar um erro em Python? A) minhaNota = 4.65 B) minha_nota = 4.65 C) Minha_nota = 4.65 D) minha-nota = 4.65 E) MinhaNota = 4.65 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Materiais empregados para instalação de água fria e esgoto A instalação de água fria utilizando cano de PVC rígido da cor marrom exige uma série de cuidados, como, por exemplo, a questão da limpeza e da eliminação de sujeira em seu interior. Caso isso não seja feito, pode obstruir toda a rede quando ela for ligada à rede da rua. Nesse sentido, uma evolução tecnológica que facilita o manuseio de tubos e conexões na hora da montagem é: A) o emprego de adesivo PVC de secagem rápida. B) a utilização de anéis de vedação de borracha, o que facilita a execução. C) a utilização de engate rápido superfície sobre superfície, eliminando anéis de vedação. D) a utilização de conexão vedada com gaxeta, que pode ser regulada posteriormente. E) o sistema de encaixe de topo, que dispensa acessórios de união entre canos, realizado por fricção. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Sistema domiciliar de abastecimento de água O mau uso do material empregado na construção civil é um dos maiores causadores de patologias nas obras correntes. Um engenheiro, ao projetar uma edificação, especificou que algumas tubulações de água destinadas ao combate ao incêncio deveriam ficar expostas na área da garagem do empreendimento. Visando aos critérios técnico-econômicos, qual é o material indicado para essas tubulações? A) PVC soldável. B) PVC rosqueável. C) Cobre. D) Ferro fundido. E) Aço galvanizado. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Materiais empregados para instalação de água fria e esgoto A instalação de água fria utilizando cano de PVC rígido da cor marrom exige uma série de cuidados, como, por exemplo, a questão da limpeza e da eliminação de sujeira em seu interior. Caso isso não seja feito, pode obstruir toda a rede quando ela for ligada à rede da rua. Nesse sentido, uma evolução tecnológica que facilita o manuseio de tubos e conexões na hora da montagem é: A) o emprego de adesivo PVC de secagem rápida. B) a utilização de anéis de vedação de borracha, o que facilita a execução. C) a utilização de engate rápido superfície sobre superfície, eliminando anéis de vedação. D) a utilização de conexão vedada com gaxeta, que pode ser regulada posteriormente. E) o sistema de encaixe de topo, que dispensa acessórios de união entre canos, realizado por fricção. 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |