Академический Документы
Профессиональный Документы
Культура Документы
P
CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
Grupo I - 0782
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.
(20 valores)
Desenvolva um programa (em pseudocdigo C ou linguagem C) que receba trs
nmeros que representam, por ordem, valor do recibo, taxa normalizada de IVA e taxa
normalizada de IRS e no final o programa devolve ao utilizador qual o valor a receber
sabendo que:
Valor a receber = valor do recibo + (valor do recibo*taxaIVA) (valor do
recibo*taxaIRS)
As taxas normalizadas apresentam um intervalo de dados entre 0 e 1.
Seria possvel utilizar o mesmo tipo de dados para as variveis que recebem os trs
nmeros inseridos? Justifique
Grupo II - 0783
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.
(20 valores)
Considere o problema definido no Grupo I 0782. Acrescente o que for necessrio ao
seu programa para que seja garantido o correto funcionamento do programa, isto ,
acrescentar as validaes necessrias para que as taxas estejam no intervalo entre 0
e 1 (IVA e IRS). Dever ainda verificar situaes de erro (valores do recibo negativos).
Indique tambm as alteraes ao programa para que seja possvel ao utilizador, ficar a
utilizar a aplicao at carregar na opo para sair (0). De notar que o utilizador s
pode escolher duas opes (1 para utilizar o seu programa. 0 sair). Dever realizar
a validao de erros para as restantes opes.
Indique tambm as alteraes ao programa para que seja possvel ao utilizador, antes
de inserir o valor do recibo, taxa de IVA e taxa de IRS seja perguntado quantos recibos
deseja verificar. A aplicao ir receber ento os 3 valores (valor, IVA e IRS) N vezes,
em que N representa o nmero que o utilizador inseriu aquando dessa mesma
pergunta.
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
Temperatura
Anlise qualitativa
<5 graus
Muito Frio
Frio
Ameno
Calor
>=30 graus
Muito Calor
2.
Programa que calcula qual o menor de trs nmeros (dados pelo utilizador).
Salrio Bruto
Taxa Aplicada
<1000
10%
>=1000 e <2000
20%
>=2000
30%
De notar que a taxa aplicada tem como objetivo realizar um corte no salrio bruto,
isto , o salrio liquido = salrio bruto - taxa.
a. Altere o programa anterior para que caso o utilizador insira um salrio bruto
negativo, o programa no deixe avanar enquanto esses mesmos valores
forem negativos.
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
1. Programa que pede ao utilizador uma taxa de iva (somente o nmero sem o smbolo
da percentagem) e devolve a descrio dessa taxa consoante o quadro abaixo:
Taxas de
IVA
Descrio
De notar que caso o utilizador introduza qualquer outra taxa dever receber uma mensagem a
indicar que essa taxa no vlida.
2.
Programa que verifica se um aluno est aprovado ou reprovado consoante a nota que
inserida. O utilizador dever inserir uma nota entre 0 e 20 e caso essa nota seja
superior ou igual a 9,5 valores ento estar APROVADO. Caso contrrio estar
REPROVADO. Se a nota for fora dos parmetros (menor que 0 e maior que 20) deve
enviar mensagem de erro personalizada (diferente nos dois casos).
3.
Altere o programa anterior para indicar tambm a descrio da nota que inseriu (Fraco,
Insuficiente, Bom ou Muito Bom)
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
A=10+12=22
B=22-12=10
Y=0
X=1
}
do{
w = z+1;
z=z+1;
}while(z<2);
A=A+1; 23
B=B+1; 11
W=Z+1=1
Z=0+1=1
W=1+1=2
Z=1+1=2
A=22
B=10
Y=0
X=1
SAI A;
SAI B;
SAI X;
SAI Y;
SAI Z;
SAI W;
()
A=22
B=12
Y=0
X=1
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
1. Programa que recebe um valor referente radiao UV e atribui uma descrio para
essa radiao tendo em conta o seguinte quadro:
Radiao
UV
Descrio
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
Descrio
Classificao: ________________________________________________________________
Classificao: ________________________________________________________________
Classe
Energtica
A+
Entre 0,76 e 1
B-
Superior a 1 | Inferior a 0
Erro.
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
0 3 6 9 12
15
for(i=0;i<10;i=i+3){
Printf(%d,i);
}
Printf(%d,i);
x =0+2=2
0 2
X=4
Y=7
int res;
res = x-y;
printf(%d,i); 4
printf(%d,res); -3
printf(%d,x); 4
printf(%d,y); 7
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
2. Crie um menu em que caso o utilizador insira a opo 1, testa o seu programa
anterior. Se inserir a opo 0, sai do programa. Se inserir qualquer outro nmero
dever receber uma mensagem de erro.
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
x 1 12
y0124
z1
i23456
int i;
for(i=x;i<6;i=i+1){
y=y+i;
}
do{
z = i+1;
}while(z<10); Ciclo Infinito
Printf(%d,x);
Printf(%d,y);
Printf(%d,z);
Printf(%d,i);
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
1. Crie um programa para cada uma das seguintes situaes (UTILIZAR FOR!):
A. Receber do utilizador um nmero inteiro positivo e calcular a soma
de todos os nmeros inteiros positivos at a esse nmero. Caso
essa soma seja superior a 10, ento recebe uma mensagem a dizer:
Soma superior a 10. Caso contrrio: Soma inferior ou igual a 10
Exemplo: 5
15
Soma superior a 10
2. Crie um menu em que caso o utilizador insira a opo 1, testa o seu programa
anterior. Se inserir a opo 0, sai do programa. Se inserir qualquer outro nmero
dever receber uma mensagem de erro.
Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________
Data: __/__/__
2. Crie um menu em que caso o utilizador insira a opo 1, testa o seu primeiro
programa. Caso insira a opo 2, testa o segundo programa. Se inserir a opo
99, sai do programa. Se inserir qualquer outro nmero dever receber uma
mensagem de erro.
Classificao: _______________________________________________________________
Grupo I
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.
_______________________________________________________________
b)
No ciclo doWhile obrigatrio colocar a condio de paragem
imediatamente frente do do.
FALSO NECESSARIO FICAR A FRENTE DO WHILE
_______________________________________________________________
_______________________________________________________________
c)
A estrutura de deciso IfElse IfElse utiliza-se quando temos dois
casos possveis.
Falso quando tres casos
_______________________________________________________________
_______________________________________________________________
d)
Dentro das chavetas ( { } ) de um ciclo for obrigatrio colocar um
printf.
Falso !
_______________________________________________________________
NAO SOU OBRIGADO!
_______________________________________________________________
Grupo II
1. Indique qual o ltimo valor assumido pela varivel i e qual o ltimo valor a ser
mostrado ao utilizador dentro do ciclo for.
()
int i;
For(i=9;i<20;i=i+4){
Printf(%d,i);
}
() 21
Classificao: ________________________________________________________________
Notas Gerais:
Esta prova de natureza terico-prtica divide-se em quatro grupos e tem a durao de
150 minutos sem tolerncia.
Utilize apenas caneta ou esferogrfica de tinta indelvel, azul ou preta.
No permitido o uso de corrector. Em caso de engano, deve riscar, de forma
inequvoca, aquilo que pretende que no seja classificado.
No permitido o uso de auxiliares.
As respostas ilegveis ou que no possam ser identificadas so classificadas com zero
pontos.
Rubrique no canto superior direito todas as folhas da prova.
Qualquer tentativa de cpia ser punida com a anulao da prova.
As cotaes dos itens encontram-se descritas no quadro seguinte:
Grupo
Grupo I
Grupo II
Grupo III
Questo
Alnea
Cotao
(Pontos)
TOTAL
1.
0,5
2.
0,5
3.
0,5
4.
0,5
1.
2.
1.
2.
3.
4.
5.
14
1
20
Grupo I
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.
1. Qual a condio a colocar, em linguagem C, para dizer se uma varivel (n) igual
a 10?
(A)if(n!=10)
(B)else(n!=10)
(C)if(n=10)
(D)Nenhuma das anteriores.
(B)while(n=10);
(C)while(n!=10);
(D)Nenhuma das anteriores.
(A)Verdadeiro
(B)Falso
Grupo II
1. Indique todos os resultados enviados como output deste programa:
int i;
int j;
for (i=5;i>=0;i=i-1) {
printf("\n%d",i);
j=i-1;
i=j;
}
int res;
res=i+1+j;
if (res>10) {
printf("\n%d",i);
} else {
printf("\n%d",res);
}
1
i =5, 3,
j 4 2 0 -1
I=4, 2
Grupo III
Todas as questes devem de ser respondidas em linguagem C.
1. Crie um programa para calcular potncias. O utilizador insere a base (x) e o
expoente (y) e o programa devolve xy.
Exemplo:
23 = 2*2*2 = 8
43 = 64
Nota: Base e expoente tm de ser positivos.
2.
Classe
Energtic
a
A+
Entre 0,76 e 1
B-
Superior a 1 | Inferior a 0
Erro.
6. Altere o menu criado no ponto anterior para s seja possvel terminar o seu
programa com a opo para sair (no caso contrrio e aps as aes a realizar
para uma opo, volta ao menu anterior).
Classificao: ________________________________________________________________
Notas Gerais:
Esta prova de natureza terico-prtica divide-se em quatro grupos e tem a durao de
150 minutos sem tolerncia.
Utilize apenas caneta ou esferogrfica de tinta indelvel, azul ou preta.
No permitido o uso de corrector. Em caso de engano, deve riscar, de forma
inequvoca, aquilo que pretende que no seja classificado.
No permitido o uso de auxiliares.
As respostas ilegveis ou que no possam ser identificadas so classificadas com zero
pontos.
Rubrique no canto superior direito todas as folhas da prova.
Qualquer tentativa de cpia ser punida com a anulao da prova.
As cotaes dos itens encontram-se descritas no quadro seguinte:
Grupo
Grupo I
Grupo II
Grupo III
Grupo IV
Questo
Alnea
Cotao
(Pontos)
TOTAL
1.
0,5
2.
0,5
3.
0,5
4.
0,5
1.
2.
1.
2.
1.
2.
3.
10
4.
5.
6.
10
20
Grupo I
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.
_______________________________________________________________
b)
A estrutura switch() case utilizada quando se conhece os valores
exatos que uma determinada varivel pode assumir.
_______________________________________________________________
_______________________________________________________________
c)
No ciclo doWhile() feita a verificao da condio antes de
executar o que est entre as {..} (para a primeira iterao).
_______________________________________________________________
Falso a verificao da condio so feita depois da primeira interao
_______________________________________________________________
d)
No ciclo While() feita a verificao da condio antes de executar o
que est entre as {..} (para a primeira iterao).
_______________________________________________________________
_______________________________________________________________
Grupo II
1. Indique todos os resultados enviados como output deste programa:
()
int i;
For(i=9;i<20;i=i+4){
Printf(%d,i); 9.13.17
}
Int res;
fora das chavetas i=21
res=i+1;
if(res>21){
printf(%d,i); imprimi =21
}else{
Printf(%d,res);
}
()
int a;
int b;
int c;
a=0;
b=2;
c=a; 0
b=c; 0
c=c+a; 0
if(a>c || b>c){
a=0;
b=1;
c=2;
}
else if(a=b && a<=c){
a=1;
b=0;
c=0;
}
else{
a=1;
b=0;
c=1;
}
c=c-a; 0
do{
2
b=b+1; 1
2
c=c+1; 1
4
a=b+c; 2
3
c=c+1; 2
}while(a<3);
printf("\na: %d",a); 4
printf("\nb: %d",b); 2
printf("\nc: %d",c);
3
Grupo III
1. Pretende-se realizar um programa que dados um nmero o programa calcule e
mostre qual o fatorial desse nmero. De notar que caso o utilizador insira um
numero negativo o programa deve de dar uma mensagem de erro.
a. A soluo apresentada contm erros. Indique quais os erros que
encontra na soluo apresentada.
b. Apresente uma nova soluo corrigindo os erros assinaladas na alnea
anterior.
#include<stdio.h>
Int main(){
Int n;
Int i;
int num;
for(i=0;i<n;i=i+1){
scanf(%d,&num);
}
num=num*i;
printf(%d,&num);
return(0);
] }
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int fat;
fat=1;
int i;
for (i=n;i>=1;i=i-1)
{
fat=fat*i;
}
printf ("\nO fatorial desse numero");
printf("\n%d",fat);
return(0);
}
Grupo IV
Todas as questes devem de ser respondidas em linguagem C.
1. Crie um programa para a seguinte situao:
O programa a desenvolver recebe um n e realiza a soma de todos os nmeros
inteiros desse nmero at 5. De notar que o nmero que o utilizador insere, tem
de ser superior a 5. Caso no seja, deve receber uma mensagem de erro a
inform-lo desse caso.
Descrio
De notar que as mdias das temperaturas no podem ser abaixo dos 10 graus negativos nem
acima dos 40 graus positivos. Nestas situaes o utilizador deve ser informado com uma
mensagem de erro.
6. Altere o menu criado no ponto anterior para ficar em ciclo at o utilizador escolher
a opo para sair.
Classificao: ________________________________________________________________
Notas Gerais:
Esta prova de natureza terico-prtica divide-se em quatro grupos e tem a durao de
150 minutos sem tolerncia.
Utilize apenas caneta ou esferogrfica de tinta indelvel, azul ou preta.
No permitido o uso de corrector. Em caso de engano, deve riscar, de forma
inequvoca, aquilo que pretende que no seja classificado.
No permitido o uso de auxiliares.
As respostas ilegveis ou que no possam ser identificadas so classificadas com zero
pontos.
Rubrique no canto superior direito todas as folhas da prova.
Qualquer tentativa de cpia ser punida com a anulao da prova.
As cotaes dos itens encontram-se descritas no quadro seguinte:
Grupo
Grupo I
Grupo II
Grupo III
Questo
Alnea
Cotao
(Pontos)
TOTAL
1.
0,5
2.
0,5
3.
0,5
4.
0,5
1.
2.
1.
2.
3.
4.
5.
6.
14
20
Grupo I
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.
(A)if(a<10){
po
(B)else
(a>10){
(C)int a = 12;
(D)Nenhuma das anteriores.
4. possvel afirmar que tudo o que se realiza com um ciclo for pode ser feito com
um ciclo do while?
(A)Verdadeiro
yhh
(B)Falso
Grupo II
1. Indique todos os resultados enviados como output deste programa:
int a=0;
int b=1;
int i;
for (i=0;i<5;i=i+2) {
printf("\n%d",i);
a=i+1;
b=b+1;
i=i+1;
}
if (a>b) {
printf("\n%d",a);
} else {
b=b-i;
printf("\n%d",b);
}
a
B
C
Grupo III
Todas as questes devem de ser respondidas em linguagem C.
Crie um programa que receba uma cilindrada e um valor para Emisses CO2 e o
programa devolve o valor a pagar para o IUC. De notar que o valor a pagar a
soma das duas taxas (cilindrada + emisses CO2)
Clculo do IUC
Cilindrada
TaxaC
Emisses CO2
TaxaE
At 1250
28,15
At 120g/km
57,76
56,50
Mais de 120g/km at
180g/km
86,55
112,89
Mais de 180g/km at
250g/km
187,96
Mais de 2500
386,34
Mais de 250g/km
321,99
3. Crie um programa para realizar duas operaes consoante uma escolha inicial do
utilizador. Assuma que o utilizador s insere nmeros pares.
Assim, o utilizador escolhe inicialmente (0 clculo do factorial ou 1 clculo da
multiplicao dos valores pares at ao valor inserido) e de seguida insere o
nmero sobre o qual pretende realizar os clculos.
De notar que as nicas opes iniciais disponveis 0 ou 1 recebendo o utilizador
uma mensagem de erro no caso contrrio.
Nota: S pode utilizar um ciclo for apenas.
4. Crie um programa que, dado dois valores (o primeiro o numero de vezes para
repetir (X) e o segundo o numero a repetir(Y)) o programa imprime X vezes o
nmero Y.
Exemplo:
5
2
22222
Exemplo:
2
5
55
6. Altere o menu criado no ponto anterior para s seja possvel terminar o seu
programa com a opo para sair (no caso contrrio e aps as aes a realizar
para uma opo, volta ao menu anterior).