![]() |
|||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
|
|||||
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar a existência de uma substring em uma string usando a função strstr() da linguagem CQuantidade de visualizações: 10206 vezes |
Nesta dica mostro como pesquisar uma substring dentro de uma string. Para isso usaremos a função strstr() do header string.h. Esta função aceita a string e a substring que queremos pesquisar e retorna NULL se a substring não for encontrada. Caso esta esteja contida na string, um ponteiro para o caractere inicial de sua ocorrência é retornado. Veja o código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase[] = "Gosto muito de Java e Python";
// vamos pesquisar a substring "Java" na string
char *res = strstr(frase, "Java");
// se for NULL a substring não foi encontrada
if(res == NULL)
printf("A substring nao foi encontrada");
else
printf("A substring foi encontrada: %s", res);
puts("\n\n");
system("PAUSE");
return 0;
}
Note que neste exemplo, a substring é localizada e o conteúdo de res é o restante da string a partir do primeiro caractere da substring pesquisada. |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como gerar um vetor com valores igualmente espaçados usando a função linspace() da biblioteca NumPy do Python - Python NumPy para EngenhariaQuantidade de visualizações: 2667 vezes |
|
Em algumas situações nós precisamos de vetores e matrizes com valores igualmente espaçados entre um determinado intervalo. Para isso nós podemos usar a função linspace() da biblioteca NumPy do Python. Esta função exige, entre vários argumentos, o início e o fim do intervalo. Vamos ver um exemplo? Observe o trecho de código a seguir:
# vamos importar a biblioteca NumPy
import numpy as np
def main():
valores = np.linspace(2, 5, num=10)
print("O vetor gerado foi: ", valores)
if __name__== "__main__":
main()
Este código Python vai gerar o seguinte resultado: O vetor gerado foi: [2. 2.33333333 2.66666667 3. 3.33333333 3.66666667 4. 4.33333333 4.66666667 5. ] Note que informamos o valor inicial como 2 e o valor final como 5, e definimos a quantidade de elementos gerados como 10 (se omitida, 50 valores serão gerados). Se não quisermos que o valor final do intervalo seja incluído na amostra, basta informamos endpoint=False como argumento para a função linspace(). |
PHP ::: Dicas & Truques ::: Data e Hora |
Datas e horas em PHP - Como saber se um determinado ano é bissexto usando PHPQuantidade de visualizações: 179 vezes |
|
Nesta dica veremos como é possível usar a função date() da linguagem PHP para verificar se um determinado ano é bissexto. Note como combinamos o parâmetro "L" da função date() e a função mktime() contendo o ano que queremos testar. Veja o código PHP completo para o exemplo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
$ano = "2020";
$bissexto = date("L", mktime(0, 0, 0, 1, 1, $ano));
if($bissexto == 0){
echo "O ano informado não é bissexto";
}
else{
echo "O ano informado é bissexto";
}
?>
</body>
</html>
Ao executar este código PHP nós teremos o seguinte resultado: O ano informado é bissexto |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string termina com uma determinada substring em JavaScript usando a função endsWith()Quantidade de visualizações: 1930 vezes |
|
O método endsWith() da linguagem JavaScript foi adicionado ao objeto String na revisão ECMAScript 2015, ou ES6, também chamado de ECMAScript 6. Este método é chamado diretamente em uma variável do tipo string e retorna true se a palavra, frase ou texto terminar com uma substring específica e false em caso contrário. Veja um exemplo no qual verificamos se uma frase termina com a palavra "JavaScript":
<!doctype html>
<html>
<head>
<title>JavaScript 6</title>
</head>
<body>
<script type="text/javascript">
var frase = "Eu prefiro programar em JavaScript";
if(frase.endsWith("JavaScript")){
document.writeln("A frase termina com a palavra JavaScript");
}
else{
document.writeln("A frase não termina com a palavra JavaScript");
}
</script>
</body>
</html>
Ao executarmos este código JavaScript nós teremos o seguinte resultado: A frase termina com a palavra JavaScript É importante ter em mente que a função endsWith() diferencia letras maiúsculas de letras minúsculas. |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como remover todos os espaços de uma string em JavaScript usando uma função personalizada remover_espacos()Quantidade de visualizações: 325 vezes |
|
Nesta dica mostrarei como é possível escrever uma função JavaScript que remove todos os espaços de uma string. É claro que você poderá, com uma pequena modificação, alterá-la para que ela substitua quais outros caracteres. Esse é também um bom exercício para a criação de funções na linguagem JavaScript. Veja o código completo:
<!doctype html>
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// função personalizada que remove os
// espaços de uma string
function remover_espacos(str){
var r = "";
for(var i = 0; i < str.length; i++){
if(str.charAt(i) != ' '){
r += str.charAt(i);
}
}
return r;
}
</script>
<script type="text/javascript">
// vamos mostrar a frase normal
var frase = "Gosto muito de JavaScript e HTML";
document.write(frase + "<br>");
// vamos remover os espaços
frase = remover_espacos(frase);
// e agora vamos mostrar o resultado
document.write(frase);
</script>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Gosto muito de JavaScript e HTML GostomuitodeJavaScripteHTML |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
C# para iniciantes - Como usar o laço for da linguagem C#Quantidade de visualizações: 12251 vezes |
|
O laço for em C# é usado quando queremos executar uma instrução ou um bloco de instruções um determinado número de vezes. Este laço é composto de três partes: Inicialização: Laços for são controlados por uma variável de controle. Nesta parte nós definimos o tipo de dados e o valor inicial desta variável. Esta parte do laço é executada somente na primeira iteração. Teste da condição de parada: Cada iteração do laço acontece mediante uma condição. Esta condição é avaliada e, caso o retorno seja satisfatório, a execução do laço continua. O resultado da avaliação desta parte do laço deve ser true ou false. Tenha em mente que, se a condição já for falsa na primeira iteração, o laço nunca será executado. Incremento ou decremento da variável de controle: Esta parte do laço é executada após cada iteração. É aqui que incrementamos ou decrementamos o valor da variável de controle. Esta parte é importante. Não manipular o valor da variável de controle pode resultar em laços infinitos. Veja um laço for no qual contamos de 0 a 10:
static void Main(string[] args){
for(int i = 0; i <= 10; i++){
Console.WriteLine("{0}", i);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Veja agora um laço for que exibe os números pares de 0 a 10:
static void Main(string[] args){
for(int i = 0; i <= 10; i += 2){
Console.WriteLine("{0}", i);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
E finalmente, um laço for que conta de 10 até 0:
static void Main(string[] args){
for(int i = 10; i >= 0; i--){
Console.WriteLine("{0}", i);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Com exceção da parte do teste de condição de parada, as demais partes de um laço for podem conter múltiplas instruções separadas por vírgulas. Veja:
static void Main(string[] args){
for(int i = 0, x = 3; i < 10; i++, x *= 4){
Console.WriteLine("{0}", i + x);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
|
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em C++ - Como efetuar cálculos de porcentagem em C++Quantidade de visualizações: 40438 vezes |
|
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em C++. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em C++:
// Algoritmo que calcula porcentagem em C++
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
double valor, percentual, valor_final;
valor = 178.00; // valor original
percentual = 15.0 / 100.0; // 15%
valor_final = valor + (percentual * valor);
// mostra o resultado
cout << "O valor final do produto é: " << valor_final;
// O resultado será 204,70
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em C++:
// Algoritmo que calcula porcentagem em C++
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
double valor, percentual, valor_final;
valor = 250.00; // valor original
percentual = 8.0 / 100.0; // 8%
valor_final = valor - (percentual * valor);
// mostra o resultado
cout << "O valor final do produto é: " << valor_final;
// O resultado será 230,00
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em C++:
// Algoritmo que calcula porcentagem em C++
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
double perguntas, acertos;
perguntas = 90.0;
acertos = 72.0;
// mostra a porcentagem de acertos
cout << "Porcentagem de acertos: " << ((acertos / perguntas) * 100) << "%";
// mostra a porcentagem de erros
cout << "\nPorcentagem de erros: " << ((perguntas - acertos) / perguntas)
* 100 << "%";
// Os resultados serão 80% e 20%
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em C++:
// Algoritmo que calcula porcentagem em C++
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
double valor_anterior, novo_valor, porcentagem_lucro;
valor_anterior = 300.0; // valor anterior
novo_valor = 340.0; // valor novo
// calcula a porcentagem de lucro
// efetua o cálculo
porcentagem_lucro = ((novo_valor * 100) / valor_anterior) - 100;
cout << "A porcentagem de lucro foi de: " << porcentagem_lucro << "%";
// O resultado será 13,33
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em C++:
// Algoritmo que calcula porcentagem em C++
#include <iostream>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
double valor, percentual, comissao;
valor = 70.0; // valor do produto
percentual = 5.0 / 100.0; // 5%
// calcula a comissão
comissao = percentual * valor;
// mostra o resultado
cout << "O valor repassado ao vendedor é: " << comissao;
// O resultado será 3,5
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Delphi ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cateto adjascente dadas as medidas da hipotenusa e do cateto oposto em DelphiQuantidade de visualizações: 1752 vezes |
|
Nesta dica mostrarei como podemos tirar proveito do Teorema de Pitágoras para obter a medida do cateto adjascente quando temos as medidas da hipotenusa e do cateto oposto. Este teorema diz que "o quadrado da hipotenusa é igual à soma dos quadrados dos catetos", o que torna a nossa tarefa, na linguagem Delphi, muito fácil. Comece observando a imagem a seguir: ![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. A medida da hipotenusa é, sem arredondamentos, 36.056 metros. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos que fazer é mudar a fórmula para: \[b^2 = c^2 - a^2\] Veja que agora o quadrado do cateto adjascente é igual ao quadrado da hipotenusa menos o quadrado do cateto oposto. Não se esqueça de que a hipotenusa é o maior lado do triângulo retângulo. Veja agora como esse cálculo é feito em linguagem Delphi:
procedure TForm2.Button1Click(Sender: TObject);
var
a, b, c: Real;
begin
c := 36.056; // medida da hipotenusa
a := 20; // medida do cateto oposto
// agora vamos calcular a medida da cateto adjascente
b := sqrt(sqr(c) - sqr(a));
// e mostramos o resultado
Edit1.Text := 'A medida do cateto adjascente é: ' +
FloatToStr(b);
end;
Note que este cálculo foi feito a partir do evento Click de um botão Button1 e o resultado foi exibido na propriedade Text de uma caixa de texto Edit1. Ao executar este código Delphi nós teremos o seguinte resultado: A medida do cateto adjascente é: 30,0005855942847 Como podemos ver, o resultado retornado com o código Delphi confere com os valores da imagem apresentada. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Java - Como contar de 0 até 10 usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 5218 vezes |
|
Pergunta/Tarefa: Escreva um método Java recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura:
public static void contarRecursivamente(int 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 Java:
package exercicio;
public class Exercicio {
public static void main(String[] args) {
// efetua uma chamada ao método recursivo
// fornecendo o primeiro valor
contarRecursivamente(0);
}
// método recursivo que conta de 0 até 10;
public static void contarRecursivamente(int n){
// vamos exibir o número atual
System.out.print(n + " ");
// devemos prosseguir com a recursividade?
if(n < 10){
// incrementa o valor de n
n++;
// e faz uma nova chamada recursiva
contarRecursivamente(n);
}
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Ler um número inteiro na faixa 0-999 e mostrar a soma de seus dígitosQuantidade de visualizações: 13208 vezes |
|
Pergunta/Tarefa: Escreva um programa Java 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. 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 Java console:
public static void main(String[] args){
// não se esqueça de adicionar um import para a classe Scanner
// import java.util.Scanner;
// vamos criar um objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos solicitar ao usuário que informe um valor inteiro
// na faixa 0 a 999 (incluindo)
System.out.print("Informe um valor inteiro (0-999): ");
// vamos ler o valor informado
int valor = Integer.parseInt(entrada.next());
// vamos verificar se o valor está na faixa permitida
if(valor < 0 || valor > 999){
System.out.println("Valor fora da faixa permitida");
System.exit(0);
}
// 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
System.out.println("A soma dos dígitos é: " + soma);
}
|
Nossas 20 dicas & truques de programação mais populares |
|
PHP - Como converter graus em radianos em PHP usando a função deg2rad() - Trigonometria para iniciantes |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como retornar uma coleção de nós filhos de um elemento HTML usando a propriedade childNodes do DOM do JavaScript JavaScript - Como retornar o código ASCII ou Unicode associado a um caractere em JavaScript usando a função charCodeAt() Delphi - Como usar o Delphi para verificar se um determinado processo do Windows está sendo executado Python - Como usar a função type() da linguagem Python para descobrir o tipo de dados de uma variável |
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 |






