PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler e processar os dados de um arquivo CSV usando a função fgetcsv() do PHPQuantidade de visualizações: 26805 vezes |
Arquivos CSV são arquivos texto cujas linhas possuem valores separados por vírgulas (ou ponto-e-vírgula, dois pontos, etc). As informações contidas em tais arquivos podem ser lidas usando-se a função fgetcsv(). Esta função recebe um ponteiro para um arquivo, o tamanho da maior linha de texto no arquivo (forneça 0 se não quiser ter este limite em seu código) e o caractere de delimitação (no exemplo eu usei ponto-e-vírgula). Observe a estrutura do seguinte arquivo CSV: 23;OSMAR J SILVA;AV. LESTE, 54;GOIANIA;GO 19;MARCOS DE PAULA;RUA L, 523;SÃO PAULO;SP As informações deste arquivo podem ser lidas usando-se o código abaixo: <?php // nome do arquivo $arquivo = 'dados.csv'; // ponteiro para o arquivo $fp = fopen($arquivo, "r"); // processa os dados do arquivo while(($dados = fgetcsv($fp, 0, ";")) !== FALSE){ $quant_campos = count($dados); for($i = 0; $i < $quant_campos; $i++){ echo $dados[$i] . "<br>"; } echo "<br>"; } fclose($fp); ?> Ao executar este código PHP nós teremos o seguinte resultado: 23 OSMAR J SILVA AV. LESTE, 54 GOIANIA GO 19 MARCOS DE PAULA RUA L, 523 SÃO PAULO SP |
Java ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Java para iniciantes - Como usar a instrução break em laços for e while da linguagem JavaQuantidade de visualizações: 13092 vezes |
A instrução break é usada para abandonarmos completamente a execução de um laço for ou while. Assim, a execução do laço é interrompida no ponto onde a instrução break se encontra e o controle segue para a próxima instrução do programa após o laço. Veja um exemplo no qual temos um laço for que é abandonado após a variável de controle atingir o valor 5:public class Estudos{ public static void main(String[] args) { for(int i = 0; i < 1000; i++){ if(i == 5) break; System.out.println(i); } } } Veja o mesmo código usando um laço while infinito: public class Estudos{ public static void main(String[] args) { int i = 0; while(true){ if(i == 5) break; System.out.println(i); i++; } } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de Java - Como contar os caracteres maiúsculos em uma string informada pelo usuárioQuantidade de visualizações: 1073 vezes |
Pergunta/Tarefa: Escreva um programa Java que solicita ao usuário um palavra, frase ou texto e informa a quantidade de caracteres maiúsculos encontrados. Sua saída deverá ser parecida com: Informe uma palavra, frase ou texto: Arquivo de Códigos A palavra ou frase contém 2 letras maiúsculas. Veja a resolução comentada deste exercício usando Java: package estudos; /* ATENÇÃO: O código usado na resolução deste exercício não considera caracteres com acentos nem o cedilha. Fica a seu cargo pesquisar formas alternativas ou complementos */ import java.util.Scanner; public class Estudos{ public static void main(String[] args){ // vamos usar a classe Scanner para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar uma palavra, frase ou texto System.out.print("Informe uma palavra, frase ou texto: "); String palavra = entrada.nextLine(); // vamos contar as letras maiúsculas int maiusculas = 0; for(int i = 0; i < palavra.length(); i++){ if(palavra.charAt(i) >= 'A' && palavra.charAt(i) <= 'Z'){ maiusculas++; } } // mostra o resultado System.out.println("A palavra ou frase contém " + maiusculas + " letras maiúsculas."); } } |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em JavaQuantidade de visualizações: 1431 vezes |
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Java, muito fácil. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[b^2 = c^2 - a^2\] Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem Java: package arquivodecodigos; public class Estudos{ public static void main(String args[]){ double c = 36.056; // medida da hipotenusa double a = 20; // medida do cateto oposto // agora vamos calcular a medida da cateto adjascente double b = Math.sqrt(Math.pow(c, 2) - Math.pow(a, 2)); // e mostramos o resultado System.out.println("A medida do cateto adjascente é: " + b); } } Ao executar este código Java nós teremos o seguinte resultado: A medida do cateto adjascente é: 30.00058559428465 Como podemos ver, o resultado retornado com o código Java confere com os valores da imagem apresentada. |
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Como tratar o erro IndexOutOfBoundsException do Java - A exceção IndexOutOfBoundsException da linguagem JavaQuantidade de visualizações: 17607 vezes |
A exceção IndexOutOfBoundsException é uma exceção (erro) que acontece quando fornecemos um índice fora dos limites permitidos para o acesso de elementos em um vetor, matriz, string ou demais coleções. Lembre-se de que os índices em Java começam em 0 e vão até a quantidade de elementos menos 1. Antes de vermos os exemplos, observe a posição da classe pública IndexOutOfBoundsException na hierarquia de classes da plataforma Java: java.lang.Object java.lang.Throwable java.lang.Exception java.lang.RuntimeException java.lang.IndexOutOfBoundsException Esta classe implementa a interface Serializable e possui duas sub-classes conhecidas: ArrayIndexOutOfBoundsException e StringIndexOutOfBoundsException. Veja um exemplo no qual tentamos acessar um elemento de um vetor usando um índice inválido: public class Estudos{ public static void main(String args[]){ // um array de quatro elementos int[] valores = {5, 23, 76, 3}; // vamos fornecer um índice inválido System.out.println(valores[4]); System.exit(0); } } Este código compila normalmente. Porém, ao tentarmos executá-lo, temos a seguinte mensagem de erro: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at Estudos.main(Estudos.java:7) A forma mais adequada de corrigir este erro é fornecendo um valor de índice que realmente esteja na faixa permitida. Veja agora o mesmo trecho de código usando uma string: public class Estudos{ public static void main(String args[]){ String nome = "Java"; // vamos fornecer um índice inválido System.out.println(nome.charAt(4)); System.exit(0); } } Compile este código e execute-o. Você verá a seguinte mensagem de erro: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4 at java.lang.String.charAt(Unknown Source) at Estudos.main(Estudos.java:6) Vamos fazer o mesmo usando uma ArrayList: import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); // fornecemos um índica inválido String nome = nomes.get(4); System.out.println("O valor obtido foi: " + nome); System.exit(0); } } Compile, execute e veja a mensagem de erro: Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 4 at java.util.ArrayList.RangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at Estudos.main(Estudos.java:15) Veja que no caso do vetor, a exceção lançada foi ArrayIndexOutOfBoundsException, no caso da string a exceção foi StringIndexOutOfBoundsException e no caso do ArrayList tivemos IndexOutOfBoundsException. Resolvemos abordar estas três exceções em apenas uma anotação para que você perceba a semelhança entre elas. |
C# ::: Namespace System.Drawing ::: Graphics |
Desenhando retângulos usando o método DrawRectangle() da classe Graphics do C#Quantidade de visualizações: 7274 vezes |
Retângulos podem ser desenhados em C# e Windows Forms usando o método DrawRectangle() da classe Graphics. Este método pede a caneta de desenho (um objeto da classe Pen), as coordenadas do canto superior esquerdo e a largura e altura do retângulo. Veja a assinatura do método DrawRectangle() mais comumente usada:Graphics.DrawRectangle(Pen, Single, Single, Single, Single) Veja um trecho de código no qual desenhamos um retângulo com 250 pixels de largura por 150 pixels de altura: private void button1_Click(object sender, EventArgs e){ // vamos obter o Graphics do formulário Graphics g = this.CreateGraphics(); // vamos desenhar um retângulo de 250 pixels de largura por 150 // pixels de altura g.DrawRectangle(new Pen(Color.Red, 1), 50, 50, 250, 150); // vamos liberar o objeto Graphics g.Dispose(); } As coordenadas do canto superior esquerdo e a largura e altura do retângulo podem ser especificadas como um objeto da estrutura Rectangle. Veja: private void button1_Click(object sender, EventArgs e){ // vamos obter o Graphics do formulário Graphics g = this.CreateGraphics(); // vamos desenhar um retângulo de 250 pixels de largura por 150 // pixels de altura g.DrawRectangle(new Pen(Color.Red, 1), new Rectangle(100, 100, 250, 150)); // vamos liberar o objeto Graphics g.Dispose(); } |
Java ::: Dicas & Truques ::: Data e Hora |
Como obter o dia da semana como um valor inteiro usando a constante DAY_OF_WEEK da classe Calendar do JavaQuantidade de visualizações: 13109 vezes |
Em algumas situações nós precisamos obter o dia da semana como um inteiro. Para isso podemos usar a constante DAY_OF_WEEK da classe Calendar, do pacote java.util, que nos permite obter o dia da semana como um valor inteiro na faixa de 1 a 7. O valor 1 é domingo, 2 é segunda, 3 é terça, e assim por diante. Veja um exemplo: package arquivodecodigos; import java.util.Calendar; public class Estudos{ public static void main(String args[]){ // vamos obter a data e hora atual Calendar agora = Calendar.getInstance(); // vamos obter o dia da semana como um // valor inteiro System.out.println("O dia da semana é: " + agora.get(Calendar.DAY_OF_WEEK)); } } Ao executarmos este códigos nós teremos o seguinte resultado: O dia da semana é: 6 |
Java ::: Coleções (Collections) ::: ArrayList |
Java ArrayList - Como remover uma faixa de elementos de uma ArrayList simulando a função removeRange() do JavaQuantidade de visualizações: 9359 vezes |
Este exemplo mostra como remover uma faixa de elementos de uma ArrayList. Note que vamos simular o comportamento do método removeRange() da classe ArrayList. Este método é marcado como protected, o que nos possibilita acesso a ele somente se escrevermos uma classe que estende (extends) ArrayList. Veja o código completo para o exemplo: package arquivodecodigos; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // exibe os elementos da ArrayList System.out.println("Todos os elementos:"); for(int i = 0; i < nomes.size(); i++){ System.out.println(nomes.get(i)); } // Vamos remover os elementos 2, 3 e 4 for(int i = 1; i < 4; i++){ nomes.remove(1); } // exibe os elementos da ArrayList System.out.println("\nElementos restantes:"); for(int i = 0; i < nomes.size(); i++){ System.out.println(nomes.get(i)); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: Todos os elementos: Carlos Maria Fernanda Osmar Maria Elementos restantes: Carlos Maria |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar um caractere a partir de seu código ASCII em C# usando o método ToChar() da classe ConvertQuantidade de visualizações: 275 vezes |
A classe Convert, do namespace System, possui vários métodos que possibilitam a conversão entre tipos base. Um destes métodos nos permitem informar um número inteiro e obter o caractere ou letra correspondente. Veja um techo de código no qual informamos o valor 65 e obtemos, como retorno, a letra "A": using System; namespace Estudos { class Program { static void Main(string[] args) { int codigo = 65; char letra = Convert.ToChar(codigo); Console.WriteLine("A letra para o código ASCII {0} é {1}", codigo, letra); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executarmos este código C# nós teremos o seguinte resultado: A letra para o código ASCII 65 é A |
Excel ::: Fórmulas do Excel ::: Trigonometria - Funções Trigonométricas |
Como converter graus em radianos no Excel usando a função RADIANOS() - Trigonometria no ExcelQuantidade de visualizações: 556 vezes |
Quando estamos trabalhando com trigonometria no Excel, é importante ficarmos atentos ao fato de que todas as funções trigonométricas do Excel, tais como COS(), SEN(), TAN(), etc, recebem seus argumentos em radianos, em vez de graus. Por isso, antes de chamar estas funções, é importante converter o valor em graus para radianos. No Excel isso pode ser feito por meio da função RADIANOS(). Esta função recebe o valor em graus e retorno o valor em radianos. Vamos ver um exemplo. Abra uma nova planilha do Excel e cole o código a seguir na célula B1: =RADIANOS(A1) Note que o argumento para a função RADIANOS() é o valor da célula A1. Assim, digite 45 na célula A1 e pressione Enter ou Tab. O valor 0,785398163 será exibido automaticamente na célula B1. |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |