Você está aqui: Cards de Engenharia Civil - Estruturas de Aço e Madeira |
||
|
||
|
|
||
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados long ou long int da linguagem C++Quantidade de visualizações: 22797 vezes |
O tipo de dados long (também chamado de long int) da linguagem C++ é uma variação do tipo int e geralmente possui a mesma capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, assim como int. É importante verificar se o seu compilador trata int e long da mesma forma. Veja um trecho de código demonstrando o uso deste tipo (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// declara uma variável do tipo long
long quant = 590;
cout << "Quantidade: " << quant << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Veja que a maioria dos compiladores C++ não faz distinção entre os tipos long e long int. A capacidade de armazenamento do tipo long depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos LONG_MIN e LONG_MAX, definidos no header climits (limits.h). Veja:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Valor mínimo: " << LONG_MIN << "\n";
cout << "Valor máximo: " << LONG_MAX << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este programa você terá um resultado parecido com: Valor mínimo: -2147483648 Valor máximo: 2147483647 Veja que o tipo long aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
long soma = LONG_MAX + 2;
cout << "Resultado: " << soma << "\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Este programa exibirá o seguinte resultado: Resultado: -2147483647 Note que este não é o resultado esperado, visto que LONG_MAX + 2 deveria retornar: 2147483647 + 2 = 2147483649 Porém, como o valor máximo que pode ser armazenado em um long é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo long ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo long:
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
cout << "Tamanho de um long: " << sizeof(long)
<< " bytes\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
O resultado da execução deste código será algo como: Tamanho de um long: 4 bytes |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando CQuantidade de visualizações: 2093 vezes |
|
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código C completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[]){
setlocale(LC_ALL,""); // para acentos do português
int n = 3; // ordem da matriz quadrada
int matriz[n][n]; // matriz quadrada
int i, j, linha, coluna;
int identidade = 1;
// vamos pedir para o usuário informar os elementos da matriz
for (i = 0; i < n; i++){
for (j = 0; j < n; j++) {
printf("Elemento na linha %d e coluna %d: ", (i + 1), (j + 1));
scanf("%d", &matriz[i][j]);
}
}
// agora verificamos se a matriz é uma matriz identidade
for(linha = 0; linha < n; linha++){
for(coluna = 0; coluna < n; coluna++){
if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){
identidade = 0;
break;
}
}
}
// agora mostramos a matriz lida
printf("\n");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
printf("%d ", matriz[i][j]);
}
printf("\n");
}
if (identidade){
printf("\nA matriz informada é uma matriz identidade.");
}
else{
printf("\nA matriz informada não é uma matriz identidade.");
}
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
C# ::: Dicas & Truques ::: Data e Hora |
Como obter a quantidade de dias em um determinado mês usando o método GetDaysInMonth() da classe GregorianCalendar do C#Quantidade de visualizações: 12472 vezes |
|
Em algumas situações precisamos saber quantos dias há em um determinado mês. Para isso podemos usar o método GetDaysInMonth() da classe Calendar (ou alguma de suas subclasses). Este método recebe dois valores inteiros: o ano e o mês desejado. Na classe GregorianCalendar (que extende Calendar) o método GetDaysInMonth() retorna 28 para os anos comuns e 29 para os anos bissextos. Veja um trecho de código no qual usamos o método GetDaysInMonth() para obter a quantidade de dias para o mês de Março de 2009:
static void Main(string[] args){
// using System.Globalization;
// obtém uma instância da classe GregorianCalendar
Calendar c = new GregorianCalendar();
// obtém a quantidade de dias para março de 2009
int dias = c.GetDaysInMonth(2009, 3);
// exibe o resultado
Console.WriteLine("Este mês possui {0} dias", dias);
// pausa o programa
Console.ReadKey();
}
Note, contudo, que o mesmo resultado pode ser obtido por meio do calendário padrão independente de cultura, desde que as regiões as quais o programa se destina tenham compatibilidade de calendários: Calendar c = CultureInfo.InvariantCulture.Calendar; O método GetDaysInMonth() pode atirar uma exceção do tipo ArgumentOutOfRangeException se os valores do ano ou mês estiverem fora das faixas permitidas pelo calendário. Veja: System.ArgumentOutOfRangeException was unhandled Message="Month must be between one and twelve. Parameter name: month" Source="mscorlib" ParamName="month" |
Ruby ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como ler a entrada do usuário em Ruby usando a função getsQuantidade de visualizações: 12380 vezes |
|
Em várias ocasições nossos programas Ruby precisam interagir com o usuário, ou seja, precisamos ler informações do usuário com o propósito de efetuar algum cálculo ou tomar decisões sobre as tarefas a serem realizadas. A entrada do usuário em um programa Ruby pode ser obtida por meio do método gets. Esta função recebe a entrada do usuário a partir do teclado em formato texto (string) e a armazena em uma variável do tipo string. Veja um exemplo no qual usamos a função gets para solicitar que o usuário informe o seu nome. Em seguida imprimimos o nome informado na tela:
# Este exemplo mostra como ler entrada do usuário
# a partir do teclado
print "Informe seu nome: "
# Lê a entrada
nome = gets
# Remove o caractere de fim de linha
nome = nome.chomp
# Exibe o resultado
puts "Seu nome é: #{nome}"
Ao executar este código Ruby nós teremos o seguinte resultado: Informe seu nome: Osmar J. Silva Seu nome é: Osmar J. Silva Note o uso da função chomp para remover o caractere de fim de linha adicionando automaticamente pelo interpretador Ruby quando pressionamos a tecla Enter. |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular a massa de um corpo dada sua energia cinética e sua velocidade usando a linguagem CQuantidade de visualizações: 2760 vezes |
|
Na Física, a energia cinética em um objeto é a energia que ele possui devido ao seu movimento. Isso é definido como o trabalho necessário para acelerar um corpo de massa em repouso para que este adquira velocidade. Tendo ganho essa energia durante a aceleração, o corpo mantém essa energia cinética a menos que a sua velocidade mude. A mesma quantidade de trabalho é produzida por um corpo desacelerando da sua velocidade atual para um estado de repouso. Os carros de uma montanha-russa atingem sua energia cinética máxima quando estão no fundo de sua trajetória. Quando eles começam a subir, a energia cinética começa a ser convertida em energia potencial gravitacional, mas, se forem assumidos atritos insignificantes e outros fatores de atraso, a quantidade total de energia no sistema permanece constante. A fórmula para obtenção da massa de um corpo, quando temos a sua energia cinética e a sua velocidade é: \[ \text{m} = \frac{\text{2} \cdot E_c}{v^2} \] Onde: m ? massa do corpo (em kg). Ec ? energia cinética (em joule, J). v ? velocidade do corpo (em m/s). Vamos ver um exemplo agora? Observe o seguinte enunciado: 1) Uma bola de golfe está viajando a uma velocidade de 50m/s, e possui energia cinética de 75J. Qual é a sua massa? Note que o exercício nos dá a velocidade já em m/s, evitando a necessidade da conversão de km/h para m/s. Temos também a energia cinética já em sua medida apropriada. Assim, só precisamos jogar na fórmula. Veja o código C completo para este cálculo:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
// velocidade (em m/s)
float velocidade = 50; // em m/s
// energia cinética
float energia_cinetica = 75; // em joule
// e então calculamos a massa do corpo
float massa = (2 * energia_cinetica) / pow(velocidade, 2);
// mostramos o resultado
printf("A massa do corpo é: %fkg", massa);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A massa do corpo é: 0.060000kg (ou 0.060000 x 1000 = 60 gramas). |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
|
C - Como ler o conteúdo de um arquivo um caractere de cada vez usando a função fgetc() da linguagem C |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






