Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados long da linguagem JavaQuantidade de visualizações: 15119 vezes |
O tipo de dados long pode ser usado quando queremos armazenar valores inteiros na faixa -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807. Veja um exemplo:
public class Estudos{
static long valor = 545L;
public static void main(String args[]){
System.out.println("O valor da variável é: "
+ valor);
System.exit(0);
}
}
Observe o uso do caractere "L" após o valor literal que atribuímos à variável. Isso é feito para que o compilador trate o literal como long e não como int. Você pode usar o "L" minúsculo, mas este se parece muito com o número um, o que torna seu uso pouco recomendável. O tipo de dados long pode ser convertido (sem a necessidade de cast) para os seguintes tipos: long -> float -> double Se precisarmos converter o tipo int para os tipos char, byte, short ou int, teremos que lançar mão de uma coerção (cast). Veja: byte valor2 = (byte)(valor); |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while da linguagem C++ - C++ para iniciantesQuantidade de visualizações: 19974 vezes |
O laço while é usado quando queremos executar um bloco de instruções repetidamente ENQUANTO uma condição for satisfeita. Veja a sintáxe deste laço:
while(expressão){
bloco de instruções
}
A parte expressão deve sempre resultar em um valor true ou false quando avaliada. Veja um trecho de código no qual temos um laço while que conta de 0 a 10:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while que permite contar de 0 a 10
int valor = 0;
while(valor <= 10){
cout << valor << "\n";
valor++;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É importante lembrar que o C++, ao contrário do C, possui um tipo booleano. Este tipo é chamado bool e pode ser usado em um laço while da seguinte forma:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while que mostra como usar o tipo
// bool
bool pode = true;
int valor = 0;
while(pode){
cout << valor << "\n";
valor++;
// vamos parar o laço aqui
if(valor > 10)
pode = false;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Lembre-se de que um laço while pode nunca ser executado, ou seja, se a condição testada for sempre insatisfatória, o fluxo de código passará para a próxima instrução após o laço. Veja:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while que nunca é executado
int valor = 0;
while(valor > 10){
cout << valor << "\n";
valor++;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
R ::: Dicas & Truques ::: Matemática e Estatística |
R para Matemática e Estatística - Como calcular desvio padrão usando a função sd() da linguagem RQuantidade de visualizações: 2476 vezes |
|
Em Matemática e Estatística, o Desvio Padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Porém, se usarmos a linguagem R, todos estes cálculos se tornam desnecessários, pois temos a função sd(), que recebe uma lista de valores numéricos e retorna o desvio padrão correspondente. Veja:
> valores <- c(10, 30, 90, 30) [ENTER]
> desvio_padrao <- sd(valores) [ENTER]
> paste("O desvio padrão é:", desvio_padrao) [ENTER]
[1] "O desvio padrão é: 34.6410161513775"
>
Ao executar estes comandos R nós teremos o seguinte resultado: O desvio padrão é: 34.6410161513775 Note que a função sd() da linguagem R retorna o Desvio Padrão Populacional, e não o Desvio Padrão Amostral. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros) |
Exercício Resolvido de C - Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunosQuantidade de visualizações: 3382 vezes |
|
Pergunta/Tarefa: Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos. Em seguida imprima a matrícula, o nome e a média de cada um deles. Seu código deverá, obrigatoriamente, usar a estrutura abaixo para a representação de cada aluno:
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
LEITURA DOS ALUNOS: Matrícula do Aluno 1: 123 Nome do Aluno 1: OSMAR J SILVA Nota 1 do Aluno 1: 8,5 Nota 2 do Aluno 1: 9,3 Matrícula do Aluno 2: 432 Nome do Aluno 2: FABIANA CASTRO Nota 1 do Aluno 2: 9 Nota 2 do Aluno 2: 8,2 DADOS DOS ALUNOS: DADOS DO ALUNO 1: Matrícula: 123 Nome: OSMAR J SILVA Nota 1: 8,50 Nota 2: 9,30 Média: 8,90 DADOS DO ALUNO 2: Matrícula: 432 Nome: FABIANA CASTRO Nota 1: 9,00 Nota 2: 8,20 Média: 8,60 Veja a resolução comentada deste exercício usando C: Código para alunos.c:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
// define a quantidade de alunos que serão lidos
#define QUANT_ALUNOS 2
int main(int argc, char *argv[]) {
int i; // controle do laço
Aluno alunos[QUANT_ALUNOS]; // vetor de alunos
setlocale(LC_ALL,""); // para acentos do português
printf("LEITURA DOS ALUNOS:\n\n");
for(i = 0; i < QUANT_ALUNOS; i++){
// vamos ler a matrícula do aluno
printf("Matrícula do Aluno %d: ", (i + 1));
scanf("%d", &alunos[i].matricula);
fflush(stdin); // para o scanf não sair pulando o gets
// agora o nome do aluno
printf("Nome do Aluno %d: ", (i + 1));
gets(alunos[i].nome);
// vamos ler a primeira nota
printf("Nota 1 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota1);
// vamos ler a segunda nota
printf("Nota 2 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota2);
}
// agora vamos mostrar os alunos lidos, com suas notas
// e suas médias aritméticas
printf("\nDADOS DOS ALUNOS:\n");
for(i = 0; i < QUANT_ALUNOS; i++){
printf("\nDADOS DO ALUNO %d:\n ", (i + 1));
printf("Matrícula: %d\n", alunos[i].matricula);
printf("Nome: %s\n", alunos[i].nome);
printf("Nota 1: %.2f\n", alunos[i].nota1);
printf("Nota 2: %0.2f\n", alunos[i].nota2);
printf("Média: %.2f\n", (alunos[i].nota1 + alunos[i].nota2) / 2);
}
printf("\n\n");
system("pause");
return 0;
}
|
Firebird ::: Dicas & Truques ::: Tipos de Dados |
Como usar os tipos CHAR e VARCHAR do FirebirdQuantidade de visualizações: 16468 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. |
Veja mais Dicas e truques de Firebird |
Dicas e truques de outras linguagens |
|
VB.NET - Como calcular o coeficiente angular de uma reta em VB.NET dados dois pontos no plano cartesiano |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




