![]() |
|
||||
|
|||||
Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo uma linha de cada vez usando a função fgets() da linguagem CQuantidade de visualizações: 29190 vezes |
A função fgets(), disponível no header cstdio ou stdio.h, é usada para ler caracteres de um arquivo e armazená-los em um vetor de caracteres. Esta função recebe três argumentos. Veja:char *fgets(char *buffer, int num, FILE *file); No exemplo abaixo usamos um laço while() para ler o conteúdo até que o final de arquivo EOF seja encontrado. Desta forma, como sabemos que cada linha no arquivo termina com um marcador de fim de linha, fica fácil ler cada linha. É claro que se a linha sendo lida for maior que o tamanho do buffer, o efeito não será conseguido. Observe ainda que cada linha lida contém o caractere de fim de linha anexado a ela:
#include <stdio.h>
#include <stdlib.h>
const int TAM_BUFFER = 255; // quantidade de caracteres
// a serem lidos no buffer de cada vez
int main(int argc, char *argv[])
{
FILE *arquivo = fopen("c:\\testes.txt", "r");
char buffer[TAM_BUFFER];
// testa se o arquivo foi aberto com sucesso
if(arquivo != NULL){
// vamos usar um laço para ler o conteúdo do arquivo
// e armazenar no buffer
while(fgets(buffer, TAM_BUFFER, arquivo)){
printf("%s\n", buffer);
}
fclose(arquivo); // libera o ponteiro para o arquivo
}
else{
printf("Nao foi possivel abrir o arquivo.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
JavaScript ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators) |
JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScriptQuantidade de visualizações: 1445 vezes |
|
O operador de bits & (E/AND sobre bits) da linguagem JavaScript é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0. Para quem gosta de Lógica Matemática, ou a Tabela Verdade da Lógica de Boole, vai se lembrar do conectivo "^", que diz que a proposição resultante da conjunção só será verdadeira quando as proposições simples individuais forem verdadeiras. O operador de bits & do JavaScript é similar ao conectivo "^" da Lógica Proposicional. Vamos analisar os seguintes valores binários: a) 0101 (5 decimal) b) 0100 (4 decimal) Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado: 0101 0100 ---- 0100 Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em JavaScript agora. Observe o seguinte trecho de código:
<html>
<head>
<title>Manipulação de Bits em JavaScript</title>
</head>
<body>
<script type="text/javascript">
var a = 5;
var b = 4;
var c = a & b;
// exibe o resultado (em binário e em decimal)
document.writeln("a = " + obterBits(a) + " (" + a + ")");
document.writeln("<br>b = " + obterBits(b) + " (" + b + ")");
document.writeln("<br>a & b = " + obterBits(c) + " (" + c + ")");
// função auxiliar que converte um decimal em sua representação em bits
function obterBits(valor){
var mascara = 1 << 31; // 10000000 00000000 00000000 00000000
var buffer = ""; // um buffer para guardar os bits dos bytes
for(var i = 1; i <= 32; i++){
// compara os bits individuais dos dois valores inteiros
if((valor & mascara) == 0){
buffer = buffer + "0";
}
else{
buffer = buffer + "1";
}
valor = valor << 1; // desloca uma posição para a esquerda
// Cada troca à esquerda corresponde à multiplicação do
// valor por 2
if(i % 8 == 0){ // completou um byte?
buffer = buffer + " ";
}
}
return buffer;
}
</script>
</body>
</html>
Ao executar este código teremos o seguinte resultado:
a = 00000000 00000000 00000000 00000101 (5)
b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)
|
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de C++ - Como retornar o código ASCII associado a um caractere em C++ - Ler um caractere e retornar o código ASCII correspondenteQuantidade de visualizações: 822 vezes |
|
Pergunta/Tarefa: Escreva um programa C++ que pede para o usuário informar um caractere (letra ou número) e mostre o código ASCII correspondente. Sua saída deverá ser parecida com: Informe um caractere: A Você informou o caractere: A O código ASCII correspondente é: 65 Veja a resolução comentada deste exercício 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
char caractere;
int codigo;
// vamos pedir para o usuário informar uma letra, símbolo ou pontuação
cout << "Informe um caractere: ";
// vamos ler o caractere informado
cin >> caractere;
// agora vamos obter o código ASCII correspondente
codigo = (int)caractere;
// e mostramos o resultado
cout << "Você informou o caractere: " << caractere << endl;
cout << "O código ASCII correspondente é: " << codigo << endl;
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
O Código Padrão Americano para o Intercâmbio de Informação (do inglês American Standard Code for Information Interchange - ASCII, pronunciado [áski]) é um sistema de representação de letras, algarismos e sinais de pontuação e de controle, através de um sinal codificado em forma de código binário (cadeias de bits formada por vários 0 e 1), desenvolvido a partir de 1960, que representa um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, algarismos arábicos, sinais de pontuação e sinais matemáticos) e 33 sinais de controle, utilizando 7 bits para representar todos os seus símbolos. |
JavaScript ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em JavaScript - Como calcular Bhaskara em JavaScriptQuantidade de visualizações: 1187 vezes |
|
Como resolver uma equação do 2º grau usando JavaScript Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem JavaScript. 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 JavaScript 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 JavaScript. 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:
<!doctype html>
<html>
<head>
<title>Aprenda Matemática Usando JavaScript</title>
</head>
<body>
<script type="text/javascript">
// os coeficientes
var a, b, c;
// as duas raizes, a imaginaria e o discriminante
var raiz1, raiz2, imaginaria, discriminante;
// vamos pedir para o usuário informar os valores dos coeficientes
a = parseFloat(window.prompt("Valor do coeficiente a: "));
b = parseFloat(window.prompt("Valor do coeficiente b: "));
c = parseFloat(window.prompt("Valor do coeficiente c: "));
// vamos calcular o discriminante
discriminante = (b * b) - (4 * a * c);
// a equação possui duas soluções reais?
if(discriminante > 0){
raiz1 = (-b + Math.sqrt(discriminante)) / (2 * a);
raiz2 = (-b - Math.sqrt(discriminante)) / (2 * a);
document.write("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);
document.write("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 = Math.sqrt(-discriminante) / (2 * a);
document.write("Existem duas raízes complexas: x1 = " +
raiz1 + " + " + imaginaria + " e x2 = " + raiz2
+ " - " + imaginaria);
}
</script>
</body>
</html>
Ao executar este código JavaScript 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 |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Razão e Proporção |
Exercícios Resolvidos de C - Como resolver problemas de razão e proporção em C - Em uma empresa, a razão entre o número de mulheres e o númeroQuantidade de visualizações: 732 vezes |
|
Pergunta/Tarefa: Em uma empresa, a razão entre o número de mulheres e o número de homens é de 3/5. Sabendo que há 30 homens nessa empresa, então o número de mulheres é: A) 18 B) 20 C) 22 D) 24 E) 27 Antes de tentarmos resolver esse problema em C, vamos relembrar o que são razão e proporção. Os conceitos de razão e proporção estão ligados ao quociente. A razão é o quociente de dois números, e a proporção é a igualdade entre duas razões. No exercício acima, o valor de 30 homens está fixo, mas seu programa C deverá pedir para o usuário informar a quantidade de homens. Isso vai permitir aplicar o algoritmo em situações diferentes da exposta aqui. Sua saída deve ser parecida com: Informe a quantidade de homens: 30 A quantidade de homens é: 30 A quantidade de mulheres é: 18.0 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
float dividendo = 3.0;
float divisor = 5.0;
int quant_homens;
float quant_mulheres;
// vamos ler a quantidade de homens
printf("Informe a quantidade de homens: ");
scanf("%d", &quant_homens);
printf("A quantidade de homens é: %d", quant_homens);
// agora fazemos a multiplicação cruzada
quant_mulheres = (quant_homens * dividendo);
// e dividimos pelo divisor
quant_mulheres = quant_mulheres / divisor;
// e mostramos o resultado
printf("\nA quantidade de mulheres é: %f", quant_mulheres);
printf("\n\n");
system("PAUSE");
return 0;
}
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
|
JavaScript - Formulários HTML - Como marcar ou desmarcar todas as checkboxes de um formulário HTML de uma só vez usando JavaScript |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





