Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estácio de Sá ** Estrutura de Dados Professora : Jane Aluno(a) : 1/2017 INSTRUÇÕES IMPORTANTES: Faça tudo, sem exceção, na folha pautada, especificando o número da questão e do item. Faça, obrigatoriamente, as questões objetivas com caneta. Questões de código : lápis ou caneta, sendo que a escrita deve ser legível e nítida. Não use lápis fraco. Ponha nome nas folhas pautadas e na folha de questão, devolvendo todas as folhas e numerando as pautadas, sendo número da folha/total de folhas pautadas. AV1 1) Considere os trechos abaixo: int v = 200; void xpto (int &k) { int aux = 100; k = k * 2; aux = aux – 25; v = v + aux; cout << "Auxiliar = " << aux << endl; } int main() { int x = 250; xpto(x); cout << "Número = " << x << " Valor = " << v << endl; } Solução – item a) : Desenvolvimento Variável global) Função xpto Função main v aux k x 200 100 250 250 275 75 500 500 REPOSTA - TELA Auxiliar = 75 Número = 500 Valor = 275 Item b) Por referência Item c) Global – v Local à main : x Locais à xpto : aux, k (1.0) 2) Considere a função XYZ , n = 9 e que O é formado pela sequência “estrutura”. Mostre o vetor D ao fim da execução da função XYZ, considerando que D possui espaço suficiente para a operação realizada. void XYZ (char O[ ], char D [ ], int n) { int i, j; j = 0; for ( i = 0; i < n; i = i + 2) { D[j] = O[i]; j++; } D[j] = '\0'; } Solução : >> Desenvolvimento .... Seja n = 9 Vetor O i 0 1 2 3 4 5 6 7 8 9 e s t r u t u r a \0 Vetor D j 0 1 2 3 4 5 6 7 8 e t u u a \0 >> Resposta :etuua (1.0) 4) Analise a função abaixo, considerando o tipo Espiao e marque a opção correta. int Spy (Espiao x[ ], int c, int n) { for (int i = 0; i < n; i++) if (x[i].codigo == c) return i; return -1; } ( (A) Retorna a posição do valor c em x , se o valor c for encontrado em x. (B) Retorna o valor de c se o valor n foi encontrado. (C) Ocorre erro na função Spy se o valor de c não estiver sido encontrado em x. (D) Retorna -1 se o valor de c estiver em x. (E) Retorna -1 se o valor de n foi encontrado. (1.5) 5) Considere o tipo struct Modelo { int matricula; char nome[30], agencia[30]; float cache; }; e faça o que se pede : Declare uma variável model do tipo definido acima. Use model e defina o cachê sendo R$ 15.000,00 e o nome sendo Luiza Brum. Solução : Modelo model; model.cache = 15000; strcpy(model.nome, “Luiza Brum”); (1.0) 5) Em uma feira de computação, o stand de Bill Góis mostrava como trabalhar com as estrutura de dados lista, pilha e fila. Dada como entrada a sequência de números inteiros 1, 2, 3, 4, 5, 6 e 7, Bill empilhava os pares na pilha P e enfileirava os ímpares na fila F (implementação simples). Depois inseria em uma lista L os valores 100, 30, 50, de forma ordenada crescentemente Ao final, exibiu primeiro os valores desenfileirados, em seguida os valores desempilhados e por fim, os valores retirados da lista, sem perder a ordem seguida na inserção. Qual é a sequência final, considerando, respectivamente, as retiradas na fila, pilha e lista ? Mostre seu raciocínio e destaque a sequência final solicitada. Solução : >> Desenvolvimento P ... insere 2, 4, 6 (no topo). Ao retirar : 6, 4, 2 F ... insere 1, 3, 5, 7. Ao retirar : 1, 3, 5, 7 L ... 30, 50, 100 Ao retirar : 30, 50, 100, pois mantém a ordem crescente da inserção REPOSTA : 1 3 5 7 6 4 2 30 50 100 (2.0) 6) Um técnico de futebol de salão está selecionando atletas com altura de 1,70 até 1,90 e idade abaixo dos 18 anos. Faça um programa em C++ para ler a altura e a idade de um atleta e imprimir uma das mensagens "Aceito no time" ou "Não aceito no time". Para isso ... faça a entrada de dados na main; implemente uma função de nome obterAtleta que receba a altura e a idade do atleta e imprima uma das mensagens indicadas, como especificado; chame a função obterAtleta na main. Use, obrigatoriamente, o protótipo void obterAtleta (float, int); na sua solução. Solução : Aqui e no .cpp #include <iostream> #include <cstdlib> using namespace std; //protótipo void obterAtleta(float, int); //programa principal int main(void) { int idade; float altura; cout << "Selecionando atletas" << endl; cout << "Digite a altura : "; cin >> altura; cout << "Digite sua idade : "; cin >> idade; obterAtleta(altura,idade); //chama a função system("pause"); } //Definição da função void obterAtleta(float altura, int idade) { if (altura >= 1.70 && altura <= 1.90 && idade < 18) cout << "Aceito no time." << endl; else cout << "Nao aceito no time." << endl; } Pede-se : (1.5) a) Mostre o que é impresso na tela. (0.4) b) Qual é o tipo de passagem de parâmetro usado na função xpto ? (1.6) c) Diga que variáveis são locais e quais são globais, identificando o escopo das locais. struct Espiao { int codigo; char agencia[30]; };
Compartilhar