Buscar

Estruturas Homogêneas na Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Descobrindo a importância das estruturas homogêneas na programação
Conjunto como um agrupamento ou coleção de elementos, ou membros, do mesmo tipo e é, geralmente, indicado por uma letra maiúscula. É comum um conjunto ser representado por uma linha fechada com pontos em seu interior, mas se essa linha for um círculo, poderemos afirmar que usamos o diagrama de Euler-Venn.
Matriz Unidimensional:
Matriz linha ou vetor linha:			Matriz coluna ou vetor coluna:
���			
Enfatizamos que, em Programação, as duas matrizes serão declaradas da mesma forma e somente na apresentação delas no display é que faremos diferença, usando os caracteres de controle \n e \t para diferenciar matriz coluna da matriz linha.
Dimensionando Matrizes Unidimensionais vetores:	�
1) Guardar 10 idades. �
2) Duas notas e a média de 50 alunos.	�
3) Matrícula e CR de 60 alunos.		�
4) Sexo de 30 pessoas.		�
5) Nome de uma pessoa.	�
Matriz Bidimensional:
�
Estrutura é uma técnica de programação que permite agruparmos vários elementos em uma mesma variável, podendo ser classificada em homogênea ou heterogênea.
Estrutura Homogênea -	�
Estrutura Heterogênea -	�
Matrizes são tabelas criadas na memória principal (MP):
Vetor de tamanho 5 e do tipo inteiro de quatro bytes - �
string é um vetor de caracteres terminado com um caracter nulo. O caracter nulo tem um valor inteiro igual a zero (código ASCII igual a 0). O terminador nulo também pode ser escrito usando a convenção de barra invertida do C como sendo '\0'. Como precisamos reservar uma posição para o terminador, sempre declararemos o tamanho necessário mais um.
O endereço guardado é o do primeiro caracter, ou do primeiro byte da primeira variável se for uma matriz numérica. Esse é chamado de endereço base e qualquer outro caracter será acessado pelo endereço base mais seu deslocamento em relação a esse endereço se for um vetor de char ou pelo endereço base mais o produto do seu deslocamento em relação a esse endereço pelo tamanho do tipo da variável se for um vetor numérico.
�
�
Conclui-se que 0 significa que não existe deslocamento em relação ao endereço-base.
Observe o vetor idades[5]. Ele é formado por cinco variáveis todas com nome, idades. Dentro de um par de colchetes, fica o deslocamento.
�
& retorna endereço:
��� SHAPE \* MERGEFORMAT �
scanf(..., ...) - É usada, sem problemas, para ler variáveis simples, numéricas ou char de um caracter, e para vetores dos tipos citados. Entretanto, apresenta limitação para vetor de char, uma vez que abandona ao encontrar um espaço. Seu uso é ideal quando você tiver certeza de não haver a menor possibilidade de a resposta conter espaço. Tal como: sigla do estado, estado civil, url etc.
gets(...) - Resolve o problema da inclusão de mais de uma palavra, aceitando espaço, mas não tem nenhum controle sobre os números de caracteres armazenados tanto é que vários compiladores alertam para a insegurança do seu uso. Aconselhamos não usá-la.
fgets(..., ...., ....) - Assim como gets(...), lê todos os caracteres, inclusive espaços, mas especifica em um dos parâmetros o máximo de caracteres que poderá ser armazenado. Um dos parâmetros indica através da sigla stdin que a leitura será feita do teclado. Reforçamos que a leitura termina quando se pressiona a tecla enter ou n-1 carcateres tenham sido lidos, justificando a inserção do terminador nulo (’\0’). Muita atenção para a adição de uma nova linha quando o conteúdo digitado não ultrapassar a n-1 caracteres.
Trecho de Entrada:	�
Numérica ou char de um caracter -	�
Matriz de char * (Uma palavra) - 	�
Matriz de char * (Mais de uma palavra) - ��� SHAPE \* MERGEFORMAT �
Trecho de Saída: Deverá começar com um título e em uma nova tela. Não incluímos no formato básico a limpeza de tela, mas o faremos no ex., pois é sempre bom visualizar a saída sem o diálogo da entrada.
�
Vetor de char (Uma ou mais palavras) -	�
Matriz Linha - 	�
Matriz Coluna - 	�
fgetc(stdin); e fflush(stdin); resolvem o problema da limpeza  do buffer.
fgetc(stdin); pode lhe ajudar quando existe somente um caracter no buffer. Como por exemplo, alterna de numérico para char.
fflush(stdin); pode lhe ajudar quando existir a possibilidade de permanecer no buffer, mais de um caracter. Pode ser sempre usado.
�
1) Existe alguma palavra para declarar matrizes? R: Não. A declaração se faz da mesma forma que declaramos variáveis simples, exceto pelo acréscimo do tamanho dentro do par de colchetes.
2) Em uma matriz posso armazenar dados numéricos de caracteres? R: Não em matrizes homogêneas.
3) Por que não usamos & na leitura de vetor de char? R: Porque na linguagem C toda matriz é um endereço que aponta para a primeira posição do conjunto de endereços e, no caso do vetor de char, ao se acessar o primeiro, consegue-se armazenar nele e nos demais. 
4) O que é o terminador nulo? R: É o caracter \0 que finaliza um vetor de char, colocado automaticamente e ocupando a última posição do conjunto.
	 1a Questão (Ref.: 201309287285)
	
	Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos.
Pensou em declarar algumas matrizes unidimensionais para tornar isso possível.
Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima?
	 
	int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
	
	double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000];
	
	double codigos[1000], qtdade[1000], valorC[1000], valorV[1000];
	
	int codigos[999], qtdade[999]; float valorC[999], valorV[999];
	
	double codigos[999], qtdade[999], valorC[999], valorV[999];
	 2a Questão (Ref.: 201309301132)
	
	Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar.
Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para  atender a necessidade citada.
	
	real notas[150];
	
	integer notas[150];
	 
	float %.1f notas[150];
	
	int notas[150];
	 
	float notas[150];
	 3a Questão (Ref.: 201309296497)
	
	Dentre as estruturas de Dados mais utilizadas em programação, se encontram os vetores.
Baseado neste conceito, identifique a opção incorreta:
	
	Um vetor de caracteres terminado com um caracter nulo é uma string na linguagem C.
	 
	Podem ser formado por elementos de tipos diferentes.
	
	Deve ser declarado antes de acessado em seu programa.
	
	Na declaração int[50]; o índice da ultima posição é 49.
	 
	Permite agrupar vários elementos em uma mesma variável indexada.

Continue navegando