![]() |
|
||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Python ::: Dicas & Truques ::: Lista (List) |
Python para iniciantes - Como usar o tipo de dados list da linguagem PythonQuantidade de visualizações: 7866 vezes |
O tipo de dados list é um dos quatro tipos de dados já incluídos no Python (sem a necessidade de importar outros módulos), a saber, tuple, set e dict (dictionary), cada um com qualidades e uso diferentes. Uma list é uma sequência mutável e ordenada de itens. Os itens de uma list são objetos arbitrários e podem ser de diferentes tipos. Para especificar uma list, podemos usar uma série de expressões (os itens da lista) separadas por vírgulas e entre colchetes ([]). Opcionalmente podemos inserir uma vírgula redundante depois do último item. Para denotar uma lista vazia, use um par de colchetes. Veja alguns exemplos: # uma list com nomes de pessoas nomes = ['Carlos', 'Fabiana', 'Jorge'] print(nomes[0]) # uma list com valores inteiros valores = [3, 7, 34, 0, 2] print((valores[1] + valores[4])) # uma lista vazia lista = [] print(len(lista)) É possível também construir uma lista usando a palavra-chave list. Veja: # função principal do programa def main(): # uma list com nomes de pessoas nomes = list(['Carlos', 'Fabiana', 'Jorge']) print("O nome escolhido é", nomes[0]) if __name__== "__main__": main() Ao executar este último exemplo nós teremos o seguinte resultado: O nome escolhido é Carlos |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Python - Um método recursivo que conta de 0 até 10Quantidade de visualizações: 1362 vezes |
Exercícios Resolvidos de Python - Um método recursivo que conta de 0 até 10 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: def contar_recursivamente(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 Python: # método recursivo que conta de 0 até 10 def contar_recursivamente(n): # vamos exibir o número atual print(n, " ", end =" ") # devemos prosseguir com a recursividade? if n < 10: # incrementa o valor de n n = n + 1 contar_recursivamente(n) # e faz uma nova chamada recursiva # método principal def main(): # efetua uma chamada ao método recursivo fornecendo o primeiro valor contar_recursivamente(0) if __name__== "__main__": main() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual e mostra a idade da pessoa em anos, meses, dias e semanasQuantidade de visualizações: 6731 vezes |
Pergunta/Tarefa: Escreva um programa Java que recebe o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a) A idade da pessoa em anos; b) A idade da pessoa em meses; c) A idade da pessoa em dias; d) A idade da pessoa em semanas. Sua saída deverá ser parecida com: Informe o ano de seu nascimento: 1985 Informe o ano atual: 2023 A idade em anos é: 38 A idade em meses é: 456 A idade em dias é: 13680 A idade em semanas é: 1976 Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler o ano de nascimento System.out.print("Informe o ano de seu nascimento: "); int ano_nascimento = Integer.parseInt(entrada.nextLine()); System.out.print("Informe o ano atual: "); int ano_atual = Integer.parseInt(entrada.nextLine()); // calcula a idade em anos int idade_anos = ano_atual - ano_nascimento; System.out.println("A idade em anos é: " + idade_anos); // calcula a idade em meses int idade_meses = idade_anos * 12; System.out.println("A idade em meses é: " + idade_meses); // calcula a idade em dias int idade_dias = idade_anos * 12 * 30; System.out.println("A idade em dias é: " + idade_dias); // calcula a idade em semanas int idade_semanas = idade_anos * 52; System.out.println("A idade em semanas é: " + idade_semanas); } } |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como escrever uma função na linguagem C que verifica se duas strings são iguais ou diferentesQuantidade de visualizações: 9388 vezes |
Esta dica mostra como escrever uma função em C que verifica se duas strings são iguais ou diferentes. O nome da função é str_equal(). Esta função aceita duas strings como argumentos e retorna 1 se estas forem iguais e 0 em caso contrário. Experimente, faça as devidas alterações e adicione mais esta função ao seu repertório de códigos C. Veja o código completo para o exemplo: #include <stdio.h> #include <stdlib.h> #include <string.h> // função personalizada que permite verificar // se duas strings são iguais ou diferentes int str_equal(const char *str1, const char *str2){ while((*str1 == *str2) && (*str1)){ str1++; str2++; } return((*str1 == 0) && (*str2 == 0)); } int main(int argc, char *argv[]){ char palavra1[] = "Java"; char palavra2[] = "Java"; if(str_equal(palavra1, palavra2) == 1) printf("As palavras sao iguais"); else printf("As palavras sao diferentes"); puts("\n\n"); system("PAUSE"); return 0; } Ao executar este código nós teremos o seguinte resultado: As palavras são iguais |
Java ::: Classes e Componentes ::: JComboBox |
Como retornar o valor do item selecionado em um JComboBox do Java Swing usando a função getSelectedItem()Quantidade de visualizações: 15712 vezes |
Nesta dica mostrarei como podemos usar o método getSelectedItem() da classe JComboBox do Java Swing para obter e retornar o valor do item selecionado. Note que usei uma conversão forçada (casting) para String antes de exibir o valor do item selecionado. Para finalizar, coloquei uma mensagem JOptionPane.showMessageDialog para exibir o valor do item selecionado no JComboBox. Veja o código completo para o exemplo: package estudos; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JComboBox combo; public Estudos() { super("A classe JComboBox"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria o JComboBox combo = new JComboBox(nomes); // Um botão que permite obter o valor do item selecionado JButton btn = new JButton("Obter valor selecionado"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ String valor = (String)(combo.getSelectedItem()); JOptionPane.showMessageDialog(null, "O valor selecionado é: " + valor); } } ); // Adiciona o JComboBox à janela c.add(combo); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java nós teremos uma mensagem JOptionPane.showMessageDialog com o seguinte texto: O valor selecionado é: Osmar |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em C usando a função sin()Quantidade de visualizações: 11833 vezes |
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem C. Esta função, disponível no header math.h, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]){ printf("Seno de 0 = %f", sin(0)); printf("\nSeno de 1 = %f", sin(1)); printf("\nSeno de 2 = %f", sin(2)); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Seno de 0 = 0.000000 Seno de 1 = 0.841471 Seno de 2 = 0.909297 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um diretório em PHP usando a função rename()Quantidade de visualizações: 11802 vezes |
Diretórios podem ser renomeados usando a função rename() da linguagem PHP. Esta função recebe o nome atual do diretório e o novo nome e retorna um valor boolean (true ou false) informando o sucesso ou não da operação. Antes de usar esta função verifique se você possui as permissões adequadas para renomear o diretório. Veja um trecho de código no qual renomeamos um diretório no diretório public_html: <?php // renomeia o diretório "recentes" para "atuais" $diretorio_antigo = "/site/public_html/recentes"; $diretorio_novo = "/site/public_html/atuais"; if(rename($diretorio_antigo, $diretorio_novo)){ echo "Diretório renomeado com sucesso."; } else{ echo "Não foi possível renomear o diretório."; } ?> Ao executar este código nós teremos o seguinte resultado: Diretório renomeado com sucesso. Seja cuidadoso. Se você não tiver as permissões adequadas para renomear um diretório, a seguinte mensagem de erro será exibida: Warning: rename(imagens,imagens_novas) [function.rename]: Permission denied in /site/public_html/testes.php on line 9 Não foi possível renomear o diretório. |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como usar a função array_unique() do PHP para remover elementos duplicados de um vetor - Removendo elementos repetidos de um array PHPQuantidade de visualizações: 18591 vezes |
Em algumas situações nossos códigos precisam remover os elementos duplicados em um array (vetor) PHP. Isso pode ser feito por meio do uso da função array_unique(). Esta função recebe um array e retorna um outro array com os elementos duplicados removidos. Veja um exemplo:<?php // vamos declarar e inicializar um vetor de inteiros $valores = array(43, 2, 6, 11, 98, 6, 3, 6); // vamos exibir os valores do vetor echo "Com elementos duplicados:<br>"; foreach($valores as $valor){ echo $valor . " - "; } // vamos remover os elementos duplicados $valores = array_unique($valores); // vamos exibir os valores do vetor novamente echo "<br><br>Sem elementos duplicados:<br>"; foreach($valores as $valor){ echo $valor . " - "; } ?> Ao executarmos este código teremos o seguinte resultado: Com elementos duplicados: 43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - Sem elementos duplicados: 43 - 2 - 6 - 11 - 98 - 3 - Note que a função array_unique() remove APENAS os valores dos elementos duplicados, ou seja, as chaves ou índices são mantidos. Isso pode ser visto no trecho de código a seguir: <?php // vamos declarar e inicializar um vetor de inteiros $valores = array(43, 2, 6, 11, 98, 6, 3, 6); // vamos listar os valores dos elementos no vetor for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " - "; } // vamos remover os elementos duplicados $valores = array_unique($valores); // vamos listar os valores no vetor novamente echo "<br><br>"; for($i = 0; $i < count($valores); $i++){ echo $valores[$i] . " - "; } ?> Este código resultará em: 43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 43 - 2 - 6 - 11 - 98 - - Note que a última iteração do laço deveria alcançar o valor 3. Em vez disso o laço imprimiu um valor não definido no índice 5. Esta dica foi escrita no PHP 5.2.10. Vamos torcer para que as versões mais recentes não apresentem este comportamento. Enquanto isso EVITE usar o laço for com vetores resultantes de uma chamada à função array_unique(). Use o laço foreach(). |
C# ::: Datas e Horas ::: DateTime |
Como usar a estrutura DateTime do C# em seus programasQuantidade de visualizações: 9543 vezes |
A estrutura DateTime representa um momento no tempo, geralmente expressado como uma data e hora do dia. O tipo DateTime representa datas e horas com valores na faixa de meia-noite do dia 1º de janeiro de 0001 Anno Domini (Common Era) até as 11:59:59 da noite do dia 31 de dezembro de 9999 A.D. (C.E.). Os valores de horas são medidos em unidades de 100 nanosegundos chamados de ticks e uma data em particular é o número de ticks desde a meia-noite do dia 1º de janeiro de 0001 A.D (C.E) no calendário Gregoriano (GregorianCalendar). Por exemplo, um valor de tick de 31241376000000000L representa a data 1º de janeiro de 0100 (sexta-feira) à meia-noite. O valor DateTime é sempre expresso no contexto de um calendário explícito ou padrão. Considerações sobre versões Em versões do .NET Framework anteriores à 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo de 2 bits não usados concatenados com um campo privado Ticks, que é um campo sem sinal de 62 bits que contém o número de ticks que representam a data e hora. O valor do campo Ticks pode ser obtido por meio da propriedade Ticks. A partir do .NET Framework 2.0, a estrutura DateTime contém um campo de 64 bits composto de um campo privado Kind concatenado com o campo Ticks. O campo Kind é um campo de 2 bits que indica se a estrutura DateTime representa uma hora local, uma hora UTC (Coordinated Universal Time) ou um hora em um fuso horário não especificado. O campo Kind é usado quando estamos efetuando conversões de horas entre fuso horários, mas, não é usado para comparações de datas e horas ou aritmética. O valor do campo Kind pode ser obtido por meio da propriedade Kind. É importante observar que uma alternativa ao uso da estrutura DateTime para se trabalhar com datas e horas em um fuso horário em particular é a estrutura DateTimeOffset. Esta estrutura guarda as informações de data e hora em um campo DateTime privado e o número de minutos pelos quais a data e hora diferem do horário UTC em um campo Int16 privado. Isso torna possível usarmos um valor DateTimeOffset para refletir as horas em um fuso horário em particular, enquanto um valor DateTime pode, sem causar confusão, refletir somente a hora UTC e do fuso horário local. Valores DateTime As descrições de valores de horas no tipo DateTime geralmente são expressas usando o padrão Coordinated Universal Time (UTC), que é o nome reconhecido internacionalmente para o Greenwich Mean Time (GMT). O Coordinated Universal Time é a hora de acordo com as medições em longitude de zero graus, ou seja, o ponto de origem UTC. Horários de verão não são aplicáveis ao UTC. A hora local é relativa a um determinado fuso horário. Um fuso horário está associado à diferença de fuso horário, que é o deslocamento do fuso horário medido em horas a partir do ponto de origem UTC. Além disso, a hora local é opcionalmente afetada pelo horário de verão, que adiciona ou subtrai uma hora à duração do dia. Consequentemente, a hora local é calculada adicionando-se a diferença de fuso horário ao UTC e ajustando o horário de verão se necessário. A diferença de fuso horário no ponto de origem UTC é zero. A hora UTC é ideal para cálculos, comparações e armazenamento de datas e horas em arquivos. A hora local é apropriada para a exibição em interfaces do usuário em aplicações desktop. Aplicações que são acessadas em diferentes fuso horários (tais com aplicações web) também precisam fornecer meios para a correta adequação a tais fuso horários. Veja um trecho de código no qual usamos a propriedade Now da estrutura DateTime para exibir a data e hora local no formato longo: static void Main(string[] args){ // Data e hora atual DateTime agora = DateTime.Now; // exibe o resultado System.Console.WriteLine("{0:F}", agora); // pausa o programa Console.ReadKey(); } O resultado da execução deste código será algo parecido com: segunda-feira, 23 de fevereiro de 2008 19:54:46. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Ler um número inteiro na faixa 0-999 e mostrar a soma de seus dígitos - C BásicoQuantidade de visualizações: 3109 vezes |
Pergunta/Tarefa: Escreva um programa C que leia um inteiro na faixa 0-999 e mostre a soma de seus dígitos. Por exemplo, se o valor for 523, a soma de seus dígitos será 5 + 2 + 3 = 10. Lembre-se que você deverá usar apenas os operadores matemáticos e o operador de módulo (%). Seu programa deverá exibir a seguinte saída: Informe um valor inteiro (0-999): 523 A soma dos dígitos é: 10 Veja a resolução comentada deste exercício usando C console: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // vamos solicitar ao usuário que informe um valor inteiro // na faixa 0 a 999 (incluindo) printf("Informe um valor inteiro (0-999): "); // vamos ler o valor informado int valor; scanf("%d", &valor); // vamos verificar se o valor está na faixa permitida if(valor < 0 || valor > 999){ puts("Valor fora da faixa permitida"); } else{ // vamos obter o terceiro dígito int terceiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o segundo dígito int segundo = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter o primeiro dígito int primeiro = valor % 10; // obtém os digitos restantes valor = valor / 10; // vamos obter a soma dos dígitos int soma = terceiro + segundo + primeiro; // vamos mostrar o resultado printf("A soma dos dígitos é: %d", soma); } printf("\n\n"); system("PAUSE"); return 0; } |
Nossas 20 dicas & truques de programação mais populares |
VB.NET - Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano Java - Como testar o conteúdo no final de uma string usando Java - O método endsWith() da classe String |
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 |