Prévia do material em texto
· Pergunta 1 1 em 1 pontos As matrizes são estruturas de armazenamento temporário. Para acessar um elemento da matriz, indique o nome da matriz seguido da posição da linha e da coluna, nesta sequência. Podemos manipular matrizes usando dois comandos de repetição, inclusive para preenchê-las. O programa a seguir, preenche uma matriz 3x3, com zeros e uns. Analisando este programa, escolha a opção correta que mostra qual será a matriz gerada. Resposta Selecionada: Resposta Correta: Feedback da resposta: A sua resposta está correta. Este programa carrega uma matriz com zeros e uns, usando o seguinte critério: se a soma do número da linha com o número da coluna for par, então preenche com zero, senão preenche com um. · Pergunta 2 0 em 1 pontos Elena resolveu organizar uma competição de handebol misto, ou seja, mulheres e homens, em sua cidade, Rio Branco. Depois de divulgar a notícia entre os atletas e clubes, foram inscritas cinco equipes mistas, no total. As regras para pontuação foram definidas da seguinte forma: • vitória vale 3 pontos; • empate vale 1 ponto; • derrota vale 0 ponto. A estrutura adotada é: Um vetor de strings para os nomes dos times e uma matriz do tipo inteira para os resultados e pontuação. A primeira coluna da matriz guarda o número de vitórias, a segunda o número de empates, a terceira o número de derrotas e a ultima o total de pontos. O programa para fazer os cálculos dos pontos possui a seguinte tela principal: O bloco de comandos da opção 3 é mostrada a seguir. Observe que uma parte do programa foi coberta. Escolha, a seguir, o bloco de comandos que foi coberta na opção 3. Resposta Selecionada: Resposta Correta: · Pergunta 3 1 em 1 pontos Temos o caso de uma empresa que precisa pagar seus colaboradores temporários em espécie. Para cada valor a ser pago, o gerente da empresa conta a quantidade de notas de R$100, R$50, R$20, R$10, R$5, R$2 e moedas de R$1. Por exemplo, um colaborador irá receber R$1.655,00, então, serão necessárias 16 notas de R$100, uma nota de R$50 e uma nota de R$5. Ao final, ele soma todas as quantidades de cada nota, e solicita ao banco a quantidade necessária. Isso é necessário, para que o pagamento seja exato, sem troco, pois, se um colaborador recebe R$1.655,00 e um outro R$1.345,00, somando-se os dois temos um total de R$3.000,00, mas se for solicitado ao banco um valor de R$3.000,00 em espécie, o banco poderia fornecer 30 notas de R$100, e o gerente da empresa não poderia pagar o valor exato aos dois colaboradores. Assim, para que o gerente possa automatizar esse cálculo, a empresa solicitou o desenvolvimento de um programa para ler o nome e o valor a ser pago de cada colaborador, e informar a quantidade de notas necessárias para pagar cada colaborador e depois a quantidade final. O desenvolvedor do programa adotou a seguinte estrutura: Uma matriz de string para guardar os nomes dos colaboradores e uma matriz de float para: • coluna 0: valor a ser pago para cada colaborador; • coluna 1: a quantidade de notas de R$100; • coluna 2: a quantidade de notas de R$50; • coluna 3: a quantidade de notas de R$20; • coluna 4: a quantidade de notas de R$10; • coluna 5: a quantidade de notas de R$5; • coluna 6: a quantidade de notas de R$2; • coluna 7: a quantidade de moedas de R$1. A última linha das duas matrizes, será utilizada para armazenar o somatório de cada coluna, ou seja, o valor total a ser pago, o total de notas de R$100, etc. O programa terá a seguinte tela principal: A opção 3, relatórios, imprimirá o somatório dos valores: valor total a ser pago, total de notas R$100, total de notas R$50 etc. Considerando que a empresa possui 100 colaboradores, um programa para zerar a matriz notas é: Resposta Selecionada: Resposta Correta: Feedback da resposta: A sua resposta está correta. Para zerar uma matriz, basta percorrê-la, utilizando dois comandos de repetição e atribuindo o valor de zero para cada elemento. · Pergunta 4 0 em 1 pontos Vamos acompanhar o exemplo de uma empresa que precisa pagar seus colaboradores temporários em espécie. Para cada valor a ser pago, o gerente da empresa conta a quantidade de notas de R$100, R$50, R$20, R$10, R$5, R$2 e moedas de R$1. Por exemplo, um colaborador irá receber R$1.655,00, então, serão necessárias 16 notas de R$100, uma nota de R$50 e uma nota de R$5. Ao final, ele soma todas as quantidades de cada nota, e solicita ao banco a quantidade necessária. Isso é necessário, para que o pagamento seja exato, sem troco, pois, se um colaborador recebe R$1.655,00 e um outro R$1.345,00, somando-se os dois temos um total de R$3.000,00, mas se for solicitado ao banco um valor de R$3.000,00 em espécie, o banco poderia fornecer 30 notas de R$100, e o gerente da empresa não poderia pagar o valor exato aos dois colaboradores. Assim, para que o gerente possa automatizar esse cálculo, a empresa solicitou o desenvolvimento de um programa para ler o nome e o valor a ser pago de cada colaborador, e informar a quantidade de notas necessárias para pagar cada colaborador e depois a quantidade final. O desenvolvedor do programa adotou a seguinte estrutura: Uma matriz de string para guardar os nomes dos colaboradores e uma matriz de float para: • coluna 0: valor a ser pago para cada colaborador; • coluna 1: a quantidade de notas de R$100; • coluna 2: a quantidade de notas de R$50; • coluna 3: a quantidade de notas de R$20; • coluna 4: a quantidade de notas de R$10; • coluna 5: a quantidade de notas de R$5; • coluna 6: a quantidade de notas de R$2; • coluna 7: a quantidade de moedas de R$1. A última linha das duas matrizes, será utilizada para armazenar o somatório de cada coluna, ou seja, o valor total a ser pago, o total de notas de R$100, etc. O programa terá a seguinte tela principal: A tela de execução da opção 1 é Obs.: a função setbuf(stdin, NULL) limpa o buffer do teclado antes da leitura de strings , para corrigir pequenos erros. O programa que gerou esta tela de execução é: Resposta Selecionada: do teclado. O scanf lê palavras, enquanto o gets lê frases. No scanf, o identificador é %s e o parâmetro & não é aplicado antes da variável. Em um vetor de caracteres, a posição é omitida, e na matriz de caracteres, a posição de coluna é omitida. Resposta Correta: Comentários da Resposta: A sua resposta está incorreta. Reveja os conceitos das funções gets e scanf para leitura de strings.A linguagem C possui características próprias para leitura de matrizes de strings e terminador de strings. · Pergunta 5 1 em 1 pontos Maria Laura resolveu organizar um campeonato de futebol misto, ou seja, mulheres e homens, no bairro onde mora, Jabaquara, na cidade de São Paulo. Ela conseguiu a participação de cinco equipes mistas. As regras para pontuação são simples: • vitória vale 3 pontos; • empate vale 1 ponto; • derrota vale 0 ponto. A estrutura adotada é: Um vetor de strings para os nomes dos times e uma matriz do tipo inteira para os resultados e pontuação. A primeira coluna da matriz guarda o número de vitórias, a segunda o número de empates, a terceira o número de derrotas e a ultima o total de pontos. O programa para fazer os cálculos dos pontos, possui a seguinte tela principal: A opção 1, cadastrar times, foi construída assim: A função setbuf(stdin, NULL) serve para limpar o buffer , assim, evita alguns erros na leitura de caracteres. Analisando este programa e a descrição anterior, considere as afirmações a seguir. I. A função gets pode ser substituída pela função scanf , sem prejudicar a leitura dos nomes dos times. II. O vetor de strings , times, deve ser declarado como char times[5] . III. O vetor times,por ser uma cadeia de caracteres, deve ser lido sem a identificação da sua posição. Então, a leitura correta na função de entrada gets será: gets (times);. IV. Serão cadastrados cinco times, em sequência. Após a leitura, a tela será pausada, esperando que o usuário aperte qualquer tecla. Considerando as afirmações dadas, escolha a alternativa que apresenta o que é correto afirmar. Resposta Selecionada: IV, apenas. Resposta Correta: IV, apenas. Feedback da resposta: A sua resposta está correta. O comando gets lê frases do teclado e scanf, consegue ler apenas palavras. Para armazenar vários nomes de times, é necessário o uso de matrizes de caracteres e não de vetores. A função system (“pause”) faz uma pausa na execução do programa. · Pergunta 6 1 em 1 pontos Uma mãe resolveu fazer uma festa para sua filha que irá completar 14 anos. Ela pensou em chamar só os amigos mais próximos. Perguntando à filha, ela descobriu que virão à festa apenas seis amigos. A mãe providenciou os salgados e o bolo de aniversário e a festa foi um sucesso. Depois, a mãe ficou curiosa para saber, dentre os amigos da filha: • quem era o mais velho; • quem era o mais novo; • qual a média de idade dos amigos; • e quem estava acima da média das idades. A tela de execução de um programa que calcula as informações acima é: Escolha a seguir o programa que gerou esta tela. Resposta Selecionada: Resposta Correta: Feedback da resposta: A sua resposta está correta. Os vetores são variáveis de mesmo tipo, e para acessar um elemento do vetor, basta identificar o nome do vetor e aposição do elemento. A numeração dos elementos sempre começa por 0. · Pergunta 7 1 em 1 pontos Quando trabalhamos com linguagem C e precisamos gerar números aleatórios, temos algumas opções de funções, entre elas: rand , random e srandom . A função gera números aleatórios na faixa de 0 a num . O programa a seguir, inicialmente carrega uma matriz com números aleatórios na faixa de 0 a 50, linhas de 7 a 10. Analise este programa e escolha a opção correta, a seguir. Resposta Selecionada: Este programa carrega uma matriz 5x10, do tipo inteira, com números aleatórios. Depois gera outro número aleatório e armazena na variável num. Imprime a matriz e as posições dos elementos iguais a num. Resposta Correta: Este programa carrega uma matriz 5x10, do tipo inteira, com números aleatórios. Depois gera outro número aleatório e armazena na variável num. Imprime a matriz e as posições dos elementos iguais a num. Feedback da resposta: A sua resposta está correta. Ao analisar as informações, percebemos que o programa carrega uma matriz com a geração de números aleatórios e gera um número, também aleatório. Depois procura na matriz a existência deste número, informando a sua posição. · Pergunta 8 0 em 1 pontos Em muitas situações desejamos um formato de data diferente. Por exemplo, entramos em um site e vemos uma data no formato de extenso no mês, tipo 12 de janeiro de 2019, ao invés de 12/01/2019. A escrita por extenso, em programação, é divertida. Mas para isso precisamos conhecer e saber como manipular strings em C. Analise o programa a seguir, que escreve os meses do ano por extenso. A tela de execução deste programa é: Observe que há um trecho do código oculto por uma tarja preta. Escolha, a seguir, a parte do programa ocultada que gerou está tela de execução. Resposta Selecionada: Resposta Correta: · Pergunta 9 1 em 1 pontos Os programadores devem saber a linguagem de programação fluentemente. Isso porque, para um programador não é só necessário saber construir um programa. Ele também deve saber ler o programa, ou seja, saber o que o programa faz, descobrir quais são as saídas de acordo com as entradas de dados. Em trabalhos feitos em equipe, ou mesmo em pesquisas ou estudos de códigos, saber ler o código desenvolvido por outra pessoa é fundamental. Por exemplo, analise o programa a seguir. Agora escolha qual tela de execução terá este programa. Resposta Selecionada: Resposta Correta: Feedback da resposta: A sua resposta está correta.Este sistema carrega um vetor com números digitados pelo usuário. Depois ordena este vetor, em ordem crescente e o imprime ao usuário. · Pergunta 10 0 em 1 pontos Uma operação que podemos fazer com as matrizes é encontrar a sua transposta. A matriz transposta é representada por . Para calcular a matriz transposta, basta transformar cada linha da matriz A em uma coluna na matriz transposta. Veja o exemplo a seguir. e A seguir é apresentado uma tela de execução de um programa que calcula a matriz inversa de matrizes 5x5. Escolha a seguir, o bloco de códigos que calcula a matriz transposta. Resposta Selecionada: Resposta Correta: