JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como chamar uma função de callback para os elementos individuais de um array usando a função forEach() - Vetores e matrizes em JavaScriptQuantidade de visualizações: 2054 vezes |
|
O método forEach(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) é usado quando queremos acessar os elementos de um vetor individualmente e chamar, para cada um deles, uma função de callback personalizada. Veja no trecho de código abaixo como usar a função forEach() para obter a soma de todos os elementos maiores ou iguais a 20:
<script type="text/javascript">
function obterSoma(valor, indice, vetor){
if(valor >= 20){
soma = soma + valor;
}
}
var valores = new Array(21, 5, 30, 7, 12, 3);
// vamos obter a soma dos valores maiores ou iguais a 20
var soma = 0;
// percorremos os elementos do vetor individualmente
valores.forEach(obterSoma);
window.alert("A soma é: " + soma);
</script>
Uma função passada para o método forEach() 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 forEach() está sendo chamado (opcional). Veja mais um código no qual obtemos a soma dos elementos cujos valores sejam maiores que seu antecessor (com exceção do primeiro elemento):
<script type="text/javascript">
function obterSoma(valor, indice, vetor){
if(indice == 0){
soma = soma + valor;
}
else{
if(valor > vetor[indice - 1]){
soma = soma + valor;
}
}
}
var valores = new Array(8, 5, 30, 7, 12, 3);
// vamos dos elementos cujos valores sejam
// maiores que seu antecessor (com exceção do
// primeiro elemento)
var soma = 0;
// percorremos os elementos do vetor individualmente
valores.forEach(obterSoma);
window.alert("A soma é: " + soma);
</script>
O resultado será 50, pois obtemos a soma dos valores 8, 30 e 12. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercício Resolvido de Java - A classe Produto (construtores, métodos, getters e setters e encapsulamento)Quantidade de visualizações: 17657 vezes |
|
Pergunta/Tarefa: Crie uma classe Produto para representar um produto do mundo real. Sua classe deverá conter os seguintes atributos e métodos: 1) Um campo de dados privado do tipo String chamado nome, que representará o nome do produto. 2) Um campo de dados privado do tipo double chamado precoCusto, que guardará o preço de custo do produto. 3) Um campo de dados privado do tipo double chamado precoVenda, que guardará o preço de venda do produto. 4) Um campo de dados privado do tipo double chamado margemLucro, que guardará a margem de lucro do produto. 5) Métodos públicos get() e set() para os atributos acima. Modifique o método setPrecoVenda() para que o preço de venda não seja inferior ao preço de compra. Caso isso aconteça, exiba uma mensagem alertando o usuário. 6) Crie um método chamado calcularMargemLucro() que calculará a margem de lucro do produto. 7) Crie um método chamado getMargemLucroPorcentagem() que retornará a margem de lucro como percentual. Para finalizar, no método main() da classe de teste, crie um novo objeto da classe Produto, peça para o usuário informar os preços de custo e de venda e exiba a margem de lucro em moeda e em percentual. Sua saída deverá ser algo parecido com o mostrado na imagem abaixo: Informe o preço de custo: 120 Informe o preço de venda: 195 Preço de custo: 120.0 Preço de Venda: 195.0 Margem de Lucro: 75.0 Margem de Lucro Percentual (%): 62.5 Veja a resolução comentada deste exercício usando Java console: Produto.java:
package estudos;
public class Produto{
private String nome; // nome do produto
private double precoCusto; // preço de custo do produto
private double precoVenda; // preço de venda do produto
private double margemLucro; // margem de lucro do produto
// obtém a margem de lucro
public double getMargemLucro(){
return margemLucro;
}
// define a margem de lucro
public void setMargemLucro(double margemLucro){
this.margemLucro = margemLucro;
}
// obtém o nome do produto
public String getNome(){
return nome;
}
// define o nome do produto
public void setNome(String nome){
this.nome = nome;
}
// obtém o preço de custo
public double getPrecoCusto(){
return precoCusto;
}
// define o preço de custo
public void setPrecoCusto(double precoCusto){
this.precoCusto = precoCusto;
}
// obtém o preço de venda
public double getPrecoVenda(){
return precoVenda;
}
// define o preço de venda
public void setPrecoVenda(double precoVenda){
// o preço de venda não pode ser menor que o preço de custo
if(precoVenda < this.precoCusto){
System.out.println("O preço de venda não pode ser inferior ao de custo");
}
else{
this.precoVenda = precoVenda;
}
}
// calcula a margem de lucro
public void calcularMargemLucro(){
this.margemLucro = this.precoVenda - this.precoCusto;
}
// retorna a margem de lucro em porcentagem
public double getMargemLucroPorcentagem(){
return (this.margemLucro / this.precoCusto) * 100;
}
}
Veja agora o método main() que nos permite testar a funcionalidade da classe Produto:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos criar um novo objeto da classe Produto
Produto p = new Produto();
// vamos ler o preço de custo
System.out.print("Informe o preço de custo: ");
p.setPrecoCusto(Double.parseDouble(entrada.nextLine()));
// vamos ler o preço de venda
System.out.print("Informe o preço de venda: ");
p.setPrecoVenda(Double.parseDouble(entrada.nextLine()));
// vamos calcular a margem de lucro
p.calcularMargemLucro();
// vamos exibir os resultados
System.out.println("Preço de custo: " + p.getPrecoCusto());
System.out.println("Preço de Venda: " + p.getPrecoVenda());
System.out.println("Margem de Lucro: " + p.getMargemLucro());
System.out.println("Margem de Lucro Percentual (%): " +
p.getMargemLucroPorcentagem());
}
}
|
Rust ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string é um valor numérico em Rust usando a função is_numeric()Quantidade de visualizações: 748 vezes |
|
Nesta dica mostrarei como podemos verificar se uma string possui um valor numérico válido, ou seja, é composta apenas pelos dígitos de 0 a 9. Note que criei uma função validar_string_numerica() que recebe a string e retorna um valor bool, indicando se a string é um valor númerico válido ou não. Note também o uso do método is_numeric() do tipo char para testar os caracteres individuais da string. Veja o código Rust completo para o exemplo:
// função principal do programa Rust
fn main() {
// vamos declarar uma string
let numero = "3a2221";
// vamos testar se a string é numérica
if validar_string_numerica(numero.to_string()){
println!("A string {} é numérica", numero);
}
else{
println!("A string {} não é numérica", numero);
}
}
// função quer permite verificar se uma string
// possui um valor numérico válido
fn validar_string_numerica(str: String) -> bool {
// vamos varrer os caracteres da string
for c in str.chars() {
// o caractere atual não é numérico?
if !c.is_numeric() {
return false;
}
}
// se chegou até aqui, a string é numérica
return true;
}
|
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em C# usando a função Sqrt() da classe MathQuantidade de visualizações: 31358 vezes |
|
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função Sqrt() da classe Math da linguagem C#. Veja o código completo:
using System;
namespace Estudos {
class Principal {
// função principal do programa C#
static void Main(string[] args) {
// vamos ler o valor
Console.Write("Informe o valor desejado: ");
double valor = Double.Parse(Console.ReadLine());
// vamos calcular a raiz quadrada
double raiz = Math.Sqrt(valor);
// e agora mostramos o resultado
Console.WriteLine("A raiz quadrada do valor informado é: " +
raiz);
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função Sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como obter entrada do usuário em seus códigos JavaScript usando a função prompt() do objeto window Python - Como criar arrays (vetores e matrizes) usando o objeto ndarray da biblioteca Numpy do Python |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Firebird - Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de música |
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 |






