Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
|
|
||
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como usar a função ReverseString() do Delphi para inverter o texto de uma palavra ou frase em Delphi - Invertendo o conteúdo de uma string usando DelphiQuantidade de visualizações: 26351 vezes |
|
Em algumas situações precisamos inverter o conteúdo de uma string, ou seja, alterar a ordem de seus caracteres de forma que a string fique de trás para frente. Em Delphi isso pode ser feito com o auxílio da função ReverseString(). Esta função recebe uma string e devolve outra string invertida. Veja um exemplo: procedure TForm1.Button1Click(Sender: TObject); var nome: string; // declara uma variável do tipo string begin nome := 'Osmar J. Silva'; // vamos inverter o conteúdo da string nome := ReverseString(nome); // vamos exibir o resultado ShowMessage(nome); end; Não se esqueça de adicionar a unit StrUtils na cláusula uses de seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
JavaScript ::: Dicas & Truques ::: Validação de Formulários |
Validação de formulários em JavaScript - Como validar CPF (com pontos e hífen) usando expressões regularesQuantidade de visualizações: 44931 vezes |
|
Nesta dica mostrarei como podemos escrever uma função JavaScript para a validação de números de CPF, dessa vez usando pontos e o hífen. Isso é interessante porque, muitas vezes, o usuário copia seu CPF de outro lugar e cola nas caixas de texto de nossas aplicações. A pagina HTML que contém o formulário se parece com a imagem abaixo: ![]() E agora veja o código JavaScript completo para o exemplo, incluindo o código HTML para a página:
<html>
<head>
<title>Estudando JavaScript</title>
<style type="text/css">
input {margin-bottom: 3px; margin-top: 3px}
</style>
<script type="text/javascript">
function validarCPF(){
var cpf = document.cadastro.cpf.value;
var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
if(!filtro.test(cpf)){
window.alert("CPF inválido. Tente novamente.");
return false;
}
cpf = remove(cpf, ".");
cpf = remove(cpf, "-");
if(cpf.length != 11 || cpf == "00000000000" ||
cpf == "11111111111" ||
cpf == "22222222222" || cpf == "33333333333" ||
cpf == "44444444444" ||
cpf == "55555555555" || cpf == "66666666666" ||
cpf == "77777777777" ||
cpf == "88888888888" || cpf == "99999999999"){
window.alert("CPF inválido. Tente novamente.");
return false;
}
soma = 0;
for(i = 0; i < 9; i++){
soma += parseInt(cpf.charAt(i)) * (10 - i);
}
resto = 11 - (soma % 11);
if(resto == 10 || resto == 11){
resto = 0;
}
if(resto != parseInt(cpf.charAt(9))){
window.alert("CPF inválido. Tente novamente.");
return false;
}
soma = 0;
for(i = 0; i < 10; i ++){
soma += parseInt(cpf.charAt(i)) * (11 - i);
}
resto = 11 - (soma % 11);
if(resto == 10 || resto == 11){
resto = 0;
}
if(resto != parseInt(cpf.charAt(10))){
window.alert("CPF inválido. Tente novamente.");
return false;
}
window.alert("CPF válido. Muito obrigado.");
return true;
}
function remove(str, sub) {
i = str.indexOf(sub);
r = "";
if (i == -1) return str;
r += str.substring(0,i) + remove(str.substring(i + sub.length), sub);
return r;
}
</script>
</head>
<body>
<form name="cadastro" onSubmit="return validarCPF()">
Informe seu CPF (use os pontos e o hífen):<br>
<input type="text" maxlength="14" name="cpf">
<input type="submit" value="Enviar!">
</form>
</body>
</html>
|
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Python - Um programa que lê a altura e o sexo de uma pessoa e informa seu peso idealQuantidade de visualizações: 4426 vezes |
|
Pergunta/Tarefa: Escreva um programa Python que recebe a altura (como float) e o sexo (como uma string) de uma pessoa e que calcule e mostre o seu peso ideal. A fórmula a ser utilizada é: Homens: (72.7 x altura) - 58; Mulheres: (62.1 x altura) - 44.7 Sua saída deverá ser parecida com: Informe sua altura (ex: 1.74): 1.65 Informe o sexo (M ou F): M Seu peso ideal é: 61.955 Veja a resolução comentada deste exercício usando Python console:
# método principal
def main():
# vamos solicitar a altura e o sexo da pessoa
altura = float(input("Informe sua altura (ex: 1.74): "))
sexo = input("Informe o sexo (M ou F): ")
# vamos testar o sexo da pessoa
if(sexo == "M") or (sexo == "m"): # masculino
peso_ideal = (72.7 * altura) - 58
else: # feminino
peso_ideal = (62.1 * altura) - 44.7
# vamos mostrar o resultado
print("Seu peso ideal é: {0}".format(peso_ideal))
if __name__== "__main__":
main()
|
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como usar vetores e matrizes (arrays) na linguagem C++Quantidade de visualizações: 38333 vezes |
|
Vetores e matrizes, também chamados de arrays em programação, são grupos consecutivos de locais na memória que possuem o mesmo tipo de dados, ou seja, um vetor ou matriz em C++ pode conter apenas elementos do mesmo tipo. Um vetor é uma matriz de um coluna e várias linhas, enquanto uma matriz é a matriz propriamente dita, ou seja, que possui várias linhas e várias colunas. Veja um trecho de código no qual temos um vetor contendo 5 elementos do tipo int:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
// declara e inicializa a matriz
int valores[5] = {65, 3, 8, 41, 12};
// exibe os elementos da matriz
for(int i = 0; i < 5; i++){
cout << "Posição: " << i <<
" - Valor: " << valores[i] << endl;
}
system("PAUSE"); // pausa o programa
return 0;
}
Ao executarmos este código nós teremos o seguinte resultado: Posição: 0 - Valor: 65 Posição: 1 - Valor: 3 Posição: 2 - Valor: 8 Posição: 3 - Valor: 41 Posição: 4 - Valor: 12 Pressione qualquer tecla para continuar. . . Aqui nós usamos a técnica de declarar e inicializar o vetor em uma mesma linha. Em seguida usamos um laço para percorrer todos os elementos. Veja que os elementos do vetor são acessados usando um índice que começa em 0 e vai até a quantidade de elementos menos 1. Veja agora um trecho de código que declara um vetor e inicializa seus elementos usando um laço for:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
// declara a matriz
int valores[5];
// inicializa os elementos usando um laço
for(int i = 0; i < 5; i++){
valores[i] = 2 * i;
}
// exibe os elementos da matriz
for(int i = 0; i < 5; i++){
cout << "Posição: " << i <<
" - Valor: " << valores[i] << endl;
}
system("PAUSE"); // pausa o programa
return 0;
}
Ao executarmos este código nós teremos o seguinte resultado: Posição: 0 - Valor: 0 Posição: 1 - Valor: 2 Posição: 2 - Valor: 4 Posição: 3 - Valor: 6 Posição: 4 - Valor: 8 Pressione qualquer tecla para continuar. . . É importante notar que, se não inicializados, os valores dos elementos de um vetor poderão guardar valores aleatórios. Jamais confie que eles terão o valor 0 por padrão. |
Delphi ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DelphiQuantidade de visualizações: 1814 vezes |
|
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Delphi completo:
// função que recebe dois pontos na terra e retorna a distância
// entre eles em quilômetros
function CalcularDistancia(lat1: double; lat2: double; lon1: double;
lon2: double): double;
var
raio_terra, dlon, dlat, a, c: double;
begin
raio_terra := 6378.137; // raio da terra em quilômetros
// o primeiro passo é converter as latitudes e longitudes
// para radianos
// não esqueça de adicionar a unit Math
lon1 := DegToRad(lon1);
lon2 := DegToRad(lon2);
lat1 := DegToRad(lat1);
lat2 := DegToRad(lat2);
// agora aplicamos a Fórmula de Haversine
dlon := lon2 - lon1;
dlat := lat2 - lat1;
a := Power(Sin(dlat / 2), 2) + Cos(lat1) * Cos(lat2)
* Power(Sin(dlon / 2),2);
c := 2 * ArcSin(Sqrt(a));
// e retornamos a distância
Result := (c * raio_terra);
end;
procedure TForm5.Button1Click(Sender: TObject);
var
lat1, lon1, lat2, lon2, distancia: double;
begin
// obtém as coordenadas vindas dos campos de texto
lat1 := StrToFloat(txtPrimeiraLatitude.Text);
lon1 := StrToFloat(txtPrimeiraLongitude.Text);
lat2 := StrToFloat(txtSegundaLatitude.Text);
lon2 := StrToFloat(txtSegundaLongitude.Text);
// vamos calcular a distância entre os dois pontos em Kms
distancia := CalcularDistancia(lat1, lat2, lon1, lon2);
// e mostramos o resultado
txtDistancia.Text := FormatFloat('#.0', distancia) + ' kms';
end;
Ao executar este código Delphi nós teremos o seguinte resultado: Informe a primeira latitude: -16,674551 Informe a primeira longitude: -49,303598 Informe a segunda latitude: -15,579321 Informe a segunda longitude: -56,10009 A distância entre os dois pontos é: 736,9 kms Aqui as informações sobre as latitudes e longitudes vieram de campos de texto TEdit, e o código foi disparado a partir do clique de um botão TButton. Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuiabá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
|
VB.NET - Como retornar o tamanho de uma string em VB.NET usando a propriedade Length da classe String |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






