Você está aqui: C# ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios |
Como abrir um arquivo texto em C# e exibir o seu conteúdo na tela uma linha de cada vez - Desafio de Programação Resolvido em C#Quantidade de visualizações: 569 vezes |
Pergunta/Tarefa: Escreva um programa C# para abrir um arquivo texto e exibir o seu conteúdo na tela, uma linha de cada vez. O nome e caminho do arquivo deverá ser informado pelo usuário. Sua saída deverá ser parecida com: Nome e caminho do arquivo: C:\estudos_csharp\frases.txt Primeira linha do arquivo Segunda linha do arquivo Terceira linha do arquivo 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 pedir para o usuário informar o caminho e nome do arquivo Console.Write("Nome e caminho do arquivo: "); string nomeArquivo = Console.ReadLine(); StreamReader arquivo; // uma instância da classe StreamReader try { arquivo = File.OpenText(nomeArquivo); string linha = " "; // para guardar a linha atual do { linha = arquivo.ReadLine(); if (arquivo != null) { Console.WriteLine(linha); } } while (linha != null); } catch (Exception e) { Console.WriteLine("\nNão foi possível abrir o arquivo.\n"); } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } |
Link para compartilhar na Internet ou com seus amigos: |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo um caractere de cada vez usando a função fgetc() da linguagem CQuantidade de visualizações: 307 vezes |
A função fgetc() da linguagme C pode ser usada quando queremos ler o conteúdo de um arquivo um caractere de cada vez. Esta função retorna o caractere atualmente representado pelo indicador de posição interna no arquivo. Depois de lido o caractere, o indicador de posição avança para apontar para o próximo caractere. Veja a assinatura desta função: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- int fgetc(FILE *file); O trecho de código abaixo mostra como usar um laço while para ler todos os caracteres do arquivo especificado e exibir o conteúdo na tela: ---------------------------------------------------------------------- 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[]) { FILE *arquivo = fopen("c:\\testes.txt", "r"); int caractere; // testa se o arquivo foi aberto com sucesso if(arquivo != NULL){ // vamos usar um laço para ler o conteúdo do arquivo // e exibí-lo while((caractere = fgetc(arquivo)) != EOF) printf("%c", caractere); fclose(arquivo); // libera o ponteiro para o arquivo } else printf("Nao foi possivel abrir o arquivo."); printf("\n\n"); system("PAUSE"); return 0; } |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de C - Um método recursivo que conta de 0 até 10Quantidade de visualizações: 635 vezes |
Pergunta/Tarefa: Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura: void contar_recursivamente(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando C console: ---------------------------------------------------------------------- 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> // método recursivo que conta de 0 até 10; void contar_recursivamente(int n){ // vamos exibir o número atual printf("%d ", n); // devemos prosseguir com a recursividade? if(n < 10){ // incrementa o valor de n n++; contar_recursivamente(n); // e faz uma nova chamada recursiva } } // método principal do programa int main(int argc, char *argv[]){ // efetua uma chamada ao método recursivo fornecendo o primeiro valor contar_recursivamente(0); printf("\n\n"); system("pause"); return 0; } |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de C - Como converter de decimal para binário usando os operadores de bits em CQuantidade de visualizações: 529 vezes |
Pergunta/Tarefa: Escreva um programa C para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits. Sua saída deverá ser parecida com: Informe um número decimal: 9 O número binário é: 00000000000000000000000000001001 Veja a resolução completa para o exercício em C, comentada linha a linha: ---------------------------------------------------------------------- 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> #include <locale.h> // vamos definir o tamanho do vetor para guardar // os dígitos do número binário #define TAM_INT sizeof(int) * 8 int main(int argc, char *argv[]){ // variáveis para ajudar a resolver o problema int decimal, indice, i; // vetor para guardar o número binário int binario[TAM_INT]; setlocale(LC_ALL,""); // para acentos do português // vamos pedir para o usuário informar um decimal inteiro printf("Informe um número decimal: "); scanf("%d", &decimal); // ajustamos índice para o último elemento do vetor indice = TAM_INT - 1; // enquanto índice for maior ou igual a 0 while(indice >= 0){ // vamos guardar o bit menos significativo LSB binario[indice] = decimal & 1; // diminuímos o índice indice--; // desloca bits para a direita uma posição decimal = decimal >> 1; } // agora vamos exibir o número binário printf("O número binário é: "); for(i = 0; i < TAM_INT; i++){ printf("%d", binario[i]); } printf("\n\n"); system("PAUSE"); return 0; } |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando Java - Geometria Analítica e Álgebra Linear usando JavaQuantidade de visualizações: 1438 vezes |
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código Java que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: ---------------------------------------------------------------------- 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{ public static void main(String args[]){ Scanner entrada = new Scanner(System.in); // vamos ler os valores x e y System.out.print("Informe o valor de x: "); double x = Double.parseDouble(entrada.nextLine()); System.out.print("Informe o valor de y: "); double y = Double.parseDouble(entrada.nextLine()); // vamos calcular a norma do vetor double norma = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); // mostra o resultado System.out.println("A norma do vetor é: " + norma); } } Ao executar este código nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
JavaScript ::: DOM (Document Object Model) ::: Eventos JavaScript + DOM (Document Object Model) |
Como usar o evento DOMContentLoaded para verificar se o DOM (Document Object Model) já está disponível para manipulação via JavaScriptQuantidade de visualizações: 1891 vezes |
Em algumas situações nós precisamos iniciar a manipulação dos elementos de uma página HTML a partir de nossos códigos JavaScript mas não sabemos com certeza se os elementos do DOM (Document Object Model) já estão disponíveis para acesso. Para essas situações nós podemos usar o evento DOMContentLoaded, que é disparado quando todo o conteúdo DOM já estiver carregado, mesmo que imagens e folhas de estilo CSS ainda estejam pendentes de carregamento. Vamos ver um exemplo? Considere o código JavaScript abaixo (incluindo o código HTML): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudos PHP</title> <script type="text/javascript"> // vamos obter uma referência ao elemento DIV var divElem = document.getElementById("m_div"); // vamos a cor do texto da DIV divElem.style.color = 'blue'; </script> </head> <body> <div id="m_div">Sou um elemento DIV</div> </body> </html> Veja que temos um elemento DIV na parte <body> do página e, na parte <head> temos um código JavaScript que tenta alterar a cor do texto da DIV. Como já era de se esperar, ao abrirmos este documento HTM no navegador, teremos o seguinte erro: Uncaught TypeError: Cannot read property 'style' of null at index.html:9 Isso aconteceu porque o código JavaScript foi executado antes que o elemento DIV fosse inserido no DOM da página. Para evitar isso, só precisamos usar o evento DOMContentLoaded. Veja a nova versão do código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudos PHP</title> <script type="text/javascript"> // vamos tratar o evento DOMContentLoaded document.addEventListener('DOMContentLoaded', function(e){ // vamos obter uma referência ao elemento DIV var divElem = document.getElementById("m_div"); // vamos a cor do texto da DIV divElem.style.color = 'blue'; }); </script> </head> <body> <div id="m_div">Sou um elemento DIV</div> </body> </html> Agora execute o exemplo novamente e veja como o texto do elemento DIV é colorido de azul, uma boa indicação de que o evento DOMContentLoaded foi disparado com sucesso. Note ainda como usamos o método addEventListener() do objeto document para fazer a associação do evento. |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
C# - C# Windows Forms para iniciantes - Como limpar todo o conteúdo de um controle TextBox via código |
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 |