![]() |
|||||
![]() Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: NumPy Python Library |
Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do PythonQuantidade de visualizações: 1288 vezes |
Pergunta/Tarefa: Escreva um programa Python que usa a biblioteca NumPy para efetuar a soma de duas matrizes de mesma ordem, ou seja, mesmo número de linhas e colunas. Seu código deverá somar o primeiro elemento da matriz A com o primeiro elemento da matriz B, e assim por diante. Sua saída deverá ser parecida com: A primeira matriz é: [[4 1 3] [9 2 5]] A segunda matriz é: [[ 3 10 2] [ 1 13 4]] A matriz soma é: [[ 7 11 5] [10 15 9]] Veja a resolução comentada deste exercício em Python: # vamos importar a biblioteca NumPy import numpy as np # função principal do programa def main(): # vamos criar a primeira matriz a = np.array([[4, 1, 3], [9, 2, 5]]) # vamos criar a segunda matriz b = np.array([[3, 10, 2], [1, 13, 4]]) # vamos somar as duas matrizes c = a + b # e agora mostramos o resultado print("A primeira matriz é:\n{0}".format(a)) print("A segunda matriz é:\n{0}".format(b)) print("A matriz soma é:\n{0}".format(c)) if __name__== "__main__": main() |
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de dados em Java - Introdução às listas ligadas em JavaQuantidade de visualizações: 16267 vezes |
Então você se interessou pelo assunto de listas ligadas em Java? Recomendo que leia esta anotação com muita atenção. É o ponto de partida para o entendimento e implementação desta estrutura de dados tão importante. Uma lista singularmente ou duplamente ligada (singly or doubly linked list) é uma lista dinâmica no sentido de que ela pode crescer ou diminuir de acordo com as necessidades do programa. As matrizes (arrays) comuns também têm seu papel assegurado no estudo das estruturas de dados. No entanto, uma de suas limitações é que seus elementos são dispostos lado a lado na memória. Isso torna a inserção de um novo elemento no meio do array uma tarefa dispendiosa, visto que os demais elementos precisam ser movidos para outras posições. Em uma lista dinâmica isso não acontece. O conceito principal das listas ligadas é a capacidade de um nó (cada elemento da lista é chamado de nó) poder apontar para um outro nó com estrutura semelhante. Veja a estrutura típica de um nó em uma lista ligada: // classe No public class No{ public int valor; public No proximo; } // fim da classe No Note que esta classe contém dois campos: um campo do tipo int que guarda o valor do nó e um campo do tipo referência apontando para um objeto do mesmo tipo que o nó atual. Isso permite a circularidade das listas, ou seja, um nó apontando para um elemento de seu mesmo tipo. Com este conhecimento já podemos criar o início de uma lista singularmente ligada, para isso só precisamos declarar uma variável do tipo No. Veja: // declara o início da lista No inicio; Até agora temos uma lista ligada vazia. A criação do primeiro elemento da lista pode ser feito da seguinte forma: public class Lista{ // declara o início da lista static No inicio = null; public static void main(String args[]){ // verifica se a lista está vazia if(inicio == null){ // reserva memória para o novo nó inicio = new No(); // a memória foi alocada com sucesso? if(inicio != null){ inicio.valor = 150; // é o primeiro nó...seu campo proximo não deve // apontar para lugar nenhum inicio.proximo = null; } } System.out.println(inicio.valor); System.exit(0); } } Aqui nós temos a criação do primeiro nó de uma lista singularmente ligada. Note como usamos a palavra-chave new para alocar memória para o nó atual. Veja também que o valor null é fornecido para o campo próximo do nó. Isso aconteceu porque temos apenas um nó. Em outras dicas desta seção abordaremos como inserir os demais nós e também listar todos os nós existentes na lista. Até lá. |
AngularJS ::: Angular / AngularJS + JavaScript ::: AngularJS Services (Serviços AngularJS) |
Aprenda a ler dados de um servidor remoto usando o serviço $http do AngularJSQuantidade de visualizações: 1590 vezes |
O serviço $http do AngularJS pode ser usado quando precisamos ler informações vindas de um servidor remoto. Esta comunicação é feita por meio do objeto XMLHttpRequest ou via JSONP. A funcionalidade deste serviço é semelhante às requisições AJAX do jQuery. Vamos ver um exemplo no qual enviamos dois números para uma página PHP e ela nos retorna a soma destes números como uma resposta JSON. Primeiro veja o código PHP que gera o JSON: <?php header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header('Content-type: application/json'); $numero1 = $_GET["numero1"]; $numero2 = $_GET["numero2"]; $soma = $numero1 + $numero2; // vamos gerar o JSON com a soma $res = json_encode(array("soma" => $soma)); // vamos retornar o JSON para a página que chamou esta echo $res; ?> Salve este código como somar.php e experimente chamá-la no seu navegador fornecendo os dois valores a serem somados. Veja: http://localhost/somar.php?numero1=37&numero2=3 Se tudo correr bem, o seguinte resultado será exibido: {"soma":40} Aqui eu usei PHP no servidor remoto, mas você pode usar Java, Perl, Node.js, ASP.NET, etc, desde que o retorno seja JSON. Agora vamos à aplicação AngularJS. Veja o código completo: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Cadastro de Alunos AngularJS</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"> </script> </head> <body> <script type="text/javascript"> // vamos criar uma nova aplicação var app = angular.module('MinhaApp', []); // vamos criar o controller HttpTesteController app.controller('HttpTesteController', function($scope, $http){ // vamos fazer a conexão remota $http.get("http://localhost/somar.php?numero1=37&numero2=3") .then(function(response){ $scope.resultado = response.data.soma; } ); }); </script> <div ng-app="MinhaApp" ng-controller="HttpTesteController"> <h1>A soma dos valores é: {{resultado}}</h1> </div> </body> </html> Abra esta página no seu navegador web. Você deverá ver um resultado parecido com: A soma dos valores é: 40 Note que usamos o método get() do serviço $http para fazer uma requisição GET para a página PHP. Em dicas dessa seção mostro como fazer requisições POST e também tratar os possíveis erros que podem ocorrer nesta operação. |
PHP ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia da semana em PHP na forma abreviada e em português usando a função gmstrftime() e o sinalizador "%a"Quantidade de visualizações: 282 vezes |
Como retornar o dia da semana em PHP na forma abreviada e em português usando a função gmstrftime() e o sinalizador "%a" Nesta dica mostrarei um código que retorna o nome do dia da semana de forma abreviada e em português usando a função gmstrftime() combinada com o sinalizador "%a". O resultado será agora como "seg", "ter", "qua", etc. Veja o código PHP completo para o exemplo: <?php // obtemos o locale padrão $locale_anterior = setlocale(LC_ALL, NULL); // ajustamos o locale para português brasileiro setlocale(LC_ALL, "pt_BR"); // obtemos o dia da semana $dia_semana = gmstrftime("%a", time()); // voltamos o locale anterior setlocale(LC_ALL, $locale_anterior); // e mostramos o resultado echo "O dia da semana é: " . $dia_semana; ?> Ao executar este código PHP nós teremos o seguinte resultado: O dia da semana é: dom |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como renomear um arquivo em PHP usando a função rename()Quantidade de visualizações: 26881 vezes |
Arquivos podem ser renomeados em PHP usando a função rename(). Esta função recebe o caminho e nome atual do arquivo e o novo caminho e nome. Se o destino for diferente, o arquivo será movido de um diretório para outro. Veja um exemplo:<?php // renomeia o arquivo testes.txt para testes2.txt $de = "/site/public_html/testes.txt"; $para = "/site/public_html/testes2.txt"; if(rename($de, $para)){ echo "Arquivo renomeado com sucesso."; } else{ echo "Não foi possível renomear o arquivo."; } ?> Ao executar este código nós teremos o seguinte resultado: Arquivo renomeado com sucesso. A função rename() da linguagem PHP retorna um valor boolean (verdadeiro ou falso) indicando se a operação foi realizada com sucesso ou se houve um erro. |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como obter a entrada do usuário usando o método raw_input() - Atualizado para Python 3.0Quantidade de visualizações: 8622 vezes |
Até pouco tempo era possível usar o método raw_input(), nativo do Python, para ler a entrada do usuário. O código abaixo, por exemplo, funcionava corretamente no Python 2.5: # obtém o nome do usuário nome = raw_input("Por favor, informe seu nome: ") print "Ola, " + nome + "! Voce tambem gosta de Python?" No Python 3.0 em diante, a execução deste código exibe o seguinte erro de tempo de execução: Exception has occurred: NameError name 'raw_input' is not defined File "C:\estudos_python\estudos.py", line 4, in main nome = raw_input("Por favor, informe seu nome: ") File "C:\estudos_python\estudos.py", line 7, in <module> main() A correção para esta exceção, é usar somente a função input(). Veja: def main(): nome = input("Por favor, informe seu nome: ") print("Olá, " + nome + "! Voce tambem gosta de Python?") if __name__== "__main__": main() A saída deste código será parecida com: Por favor, informe seu nome: Osmar Olá, Osmar! Voce tambem gosta de Python? |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Como calcular lucro mensal de uma empresa em Java - O lucro de uma empresa é dado por L(x) = 10x - 5000, onde x é a quantidadeQuantidade de visualizações: 792 vezes |
Pergunta/Tarefa: O lucro de uma empresa é dado por L(x) = 10x - 5000, onde x é a quantidade de produtos vendidos num determinado mês e 5000 são os custos de execução do trabalho da empresa. Escreva um programa Java que leia a quantidade de produtos vendidos como um número inteiro e calcule e mostre o lucro mensal dessa empresa. Sua saída deverá ser parecida com: Informe a quantidade de produtos vendidos: 950 O lucro da empresa foi: R$ 4500.0 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) { // variáveis usadas na resolução do problema int quant_produtos_vendidos; double lucro; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir a quantidade de produtos vendidos System.out.print("Informe a quantidade de produtos vendidos: "); quant_produtos_vendidos = Integer.parseInt(entrada.nextLine()); // vamos calcular o lucro da empresa lucro = (10 * quant_produtos_vendidos) - 5000; // e mostramos o resultado System.out.println("O lucro da empresa foi: R$ " + lucro); } } |
AutoCAD Civil 3D ::: Dicas & Truques ::: Coordinated Geometry Points (COGO Points) |
Como criar pontos COGO no AutoCAD Civil 3DQuantidade de visualizações: 440 vezes |
Nesta dica mostrarei os passos necessários para a criação de COGO points no Civil 3D usando a opção Manual do Point Creation Tools. Siga os passos abaixo atentamente: A) Vá até a guia Home. Em seguida acesse o painel Create Ground Data. B) No painel Create Ground Data, acesse a opção Points -> Point Creation Tools. C) Será aberto um painel flutuante chamado Create Points. Na primeira opção deste painel, clique a seta ao lado do primeiro botão e marque a opção Manual (talvez já esteja marcada). D) Agora é só clicar no botão (ao lado da seta que você acabou de acessar). Na janela de comandos do Civil 3D nós veremos a mensagem: CREATEPOINTMANUAL Please specify a location for the new point: Você pode clicar na tela de desenho ou informar as coordenadas x e y manualmente, por exemplo, 50,100 (o valor x para a coordenada x e o valor 100 para a coordenada y, sem espaços e com a vírgula separando os dois valores). Note que o x é o Easting (distância para o Leste) e y é o Northing (distância para o Norte). Verifique se nas suas configurações esta é a ordem padrão. E) Depois de informar as coordenadas x e y do COGO point, uma mensagem será exibida solicitando a descrição do ponto: CREATEPOINTMANUAL Enter a point description <.>: Aqui podemos informar o nome do ponto, por exemplo, BUEIRO 5. F) Após informarmos a descrição do ponto, a seguinte mensagem é exibida: CREATEPOINTMANUAL Specify a point elevation <.>: Aqui nós precisamos informar a elevação do ponto e pressionar Enter. Nesse momento o novo COGO Point é criado e o Civil 3D reiniciará o processo, ou seja, será solicitada a localização do próximo ponto. Se você não quiser continuar criando novos pontos, basta pressionar a tecla Enter. Para visualizar os pontos criados, vá até o Painel Toolspace, aba Prospector e acesse o item Points. |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string em um valor numérico inteiro em Delphi usando as funções StrToInt(), TryStrToInt() e StrToIntDef()Quantidade de visualizações: 33655 vezes |
Em algumas situações precisamos converter strings em valores numéricos do tipo inteiro. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos. Vamos começar com a função StrToInt() da unit SysUtils. Esta função recebe uma string representando um valor inteiro válido e retorna um valor inteiro. Veja o exemplo: procedure TForm1.Button1Click(Sender: TObject); var valor1, valor2, soma: Integer; begin // vamos receber as strings dos TEdits e converter // seus valores para inteiros valor1 := StrToInt(Edit1.Text); valor2 := StrToInt(Edit2.Text); // vamos obter a soma dos dois valores soma := valor1 + valor2; // vamos exibir o resultado. Note o uso de IntToStr() para // converter o valor inteiro em string ShowMessage('A soma é: ' + IntToStr(soma)); end; Note que, se a string sendo convertida possuir um valor inteiro inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToInt(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Integer que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja: procedure TForm1.Button1Click(Sender: TObject); var valor: Integer; begin // vamos tentar converter o valor da caixa de texto // em um inteiro if TryStrToInt(Edit1.Text, valor) then ShowMessage('Conversão efetuada com sucesso.') else ShowMessage('Erro na conversão'); end; Há ainda uma terceira possibilidade: usar a função StrToIntDef(). Esta função funciona exatamente da mesma forma que StrToInt(), exceto que agora, se houver um erro de conversão, um valor inteiro padrão será retornado. Veja: procedure TForm1.Button1Click(Sender: TObject); var valor: Integer; begin // vamos converter o valor da caixa de texto // em um inteiro. Se a conversão não puder ser feita // o valor 10 será atribuído à varial valor valor := StrToIntDef(Edit1.Text, 10); // vamos exibir o resultado ShowMessage(IntToStr(valor)); end; Caso você precise trabalhar com inteiros de 64 bits, poderá usar as funções StrToInt64(), StrToInt64Def() e TryStrToInt64(). Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm |
Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 AQuantidade de visualizações: 1172 vezes |
Pergunta/Tarefa: Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp). Sua saída deverá ser parecida com: Informe a corrente: 10 Informe a tensão: 200 A resistência elétrica é: 20.0 Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão: \[R = \frac{U}{I} \] Onde: R = Resistência elétrica (medida em ohms (Ω)). U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb). I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo). Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor: package estudos; 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 os dados System.out.print("Informe a corrente: "); double corrente = Double.parseDouble(entrada.nextLine()); System.out.print("Informe a tensão: "); double tensao = Double.parseDouble(entrada.nextLine()); // agora vamos calcular a resistência double resistencia = tensao / corrente; // e mostramos o resultado System.out.println("A resistência elétrica é: " + resistencia); } } |
Nossas 20 dicas & truques de programação mais populares |
PHP - Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHP |
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 |