Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: Introdução a programação ATIVIDADE – Avaliação final Observações: 1. A solução correta e entrega até às 15hs de 12/01/2022 resulta na nota de exame final do estudante. 2. A avaliação possui 6 questões, com 4 questões contando 2.0 pontos cada, e com 2 questões contando 1.0 ponto cada, totalizando 10 pontos. Atividades de avaliação [2.0 pontos] A1 – Assuma que i e x são variáveis do tipo inteiro. Sua tarefa: examinar os fragmentos de código e responder V (se a afirmativa é verdadeira) ou F, caso contrário. ( ) I. A condição do for no fragmento de código é executada 11 vezes. ... i = 2; for(i = 1; i <= 10; ++i) { //... // } ( ) II. A condição do do..while no fragmento de código não é executada. ... n = 1; do { n++; } while (n <= 0); ... ( ) III. A condição do do..while no fragmento de código é executada 11 vezes. ... srand(time(0)); n, i = 1; do { n = rand()%1 - 1; i++; } while(i+n <= 10); ( ) IV. A condição do do..while no fragmento de código é executada 11 vezes. ... srand(time(0)); n, i = 1; n = rand()%1 - 1; do { i++; } while(i+n <= 10); [2.0 pontos] A2 – Considere o bloco de código A2. while (x != y and y!= 0){ aux = y; y = x%y; x = aux; } Código A2 Considere ainda que x, y e aux sejam declaradas como variáveis do tipo inteiro. Assuma que somente números inteiros no intervalo de 9 a 99999 podem ser atribuídos às variáveis x e y. Responda em uma frase: Qual a funcionalidade que este bloco de código implementa? (Ou seja, após um programa contendo este bloco de código receber os valores x e y, como especificado, o que o programa descobre?) Resposta: ____________________________________________________________ [1.0 ponto] A3 – O código A3 gera números inteiros n no intervalo de 0 a 9 com a instrução: n = rand()%10; Deseja-se modificar essa instrução de modo a gerar números inteiros no intervalo de -25 até 25. Escreva a instrução a ser usada para atender este objetivo: n = ____________________________ ... srand(time(0)); int n, i = 1; do { n = rand()%10; i++; } while(i <= 10); ... Código A3 [2.0 pontos] A4 – O professor da disciplina Introdução a programação elaborou uma função f(), a ser utilizada no Código A4. Observe que a função f() recebe como dado de entrada dois números inteiros a e b. Os valores de a e b podem ser qualquer número inteiro desde que contidos no intervalo [1, 9] (isto é, de 1 até 9). Sua tarefa é examinar a função f() e descobrir sua funcionalidade. Escreva em uma única linha o que a função f() faz com os números a e b. Resposta: _____________________________________________________________ #include <iostream> using namespace std; int f(int a, int b){ int c; if (b == 0) { return 1; } else { if(b%2 == 1){ return a*f(a, b-1); } else { c = f(a, b/2); return c*c; } } } int main() { ... } Código A4 [2.0 pontos] A5 – O professor da disciplina Introdução a programação elaborou um programa que implementa a funcionalidade especificada no Código A5. Observe que o programa solicita o usuário digitar um número um número real, sendo este armazenado numa variável n do tipo double. Sua tarefa: especificar a instrução que o programa deve conter na linha 9 para obter a parte fracionária do número n digitado, armazenando essa parte fracionária na variável nFrac (do tipo double). Assim, por exemplo, se o usuário digitar 2.022 para o valor de n, o programa possa exibir na saída: nFrac = 0.022 1. #include <iostream> 2. using namespace std; 3. main (){ 4. int nInt; 5. double nFrac; 6. double n; 7. cout << “Digite n: “; 8. cin >> n; 9. _________________ 10. cout << “nFrac = “ << nFrac << endl; 11. } Código A5 [1.0 ponto] A6 – Considere o programa apresentado no código A6. #include <iostream> using namespace std; int main() { int i; int a[5] = {A, B, C, D, E}; for(i = 0; i < 4; i++){ while(a[i] != a[i+1]) { if(a[i] > a[i+1]) a[i] = a[i]- a[i+1]; else a[i+1] = a[i+1] - a[i]; } // fim do whlle } // fim do for cout << a[i] << "\n"; } // fim do main() Código A6 Suponha que o usuário pode atribuir qualquer número inteiro no intervalo de 2 até 2022, isto é, [2, 2022] a quaisquer dos elementos A, B, C, D e E do array a[]. Sua tarefa: examinar o código e verificar se a afirmativa seguinte é verdadeira ou falsa. Assinale V (verdadeiro) ou F (falso) na seguinte alternativa: ( ) Após examinar e testar o programa para qualquer das possíveis combinações de valores que podem ser atribuídos aos elementos A, B, C, D e E do array a[], o cout (última instrução antes do } da função main() ) do programa pode exibir 1.
Compartilhar