Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como embaralhar as palavras em uma frase ou texto usando C#Quantidade de visualizações: 12605 vezes |
|
Nesta dica mostrarei como podemos usar a linguagem C# para embaralhar, ou seja, exibir as palavras de uma string em ordem aleatória. Veja o código C# completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "Gosto de VB.NET, Java e C#";
// mostra a frase na ordem original
Console.WriteLine("Ordem original: " + frase);
// converte em um vetor de palavras
string[] frase2 = frase.Split(' ');
// vamos embaralhar 5 vezes
Embaralhar(ref frase2, 5);
// junta as partes da string novamente
frase = String.Join(" ", frase2);
// exibe o resultado
Console.WriteLine("Embaralhada: " + frase);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
static void Embaralhar(ref String[] array, int vezes) {
Random rand = new Random(DateTime.Now.Millisecond);
for (int i = 1; i <= vezes; i++) {
for (int x = 1; x <= array.Length; x++) {
Trocar(ref array[rand.Next(0, array.Length)],
ref array[rand.Next(0, array.Length)]);
}
}
}
static void Trocar(ref String arg1, ref String arg2) {
String strTemp = arg1;
arg1 = arg2;
arg2 = strTemp;
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Gosto de VB.NET, Java e C# Embaralhada: VB.NET, C# Java de e Gosto |
JavaScript ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular Fatorial em JavaScript usando recursão - Como calcular Fatorial usando recursividade - Aprenda a calcular Fatorial usando JavaScriptQuantidade de visualizações: 17633 vezes |
|
Embora existam várias formas de efetuar o cálculo de Fatorial, a forma mais comum é usando recursividade, ou seja, dividir a resolução do problema em partes menores e juntá-las no final. Neste dica eu mostro como calcular Fatorial em JavaScript usando recursividade. Veja o código completo:
<html>
<head>
<title>Estudando JavaScript</title>
<script type="text/javascript">
function fatorial(num){
if(num > 1)
return num * arguments.callee(num - 1);
else
return 1;
}
</script>
</head>
<body>
<script type="text/javascript">
document.write("O fatorial de 5 é: " + fatorial(5));
</script>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: O fatorial de 5 é: 120 |
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar os tipos CHAR e VARCHAR do FirebirdQuantidade de visualizações: 16463 vezes |
|
O Firebird fornece dois tipos de dados básicos para armazenar informação em texto ou caracteres: CHAR e VARCHAR (O tipo BLOB também permite armazenar caracteres por meio de seu sub-tipo text). CHAR e VARCHAR são tipos de dados que podem armazenar quaisquer informações do tipo texto. Números que não serão envolvidos em cálculos, tais como CEPs, números de ruas, etc, são geralmente armazenados em campos do tipo CHAR ou VARCHAR. O comprimento de um campo do tipo CHAR ou VARCHAR é informado entre parênteses, e pode ser um valor inteiro que vai de 1 até 32.767. Esta largura de caracteres é extremamente útil quando precisamos armazenar dados de tamanho fixo ou pré-definido, tais como códigos de CEPs para um determinado país. Comparado com a maioria dos outros bancos de dados, o Firebird armazena somente as informações significantes. Se um campo é definido como CHAR(100), mas contém apenas 10 caracteres, os bytes definidos adicionalmente não são usados. Isso acontece porque o Firebird armazena os tipos CHAR e VARCHAR de forma igual, e não preenche o espaço não usado com caracteres vazios. Tanto CHAR quanto VARCHAR são guardados na memória em sua forma declarada, mas, o registro é comprimido antes da armazenagem. Além disso, tenha em mente que os campos do tipo VARCHAR exigem mais espaço de armazenamento que os campos do tipo CHAR. Isso ocorre porque, ao armazenar um VARCHAR, o Firebird adiciona dois bytes que serão usados para guardar o real tamanho do campo (o tamanho declarado). Desta forma, um CHAR ocupará menos espaço de armazenamento. Contudo, quando fazemos um SELECT envolvendo campos do tipo VARCHAR, o Firebird removerá os dois bytes adicionados anteriomente e retornará o valor armazenado. Quando um SELECT é efetuado com campos do tipo CHAR, o Firebird retorna o valor e os espaços em branco. Em termos práticos podemos considerar esta regra: somente use CHAR se você for armazenar strings com poucos caracteres. A exceção a esta regra acontece quando estamos trabalhando com tabelas intermediárias exigidas para a exportação de dados para arquivos de tamanhos fixos. Neste caso os campos CHAR de tamanho fixo trarão uma enorme vantagem. Esta forma eficiente de armazenamento do Firebird pode trazer algumas confusão, principalmente quando estamos importando dados, uma vez que bases de dados Paradox e dBase guardam também os espaços em branco. Assim, depois de importar um arquivo dBase de 10Mb para o Firebird, o resultado será algo em torno de 3-6Mb, ainda que todos os dados tenham sido importados corretamente. Observe também que campos CHAR indexados não devem ter mais que 80 caracteres de comprimento (Firebird 2.5). Quando estamos criando campos do tipo CHAR, este tipo de dados pode ser definido como CHAR ou CHARACTER. Já o tipo VARCHAR pode ser definido como VARCHAR, CHARACTER VARYING ou CHAR VARYING. Veja um comando DDL CREATE TABLE usado para criar uma tabela do Firebird contendo campos do tipo CHAR e VARCHAR: CREATE TABLE PESSOAS( ID INTEGER NOT NULL, NOME VARCHAR(40) NOT NULL, SEXO CHAR(1) NOT NULL ); Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e SEXO é do tipo CHAR(1). Veja agora um comando DML INSERT INTO que mostra como inserir um novo registro nesta tabela: INSERT INTO PESSOAS VALUES(12, 'OSMAR J. SILVA', 'M'); É importante notar que, se um campo for do tipo CHAR(1) e, na query INSERT ou UPDATE nós fornecermos dois ou mais caracteres, o Firebird se recusará a gravar ou atualizar o registro, exibindo a seguinte mensagem de erro: Arithmetic overflow or division by zero has occurred. arithmetic exception, numeric overflow, or string truncation. string right truncation. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir partes de uma palavra, frase ou texto em Python usando a função replace() do objeto StringQuantidade de visualizações: 2072 vezes |
Em várias ocasiões nós precisamos efetuar a substituição de substrings em uma string. Para isso nós podemos usar o método replace() da linguagem Python. Esta função possui a seguinte assinatura:string.replace(oldvalue, newvalue, count) onde oldvalue é trecho da string a ser substituído, newvalue é o valor que substituirá o valor antigo e count é a quantidade de substituições. Na ausência do terceiro argumento, TODAS as ocorrências da substring pesquisada serão substituídas. Veja um exemplo no qual substituímos todas as ocorrências de "Java" por "Python" em uma frase:
def main():
# frase original
original = "Gosto de Java porque Java é fácil"
print("Frase original:", original)
# vamos substituir "Java" por "Python"
nova_frase = original.replace("Java", "Python")
print("Após a substituição:", nova_frase)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Frase original: Gosto de Java porque Java é fácil Após a substituição: Gosto de Python porque Python é fácil |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular Velocidade Vetorial Média usando a linguagem C - C para Engenharia - Física - Mecânica - CinemáticaQuantidade de visualizações: 3312 vezes |
|
Como calcular Velocidade Vetorial Média usando a linguagem C Na Física, mais especificamente na Mecânica e Cinemática, nós estamos o tempo todo interessados em medir a "rapidez" com que uma partícula se move de um ponto para outro ponto. Por partícula podemos entender qualquer móvel: um carro, um avião, uma bola, uma pessoa, etc. No caso de um movimento bidimensional ou tridimensional nós devemos considerar a grandeza velocidade média como vetores e usar a notação vetorial. Em outras dicas do site você encontrará cálculos envolvendo vetores e até mesmo calculadoras com as operações vetoriais mais comuns. Dessa forma, a fórmula para obtenção da Velocidade Vetorial Média é: \[\vec{v}_\text{méd} = \frac{\Delta \vec{r}}{\Delta t} \] Onde __$\Delta \vec{r}__$ é a variação da posição da partícula e __$\Delta t__$ é a variação do tempo entre os dois deslocamentos cuja velocidade vetorial média querermos medir. Antes de vermos o código C, dê uma boa olhada na imagem a seguir: ![]() Nosso objetivo será calcular a velocidade vetorial média da partícula saindo da posição __$\vec{r}_1__$ = 10__$\hat{\imath}__$ + 7__$\hat{\jmath}__$ m (10, 7), no instante t1 = 2s, e indo para a posição __$\vec{r}_2__$ = 12__$\hat{\imath}__$ + 2__$\hat{\jmath}__$ m (12, 2) em t2 = 7s. Note que o trajeto da partícula foi marcado de verde na imagem. E agora, finalmente, vamos ao código C que lê os valores das coordenadas x e y dos dois vetores de posições (inicial e final), o tempo de deslocamento inicial e final e mostra o vetor velocidade média:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// coordenadas dos dois vetores de posições
float x1, y1, x2, y2;
// guarda o vetor delta r (variação do deslocamento)
float delta_r_x, delta_r_y;
// guarda o tempo inicial, tempo final e variacao (em segundos)
float tempo_inicial, tempo_final, delta_t;
// guarda as coordenadas do vetor velocidade
float vetor_vm_x, vetor_vm_y;
// x e y do primeiro vetor
printf("Coordenada x do primeiro vetor: ");
scanf("%f", &x1);
printf("Coordenada y do primeiro vetor: ");
scanf("%f", &y1);
// x e y do segundo vetor
printf("Coordenada x do segundo vetor: ");
scanf("%f", &x2);
printf("Coordenada y do segundo vetor: ");
scanf("%f", &y2);
// vamos ler o tempo inicial e tempo final
printf("Tempo inicial em segundos: ");
scanf("%f", &tempo_inicial);
printf("Tempo final em segundos: ");
scanf("%f", &tempo_final);
// vamos calcular o vetor delta r
delta_r_x = x2 - x1;
delta_r_y = y2 - y1;
// vamos calcular o delta t (variação do tempo)
delta_t = tempo_final - tempo_inicial;
// finalmente calculamos o vetor velocidade média
vetor_vm_x = delta_r_x / delta_t;
vetor_vm_y = delta_r_y / delta_t;
// mostramos o resultado
printf("O Vetor Velocidade Média é: (%.2f, %.2f)m/s",
vetor_vm_x, vetor_vm_y);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Coordenada x do primeiro vetor: 10 Coordenada y do primeiro vetor: 7 Coordenada x do segundo vetor: 12 Coordenada y do segundo vetor: 2 Tempo inicial em segundos: 2 Tempo final em segundos: 7 O Vetor Velocidade Média é: (0.40, -1.00)m/s Pressione qualquer tecla para continuar. . . Note que aqui nós estamos usando vetores do R2, mas o processo é o mesmo para vetores do R3. |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
|
Java - Como calcular juros simples e composto - Calculando juros simples e montante na linguagem Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





