Você está aqui: Delphi ::: Dicas & Truques ::: Data e Hora |
|
Como acessar e retornar nomes de dias longos a partir da matriz LongDayNamesQuantidade de visualizações: 10237 vezes |
|
A matriz (array) LongDayNames é uma matriz de strings disponível na unit SysUtils e contém os nomes dos dias no formato longo (domingo, segunda-feira, terça-feira, etc). Esta matriz contém sete elementos e possui a seguinte declaração:LongDayNames: array[1..7] of string; Assim, veja um trecho de código no qual usamos um laço for para percorrer a matriz LongDayNames e exibir os nomes dos dias, começando no domingo e terminando no sábado: procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i := 1 to 7 do begin // vamos adicionar o nome do dia em um TMemo Memo1.Lines.Add(LongDayNames[i]); end; end; Quando executamos este código temos o seguinte resultado: domingo segunda-feira terça-feira quarta-feira quinta-feira sexta-feira sábado Um bom uso da matriz LongDayNames é quando temos um número representando o dia da semana e gostaríamos de obter o nome do dia (no formato longo) correspondente. Veja: procedure TForm1.Button1Click(Sender: TObject); begin // vamos exibir o nome do dia de hoje no formato longo ShowMessage('Hoje é: ' + LongDayNames[DayOfWeek(Now)]); end; Este trecho de código exibirá um mensagem semelhante à: "Hoje é: sexta-feira" Aqui nós obtemos o número do dia usando a função DayOfWeek() e usamos o valor retornado para acessar o elemento da matriz LongDayNames. Como DayOfWeek() retorna 1 para o domingo, estas duas funções podem ser usadas em conjunto sem qualquer problema. Note, porém, que a norma ISO 8601 define o início da semana como segunda-feira e não domingo. Assim, se trocarmos a função DayOfWeek(), que não obedece a norma pela função DayOfTheWeek(), que a obedece, o trecho de código acima pode trazer um resultado completamente diferente: ShowMessage('Hoje é: ' + LongDayNames[DayOfTheWeek(Now)]); Agora a mensagem será: "Hoje é: quinta-feira" Para finalizar, saiba que a matriz LongDayNames é preenchida a partir da entrada de localização do sistema LOCALE_SDAYNAME, ou seja, os valores a serem exibidos dependem das configurações do sistema no qual a aplicação está sendo executada. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
|
Link para compartilhar na Internet ou com seus amigos: | |
Anúncio Patrocinado | |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como remover elementos duplicados de um array em JavaScript usando as funções filter() e indexOf() do objeto ArrayQuantidade de visualizações: 4597 vezes |
Em várias ocasições temos códigos JavaScript envolvendo arrays (vetores, matrizes) e gostaríamos de eliminar os valores duplicados, ou seja, retornar um novo vetor sem elementos repetidos. Para isso podemos usar os métodos filter() e indexOf(). Como pode ser visto em dicas nesta mesma seção, o método filter() é usado para retornar apenas os elementos do vetor que se encaixem em uma determinada condição. O método indexOf(), por sua vez, retorna o índice da primeira ocorrência do elemento no vetor. Assim, a combinação desses dois métodos é perfeita para esta situação, ainda que você consiga fazer de outras formas. Veja o trecho de código a seguir: <script type="text/javascript"> function removerDuplicados(valor, indice, vetor){ // o índice desse elemento é o primeiro encontrado // no vetor? if(indice == vetor.indexOf(valor)){ return true; } return false; } var valores = new Array(6, 6, 1, 7, 3, 7, 1, 7, 4, 3, 5); // vamos obter um vetor sem repetições var novoVetor = valores.filter(removerDuplicados); // vamos mostrar o resultado window.alert(novoVetor); </script> Execute este código e veja que apenas os valores únicos serão retornados. Note agora como o mesmo código pode ser escrito de forma mais reduzida: <script type="text/javascript"> var valores = new Array(8, 8, 1, 7, 3, 7, 1, 7, 8, 3, 5); // vamos obter um vetor sem repetições var novoVetor = valores.filter(function(val, ind, vet){ return vet.indexOf(val) == ind; }); // vamos mostrar o resultado window.alert(novoVetor); </script> |
VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de VB.NET - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em VB.NETQuantidade de visualizações: 129 vezes |
Pergunta/Tarefa: Escreva um programa VB.NET que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado: ' declara, constrói e inicializa um vetor de 10 inteiros Dim valores As Integer() = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10} Informe um valor: 4 O valor foi encontrado: 3 vezes Informe um valor: 8 O valor foi encontrado: 1 vezes Informe um valor: 3 O valor foi encontrado: 0 vezes Veja a resolução comentada deste exercício usando VB.NET: Imports System Module Program ' função principal do programa VB.NET Sub Main(args As String()) ' declara, constrói e inicializa um vetor de 10 inteiros Dim valores As Integer() = {4, 21, 9, 8, 12, 21, 4, 4, 1, 10} ' vamos ler um valor inteiro Console.Write("Informe um valor: ") Dim pesquisa As Integer = Int32.Parse(Console.ReadLine()) ' vamos verificar quantas vezes o valor informado está ' contido no vetor Dim repeticoes As Integer = 0 For i As Integer = 0 To valores.Length - 1 If valores(i) = pesquisa Then ' encontrou? vamos contar esta ocorrência repeticoes = repeticoes + 1 End If Next ' vamos mostrar o resultado Console.WriteLine("O valor foi encontrado: " & repeticoes & " vezes") Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Java - Como contar de 0 até 10 usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 4617 vezes |
Pergunta/Tarefa: Escreva um método Java recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura: public static void contarRecursivamente(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 Java: package exercicio; public class Exercicio { public static void main(String[] args) { // efetua uma chamada ao método recursivo // fornecendo o primeiro valor contarRecursivamente(0); } // método recursivo que conta de 0 até 10; public static void contarRecursivamente(int n){ // vamos exibir o número atual System.out.print(n + " "); // devemos prosseguir com a recursividade? if(n < 10){ // incrementa o valor de n n++; // e faz uma nova chamada recursiva contarRecursivamente(n); } } } |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o ponto de interseção de duas retas em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 603 vezes |
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes. Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Java. Mas, antes de vermos o código, dê uma olhada na seguinte imagem: Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta. Veja o código Java completo que nos auxilia na resolução deste problema: package estudos; // Classe usada para representar um ponto no // plano 2d (Plano Cartesiano) class Ponto{ double x, y; // construtor da classe public Ponto(double x, double y){ this.x = x; this.y = y; } } public class Estudos { public static void main(String[] args) { // vamos construir os quatro pontos Ponto A = new Ponto(5, 7); Ponto B = new Ponto(9, -4); Ponto C = new Ponto(-8, 2); Ponto D = new Ponto(11, 6); // vamos obter a representação do segmento AB double a1 = B.y - A.y; double b1 = A.x - B.x; double c1 = (a1 * A.x) + (b1 * A.y); // vamos obter a representação do segmento CD double a2 = D.y - C.y; double b2 = C.x - D.x; double c2 = (a2 * C.x) + (b2 * C.y); // obtém o determinante double determinante = (a1 * b2) - (a2 * b1); // as duas retas são paralelas? if(determinante == 0){ System.out.println("\nAs duas retas são paralelas.\n"); } else{ // e construímos o ponto de intersecção double x = ((b2 * c1) - (b1 * c2)) / determinante; double y = ((a1 * c2) - (a2 * c1)) / determinante; Ponto inters = new Ponto(x, y); System.out.printf("O ponto de interseção é: x = %.2f; y = %.2f", inters.x, inters.y); } System.out.println(); } } Ao executar este código Java nós teremos o seguinte resultado: O ponto de interseção é: x = 5,76; y = 4,90 De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas. |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em C++ - Como efetuar cálculos de porcentagem em C++Quantidade de visualizações: 39524 vezes |
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em C++. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em C++: // Algoritmo que calcula porcentagem em C++ #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double valor, percentual, valor_final; valor = 178.00; // valor original percentual = 15.0 / 100.0; // 15% valor_final = valor + (percentual * valor); // mostra o resultado cout << "O valor final do produto é: " << valor_final; // O resultado será 204,70 cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em C++: // Algoritmo que calcula porcentagem em C++ #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double valor, percentual, valor_final; valor = 250.00; // valor original percentual = 8.0 / 100.0; // 8% valor_final = valor - (percentual * valor); // mostra o resultado cout << "O valor final do produto é: " << valor_final; // O resultado será 230,00 cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em C++: // Algoritmo que calcula porcentagem em C++ #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double perguntas, acertos; perguntas = 90.0; acertos = 72.0; // mostra a porcentagem de acertos cout << "Porcentagem de acertos: " << ((acertos / perguntas) * 100) << "%"; // mostra a porcentagem de erros cout << "\nPorcentagem de erros: " << ((perguntas - acertos) / perguntas) * 100 << "%"; // Os resultados serão 80% e 20% cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em C++: // Algoritmo que calcula porcentagem em C++ #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double valor_anterior, novo_valor, porcentagem_lucro; valor_anterior = 300.0; // valor anterior novo_valor = 340.0; // valor novo // calcula a porcentagem de lucro // efetua o cálculo porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100; cout << "A porcentagem de lucro foi de: " << porcentagem_lucro << "%"; // O resultado será 13,33 cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em C++: // Algoritmo que calcula porcentagem em C++ #include <iostream> using namespace std; // função principal do programa int main(int argc, char *argv[]){ // variáveis usadas na resolução do problema double valor, percentual, comissao; valor = 70.0; // valor do produto percentual = 5.0 / 100.0; // 5% // calcula a comissão comissao = percentual * valor; // mostra o resultado cout << "O valor repassado ao vendedor é: " << comissao; // O resultado será 3,5 cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
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 |