Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como adicionar caracteres ao final de uma string C++ usando a função push_back()Quantidade de visualizações: 9503 vezes |
A função push_back() do C++ é útil quando precisamos adicionar caracteres individuais ao final de uma string. Veja um exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
string str = "Gosto muito de PHP";
string temp;
// vamos percorrer os caracteres da primeira string
// e adicioná-los na segunda um de cada vez
for(int i = 0; i < str.length(); i++){
temp.push_back(str[i]);
}
// exibe o resultado
cout << temp << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Gosto muito de PHP Note que usamos um laço for para percorrer individualmente todos os caracteres da primeira string e adicioná-los um de cada vez na segunda string. Veja uma variação deste código, no qual exibimos o conteúdo da primeira string invertido:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
string str = "Gosto muito de PHP";
string temp;
// vamos percorrer os caracteres da primeira string
// e adicioná-los na segunda um de cada vez.
// desta vez vamos obter o resultado invertido
for(int i = str.length() - 1; i >= 0; i--){
temp.push_back(str[i]);
}
// exibe o resultado
cout << "String original: " << str << endl;
cout << "String invertida: " << temp << endl;;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este novo código C++ nós teremos o seguinte resultado: String original: Gosto muito de PHP String invertida: PHP ed otium otsoG |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercício Resolvido de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash tableQuantidade de visualizações: 2848 vezes |
|
Exercícios Resolvidos de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash table Pergunta/Tarefa: Dadas duas palavras p1 e p2, escreva um código Python que informa se uma palavra é anagrama da outra. Um anagrama é uma espécie de jogo de palavras criado com a reorganização das letras de uma palavra ou expressão para produzir outras palavras ou expressões, utilizando todas as letras originais exatamente uma vez. Para esta solução você deverá, obrigatoriamente, usar um dicionário Python, ou seja, um objeto dict. O objetivo é construir duas tabelas de frequências dos caracteres de cada palavra. Dicionários em Python são similares às tabelas hash (hash tables) em outras linguagens de programação. Seu programa deverá exibir a seguinte saída: ![]() Resposta/Solução: Veja a resolução com código comentado em Python:
# método que recebe duas palavras e retorna
# verdadeiro se uma palavra for anagrama da
# outra
def anagramas(palavra1, palavra2):
# o primeiro passo é verificar se os comprimentos das duas
# palavras são iguais
if(len(palavra1) != len(palavra2)):
return False
# agora criamos dois dictionaries para as frequencias de
# cada uma das palavras
freq_p1 = {}
freq_p2 = {}
# agora registramos as frequências de letras na primeira
# palavra
for letra in palavra1:
# a letra já está no dicionário?
if letra in freq_p1:
freq_p1[letra] += 1 # aumenta a frequêcia desta letra
else:
freq_p1[letra] = 1 # ainda não estava no dicionário
# agora registramos as frequências de letras na segunda
# palavra
for letra in palavra2:
# a letra já está no dicionário?
if letra in freq_p2:
freq_p2[letra] += 1 # aumenta a frequêcia desta letra
else:
freq_p2[letra] = 1 # ainda não estava no dicionário
# registradas as frequências de letras das duas palavras,
# chegou a hora de compararmos os dois dicionários
for chave in freq_p1:
# esta chave não está no segundo dicionário ou
# possui valores diferentes?
if chave not in freq_p2 or freq_p1[chave] != freq_p2[chave]:
return False
# se chegou até aqui então uma palavra é anagrama da outra
return True
def main():
# vamos ler duas palavras e verificar se uma é anagrama da outra
palavra1 = input("Informe a primeira palavra: ")
palavra2 = input("Informe a segunda palavra: ")
# vamos chamar o método que faz a verificação
if(anagramas(palavra1, palavra2)):
print("As duas palavras são anagramas")
else:
print("As duas palavras não são anagramas")
if __name__== "__main__":
main()
|
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: 1774 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 ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em PHP - Como calcular Bhaskara em PHPQuantidade de visualizações: 1432 vezes |
|
Como resolver uma equação do 2º grau usando PHP Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem PHP. Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita. Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0. Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente. Como resolver uma equação do 2º grau Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns: a) Fórmula de Bhaskara; b) Soma e produto. O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa. Como resolver uma equação do 2º grau usando Bhaskara Como nosso código PHP vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja: \[\Delta =b^2-4ac\] Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades: a) Se determinante > 0, então a equação possui duas soluções reais. b) Se determinante = 0, então a equação possui uma única solução real. c) Se determinante < 0, então a equação não possui solução real. Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara: \[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\] Vamos agora ao código PHP. Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:
<?php
// para executar abra uma janela de comando
// cmd e dispare o comando abaixo:
// C:\xampp\php>php c:\estudos_php\estudos.php
// para ler a entrada do usuário
$entrada = fopen("php://stdin","r");
// vamos pedir para o usuário informar os valores dos coeficientes
echo "Valor do coeficiente a: ";
$a = trim(fgets($entrada));
echo "Valor do coeficiente b: ";
$b = trim(fgets($entrada));
echo "Valor do coeficiente c: ";
$c = trim(fgets($entrada));
// vamos calcular o discriminante
$discriminante = ($b * $b) - (4 * $a * $c);
// a equação possui duas soluções reais?
if($discriminante > 0){
$raiz1 = (-$b + sqrt($discriminante)) / (2 * $a);
$raiz2 = (-$b - sqrt($discriminante)) / (2 * $a);
echo "Existem duas raizes: x1 = " . $raiz1 .
" e x2 = " . $raiz2;
}
// a equação possui uma única solução real?
else if($discriminante == 0){
$raiz1 = $raiz2 = -$b / (2 * $a);
echo "Existem duas raizes iguais: x1 = " . $raiz1 .
" e x2 = " . $raiz2;
}
// a equação não possui solução real?
else if($discriminante < 0){
$raiz1 = $raiz2 = -$b / (2 * $a);
$imaginaria = sqrt(-$discriminante) / (2 * $a);
echo "Existem duas raízes complexas: x1 = " . $raiz1 .
" + " . $imaginaria . " e x2 = " . $raiz2 . " - " . $imaginaria;
}
?>
Ao executar este código PHP nós teremos o seguinte resultado: Valor do coeficiente a: 1 Valor do coeficiente b: 2 Valor do coeficiente c: -3 Existem duas raizes: x1 = 1 e x2 = -3 |
Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como criar chaves no registro do Windows usando o método CreateKey() da classe TRegistry do DelphiQuantidade de visualizações: 15522 vezes |
|
Em algumas situações gostariámos de criar novas chaves e/ou sub-chaves no registro do Windows. Isso pode ser feito por meio do método CreateKey() da classe TRegistry. Este método recebe uma string especificando o nome da chave a ser criada e retorna um valor Boolean indicando se a chave foi criada com sucesso. Veja um trecho de código no qual criamos uma chave chamada "Arquivo de Códigos" dentro da chave raiz HKEY_CURRENT_USER:
procedure TForm3.Button4Click(Sender: TObject);
var
chave: String;
reg: TRegistry;
begin
// uses Registry
// vamos definir o nome da chave a ser criada
chave := 'Arquivo de Códigos';
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas
// vamos reafirmar isso
reg.RootKey := HKEY_CURRENT_USER;
// vamos criar a chave informada
if reg.CreateKey(chave) then
begin
ShowMessage('A chave foi criada com sucesso.');
end
else
begin
ShowMessage('Não foi possível criar a chave informada.');
end;
// vamos liberar o registro
reg.Free;
end;
Alguns aplicativos, por exemplo os da Adobe, Macromedia, Microsoft, etc, guardar informações relacionadas aos seus aplicativos na sub-chave SOFTWARE dentro da chave HKEY_LOCAL_MACHINE. Assim, vamos criar uma chave para um aplicativo fictício. Vamos chamar nossa chave de "Simulador Nota Fiscal Eletrônica 1.0". Note que, se esta chave já existir no registro nada acontecerá:
procedure TForm3.Button4Click(Sender: TObject);
var
chave: String;
reg: TRegistry;
begin
// uses Registry
// vamos definir o nome da chave a ser criada
chave := 'Simulador Nota Fiscal Eletrônica 1.0';
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// vamos criar uma chave dentro de HKEY_LOCAL_MACHINE\SOFTWARE
reg.RootKey := HKEY_LOCAL_MACHINE;
// vamos criar a chave informada
if reg.CreateKey('\SOFTWARE\' + chave) then
begin
ShowMessage('A chave foi criada com sucesso.');
end
else
begin
ShowMessage('Não foi possível criar a chave informada.');
end;
// vamos liberar o registro
reg.Free;
end;
Execute este código e logo em seguida abra uma janela de terminal e digite regedit.exe. vá na seção HKEY_LOCAL_MACHINE\SOFTWARE e veja se a chave "Simulador Nota Fiscal Eletrônica 1.0" foi realmente criada. 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 |





