Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: C# Básico |
Como testar se um número é um quadrado perfeito em C# - Solução usando Sqrt() e Floor() - Lista de Exercícios Resolvidos de C#Quantidade de visualizações: 303 vezes |
Pergunta/Tarefa: Escreva um programa C# contendo uma função testarQuadradoPerfeito() que recebe um número inteiro e devolve um valor bool informando se o número passado como argumento para a função é um quadrado perfeito. Seu código poderá usar qualquer técnica de resolução, porém, a solução apresentada por nós se apoia no uso das funções Math.Sqrt() e Math.Floor(). O que são os números quadrados perfeitos? A definição de um número quadrado perfeito pode ser entendida como: um número natural (inteiro positivo) cuja raiz quadrada é, também, um número natural (inteiro positivo). Em outras palavras, é um número que, ao extrair a raiz quadrada, o resultado é exato. Assim temos: 1, 4, 9, 16, 25, 36, 49, 64, 81, 100... Sua saída deverá ser parecida com: Informe um valor inteiro: 64 O número 64 é um quadrado perfeito Informe um valor inteiro: 28 O número 28 não é um quadrado perfeito Informe um valor inteiro: 16 O número 16 é um quadrado perfeito 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) { // vamos pedir para o usuário informar um valor inteiro Console.Write("Informe um valor inteiro: "); int valor = Int32.Parse(Console.ReadLine()); // vamos testar se o número informado é um quadrado perfeito if (testarQuadradoPerfeito(valor)) { Console.WriteLine("O número " + valor + " é um quadrado perfeito"); } else { Console.WriteLine("O número " + valor + " não é um quadrado perfeito"); } Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } static bool testarQuadradoPerfeito(int numero) { // primeiro calculamos a rais quadrada do número recebido double raiz_quadrada = Math.Sqrt(numero); // agora testamos se a raiz quadrada do número menos o arredondamento // dele para baixo é igual a 0 return ((raiz_quadrada - Math.Floor(raiz_quadrada)) == 0); } } } |
![]() |
C# ::: Namespace System.Drawing ::: Image |
Como usar o método FromFile() da classe Image do C# para criar um objeto desta classe a partir de um arquivo de imagem JPG, GIF, PNG, BMP, etcQuantidade de visualizações: 7226 vezes |
Em algumas situações precisamos criar um objeto Image a partir de um arquivo de imagem JPG, GIF, PNG, BMP, etc. Isso pode ser feito por meio do método estático FromFile() da classe Image. Veja sua assinatura:public static Image FromFile(string filename) Veja um trecho de código no qual usamos o método FromFile() para criar um objeto Image a partir de uma imagem JPG em um determinado diretório. Em seguida usamos a Image construída para exibir a imagem em um PictureBox: ---------------------------------------------------------------------- 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){ // constrói um objeto Image a partir do endereço da image Image imagem = Image.FromFile(@"C:\estudos_csharp_wf\logo.jpg"); // atribui a imagem construída à propriedade Image pictureBox1.Image = imagem; } É importante observar que o método FromFile() pode disparar as seguintes exceções: a) OutOfMemoryException - O arquivo não contém um formato de imagem válido ou o GDI+ não suporta o formato de pixel para o arquivo. b) FileNotFoundException - O arquivo de imagem indicado não existe. Assim, é sempre uma boa idéia colocar o código acima em um bloco try..catch. Veja como isso pode ser feito: ---------------------------------------------------------------------- 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){ try{ // constrói um objeto Image a partir do endereço da image Image imagem = Image.FromFile(@"C:\estudos_csharp_wf\logoi.jpg"); // atribui a imagem construída à propriedade Image pictureBox1.Image = imagem; } catch (Exception ex){ MessageBox.Show("Houve um erro ao carregar a imagem: " + ex.Message.ToString()); } } Há uma sobrecarga do método FromFile() com a seguinte assinatura: public static Image FromFile(string filename, bool useEmbeddedColorManagement) |
C# ::: Dicas & Truques ::: Data e Hora |
Como exibir a data e hora atual no formato longo em C# usando o sinalizador {0:F} da função Format() da classe StringQuantidade de visualizações: 59 vezes |
Nesta dica mostrarei como podemos tirar proveito do método Format() da classe String da linguagem C# e do sinalizador {0:F} para mostrar a data e hora atual no formato completo, ou seja, na forma "quarta-feira, 16 de março de 2022 10:13:42". Veja o exemplo a seguir: ---------------------------------------------------------------------- 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 obter a data e hora atuais DateTime dataHora = DateTime.Now; // mostramos a data e hora no formato longo System.Console.WriteLine("Hoje é: {0:F}", dataHora); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Hoje é: quarta-feira, 16 de março de 2022 10:17:29 Note que aqui eu coloquei o especificador de formatação direto na saída do programa. Podemos usá-lo também em uma variável. Veja: ---------------------------------------------------------------------- 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 obter a data e hora atuais DateTime dataHora = DateTime.Now; // guardamos a data e hora em uma variável string dataHoraStr = String.Format("{0:F}", dataHora); // mostramos o resultado System.Console.WriteLine("Hoje é: " + dataHoraStr); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
C# ::: Coleções (Collections) ::: ArrayList |
Como percorrer os elementos de uma ArrayList do C# usando um objeto da interface IEnumeratorQuantidade de visualizações: 8499 vezes |
Um objeto da interface IEnumerator (no namespace System.Collections) pode ser usado para percorrer os elementos de uma coleção não-genérica, como é o caso da classe ArrayList. Podemos usar um enumerador para acessar os itens da lista individualmente, mas estes não poderão sofrer modificações por meio do enumerador. Um enumerador para uma ArrayList é obtido por meio do método GetEnumerator(). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // vamos obter um enumerador para a lista IEnumerator enumerador = lista.GetEnumerator(); Observe agora um trecho de código no qual temos uma lista contendo 5 inteiros. Note o uso de um IEnumerator para percorrer os elementos e exibir o valor contido no elemento atual: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- static void Main(string[] args){ // não se esqueça // using System.Collections; // Cria o ArrayList ArrayList lista = new ArrayList(); // Adiciona 5 inteiros lista.Add(65); lista.Add(2); lista.Add(13); lista.Add(97); lista.Add(4); // vamos obter um enumerador para a lista IEnumerator enumerador = lista.GetEnumerator(); // vamos percorrer a lista usando o enumerador while(enumerador.MoveNext()){ Console.WriteLine(enumerador.Current); } Console.Write("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } Para saber mais sobre os enumeradores, consulte minhas dicas sobre a interface IEnumerator. |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Java - Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com Java Delphi - Como retornar a quantidade de itens em uma TListBox do Delphi usando a propriedade Items.Count |
Códigos Fonte |
![]() 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 |
![]() 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 |