Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Teste tipo Programação de Computadores, Provas de Programação em C

Teste tipo da disciplina de programação em c

Tipologia: Provas

2020

Compartilhado em 21/10/2020

usuário desconhecido
usuário desconhecido 🇵🇹

1 documento

1 / 22

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UA/DET/Programação I E1.1 Pág. 1 de 3
UNIVERSIDADE DE AVEIRO – PROGRAMAÇÃO I
EXAME PRÁTICO
Nome: N.º Mec.:
Curso: Sala: Data: 2007-01-03 9h30
Exame: E1.1 A B Total:
Informações prévias
1. No seu computador, existe a pasta C:\EXAME. Só os ficheiros gravados nesta pasta serão
considerados para correcção.
2. Os nomes dos vários ficheiros criados ao longo da prova deverão ser do tipo *12345.java, em
que 12345 é o número mecanográfico do aluno e * corresponde à identificação da pergunta que
está a ser resolvida. Por exemplo, o ficheiro correspondente à pergunta A deverá ter o nome
A12345.java.
3. A existência de erros de compilação na solução entregue (i.e., o programa não compila) é sempre
penalizada.
4. A prova é realizada sem consulta.
5. Cotações das perguntas: A – 6 valores; B – 14 valores.
A
O Índice de Massa Corporal (IMC) é um dos critérios utilizados para detectar problemas de obesidade
nos humanos. Para esse efeito utiliza-se a seguinte tabela (válida apenas para pessoas adultas):
IMC (kg/m2)
Comentário Homens Mulheres
Excessivamente magro ] 0; 20[ ] 0; 18.5[
Peso normal [20;25[ [18.5; 25[
Peso excessivo [25; 30[
Obeso [30; +[
Escreva um programa em JAVA que solicite o nome (máximo 30 caracteres), idade (anos), sexo
(M/F), peso (kg) e altura (m) de uma pessoa. Tenha em conta que a idade inserida pelo utilizador não
deve ser inferior a 18 anos e o programa não deve aceitar entradas sem sentido (exemplo pesos e
alturas negativas, sexo diferente de M/F, etc.)
Em seguida o programa deve calcular o IMC através da expressão: IMC = Peso / Altura2
Por fim deve imprimir um relatório com o seguinte formato:
|--------------------------------------|
| Calculo do Indice de Massa Corporal |
|--------------------------------------|
| Nome: ############################## | (Nota: nome deve estar alinhado à esquerda)
| Sexo: Masculino|Feminino |
| IMC : ##.# (kg/m2) |
| Comentario: [ver tabela] |
|--------------------------------------|
Nota: A utilização de um registo para armazenar a informação de um indivíduo e a
utilização de funções, valorizam a resposta.
Guarde o ficheiro criado no seu directório, com o nome de acordo com o estabelecido (Anºmec.java).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16

Pré-visualização parcial do texto

Baixe Teste tipo Programação de Computadores e outras Provas em PDF para Programação em C, somente na Docsity!

UA/DET/Programação I E1.1 Pág. 1 de 3

UNIVERSIDADE DE AVEIRO – PROGRAMAÇÃO IEXAME PRÁTICO Nome:Curso: (^) Sala: N.º Mec.:Data: 2007-01-03 9h Exame: E1.1 A^ B^ Total: Informações prévias 1. No seu computador, existe a pastaconsiderados para correcção. C:\EXAME. Só os ficheiros gravados nesta pasta serão

  1. Os nomes dos vários ficheiros criados ao longo da prova deverão ser do tipo *queestá a ser resolvida. Por exemplo, o ficheiro correspondente à pergunta A deverá ter o nome 12345 é o número mecanográfico do aluno e * corresponde à identificação da pergunta que12345.java, em
  2. AA existência de erros de compilação na solução entregue (penalizada.^12345 .java. i.e. , o programa não compila) é sempre 4.5. A prova é realizada sem consulta.Cotações das perguntas: A – 6 valores; B – 14 valores. O Índice de Massa Corporal (IMC) é um dos critérios utilizados para detectar problemas de obesidade^ A nos humanos. Para esse efeito utiliza-se a seguinte tabela (válida apenas para pessoas adultas): Comentário IMC (kg/m (^2) ) Excessivamente magro Homens ] 0; 20[^ Mulheres ] 0; 18.5[ Peso normalPeso excessivo [20;25[ (^) [25; 30[ [18.5; 25[ Obeso [30; +∞[ Escreva um programa em JAVA que solicite o nome (máximo 30 caracteres), idade (anos), sexo(M/F), peso (kg) e altura (m) de uma pessoa. Tenha em conta que a idade inserida pelo utilizador nãodeve ser inferior a 18 anos e o programa não deve aceitar entradas sem sentido (exemplo pesos e alturas negativas, sexo diferente de M/F, etc.)Em seguida o programa deve calcular o IMC através da expressão: IMC = Peso / Altura 2 Por fim deve imprimir um relatório com o seguinte formato: |--------------------------------------| | Calculo|--------------------------------------|| Nome: ############################## | do Indice de Massa Corporal | (Nota: nome deve estar alinhado à esquerda) | Sexo: Masculino|Feminino| IMC : ##.# (kg/m2)| Comentario: [ver tabela] ||| |--------------------------------------| Nota: A utilização de um registo parautilização de funções, valorizam a resposta. armazenar a informação de um indivíduo e a Guarde o ficheiro criado no seu directório, com o nome de acordo com o estabelecido (Anºmec.java).

UA/DET/Programação I E1.1 Pág. 2 de 3

Pretende-se um programa para análise de um conjunto de números, com as seguintes características^ B (cotação das alíneas indicada em parênteses):1. O programa deve ler um conjunto de números inteiros positivos, não superiores a 1000, até ummáximo de até 20 elementos, ou até que seja introduzido o número zero como indicador de

  1. paragem. [2]Oferecer a possibilidade de em qualquer momento acrescentar novos valores aos que já tinhamsido lidos anteriormente. Também neste caso, a introdução termina quando for fornecido o
  2. número zero. Tenha o cuidado de não permitir que o seu programa leia mais números do queaqueles para que foi projectado. [1]Listar os valores entretanto armazenados de acordo com o representado na ilustração fornecida 4.5. adiante. [1]Ordenar de modo crescente os números lidos. [1,5]Contar a quantidade de números pares. [1] 6.7. Indicar a média dos números com valor não superior a 100 (formato de apresentação pretendido: ###.##Limpar toda a lista de valores sem ter de reiniciar o programa (permitindo continuar com um). [1]
  3. conjunto vazio). [1]Apagar um dado elemento da lista. Para tal deve ser pedido ao utilizador que indique qual o valordo número que pretende retirar. Deve ser removida a primeira ocorrência desse número
  4. (independentemente de ele estar repetido na lista). [2]Pedir ao utilizador a introdução de uma sequência de 3 números e indicar quantas vezes existeessa sequência na sequência de números original. [2,5]
  5. A interacção com o programa deve basear-se no menu que se segue [1]: A - Leitura de numeros B -C -D - Escrita da lista de numerosOrdenacaoContagem dosda listanumeros pares E -F -G - MediaApagar todosApagar um dos numeros entre [1,elemento os elementos da lista da lista 100] H -X - PesquisarTerminar o programasequência de 3 números Confira a ilustração abaixo, relativa a uma hipotética utilização do programa pretendido. Note que: • (^) efeitos de economia de espaço no enunciado. O seu programa deve mostrar o menu completo.a expressão [MENU] é utilizada no lugar do menu completo apresentado anteriormente, para
  • [MENU] os dados introduzidos pelo utilizador encontram-se formatados a negrito. Opcao -> (1) (2) ->-> 1545 a (3) (4) (5) ->->-> (^35612745) (6) (7) ->-> (^890) [MENU]Opcao -> A lista foi ordenada. c

import static pt.ua.prog.WIO.*; public class A { public static void main(String[] args) { Pessoa p= new Pessoa();Pessoa x; x= ler(p); calcular(x); } //funções public static Pessoa ler(Pessoa p) { p.nome = readLine("Nome: "); do {

p.idade = readInt("Idade: "); if(p.idade < 18){ println("Não é possivel efectuar o calculo com a idade inferior a 18");break; } } while(p.idade < 0); do{

p.sexo = readChar("Sexo: [F/M]"); }while(p.sexo != 'F' && p.sexo != 'M');

do{

p.peso = readDouble("Peso: ");

public static void calcular(Pessoa x) { double imc=0.0; imc = x.peso / (x.altura *x.altura); if(x.sexo == 'M' && imc > 0 && imc <20) { println("|----------------------------------------|");println("| Calculo do Indice de Massa Corporal |"); println("| Nome: "+x.nome+" |"); if(x.sexo == 'F'){ println("| Sexo: Feminino |"); } else{ println("| Sexo: Masculino |"); } println("| IMC: "+imc+" (kg/m2) |"); println("| Comentário: Excessivamente Magro |");

}else if(x.sexo == 'F' && imc > 0 && imc < 18.5){

println("| Calculo do Indice de Massa Corporalprintln("|----------------------------------------|"); |"); println("| Nome: "+x.nome+" |"); if(x.sexo == 'F'){ println("| Sexo: Feminino |"); }else{ println("| Sexo: Masculino |"); } println("| IMC: "+imc+" (kg/m2)println("| Comentário: Excessivamente Magra |"); |"); }else if(x.sexo == 'M' && imc > 20 && imc < 25 ){

println("| Calculo do Indice de Massa Corporalprintln("|----------------------------------------|"); |"); println("| Nome: "+x.nome+" |");

else{ println("| Sexo: Masculino |"); } println("| IMC: "+imc+" (kg/m2)println("| Comentário: Peso Normal |");|");

}else if(imc > 25 && imc < 30){

println("| Calculo do Indice de Massa Corporalprintln("|----------------------------------------|"); |"); println("| Nome: "+x.nome+" |"); if(x.sexo == 'F'){ println("| Sexo: Feminino |"); } else{ println("| Sexo: Masculino |");

println("| IMC: "+imc+" (kg/m2)println("| Comentário: Peso Excessivo |");|");

}else if(imc > 30){

println("|----------------------------------------|"); println("| Calculo do Indice de Massa Corporalprintln("| Nome: "+x.nome+" |"); |"); if(x.sexo == 'F'){ println("| Sexo: Feminino |"); }else{ println("| Sexo: Masculino |"); } println("| IMC: "+imc+" (kg/m2)println("| Comentário: Obeso |");|");

import static pt.ua.prog.WIO.*; public class B { public static void main(String[] args) { int[] nr = new int[20];int n=0; char opcao; do{ opcao = menu(); switch(opcao) { case 'A':n = ler(nr,n); case 'B':break; imprimir(nr,n); case 'C':break; ordenar(nr,n);

break; case 'D':pares(nr,n); case 'E':break; media(nr,n); case 'F':break; n=apagartodos(nr,n);break; case 'G':n = apagarum(nr,n); case 'H':break; tres(nr,n);break; }} while(opcao != 'X');

}

//funções

tmp = readInt((n+1)+" -> "); if(tmp < 0 && tmp > 1000){ println("Número não válido"); } else{ a[n] = tmp;n++; } }while(tmp != 0); return n; } public static void imprimir(int[] a, int n){

println("* Lista de Números Digitados *"); for(int i=0;i<n;i++){ println((i+1)+" - "+a[i]); } } public static void ordenar(int[] a, int n){

for(int i=0;i<n-1;i++) { for(int j=i+1;i<n;i++) { if(a[i] < a[j]){ int num = a[i];a[i]=a[j]; a[j]=num; }}

int cont=0,soma=0; double media=0.0; for(int i=0;i<n;i++){ if(a[i] > 0 && a[i] < 100){ cont = cont + 1;soma = soma + a[i]; }} media = soma / cont; println("A média dos números menores ou iguais a 100: "+media); } public static int apagartodos(int[] a, int n) { n=0; return n; } public static int apagarum(int[] a, int n)

int nr; int pos = -1; nr = readInt("Qual o elemento a apagar?"); for(int i=0;i<n;i++) { if(a[i] == nr){ pos = i;} } if(pos != -1) { for(int i=pos ;i < n-1;i++){ }a[i] = a[i+1]; }return n-1; else{