Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
|
|
||
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como filtrar os elementos de um array em JavaScript usando a função filter() - Vetores e matrizes em JavaScriptQuantidade de visualizações: 2860 vezes |
|
O método filter(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) nos permite criar um novo vetor contendo apenas os elementos que passarem em um determinado teste, que pode ser uma função de usuário personalizada. Esta função é uma função de callback que será chamada uma vez para cada um dos elementos do vetor. Para melhor entendimento, comece analisando o trecho de código abaixo:
<script type="text/javascript">
function maiorQue10(valor){
return valor > 10;
}
// vamos criar um vetor de inteiros
var valores = [2, 6, 32, 9, 3, 21];
// vamos filtrar o vetor para obter apenas os
// valores maiores que 10
var maiores10 = valores.filter(maiorQue10);
// vamos mostrar o resultado
window.alert(maiores10);
</script>
Neste código usamos o método filter() para gerar um novo vetor contendo apenas os elementos com valores maiores que 10. Veja que fornecemos uma função como argumento para o método filter() e, dentro dessa função, nós retornamos true ou false para que a filtragem inclua ou não o valor sendo analisado no momento. Uma função passada para o método filter() pode conter os seguintes argumentos (nessa mesma ordem): a) O valor do item; b) O índice do item (opcional); c) O vetor a partir do qual o método filter() está sendo chamado (opcional). Veja mais um trecho de código no qual retornamos os elementos de um array maiores que 10 e precedidos de um número par:
<script type="text/javascript">
function maiorQue10PrecPar(valor, indice, vetor){
// o primeiro elemento não é precedido por
// outro. Vamos descartá-lo
if(indice == 0){
return false;
}
// é precedido por um número par?
if(vetor[indice - 1] % 2 == 0){
// é maior que 10?
return valor > 10;
}
// nenhuma das condições acima?
return false;
}
// vamos criar um vetor de inteiros
var valores = [2, 6, 32, 9, 3, 21];
// vamos filtrar o vetor para obter apenas os
// valores maiores que 10 e precedidos por um
// número par
var maiores10 = valores.filter(maiorQue10PrecPar);
// vamos mostrar o resultado
window.alert(maiores10);
</script>
Execute este código e verá que apenas o valor 32 será retornado, pois ele é o único maior que 10 e precedido por um número par. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valoresQuantidade de visualizações: 15157 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para contar de 0 até 10 e somar todos estes valores, ou seja, 0 + 1 + 2 + 3 + etc. Como resultado seu programa deverá exibir o valor 55. Resposta/Solução: A primeira providência para a realização deste exercício é declarar uma variável soma do tipo int e atribuir a ela o valor inicial 0: // variável int que gardará a soma dos valores int soma = 0; Em seguida faremos um laço for repetir de 0 até 10 e, a cada repetição, nós obtemos o valor da variável de controle e a somamos ao valor atual da variável soma. Veja:
public static void main(String[] args){
// laço for que conta de 0 até 10 e soma todos os valores
// variável int que gardará a soma dos valores
int soma = 0;
for(int i = 0; i <= 10; i++){
// vamos somar mais este valor
soma = soma + i;
// poderia também ser
// soma += i;
}
// vamos exibir a soma dos valores
System.out.println("A soma dos valores de 0 a 10 é: " + soma);
}
|
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular vetor unitário em Python - Python para Física e EngenhariaQuantidade de visualizações: 1061 vezes |
|
Um vetor unitário ou versor num espaço vetorial normado é um vetor (mais comumente um vetor espacial) cujo comprimento ou magnitude é 1. Em geral um vetor unitário é representado por um "circunflexo", assim: __$\hat{i}__$. O vetor normalizado __$\hat{u}__$ de um vetor não zero __$\vec{u}__$ é o vetor unitário codirecional com __$\vec{u}__$. O termo vetor normalizado é algumas vezes utilizado simplesmente como sinônimo para vetor unitário. Dessa forma, o vetor unitário de um vetor __$\vec{u}__$ possui a mesma direção e sentido, mas magnitude 1. Por magnitude entendemos o módulo, a norma ou comprimento do vetor. Então, vejamos a fórmula para a obtenção do vetor unitário: \[\hat{u} = \dfrac{\vec{v}}{\left|\vec{v}\right|}\] Note que nós temos que dividir as componentes do vetor pelo seu módulo de forma a obter o seu vetor unitário. Por essa razão o vetor nulo não possui vetor unitário, pois o seu módulo é zero, e, como sabemos, uma divisão por zero não é possível. Veja agora o código Python que pede as coordenadas x e y de um vetor 2D ou R2 e retorna o seu vetor unitário:
# vamos precisar do módulo Math
import math
# função principal do programa
def main():
# vamos ler os valores x e y
x = float(input("Informe o valor de x: "))
y = float(input("Informe o valor de y: "))
# o primeiro passo é calcular a norma do vetor
norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2))
# agora obtemos as componentes x e y do vetor unitário
u_x = x / norma
u_y = y / norma
# mostra o resultado
print("O vetor unitário é: (x = {0}; y = {1})".format(u_x, u_y))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o valor de x: -4 Informe o valor de y: 6 O vetor unitário é: (x = -0.5547001962252291; y = 0.8320502943378437) Veja agora uma modificação deste código para retornarmos o vetor unitário de um vetor 3D ou R3, ou seja, um vetor no espaço:
# vamos precisar do módulo Math
import math
# função principal do programa
def main():
# vamos ler os valores x, y e z
x = float(input("Informe o valor de x: "))
y = float(input("Informe o valor de y: "))
z = float(input("Informe o valor de z: "))
# o primeiro passo é calcular a norma do vetor
norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2) + math.pow(z, 2))
# agora obtemos as componentes x, y e z do vetor unitário
u_x = x / norma
u_y = y / norma
u_z = z / norma
# mostra o resultado
print("O vetor unitário é: (x = {0}; y = {1}; z = {2})".format(
u_x, u_y, u_z))
if __name__== "__main__":
main()
Ao executarmos este novo código nós teremos o seguinte resultado: Informe o valor de x: 3 Informe o valor de y: 7 Informe o valor de z: 5 O vetor unitário é: (x = 0.329292779969071; y = 0.7683498199278324; z = 0.5488212999484517) |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em PHP - Como usar construtores em suas classes PHPQuantidade de visualizações: 11987 vezes |
|
Muitas vezes precisamos inicializar propriedades de um objeto de uma classe no momento em que este é criado. Para isso podemos usar um método construtor. Um método construtor, que em PHP é definido usando-se __construct() é chamado no exato momento em que efetuamos uma chamada a new. Veja um exemplo no qual exibimos uma mensagem alertando que um objeto de uma classe acaba de ser criado:
<?
class Pessoa{
public function __construct(){
echo "Fui criada";
}
}
$pessoa = new Pessoa;
?>
Execute este código e veja o resultado. Note que um construtor deve, em raríssimas ocasiões, ser marcado com o modificador public. Além disso, um construtor só se torna realmente útil quando o usamos para inicializar as propriedades do objeto recém-criado. Veja:
<?
class Pessoa{
public $nome;
public function __construct($nome){
$this->nome = $nome;
}
}
$pessoa = new Pessoa("Osmar J. Silva");
echo $pessoa->nome;
?>
Aqui nós fornecemos o valor para a propriedade $nome na mesma instrução que cria a instância da classe. |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como usar um laço for para pesquisar valores nos itens de uma ListBox do DelphiQuantidade de visualizações: 13058 vezes |
Nesta dica mostro como é possível pesquisar valores nos itens de uma ListBox. Note que, se o valor pesquisado for encontrado, nós o selecionamos na lista e informamos seu índice. Se não for encontrado nós ajustamos uma variável Boolean e avisamos do não sucesso da operação. Finalmente note que este código faz diferenciação de letras maiúsculas e minúsculas, ou seja, Osmar será diferente de OSMAR. Veja o código:
procedure TForm1.Button2Click(Sender: TObject);
var
i: Integer;
pesquisa: string;
encontrou: Boolean;
begin
// vamos solicitar o texto a ser pesquisado na ListBox
pesquisa := InputBox('Pesquisar', 'Informe o texto', '');
encontrou := false;
// vamos usar um laço for para percorrer todos os itens
// da ListBox
for i := 0 to ListBox1.Count - 1 do
begin
if ListBox1.Items[i] = pesquisa then
begin
encontrou := true;
// vamos selecionar o item encontrado
ListBox1.ItemIndex := i;
ShowMessage('O texto pesquisado foi encontrado ' +
'no índice ' + IntToStr(ListBox1.ItemIndex));
end;
end;
// não foi encontrado?
if not encontrou then
begin
ShowMessage('O texto pesquisado não foi encontrado.');
end;
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





