Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: C ::: Dicas & Truques ::: Struct (Estruturas, Registros)

Como criar uma instância de uma estrutura (struct) e acessar e manipular seus membros

Quantidade de visualizações: 11840 vezes
Como visto anteriormente, uma estrutura (struct) permite o agrupamento de variáveis de diferentes tipos e que podem ser referenciadas por um único nome. Além disso, a declaração de uma struct nos permite definir as características principais que todos os itens criados a partir desta estrutura terão.

Considere a seguinte struct:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

// define a estrutura Livro
struct Livro{
  char *titulo;
  int codigo;
  int paginas;
};

A partir daqui podemos criar quantas cópias quisermos desta estrutura. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

// cria duas instâncias de Livro
Livro a, b;

Cada atributo (ou propriedade) de uma determinada cópia da estrutura Livro pode ser acessada precedendo-se o nome da propriedade desejada com um ponto. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

// preenche os dados do primeiro Livro
a.titulo = "Programando em Java";
a.codigo = 342;
a.paginas = 230;

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

// define a estrutura Livro
struct Livro{
  char *titulo;
  int codigo;
  int paginas;
};

int main(int argc, char *argv[]){
  // cria duas instâncias de Livro
  Livro a, b;

  // preenche os dados do primeiro Livro
  a.titulo = "Programando em Java";
  a.codigo = 342;
  a.paginas = 230;

  // preenche os dados do segundo Livro
  b.titulo = "JavaScript - O Guia Prático";
  b.codigo = 675;
  b.paginas = 930;

  // exibe os dados do primeiro livro
  printf("Primeiro Livro\nTitulo: %s\nCodigo: %d\nPaginas: %d\n",
    a.titulo, a.codigo, a.paginas);

  // exibe os dados do segundo livro
  printf("\nSegundo Livro\nTitulo: %s\nCodigo: %d\nPaginas: %d\n",
    b.titulo, b.codigo, b.paginas);

  puts("\n\n");
  system("PAUSE");
  return 0;
}


Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como alocar memória dinâmica usando a função calloc() da linguagem C

Quantidade de visualizações: 18699 vezes
A função calloc() é bem parecida com a função malloc() e também é usada em C para alocarmos um bloco de memória. A diferença é que calloc() recebe a quantidade de elementos e o número de bytes do elemento e retorna um ponteiro do tipo void (genérico) para o início do bloco de memória obtido. Veja sua assinatura:

void *calloc(size_t n, size_t size);


Se a memória não puder se alocada, um ponteiro nulo (NULL) será retornado.

É importante se lembrar de alguns conceitos antes de usar esta função. Suponhamos que você queira alocar memória para um único inteiro. Você poderia ter algo assim:

// aloca memória para um int
ponteiro = calloc(1, 4);


Embora este código esteja correto, não é um boa idéia assumir que um inteiro terá sempre 4 bytes. Desta forma, é melhor usar o operador sizeof() para obter a quantidade de bytes em um inteiro em uma determinada arquitetura. Veja:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

// aloca memória para um int
ponteiro = calloc(1, sizeof(int));

Eis o código completo para um aplicativo C que mostra como alocar memória para um inteiro e depois atribuir e obter o valor armazenado no bloco de memória alocado:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // ponteiro para uma variável do tipo inteiro
  int *ponteiro;

  // aloca memória para um int
  ponteiro = calloc(1, sizeof(int));

  // testa se a memória foi alocada com sucesso
  if(ponteiro)
    printf("Memoria alocada com sucesso.\n");
  else
    printf("Nao foi possivel alocar a memoria.\n");

  // atribui valor à memória alocada
  *ponteiro = 45;

  // obtém o valor atribuído
  printf("Valor: %d\n\n", *ponteiro);

  // libera a memória
  free(ponteiro);

  system("PAUSE");
  return 0;
}

Uma aplicação interessante da função calloc() é quando precisamos construir uma matriz dinâmica. Veja como isso é feito no código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int i;

  // quantidade de elementos na matriz
  int quant = 10;

  // ponteiro para o bloco de memória
  int *ponteiro;

  // aloca memória para uma matriz de inteiros
  ponteiro = calloc(quant, sizeof(int));

  // testa se a memória foi alocada com sucesso
  if(ponteiro)
    printf("Memoria alocada com sucesso.\n");
  else{
    printf("Nao foi possivel alocar a memoria.\n");
    exit(1);
  }

  // atribui valores aos elementos do array
  for(i = 0; i < quant; i++){
    ponteiro[i] = i * 2;
  }

  // exibe os valores
  for(i = 0; i < quant; i++){
    printf("%d  ", ponteiro[i]);
  }

  // libera a memória
  free(ponteiro);

  printf("\n\n");
  system("PAUSE");
  return 0;
}



C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Vetores e Matrizes - Exercícios Resolvidos de C - Declarar um vetor de 10 elementos, usar um laço for para inicializar os elementos e exibí-los na vertical

Quantidade de visualizações: 15193 vezes
Vetores e Matrizes - Exercício Resolvido de C - Declarar um vetor de 10 elementos, usar um laço for para inicializar os elementos e exibí-los na vertical

Pergunta/Tarefa:

Escreva um programa C que declara um vetor de 10 elementos do tipo int. Em seguida use um laço for para inicializar os elementos com os valores de 1 até 10. Para finalizar exiba os valores dos elementos da matriz na vertical. Seu programa deverá exibir a seguinte saída:

1
2
3
4
5
6
7
8
9
10

Resposta/Solução:

A resolução desta tarefa passa pela declaração da matriz. Veja como isso pode ser feito:

// vamos declarar uma matriz de 10 ints
// neste momento seus elementos terão, todos, 
// valores aleatórios
int valores[10];


Veja a resolução completa do exercício:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // vamos declarar uma matriz de 10 ints
  // neste momento seus elementos terão, todos, 
  // valores aleatórios
  int valores[10];
  int i;
  
  // vamos usar o laço for para inicializar seus elementos
  // com os valores de 1 até 10
  for(i = 0; i < 10; i++){
    // aqui nós usamos o valor da variável i para acessar o
    // elemento da matriz e também para atribuir o valor de i + 1
    // ao elemento sendo acessado
    valores[i] = (i + 1);
  }

  // só nos resta exibir os valores de todos os elementos
  for(i = 0; i < 10; i++){
    printf("%d\n", valores[i]);
  }
  
  system("PAUSE");	
  return 0;
}



C ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C

Quantidade de visualizações: 9864 vezes
Muitas vezes precisamos adicionar à uma string apenas alguns caracteres de outra, ou seja, não queremos concatenar as duas strings completamente; apenas parte da segunda. Para isso podemos usar a função strncat(). Veja o protótipo e explicação desta função:

char *strncat(char *str1, const char *str2, size_t n);


Aqui a quantidade n de caracteres da string str2 será anexada ao final da string str1. O caractere de fim de string (null character) da str1 é sobrescrito durante a operação e anexado novamente assim que os caracteres desejados da str2 sejam copiados. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
  char texto[] = "Gosto muito de ";
  char palavra[] = "C++";

  /*
  Na segunda sequencia de caracteres nós temos "C++", mas
  queremos anexar à primeira sequencia apenas "C". Veja
  como isso é feito
  */

  strncat(texto, palavra, 1);

  // exibe o resultado
  puts(texto);

  system("pause");
  return 0;
}

Ao executar este códigos nós teremos o seguinte resultado:

Gosto muito de C


C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico

Exercícios Resolvidos de C - Como somar o primeiro e o último dígito de um número inteiro informado pelo usuário em C

Quantidade de visualizações: 713 vezes
Pergunta/Tarefa:

Escreva um programa C que pede para o usuário informar um número inteiro e mostre a soma do primeiro dígito com o último dígito. Atenção: você deve usar apenas os operadores matemáticos e a função log10().

Sua saída deverá ser parecida com:

Informe um número inteiro: 48763
A soma do primeiro e do último dígito é: 7
Resposta/Solução:

Veja a resolução comentada deste exercício usando C:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>

int main(int argc, char *argv[]){
  setlocale(LC_ALL,""); // para acentos do português

  int numero, quant, primeiro_digito, ultimo_digito, soma;

  // vamos pedir para o usuário informar um número inteiro
  printf("Informe um número inteiro: ");
  scanf("%d", &numero);
    
  // vamos obter a quantidade (-1) de dígitos no número informado
  quant = (int)log10(numero);
  primeiro_digito = (int)(numero / pow(10, quant));
  ultimo_digito = numero % 10;
  	
  // soma o primeiro e o último dígito
  soma = primeiro_digito + ultimo_digito;
	
  // mostra o resultado
  printf("A soma do primeiro e do último dígito é: %d", soma);
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}



C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico

Exercícios Resolvidos de C - Lendo a idade de um nadador e classificando sua categoria como infantil, juvenil, adolescente, adulto ou sênior

Quantidade de visualizações: 304 vezes
Pergunta/Tarefa:

Escreva um programa C que solicita a idade de um nadador e classifica sua categoria de acordo com as seguintes regras:

a) De 5 a 7 anos - Infantil;
b) De 8 a 10 anos - Juvenil;
c) De 11 a 15 anos - Adolescente;
d) De 16 a 30 anos - Adulto;
e) Acima de 30 anos - Sênior.

Sua saída deverá ser parecida com:

Informe sua idade: 19
Sua categoria é Adulto
Resposta/Solução:

Veja a resolução comentada deste exercício usando C:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
  // variáveis usadas na resolução do problema
  int idade;
    
  // vamos solicitar a idade do nadador
  printf("Informe sua idade: ");
  scanf("%d", &idade);
     
  // vamos verificar a categoria do nadador
  if((idade >= 5) && (idade <= 7)) {
    printf("Sua categoria é Infantil");  
  }
  else if((idade >= 8) && (idade <= 10)) {  
    printf("Sua categoria é Juvenil");  
  }
  else if((idade >= 11) && (idade <= 15)) {
    printf("Sua categoria é Adolescente");  
  }
  else if((idade >= 16) && (idade <= 30)) {
    printf("Sua categoria é Adulto");  
  }
  else if(idade > 30) {
    printf("Sua categoria é Sênior");  
  }
  else {
    printf("Não pertence a nenhuma categoria.");  
  }
   
  printf("\n\n");
  system("PAUSE");
  return 0;
}



C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Tenha cuidado com os limites dos índices de um vetor ou matriz na linguagem C

Quantidade de visualizações: 9777 vezes
Um erro muito comum em programas C ocorre quando não atentamos para os limites dos índices de um vetor ou matriz. Como sabemos, os índices iniciam em 0 e vão até o tamanho do vetor menos 1. Porém, ao contrário de outras linguagens, o C (compiladores sendo usados em 2007 e 2008) não evita que este limite seja ultrapassado. O resultado disso é que o programa acaba lendo posições de memória inexistentes ou pertecentes a outros programas.

Veja um trecho de código no qual acessamos uma posição inválida no vetor valores. Este código foi testado no MinGW 3.4.2 e compilou e executou sem qualquer mensagem de advertência.

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[])
{
  // array com 5 inteiros
  int valores[] = {23, 6, 45, 9, 3};
 
  // acessa um índice além dos limites do array
  // lembre-se de que os índices iniciam em 0
  int valor = valores[5];
 
  // exibe o resultado
  printf("%d\n\n", valor);
 
  system("PAUSE");
  return 0;
}

Ao executar este código nós teremos o seguinte resultado (o seu vai ser diferente, é claro):

-858993460

Minha recomendação é: se você quer mesmo programar na linguagem C, crie uma forma de impedir o acesso à índices inválidos. Se isso acontecer, os resultados exibidos pelos seus programas poderão ser realmente inesperados.


C ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções

Exercício Resolvido de C - Como converter minutos em segundos usando C

Quantidade de visualizações: 536 vezes
Pergunta/Tarefa:

Escreva um programa C para converter minutos em segundos. Você deverá criar uma função converter() que receberá, como argumento, um número inteiro representando os minutos e retornará, também como um inteiro, os segundos correspondentes. Os minutos deverão ser informados pelo usuário.

Sua saída deverá ser parecida com:

Informe os minutos: 15
A quantidade de segundos é: 900
Resposta/Solução:

Veja a resolução comentada deste exercício em C:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

// protótipo da função usada para converter minutos
// em segundos
int converter(int minutos);

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int minutos, segundos;
  
  setlocale(LC_ALL,""); // para acentos do português
 
  // vamos pedir para o usuário informar os minutos
  printf("Informe os minutos: ");
  scanf("%d", &minutos);
  
  // agora vamos chamar a função converter() para converter
  // os minutos em segundos
  segundos = converter(minutos);
  
  // e mostramos o resultado
  printf("A quantidade de segundos é: %d", segundos);
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

// função usada para converter minutos em segundos
int converter(int minutos){
  int segundos = minutos * 60;
  return segundos;
}



C ::: Dicas & Truques ::: Rotinas de Conversão

Como converter uma string em um valor de ponto-flutuante usando a função atof() da linguagem C

Quantidade de visualizações: 9055 vezes
Em algumas situações, pode ser necessário converter uma string em um valor numérico de ponto-flutuante. Para isso podemos usar a função atof().

Esta função recebe uma matriz de caracteres e tenta transformá-la em um valor de ponto-flutuante. Se a conversão não for possível, o valor 0 é retornado. Os sinais "+" e "-", o ponto decimal e uma parte exponencial, representada por "e" ou "E" são válidos na string a ser convertida. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // valor de ponto-flutuante em forma de string
  char valor_str[] = "34.5";

  // A linha abaixo causa um comportamento estranho
  //float res = 10 + valor_str;

  // temos que converter a string em um valor de ponto-flutuante válido
  float res = 10 + atof(valor_str);

  printf("O resultado e: %f", res);

  puts("\n");
  system("pause");
  return 0;
}



Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Dimensionamento de Redes de Distribuição de Água

O primeiro passo para você entender uma rede de distribuição de água (RDA) é conhecer as duas formas nas quais diferentes condutos podem se associar: em série ou em paralelo. Quanto aos condutos em série e paralelo pode-se dizer que as afirmações a seguir:

I) Para manter a vazão constante, a velocidade do escoamento se altera, sendo inversamente proporcional à área. Assim, se a área da seção transversal aumenta, a velocidade diminui, e vice-versa.

II) O que você precisa saber em uma associação de condutos em paralelo é que existe uma perda de carga entre A e B, ou seja, o início e final de um segmento. Essa perda de carga é constante, independentemente do trecho pelo qual o escoamento flui.

III) Quando em paralelo, a vazão que parte do nó A se divide em função das características da tubulação e do escoamento, como diâmetro, rugosidade e velocidade, quando chega em B, houve alteração nesta vazão a variação da velocidade diferenciada em cada um dos caminhos ao qual fora dividida.

Pode-se dizer que:

A) I e III estão corretas

B) Somente III está correta

C) Somente I está correta

D) I e II estão corretas

E) Todas estão corretas
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Ética, Legislação e Entidades que regulamentam a profissão

Você estudou sobre a aplicação do método de solução de problemas de engenharia para fins de análise e solução de dilemas éticos na profissão. Com base nessa ferramenta, as alternativas abaixo apresentam etapas de análise e solução de problemas éticos, exceto:

A) Definição do problema e determinação dos objetivos.

B) Identificação de soluções alternativas e de restrições.

C) Escolha de uma solução e testes de potenciais impactos da solução.

D) Negociação e aprovação da solução pelo ente envolvido, a fim de evitar atritos.

E) Documentação e comunicação da solução.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Agregados naturais

A areia seca absorve água, formando uma película em torno dos grãos. Essa é uma propriedade mecânica chamada de:

A) Inchamento.

B) Higroscopia.

C) Coesão aparente.

D) Resistência à compressão.

E) Friabilidade.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

let valores = [1, 2, 3];
valores[6] = 9;
document.write(valores[5]);

Qual é o resultado de sua execução?

A) undefined

B) 9

C) 2

D) 3

E) Um erro de execução
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

(UFG 2010) As bacias hidrográficas são unidades físicas, formadas por uma porção de terra, delimitadas pelas partes mais altas do relevo, drenadas por um curso d'água principal e seus afluentes. Os processos ambientais, decorrentes da ação da precipitação, responsáveis pela modelagem do relevo na bacia hidrográfica são:

A) evaporação, condensação e infiltração.

B) vulcanismo, falhamento e fraturamento.

C) dobramento, intemperismo químico e soerguimento.

D) escorregamento, erosão e assoreamento.

E) lixiviação, intemperismo físico e laterização.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 32 usuários muito felizes estudando em nosso site.