![]() |
|||||
|
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila PHP para iniciantes - Como testar múltiplas condições usando a construção if...elseif...else da linguagem PHPQuantidade de visualizações: 9683 vezes |
A construção if...else (se...do contrário) pode ser extendida com o uso de elseif para testar múltiplas condições. Desta forma, você pode ter quantos blocos elseif (ou então se) você desejar. Veja o trecho de código a seguir:<?php $valor = 20; if($valor == 15){ echo "O valor é igual à 15"; } elseif($valor > 15){ echo "O valor é maior que 15"; } else{ echo "O valor é menor que 15"; } ?> Ao executar este código nós teremos o seguinte resultado: O valor é maior que 15 |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um diretório em C# usando a função Delete() da classe DirectoryInfoQuantidade de visualizações: 243 vezes |
O método Delete() da classe DirectoryInfo do C# é muito útil quando precisamos excluir um diretório. Esta função é do tipo void, ou seja, não retorna nada. Veja um código completo demonstrando o seu uso: 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 tentar excluir o diretório try { dir.Delete(); Console.WriteLine("Diretório excluído com sucesso."); } catch (Exception e) { Console.WriteLine("Não foi possível excluir o diretório: {0}", e.ToString()); } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Diretório excluído com sucesso. Se o diretório a ser excluido não estiver vazio, a chamada ao método System.IO.DirectoryInfo.Delete() poderá gerar o seguinte erro: Não foi possível excluir o diretório: System.IO.IOException: A pasta não está vazia. : 'C:\estudos_csharp\imagens' at System.IO.FileSystem.RemoveDirectoryInternal(String fullPath, Boolean topLevel, Boolean allowDirectoryNotEmpty) at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive) at System.IO.DirectoryInfo.Delete() at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 12 |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como somar os elementos da diagonal principal de uma matriz em JavaQuantidade de visualizações: 2980 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 Java. 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 Java. Veja um trecho de código Java completo no qual pedimos para o usuário informar os elementos da matriz e em seguida mostramos a soma dos elementos da diagonal superior: package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // 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.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.print("Informe o valor para a linha " + i + " e coluna " + j + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // vamos mostrar a matriz da forma que ela // foi informada System.out.println(); // percorre as linhas for(int i = 0; i < matriz.length; i++){ // percorre as colunas for(int j = 0; j < matriz[0].length; j++){ System.out.printf("%5d ", matriz[i][j]); } // passa para a próxima linha da matriz System.out.println(); } // vamos calcular a soma dos elementos da diagonal // principal for(int i = 0; i < matriz.length; i++){ for(int j = 0; j < matriz[0].length; j++){ if(i == j){ soma_diagonal = soma_diagonal + matriz[i][j]; } } } // finalmente mostramos a soma da diagonal principal System.out.println("\nA soma dos elementos da diagonal principal é: " + soma_diagonal); } } Ao executar este código Java 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 |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Cartesianas para Coordenadas Polares usando Java - Java para EngenhariaQuantidade de visualizações: 2205 vezes |
Nesta nossa série de Java para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Já o sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é: __$r = \sqrt{x^2+y2}__$ __$\theta = \\arctan\left(\frac{y}{x}\right)__$ E aqui está o código Java completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$): package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ Scanner entrada = new Scanner(System.in); // vamos ler as coordenadas cartesianas System.out.print("Valor de x: "); double x = Double.parseDouble(entrada.nextLine()); System.out.print("Valor de y: "); double y = Double.parseDouble(entrada.nextLine()); // vamos calcular o raio double raio = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); // agora calculamos o theta (ângulo) em radianos double theta = Math.atan2(y, x); // queremos o ângulo em graus também double angulo_graus = 180 * (theta / Math.PI); // e exibimos o resultado System.out.println("As Coordenadas Polares são:\n" + "raio = " + raio + ", theta = " + theta + ", ângulo em graus = " + angulo_graus); } } Ao executar este código nós teremos o seguinte resultado: Valor de x: -1 Valor de y: 1 As Coordenadas Polares são: raio = 1.4142135623730951, theta = 2.356194490192345, ângulo em graus = 135.0 Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raizes e frações em vez de valores reais. |
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em Delphi dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1772 vezes |
Nesta dica mostrarei como é possível usar a linguagem Delphi para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando 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. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras), tudo que temos a fazer a converter esta fórmula para código Delphi. Veja: procedure TForm2.Button1Click(Sender: TObject); var a, b, c: Real; begin a := 20; // medida do cateto oposto b := 30; // medida do cateto adjascente // agora vamos calcular o comprimento da hipotenusa c := sqrt(sqr(a) + sqr(b)); // e mostramos o resultado Edit1.Text := 'A medida da hipotenusa é: ' + FloatToStr(c); end; Perceba que o cálculo foi efetuado a partir do evento Click de um botão Button1 e o resultado foi exibido na propriedade Text de uma caixa de texto Edit1. Ao executar este código Delphi nós teremos o seguinte resultado: A medida da hipotenusa é: 36,0555127546399 Como podemos ver, o resultado retornado com o código Delphi confere com os valores da imagem apresentada. |
C# ::: Dicas & Truques ::: Data e Hora |
Como construir uma data e hora em C# usando o objeto DateTime e fornecendo o dia, mês, ano, horas, minutos e segundos da data e hora desejadasQuantidade de visualizações: 12537 vezes |
Esta dica mostra como construir uma data e hora em C# usando o seguinte construtor da estrutura DateTime:DateTime(Int32, Int32, Int32, Int32, Int32, Int32) Este construtor pede seis valores inteiros representando o ano, mês, dia, horas, minutos e segundos da data e hora que queremos construir e retorna um objeto DateTime representando a data e hora recém-construidas (note que a hora deve ser informada no formato 0-23). Veja um exemplo: static void Main(string[] args){ // cria um objeto DateTime para a data 10/04/2008 // e hora 18:32:10 DateTime data = new DateTime(2008, 4, 10, 18, 32, 10); // exibe o resultado System.Console.WriteLine(data.ToString( "dd/MM/yyyy - HH:mm:ss")); // pausa o programa Console.ReadKey(); } Tome cuidade. Este método pode lançar exceções dos tipos ArgumentOutOfRangeException e ArgumentException se os valores fornecidos estiverem fora das faixas permitidas. |
C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C - Geometria Analítica e Álgebra Linear usando CQuantidade de visualizações: 4397 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 C que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]){ float x, y, norma; // vamos ler os valores x e y printf("Informe o valor de x: "); scanf("%f", &x); printf("Informe o valor de y: "); scanf("%f", &y); // vamos calcular a norma do vetor norma = sqrt(pow(x, 2) + pow(y, 2)); // mostra o resultado printf("A norma do vetor é: %f", norma); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C 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. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Python Básico |
Exercícios Resolvidos de Python - Como calcular salário líquido em Python - Calculando o salário líquido de um professorQuantidade de visualizações: 1160 vezes |
Pergunta/Tarefa: Escreva um programa Python que calcule o salário líquido de um professor. Seu programa deverá solicitar que o usuário informe o valor da hora aula (como float), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como float). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real). Dica: Use locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8'). Sua saída deverá ser parecida com: Informe o valor da hora aula: 28 Informe o número de horas trabalhadas no mês: 12 Informe o percentual de desconto do INSS: 8 Salário Bruto: R$ 336,00 Total de Descontos: R$ 26,88 Salário Líquido: R$ 309,12 Veja a resolução comentada deste exercício usando Python: import locale # função principal do programa def main(): locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8') # vamos ler o valor do hora aula valor_hora_aula = float(input("Informe o valor da hora aula: ")) # vamos ler o número de horas trabalhadas no mês horas_trabalhadas = int(input("Informe o número de horas trabalhadas no mês: ")) # vamos ler o percentual de desconto do INSS percentual_desconto_inss = float(input("Percentual de desconto do INSS: ")) # vamos calcular o salário bruto salario_bruto = valor_hora_aula * horas_trabalhadas # agora calculamos o total do desconto total_desconto = (percentual_desconto_inss / 100) * salario_bruto # finalmente calculamos o salário líquido salario_liquido = salario_bruto - total_desconto # mostramos o resultado print("Salário Bruto: R$ {0}".format(locale.currency(salario_bruto, grouping=True, symbol=None))) print("Total de Descontos: R$ {0}".format(locale.currency(total_desconto, grouping=True, symbol=None))) print("Salário Líquido: R$ {0}".format(locale.currency(salario_liquido, grouping=True, symbol=None))) if __name__== "__main__": main() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de Java - Como converter de decimal para binário usando os operadores de bits em JavaQuantidade de visualizações: 992 vezes |
Este exercício faz parte da nossa lista de desafios de programação em Java. Pergunta/Tarefa: Escreva um programa Java 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 Java, comentada linha a linha: package estudos; import java.util.Scanner; public class Estudos { // vamos definir o tamanho do vetor para guardar // os dígitos do número binário final static int TAM_INT = Integer.BYTES * 8; public static void main(String[] args){ // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // variáveis para ajudar a resolver o problema int decimal, indice, i; // vetor para guardar o número binário int binario[] = new int[TAM_INT]; // vamos pedir para o usuário informar um decimal inteiro System.out.print("Informe um número decimal: "); decimal = Integer.parseInt(entrada.nextLine()); // 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 100010 indice--; // desloca bits para a direita uma posição decimal = decimal >> 1; } // agora vamos exibir o número binário System.out.print("O número binário é: "); for(i = 0; i < TAM_INT; i++){ System.out.print(binario[i]); } System.out.println("\n\n"); } } |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter uma lista das funções de strings e caracteres suportadas pelo MySQL usando o método getStringFunctions() da interface DatabaseMetaDataQuantidade de visualizações: 5416 vezes |
Em algumas situações gostaríamos de, via código, obter uma lista das funções de strings e caracteres suportadas pelo MySQL. Para isso podemos usar o método getStringFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getStringFunctions() de forma a retornar a lista de funções de string e caracteres separadas por vírgulas. Veja um trecho de código Java no qual listamos todas as funções de strings e caracteres suportados no MySQL 5.0: package estudosbancodados; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; public class EstudosBancoDados{ public static void main(String[] args) { // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData DatabaseMetaData dbmd = conn.getMetaData(); // vamos obter a lista de funções de strings e caracteres disponíveis // nesta versão do SQL Server String funcoesStringChar = dbmd.getStringFunctions(); // como a lista de funções está separada por vírgulas, vamos obter // uma matriz de strings String funcoes[] = funcoesStringChar.split(","); // vamos mostrar o resultado for(int i = 0; i < funcoes.length; i++){ System.out.println(funcoes[i]); } } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); } } } Ao executarmos este código teremos o seguite resultado: ASCII BIN BIT_LENGTH CHAR CHARACTER_LENGTH CHAR_LENGTH CONCAT CONCAT_WS CONV ELT EXPORT_SET FIELD FIND_IN_SET HEX INSERT INSTR LCASE LEFT LENGTH LOAD_FILE LOCATE LOCATE LOWER LPAD LTRIM MAKE_SET MATCH MID OCT OCTET_LENGTH ORD POSITION QUOTE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SOUNDEX SPACE STRCMP SUBSTRING SUBSTRING SUBSTRING SUBSTRING SUBSTRING_INDEX TRIM UCASE UPPER |
Nossas 20 dicas & truques de programação mais populares |
Java - Como quebrar (separar) uma string em palavras usando um objeto da classe StringTokenizer do Java |
Você também poderá gostar das dicas e truques de programação abaixo |
MySQL - Como formatar campos DATE, TIME, DATETIME e TIMESTAMP usando a função DATE_FORMAT() do MySQL Java - Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valores Java - Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender) |
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 |