Você está na página 1de 2

Universidade Federal de Pelotas

Algoritmos e Programação - Prof. Rafael Burlamaqui Amaral- Prova Única - 23/06/2021


Nome:
Matrícula:

Atenção:
1. Não esqueça de colocar o nome e matrícula no bloco acima!
2. Prova sem consulta e individual.
3. Espero respostas a caneta, digitalizadas e pdf com respostas ordenadas E/OU arquivo criado com uso de computador (respostas digitadas).
4. Leia atentamente cada questão!
5. Se considerar alguma pergunta ambígua, descreva sua interpretação com a respectiva resposta.
6. Boa prova!

Questão 1 (2.0 pontos) – vetor – faça o programa inteiro:

Escreva um programa, que crie e preencha um vetor com 1000 números inteiros
aleatórios (variando de 0 até 3000, inclusive).
Ainda nesse programa, crie um menu com as seguintes opções (utilize uma função
para cada opção):
Opção 1 - Imprima o maior número e sua respectiva posição no vetor.
Opção 2 - Imprima todos os números pares do vetor (caso não encontre, informe o usuá-
rio).
Opção 3 – Inverter os valores no próprio vetor (Obs.: Só armazenar na ordem inversa! Não
imprima o vetor!). Após inverter, imprima para o usuário: “O conteúdo do vetor foi invertido”
Opção 4 – Imprimir o vetor.
Opção 5 - Sair.

Vetor : ...

Posição: 0 1 2 3 ... 996 997 998 999

Questão 2 (2.0 pontos) – matriz – somente a função:


Faça uma função que receba uma matriz 50 x 10 que se refere respostas de 10
questões de múltipla escolha, referentes a 50 alunos. A função receberá também um
vetor de 10 posições contendo o gabarito de respostas que pode ser ‘a’, ‘b’, ‘c’ ou ‘d’.

A função deverá comparar as respostas de cada candidato com o gabarito e imprimir


a sua respectiva nota (de 0 a 10).

Algo como:

Aluno 1 = Nota 8
....
Aluno 50 = Nota 7

Questão 3 (2.0 pontos) – string – somente a função:

Faça uma função que receba uma string contendo uma frase. A função deverá
contar a quantidade de palavras existentes nessa frase. (Obs.: A frase pode conter
mais espaços que o normal).
Questão 4 (2.0 pontos) – struct – somente funções:

Considere o código abaixo, e:

a) Crie uma função para preencher as 100 posições do vetor agenda.

b) Crie uma função para imprimir o nome e o email de todas as pessoas que nasceram
na data informada no programa principal.

#include <stdio.h>
#include <stdlib.h>
typedef struct{
char nome[200];
int diaNasc; //dia nascimento
int mesNasc; //mês nascimento
int anoNasc; //ano nascimento
char email[100];
} Dados;
int main() {
Dados agenda[100];
int dia, mes, ano;
preencher(agenda);
printf("Informe uma data.\nDigite o dia:");
scanf("%d", &dia);
printf("\nDigite o mes:");
scanf("%d", &mes);
printf("\nDigite o ano:");
scanf("%d", &ano);
listarPelaData(agenda, dia, mes, ano);
return 0;
}

Questão 5 (2.0 pontos) – recursiva – somente função:

Faça uma função recursiva que receba um número inteiro positivo impar N e retorne o
fatorial duplo desse número. O fatorial duplo é definido como o produto de todos os
números naturais ímpares de 1 até algum número natural ímpar N.

Por exemplo: o fatorial duplo de 5 é 5!! = 1 ∗ 3 ∗ 5 = 15

Boa Prova!

Você também pode gostar