Baixe o app para aproveitar ainda mais
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.
Compartilhar