Baixe o app para aproveitar ainda mais
Prévia do material em texto
ESTUDO DIRIGIDO –AULAS_6_8 AULA 6 RETIFICANDO: Sequência da TELA 13, segunda tela : • Atribuindo valor a um vetor de char com mais de um caracter: Onde se lê: int frase[]=”Linguagem de Programação I”; Leia-se: char frase[]=”Linguagem de Programação I”; 1) Com se declara uma variável que irá armazenar um nome, ou um endereço , ou uma profissão? Dê, também, um exemplo. 2) Explique por sempre temos que reservar mais uma posição quando declaramos um vetor de char? 3) Na linguagem C, o nome de um vetor é um endereço. Sendo assim, o primeiro caractere de um vetor de char, ou o primeiro byte da primeira variável de um vetor char está nesse endereço. Como ele é chamado? 4) Qual seria a justificativa para ser 0(zero) o índice do primeiro elemento de um vetor? 5) Se o endereço de um vetor declarado assim: int NUM[5]; for 10000(em decimal), qual seria a expressão que calcularia o endereço da quarta variável desse vetor, sabendo-se que o tipo int ocupa quatro posições de memória para cada variável? 6) Se o endereço de um vetor declarado assim: double a[30]; for 25000(em decimal), qual seria a expressão que calcularia o endereço da décima variável desse vetor, sabendo-se que o tipo int ocupa quatro posições de memória para cada variável? 7) Existem várias funções para se podem ler para uma variável do tipo vetor de char, mas sempre ficamos em dúvida quando usar scanf(...) e quando usar fgets(). Explique, sucintamente e exemplifique. 8) A função fgets será usada também para ler de arquivos. Onde está na sintaxe que está lendo do teclado? 9) Na linguagem C, podemos atribuir de declarar um vetor, ao mesmo tempo. Exemplifique para um vetor numérico do tipo float que armazena alturas de 7 pessoas. 10) Na linguagem C, podemos atribuir de declarar um vetor, ao mesmo tempo. Exemplifique para um vetor do tipo numérico do tipo int que armazena idades de 4 pessoas. 11) Declarei um vetor para armazenar matrículas de 150 alunos. Como seria um trecho para permitir a entrada, via teclado de todas essas matrículas, sabendo que o vetor declarado é do tipo int, de nome MAT? 12) Declarei dois vetores de nomes R1 e R2, para armazenar valores de resistores de 18 circuitos em série. Como seria um trecho para permitir a entrada, via teclado de todos esses valores? 13) Declarei um vetor de char para armazenar um nome com até 39 caracteres, obrigatoriamente. Como seria a declaração desse vetor que deverá ter nome NOME e o trecho de entrada? 14) O que significa limpar o buffer do teclado e quando isso acontece? Que funções podem ser usadas, e quando, para resolver esse problema? 15) Tenho um vetor do tipo float, de nome CR e de tamanho 50 que armazena o CR de 50 alunos. Como seria um trecho para exibir todos os CRs, em cada linha? 16) Tenho um vetor do tipo char, de nome sexo de tamanho 10 que armazena o sexo( F ou M) de 10 funcionários. Como seria um trecho para exibir todos os sexos na mesma linha tabulados? 17) Tentei copiar uma cadeia de caracter para um vetor de char usando o comando de atribuição tipo: resposta =”TUDO CERTO” e não foi permitido. Como posso resolver esse problema? 18) Quando preciso ordenar dois números, uso os operadores > ou <. Tentei fazer isso com vetor de char tem horas que dá certo, tem horas que não. Por que será? E como poderei comparar para ordenar? 19) Precisava converter todas as letras de um vetor de char declarado da seguinte forma: char palavra[40]; . Como fazer um trecho para converter todas as letras para maiúsculas, sabendo-se que não é permitido usar a função strupr()? 20) Quando usamos a função fgets, na maioria das vezes, o caracter \n é incluído no vetor. Como poderemos retirar esse caracter? AULA 7 1) Como se declara uma matriz bidimensional para armazenar 13 salários de 10 funcionários e outra matriz para guardar os nomes dos 10 funcionários? 2) Com se declara uma matriz bidimensional para armazenar área do terreno e área construída de 100 casas e outra matriz para guardar os endereços das 100 casas? 3) Foi declarada uma matriz assim: float N[4][3]; . Se você precisasse saber o endereço da variável que se encontra na segunda linha e segunda coluna, como seria a expressão matemática para calcular esse endereço, sabendo-se que o endereço base da matriz e 2293392? 4) Por que para lermos valores para uma matriz bidimensional numérica, precisaremos de duas estruturas de repetição? 5) Por que para lermos valores para uma matriz bidimensional do tipo char, só precisaremos de uma estrutura de repetição? 6) Foi declarada uma matriz assim: int not[4][10]; . Como seria o trecho para ler valores do teclado para essa matriz? 7) Foi declarada uma matriz assim: char siglas[100][3]; , sabe-se que serão digitadas siglas dos estados brasileiros, inclusive o distrito federal. Como seria o trecho para ler valores do teclado para essa matriz? 8) Foi declarada uma matriz assim: char enderecos[100][41]; .Sabe-se que serão digitados endereços completos. Como seria o trecho para ler valores do teclado para essa matriz? 9) Tenho uma matriz assim declarada: float MATRIZ[50][5]; cujos elementos precisam ser inicializados com 1. Como você faria um trecho para conseguir isso? 10) A professora de LPI pediu para que fosse construído um trecho para contar quantas notas maiores ou iguais a 9 se encontram em uma turma com 10 alunos onde cada um fez duas provas. Digitar toda hora fica meio demorado. Escreva uma linha que declare e a atribua 20 notas a uma matriz de nome NOTAS, bidimensional. 11) Um engenheiro de petróleo e gás estava desenvolvendo um programa que dizia respeito aclassificações para os poços de petróleo segundo a direção da perfuração. Escreva uma linha que declare e atribua a uma matriz de nome POCO nomes de três poços, sabendo-se que nenhum nome tem mais de 19 caracteres. 12) Foi declarada uma matriz assim: char siglas[8][3]; e que já estão armazenadas as siglas dos estados brasileiros, inclusive o distrito federal. Como seria o trecho para exibir tabuladas todas as siglas com título? 13) Foi declarada uma matriz assim: char enderecos[10][41]; e que já estão armazenados os endereços. Como seria o trecho para exibir todos os endereços, um em cada linha com título? 14) Um engenheiro estava desenvolvendo um programa e, nos testes, percebeu que, mesmo pedindo para digitar no máximo 20 caracteres porque tinha declarado uma matriz assim: char TIPOS[10][21] que isso era suficiente porque o usuário poderia digitar mais e o resto ficar no buffer. Leu sobre um trecho de proteção para obrigar o usuário a digitar novamente enquanto ele digitar tipo com tamanho maior do que 20. Como seria esse trecho? 15) Um engenheiro estava desenvolvendo um programa e, nos testes, percebeu que ao usar a fgets() o caracter \n é incluído ao final. Isso não é bom porque não se consegue exibir dados na mesma linha. Sabendo-se que ele tinha declarado uma matriz assim: char TIPOS[10][21]. Como seria um trecho para retirar de todos os nomes dessa matriz o \n? 16) Um professor já tinha armazenado os nomes dos 20 alunos na matriz do tipo char e de nome ALUNOS[20][31] e na matriz float NOTAS[20][4] as notas das três provas e da média e gostaria de exibir os nomes na 1ª coluna e a primeira nota na 33ª coluna, a segunda nota na 41ª coluna, a terceira nota na 49ª coluna e a média na 57ª coluna. O problema era o tamanho diferente dos nomes. Como você construiria um trecho para exibir os conteúdos das duas matrizes como foi pedido? AULA 8 1) Qual o conceito de Modularização? 2) Conceitue função e responda:Existe um númeromáximo de funções para compor um programa? 3) O que significa definir uma função? Fale sobre cada elemento da função. 4) Qual a diferença entre protótipo e o cabeçalho de uma função? 5) O que significa prototipagem? 6) Temos função com retorno e função sem retorno( void) . Para onde retorna o fluxo após a execução da função em ambos os tipos? 7) O que significa dizer que a função é do tipo void e não tem parâmetros? Alguma vantagem para quem está aprendendo a definir função? 8) Como é chamada um função do tipo void? 9) Conceitue passagem por parâmetro. 10) Conceitue passagem por referência. 11) Como é feita a chamada de uma função que retorna valor? 12) Analise o protótipo abaixo, informando: tipo de retorno, nome da função, quantidade de parâmetros , tipos e nomes deles. float TESTE (float a, float b, int cont); 13) Analise o protótipo abaixo, informando: tipo de retorno, nome da função, quantidade de parâmetros , tipos e nomes deles. float IMC(float peso, float altura); 14) Analise o protótipo abaixo, informando: tipo de retorno, nome da função, quantidade de parâmetros , tipos e nomes deles. int MM(int conta1, int conta2); 15) Li que o comando return poderá estar presente mais de uma vez em uma função, mas inclui uma linha do tipo: return a, b; e está dando erro na minha função. Por que será? 16) Qual a diferença entre uma variável local e uma variável global para todas as funções definidas em um programa? 17) Por que, quando passamos um vetor como parâmetro, podemos alterar o conteúdo das variáveis desse vetor? 18) Analise o protótipo, identificando o tipo de retorno, nome da função, quantidade de parâmetros, os nomes e tipos deles: double ALTURAS(double ALT[], int tam); 19) Analise o protótipo, identificando o tipo de retorno, nome da função, quantidade de parâmetros, os nomes e tipos deles: void PRECOS(double precoCompra[], double precoVenda[] int tam); 20) Vi o seguinte protótipo de uma função: int contaPar(int NUM[], Int TAM); . Sabe-se que a finalidade dessa função é retornar a quantidade de números pares que estão no vetor e que TAM é o tamanho do vetor. Como seria a definição dessa função?
Compartilhar