![]() |
|
||||
![]() 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) |
Como excluir e retornar um item da lista Python baseado em seu índice usando a função pop()Quantidade de visualizações: 9330 vezes |
Nesta dica mostrarei como é possível usar o método pop() do objeto List da linguagem Python para excluir e retornar um item de uma lista baseado em seu índice. Tudo que precisamos fazer é informar o índice do elemento a ser excluído e retornado. Veja o exemplo Python completo: """ Este exemplo mostra como excluir e retornar um determinado item em uma lista """ def main(): # cria uma lista de inteiros valores = [4, 23, 7, 1, 0, 54] # imprime a lista print(valores) # remove um determinado item # vamos remover o terceiro item (7) valor = valores.pop(2) print("Item removido:", valor) # exibe a lista novamente print(valores) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: [4, 23, 7, 1, 0, 54] Item removido: 7 [4, 23, 1, 0, 54] É importante ficarmos atentos aos erros que podem ocorrer com chamadas à função pop(). Por exemplo, se a List estiver vazia, o seguinte erro será exibido: Exception has occurred: IndexError pop from empty list Se, por exemplo, fornecermos ao método pop() um índice inexistente, o seguinte erro ocorrerá: Exception has occurred: IndexError pop index out of range |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while da linguagem C++ - C++ para iniciantesQuantidade de visualizações: 19729 vezes |
O laço while é usado quando queremos executar um bloco de instruções repetidamente ENQUANTO uma condição for satisfeita. Veja a sintáxe deste laço:while(expressão){ bloco de instruções } A parte expressão deve sempre resultar em um valor true ou false quando avaliada. Veja um trecho de código no qual temos um laço while que conta de 0 a 10: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // um laço while que permite contar de 0 a 10 int valor = 0; while(valor <= 10){ cout << valor << "\n"; valor++; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } É importante lembrar que o C++, ao contrário do C, possui um tipo booleano. Este tipo é chamado bool e pode ser usado em um laço while da seguinte forma: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // um laço while que mostra como usar o tipo // bool bool pode = true; int valor = 0; while(pode){ cout << valor << "\n"; valor++; // vamos parar o laço aqui if(valor > 10) pode = false; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada for sempre insatisfatória, o fluxo de código passará para a próxima instrução após o laço. Veja: #include <string> #include <iostream> using namespace std; int main(int argc, char *argv[]){ // um laço while que nunca é executado int valor = 0; while(valor > 10){ cout << valor << "\n"; valor++; } cout << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Apostila Java para iniciantes - Como substituir um caractere em uma string usando o método setCharAt() da classe StringBuffer do JavaQuantidade de visualizações: 205 vezes |
Nesta dica mostrarei como podemos usar o método setCharAt() da classe StringBuffer da linguagem Java para substituir caracteres individuais em uma palavra, frase ou texto. Veja um código completo, no qual trocamos a letra "j" por "J": package arquivodecodigos; public class Estudos{ public static void main(String[] args){ StringBuffer frase = new StringBuffer("Programar em java."); System.out.println(frase); frase.setCharAt(13, 'J'); // troca 'j' por 'J' System.out.println(frase); System.exit(0); } } Ao executarmos este código nós teremos o seguinte resultado: Programar em java. Programar em Java. |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar um array de strings em Ruby usando a notação %wQuantidade de visualizações: 7787 vezes |
Como criar um array de strings em Ruby usando a notação %w Nesta dica mostrarei como podemos criar um vetor de strings em Ruby usando a notação %w(..). Ao usarmos esta sintáxe, cada elemento do array é separado por um espaço. Veja como usamos a barra invertida "\" para um elemento composto de mais de uma palavra. Veja o código completo para o exemplo: # define um array de cidades cidades = %w(Goiânia Salvador Rio\ de\ Janeiro São\ Paulo) # exibe os elementos do array cidades.each do |cidade| puts cidade end Ao executar este código Ruby nós teremos o seguinte resultado: Goiânia Salvador Rio de Janeiro São Paulo |
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Java para Geometria Analítica e Álgebra Linear - Como efetuar a soma de matrizes usando JavaQuantidade de visualizações: 1890 vezes |
A soma de matrizes (assim como a subtração e multiplicação) é parte integrante da disciplina de Álgebra Linear e seu cálculo é muito simples. Assumindo duas matrizes A e B, ambas com a mesma quantidade de linhas e colunas, a matriz soma pode ser obtida da seguinte forma: \[A + B = \left[\begin{matrix} 3 & 4 & -1 \\ 8 & 2 & 1 \\ 7 & 5 & -3 \end{matrix}\right] + \left[\begin{matrix} -2 & 6 & 4 \\ 1 & 8 & 9 \\ -4 & 10 & 3 \end{matrix}\right] = \left[\begin{matrix} 1 & 10 & 3 \\ 9 & 10 & 10 \\ 3 & 15 & 0 \end{matrix}\right] \] Um elemento da matriz é representando por sua posição linha e coluna. Usamos a letra i para a linha e j para a coluna, ou seja, aij. Dessa forma, o elemento na primeira linha e primeira coluna da matriz é a11, o elemento na primeira linha e segunda coluna é a12 e assim por diante. Então, a soma das duas matrizes é feita da seguinte forma: Cij = Aij + Bij. E agora veja o código Java que declara duas matrizes matrizA e matrizB e obtém uma terceira (matrizC) contendo a soma das duas anteriores. Novamente, note o requisito de que as matrizes deverão ter o mesmo número de linhas e colunas: package arquivodecodigos; public class Estudos{ public static void main(String args[]){ // declarar, construir e inicializar as matrizes int matrizA[][] = {{3, 4, -1}, {8, 2, 1}, {7, 5, -3}}; int matrizB[][] = {{-2, 6, 4}, {1, 8, 9}, {-4, 10, 3}}; // esta é a matriz soma int matrizSoma[][] = new int[3][3]; // e agora vamos prosseguir com a soma for(int i = 0; i < matrizA.length; i++){ for(int j = 0; j < matrizA[0].length; j++){ matrizSoma[i][j] = matrizA[i][j] + matrizB[i][j]; } } // vamos exibir os valores da primeira matriz System.out.println("Elementos da matriz A:"); for(int i = 0; i < matrizA.length; i++){ for(int j = 0; j < matrizA[0].length; j++){ System.out.printf("%5d ", matrizA[i][j]); } System.out.println(); } // vamos exibir os valores da primeira matriz System.out.println("\nElementos da matriz B:"); for(int i = 0; i < matrizB.length; i++){ for(int j = 0; j < matrizB[0].length; j++){ System.out.printf("%5d ", matrizB[i][j]); } System.out.println(); } // vamos exibir os valores da matriz soma System.out.println("\nElementos da matriz soma:"); for(int i = 0; i < matrizSoma.length; i++){ for(int j = 0; j < matrizSoma[0].length; j++){ System.out.printf("%5d ", matrizSoma[i][j]); } System.out.println(); } } } Ao executar este código Java nós teremos o seguinte resultado: Elementos da matriz A: 3 4 -1 8 2 1 7 5 -3 Elementos da matriz B: -2 6 4 1 8 9 -4 10 3 Elementos da matriz soma: 1 10 3 9 10 10 3 15 0 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Laços - Faça um programa para calcular o valor das seguintes expressõesQuantidade de visualizações: 2229 vezes |
Exercício Resolvido de Java - Laços - Faça um programa para calcular o valor das seguintes expressões Pergunta/Tarefa: Faça um programa para calcular o valor das seguintes expressões: 1) __$S_1 = \frac{1}{1} + \frac{3}{2} + \frac{5}{3} + \frac{7}{4} + \text{...} + \frac{99}{50} __$ 2) __$S_2 = \frac{2^1}{50} + \frac{2^2}{49} + \frac{2^3}{48} + \text{...} + \frac{2^\text{50}}{1} __$ 3) __$S_3 = \frac{1}{1} - \frac{2}{4} + \frac{3}{9} - \frac{4}{16} + \frac{5}{25} - \text{...} - \frac{10}{100} __$ Resposta/Solução: Em ambas as expressões nós temos o último termo nos informando os valores limites. Dessa forma, basta fixarmos um laço for ou laço while com estes limites. Veja a resolução deste exercício em código Java console: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ // primeira expressão int numerador = 1; int denominador = 1; double resultado = 0.0; // laço while para montar os termos e fazer a somatória while(numerador <= 99){ resultado = resultado + ((numerador * 1.0) / denominador); numerador = numerador + 2; denominador++; } // agora mostramos o resultado System.out.println("Primeira expressão: " + resultado); // segunda expressão int expoente = 1; denominador = 50; resultado = 0.0; // laço while para montar os termos e fazer a somatória while(denominador >= 1){ resultado = resultado + ((Math.pow(2, expoente) * 1.0) / denominador); expoente++; denominador--; } // agora mostramos o resultado System.out.println("Segunda expressão: " + resultado); // terceira expressão numerador = 1; denominador = 1; resultado = 0.0; int sinal = 1; // laço while para montar os termos e fazer a somatória while(numerador <= 10){ if(sinal > 0){ // somar resultado = resultado + ((numerador * 1.0) / denominador); } else{ // subtrair resultado = resultado - ((numerador * 1.0) / denominador); } numerador++; denominador = numerador * numerador; sinal = sinal * -1; } // agora mostramos o resultado System.out.println("Terceira expressão: " + resultado); } } Ao executar este código Java nós teremos o seguinte resultado: Primeira expressão: 95.5007946616706 Segunda expressão: 1.5608286920413398E15 Terceira expressão: 0.6456349206349207 |
Python ::: wxPython ::: Controles Visuais Básicos do wxPython |
Como usar a função GetDefaultSize() para obter o tamanho padrão dos botões wx.Button em uma determinada plataforma e um determinado tamanho de fonteQuantidade de visualizações: 6595 vezes |
Quando estamos escrevendo interfaces wxPython para múltiplas plataformas, é interessante usar o método GetDefaultSize() para obter as dimensões padrão dos botões. Isso permite que o próprio sistema determine o tamanho dos botões baseado no tamanho da fonte usada. Este método retorna um objeto da classe wx.Size e as dimensões podem ser obtidas com o auxílio das propriedades width (largura) e height (altura). Veja um exemplo wxPython completo: # vamos importar a biblioteca wxPython import wx class Janela(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "Usando wx.Button", size=(350, 200)) # Cria um painel panel = wx.Panel(self) # Cria um botão e o adiciona no painel self.btn = wx.Button(panel, label="Clique Aqui", pos=(10, 10), size=(100, 25)) # Anexa um evento ao botão self.Bind(wx.EVT_BUTTON, self.OnBtnClick, self.btn) # Método que será chamado ao clicar o botão def OnBtnClick(self, event): # obtém o tamanho padrão dos botões # nesta plataforma dimensoes = self.btn.GetDefaultSize() dlg = wx.MessageDialog(None, u"A largura padrão é: " + str(dimensoes.width) + u" pixels e a altura " + u"padrão é: " + str(dimensoes.height) + " pixels", "Usando wx.Button", wx.OK | wx.ICON_INFORMATION) result = dlg.ShowModal() dlg.Destroy() if __name__ == "__main__": app = wx.App() janela = Janela() janela.Show(True) app.MainLoop() |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a distância entre dois pontos no plano em Python - Python para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 10701 vezes |
Como calcular a Distância Euclidiana entre dois pontos usando Python. Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Python, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço). Comece analisando a imagem abaixo: ![]() Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y). Veja a fórmula: \[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\] Agora, jogando os valores dos dois pontos da fórmula nós teremos: \[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\] Que resulta em 6,32 (aproximadamente). E agora veja o código Python completo que lê as coordenadas dos dois pontos e mostra a distância entre eles: import math # função que permite calcular a distância # entre dois pontos no plano (R2) def distancia2d(x1, y1, x2, y2): a = x2 - x1 b = y2 - y1 c = math.sqrt(math.pow(a, 2) + math.pow(b, 2)) return c # função principal do programa def main(): # vamos ler os dados do primeiro ponto x1 = float(input("Informe o x do primeiro ponto: ")) y1 = float(input("Informe o y do primeiro ponto: ")) # vamos ler os dados do segundo ponto x2 = float(input("Informe o x do segundo ponto: ")) y2 = float(input("Informe o y do segundo ponto: ")) # vamos obter a distância entre eles distancia = distancia2d(x1, y1, x2, y2) print("Distância entre os dois pontos: %0.2f" % distancia); if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: Informe o x do primeiro ponto: 3 Informe o y do primeiro ponto: 6 Informe o x do segundo ponto: 9 Informe o y do segundo ponto: 4 Distância entre os dois pontos: 6.32 |
PHP ::: Desafios e Lista de Exercícios Resolvidos ::: PHP Básico |
Exercícios Resolvidos de PHP - Como calcular salário líquido em PHP - Calculando o salário líquido de um professorQuantidade de visualizações: 1999 vezes |
Pergunta/Tarefa: Escreva um programa PHP 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 double), o número de horas trabalhadas no mês (como inteiro) e o percentual de desconto do INSS (como double). Em seguida mostre o salário líquido, formatado de acordo com a moeda brasileira em vigor (na resolução eu usei o Real). 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 PHP console: <?php // para executar abra uma janela de comando // cmd e dispare o comando abaixo: // C:\xampp\php>php c:\estudos_php\estudos.php // para ler a entrada do usuário $entrada = fopen("php://stdin","r"); // vamos ler o valor do hora aula echo "Informe o valor da hora aula: "; $valor_hora_aula = trim(fgets($entrada)); // vamos ler o número de horas trabalhadas no mês echo "Informe o número de horas trabalhadas no mês: "; $horas_trabalhadas = trim(fgets($entrada)); // vamos ler o percentual de desconto do INSS echo "Informe o percentual de desconto do INSS: "; $percentual_desconto_INSS = trim(fgets($entrada)); // 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 echo "Salário Bruto: R$ " . number_format($salario_bruto, 2, ',', '.'); echo "\nTotal de Descontos: R$ " . number_format($total_desconto, 2, ',', '.'); echo "\nSalário Líquido: R$ " . number_format($salario_liquido, 2, ',', '.'); ?> |
C# ::: Coleções (Collections) ::: List<T> |
Como pesquisar um elemento em uma lista do C# usando a função Find() e um PredicateQuantidade de visualizações: 15169 vezes |
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor. Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura: public T Find( Predicate<T> match ) Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências). Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate: static void Main(string[] args){ // vamos criar um objeto da classe List<T> List<string> nomes = new List<string>(); // vamos inserir quatro valores na lista nomes.Add("Osmar J. Silva"); nomes.Add("Salvador Miranda de Andrade"); nomes.Add("Dyego Fernandes de Souza"); nomes.Add("Marcos de Paula Rocha"); // vamos pesquisar um valor na lista usando um método personalizado // Neste exemplo vamos retornar o primeiro nome que contenha a palavra // "Dyego" string nome = encontrar(nomes, "Dyego"); // vamos verificar se o nome foi encontrado if(nome != null){ // foi encontrado....vamos retornar o resultado Console.WriteLine(nome); } else{ Console.WriteLine("Nenhum nome encontrado."); } // vamos pausar a execução Console.Write("\n\nPressione qualquer tecla para continuar..."); Console.ReadKey(); } // método auxiliar que permite encontrar um valor na lista usando // o método Find() da classe List<T> e um Predicate static string encontrar(List<string> lista, string texto){ string encontrado = null; // vamos pesquisar o valor na lista usando seu método Find() // Aqui o primeiro nome que passar no critério de busca será retornado encontrado = lista.Find(delegate(string valor){ return valor.Contains(texto); }); return encontrado; } O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista. |
Nossas 20 dicas & truques de programação mais populares |
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 |