Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Aplicação de Structs | Introdução a Structs
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Dominando Structs em C

bookAplicação de Structs

Ao projetar programas, uma etapa muito importante é a escolha da representação dos dados que serão gerenciados.

Por exemplo, considere a criação de um programa simples para automatizar o cálculo do número de nêutrons em um átomo.

Onde N é o número de nêutrons, A é a massa atômica do elemento e Z é o número de prótons. Uma função para calcular o número de nêutrons em C seria assim:

int NeutronCount(float A, int Z)
{
	int N = A - Z;
	return N;
}

Para utilizar esta função, é necessário declarar uma grande quantidade de variáveis com as características de cada elemento químico, sem se confundir.

Parece que os cálculos foram automatizados, mas não houve ganho em conveniência ou velocidade. É muito inconveniente inserir os parâmetros de um elemento químico toda vez, depois anotar o resultado em algum lugar, etc.

char firstElementName[3];
int firstElementAtomicNum;
int firstElementValency;
double firstElementMass;

char secondElementName[3];
int secondElementAtomicNum;
int secondElementValency;
double secondElementMass;

char thirdElementName[3];
int thirdElementAtomicNum;
int thirdElementValency;
double thirdElementMass;

E assim por diante para outros 118 elementos químicos.

"Seria ótimo se minha linguagem favorita, C, tivesse um mecanismo para descrever e manipular dados complexos", você pensou.

Vamos descrever visualmente a futura estrutura que representará qualquer elemento químico, por exemplo, o silício "Si":

É bastante conveniente. Em vez de criar várias variáveis separadas, você pode definir uma estrutura para armazenar todos os campos. Na linguagem C, tudo o que você precisa para isso já está disponível.

question mark

Por que é inconveniente calcular o número de nêutrons usando variáveis separadas para cada elemento?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

bookAplicação de Structs

Deslize para mostrar o menu

Ao projetar programas, uma etapa muito importante é a escolha da representação dos dados que serão gerenciados.

Por exemplo, considere a criação de um programa simples para automatizar o cálculo do número de nêutrons em um átomo.

Onde N é o número de nêutrons, A é a massa atômica do elemento e Z é o número de prótons. Uma função para calcular o número de nêutrons em C seria assim:

int NeutronCount(float A, int Z)
{
	int N = A - Z;
	return N;
}

Para utilizar esta função, é necessário declarar uma grande quantidade de variáveis com as características de cada elemento químico, sem se confundir.

Parece que os cálculos foram automatizados, mas não houve ganho em conveniência ou velocidade. É muito inconveniente inserir os parâmetros de um elemento químico toda vez, depois anotar o resultado em algum lugar, etc.

char firstElementName[3];
int firstElementAtomicNum;
int firstElementValency;
double firstElementMass;

char secondElementName[3];
int secondElementAtomicNum;
int secondElementValency;
double secondElementMass;

char thirdElementName[3];
int thirdElementAtomicNum;
int thirdElementValency;
double thirdElementMass;

E assim por diante para outros 118 elementos químicos.

"Seria ótimo se minha linguagem favorita, C, tivesse um mecanismo para descrever e manipular dados complexos", você pensou.

Vamos descrever visualmente a futura estrutura que representará qualquer elemento químico, por exemplo, o silício "Si":

É bastante conveniente. Em vez de criar várias variáveis separadas, você pode definir uma estrutura para armazenar todos os campos. Na linguagem C, tudo o que você precisa para isso já está disponível.

question mark

Por que é inconveniente calcular o número de nêutrons usando variáveis separadas para cada elemento?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 2
some-alt