Você está aqui: Cards de |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string contém apenas letras em Python usando a função isalpha()Quantidade de visualizações: 15227 vezes |
Este exemplo mostra como podemos a função isalpha() do Python para verificar se uma string contém apenas letras, ou seja, nada de números, espaços nem pontuação. Se algum número, espaço, um caractere especial ou pontuação estiver contido, a função retorna False.
def main():
# uma palavra contendo apenas letras
palavra = "Arquivo"
# a palavra contém apenas letras?
if palavra.isalpha():
print("A string contém apenas letras")
else:
print("A string não contém somente letras")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: A string contém apenas letras. |
C++ ::: Win32 API (Windows API) ::: Arquivos e Diretórios |
C++ Windows API - Como ler o conteúdo de um arquivo usando a função ReadFile() da Win32 APIQuantidade de visualizações: 9126 vezes |
|
A função ReadFile() é usada quando queremos ler o conteúdo de um arquivo. A leitura se inicia na posição zero do arquivo e mantém um ponteiro de arquivo, a partir do qual as leituras subsequentes ocorrerão. Esta função pode ser usada para leituras síncronas e assíncronas. Para leituras apenas assíncronas devemos usar ReadFileEx(). Veja seu protótipo na documentação da API do Windows: BOOL WINAPI ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); Antes de vermos um exemplo de como usar a função ReadFile(), vamos dar uma olhada em seus parâmetros: a) HANDLE hFile - Este é o handle para o arquivo a partir do qual queremos ler. Tal handle deve ser criado com o direito de acesso GENERIC_READ. b) LPVOID lpBuffer - Um ponteiro para o buffer que receberá os dados lidos do arquivo. c) DWORD nNumberOfBytesToRead - O número máximo de bytes a serem lidos de cada vez. Geralmente este número está relacionado à quantidade de bytes dos elementos do buffer. d) LPDWORD lpNumberOfBytesRead - Um ponteiro para uma variável que receberá o número de bytes lidos. A função ReadFile() define o valor desta variável como 0 antes de cada leitura e verificação de erros. e) LPOVERLAPPED lpOverlapped - Um ponteiro para um estrutura OVERLAPPED. Esta estrutura é exigida se o handle para o arquivo for obtido usando FILE_FLAG_OVERLAPPED para o parâmetro dwFlagsAndAttributes da função CreateFile(). Geralmente usamos NULL para este parâmetro. A função ReadFile() retorna quando um erro ocorre ou a quantidade de bytes solicitados é alcançada. Veja um trecho de código no qual lemos o conteúdo de um arquivo chamado testes.txt:
#include <cstdlib>
#include <iostream>
#include <windows.h>
#define TAM_BUFFER 256 // tamanho do buffer em bytes
using namespace std;
int main(int argc, char *argv[]){
// nome do arquivo
CHAR arquivo[] = "C:\\testes.txt";
CHAR buffer[TAM_BUFFER]; // buffer para o conteúdo do arquivo
DWORD nIn; // bytes lidos
// vamos abrir o arquivo para leitura.
// se o arquivo não existir uma mensagem de erro é exibida.
HANDLE hArquivo = CreateFile(arquivo, GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hArquivo == INVALID_HANDLE_VALUE){
cout << "Erro ao abrir o arquivo: " << GetLastError() << endl;
}
else{
// arquivo aberto com sucesso. Vamos ler
while(ReadFile(hArquivo, buffer, TAM_BUFFER, &nIn, NULL) && nIn > 0){
cout << "Efetuei a leitura de " << nIn << " bytes." << endl;
// vamos adicionar o caractere de final de linha
// caso os bytes lidos não preencham todo o buffer
buffer[nIn] = 0;
cout << "Conteudo da leitura: " << buffer << endl;
}
}
// vamos fechar o handle
CloseHandle(hArquivo);
system("PAUSE");
return EXIT_SUCCESS;
}
|
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres de uma string Ruby individualmente usando a notação de vetor []Quantidade de visualizações: 7567 vezes |
Muitas vezes precisamos acessar os caracteres de uma string individualmente. Isso pode ser feito com o auxílio da notação []. Para isso só precisamos fornecer o índice do caractere que queremos acessar e o valor 1, para indicar que queremos acessar apenas um caractere de cada vez. Veja: nome = "Osmar" # vamos acessar os caracteres individualmente for indice in (0..nome.length) letra = nome[indice, 1] puts letra end Ao executar este código Ruby nós teremos o seguinte resultado: O s m a r |
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como somar os elementos de um array em JavaScript usando a função reduce()Quantidade de visualizações: 732 vezes |
|
Nesta dica mostrarei como podemos usar a função reduce() do JavaScript para somar todos os elementos de um vetor de inteiros. Lembre-se de que a função reduce() foi introduzida no ECMAScript5 (ES5), também chamado de JavaScript 2009. Veja a página HTML completa para o exemplo:
<!doctype html>
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos criar um vetor de inteiros
var valores = new Array(7, 2, 1, 3, 5);
document.write("Valores do array: " + valores
+ "<br>");
// agora vamos usar a função para somar
// os elementos do vetor
var res = valores.reduce((soma, valor) => soma
+ valor, 0);
document.write("A soma dos elementos é: " + res);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Valores do array: 7,2,1,3,5 A soma dos elementos é: 18 Neste exemplo eu coloquei a função que será executada para cada elemento do array diretamente dentro do corpo da função reduce(). Podemos também colocar esta função do lado de fora. Veja:
<script type="text/javascript">
// função que será chamada pela função reduce()
function somar_elementos(soma, valor) {
return soma + valor;
}
// vamos criar um vetor de inteiros
var valores = new Array(7, 2, 1, 3, 5);
document.write("Valores do array: " + valores
+ "<br>");
// agora vamos usar a função para somar
// os elementos do vetor
var res = valores.reduce(somar_elementos, 0);
document.write("A soma dos elementos é: " + res);
</script>
|
R ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em R dados dois pontos no plano cartesianoQuantidade de visualizações: 1855 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem R que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
# x e y do primeiro ponto
x1 <- readline("Coordenada x do primeiro ponto: ")
y1 <- readline("Coordenada y do primeiro ponto: ")
x1 <- as.numeric(x1)
y1 <- as.numeric(y1)
# x e y do segundo ponto
x2 <- readline("Coordenada x do segundo ponto: ")
y2 <- readline("Coordenada y do segundo ponto: ")
x2 <- as.numeric(x2)
y2 <- as.numeric(y2)
# agora vamos calcular o coeficiente angular
m <- (y2 - y1) / (x2 - x1)
# mostramos o resultado
paste("O coeficiente angular é:", m)
Ao executar este código em linguagem R nós teremos o seguinte resultado: [1] "O coeficiente angular é: 0.666666666666667" Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):
# x e y do primeiro ponto
x1 <- readline("Coordenada x do primeiro ponto: ")
y1 <- readline("Coordenada y do primeiro ponto: ")
x1 <- as.numeric(x1)
y1 <- as.numeric(y1)
# x e y do segundo ponto
x2 <- readline("Coordenada x do segundo ponto: ")
y2 <- readline("Coordenada y do segundo ponto: ")
x2 <- as.numeric(x2)
y2 <- as.numeric(y2)
# vamos obter o comprimento do cateto oposto
cateto_oposto <- y2 - y1
# e agora o cateto adjascente
cateto_adjascente <- x2 - x1
# vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
# (em radianos, não se esqueça)
tetha <- atan2(cateto_oposto, cateto_adjascente)
# e finalmente usamos a tangente desse ângulo para calcular
# o coeficiente angular
tangente <- tan(tetha)
# mostramos o resultado
paste("O coeficiente angular é:", tangente)
Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Veja mais Dicas e truques de R |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






