Вы находитесь на странице: 1из 39

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.

P
CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

EFA Tecnolgico - Tcnico de Informtica e Sistemas

UFCD: 0782 Programao em C C++ - Conceitos Fundamentais


UFCD: 0783 Programao em C C++ - Ciclos e Decises
Formador: Joo Leito

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.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

Escreva um algoritmo em C para as seguintes situaes:

1. Programa que pede ao utilizador uma temperatura em graus Celsius e devolve ao


utilizador uma anlise qualitativa da temperatura com base nas seguintes condies:

Temperatura

Anlise qualitativa

<5 graus

Muito Frio

>=5 graus e <10 graus

Frio

>=10 graus e <20 graus

Ameno

>=20 graus e <30 graus

Calor

>=30 graus

Muito Calor

2.

Programa que calcula qual o menor de trs nmeros (dados pelo utilizador).

3. Programa que pede ao utilizador um salrio bruto e devolva ao utilizador o salrio


liquido tendo em conta as seguintes situaes:

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.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

Escreva um algoritmo e respectivo programa em C para as seguintes situaes:

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

IVA devido pelo


0% adquirente
6% Taxa reduzida de IVA
Taxa intermdia de
13% IVA
23% Taxa normal de IVA

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)

4. Altere os seus programas para que o utilizador tenha um menu antes de


iniciar o seu programa. Assim, caso o utilizador insira a opo 1, vai para o
seu programa, seno, se inserir o cdigo 99 este termina, dizendo Obrigado
por utilizar este programa. NOME_FORMANDO.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Indique qual o resultado final das variveis: A, B e C aps a execuo do seguinte


fragmento de cdigo:
()
DECLARA X;
DECLARA Y;
DECLARA W;
DECLARA A;
DECLARA B;
DECLARA Z;
Z=0;
X=3;
X=10;
Y=2;
Y=12;
If (X < 2 || Y>5) {
A=X+Y;
B=A-Y;
Y=0;
X=1;
}
Else{
A=X+(Y*2);
B=Y-1;
Y=1;
X=1;

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;
()

2. Introduza o programa anterior no compilador de C, Quincy e verifique os


resultados obtidos.

A=22
B=12
Y=0
X=1

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

Escreva um algoritmo e respectivo programa em C para as seguintes situaes:

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

Entre 0 e 2 Radiao UV Baixa


Radiao UV
Entre 3 e 5 Moderada
Entre 6 e 7 Radiao UV Alta
Entre 8 e Radiao UV Muito
10 Alta
Radiao UV
> 11 Extrema

De notar que a radiao UV no pode ser negativa.

2. Altere os seus programas para que estes s terminem quando o utilizador


insere o cdigo 99. Pode assumir que caso o utilizador insira a opo 1, vai
para o seu programa, seno, se inserir o cdigo 99 este termina.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Alterar o programa anterior para:


a. Caso o utilizador escolha a opo 1, aps o uso do programa, aparece
uma mensagem a perguntar se o utilizador quer utilizar novamente o
programa. Se SIM, volta ao inicio do programa. Se NO, termina o
programa.
b. No caso de escolher a opo 99, sai imediatamente do programa.

c. No caso de inserir qualquer outra opo diferente de 1 ou 99 o


programa d mensagem de erro e volta a solicitar a insero de opo

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Mdia das temperaturas

Formador: Joo Leito

Descrio

(os valores limites esto includos no


intervalo)
Classificao
Entre 10 graus negativos e 10 graus positivos D
Classificao
Entre 11 graus positivos e 20 graus positivos C
Classificao
Entre 21 graus positivos e 30 graus positivos B
Classificao
Entre 31 graus positivos e 35 graus positivos A
Classificao
Seno A+
Crie um programa que receba dois valores de temperaturas (valor mnimo
registado e valor mximo) e um nome de uma cidade e dever retornar ao
utilizador qual a descrio referente mdia das temperaturas, tendo em conta o
seguinte quadro:
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.

3. Crie um menu em que:


a. Caso o utilizador insira a opo 1, testa o seu programa.
b. Caso o utilizador insira a opo 2, recebe um texto com o seu nome.
c. Caso o utilizador insira a opo 3, recebe uma mensagem a dizer:
Opo brevemente disponvel.
d. Caso o utilizador insira a opo 5 recebe uma mensagem a dizer:
Obrigado por utilizar o nosso programa. A sair
e. Caso o utilizador insira qualquer outro nmero dever receber uma
mensagem a dizer que a opo invlida.
4. Altere o menu criado no ponto anterior para ficar em ciclo at o utilizador escolher
a opo para sair.
5. Altere o programa anterior para que, NO MOMENTO DA INSERO DAS
TEMPERATURAS, se inserir uma temperatura invlida, o programa volte a pedir a
insero.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

EFA Tecnolgico - Tcnico de Informtica e Sistemas


UFCD:0783 Programao em C C++ - Ciclos e Decises

Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: ________________________________________________________________

1. Crie um programa para a seguinte situao:


O utilizador dever inserir um nome de um atleta e inserir a sua altura (em
centmetros) e o seu peso (em Kg).
Caso a altura seja inferior a um metro e meio e o peso superior a 60kg deve receber
uma mensagem Cuidado com a alimentao.
Caso o peso seja superior a 60kg e a altura inferior a 1,80m deve receber a seguinte
mensagem Altura e peso compatvel.
No entanto, sempre que o utilizador exceder os 100kg independentemente da altura
deve receber uma mensagem a dizer: Muito cuidado com a alimentao.
Nos restantes casos dever receber Peso equilibrado para a estatura apresentada.
De notar que no possvel ter alturas e pesos negativos sendo que neste caso o
utilizador recebe uma mensagem de erro.
3. Crie um menu em que:
a. Caso o utilizador insira a opo 1, utilize o programa criado no ponto 1.
deste grupo.
b. Caso o utilizador insira a opo 2, recebe uma mensagem a dizer:
Opo brevemente disponvel.
c. Caso o utilizador insira a opo 0 recebe uma mensagem a dizer:
Obrigado por utilizar o nosso programa. A sair
d. Caso o utilizador insira qualquer outro nmero dever receber uma
mensagem a dizer que a opo invlida.

4. Altere o programa anterior para ficar em ciclo at o utilizador escolher a opo


para sair.
5. Altere o programa anterior para ficar em ciclo quando o utilizador inserir alturas e
cm negativos.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

EFA Tecnolgico - Tcnico de Informtica e Sistemas


UFCD:0783 Programao em C C++ - Ciclos e Decises
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: ________________________________________________________________

1. Crie um programa que receba um valor para a medida de classificao energtica


(R) de um prdio e devolva a Classe energtica que este possui.

Classe

(os valores limites esto includos no intervalo)

Energtica

Menor que 0,25

A+

Entre 0,26 e 0,50

Entre 0,51 e 0,75

Entre 0,76 e 1

B-

Superior a 1 | Inferior a 0

Erro.

2. Crie um menu em que:


a. Caso o utilizador insira a opo 1, o programa termina (mas antes envia
uma mensagem a dizer: Obrigado por utilizar o meu programa.
b. Caso o utilizador insira a opo 10, utilize o programa criado no ponto
anterior
c. Caso o utilizador insira qualquer outro nmero dever receber uma
mensagem a dizer que a opo invlida.
3. 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).

4. Altere o programa anterior para que, no momento de insero de R, caso d erro,


solicite a insero de novos valores.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Indique qual o resultado final da varivel i e x aps a execuo do seguinte


fragmento de cdigo:
()
int i;
int x;

0 3 6 9 12

15

for(i=0;i<10;i=i+3){
Printf(%d,i);
}
Printf(%d,i);

2. Indique qual o resultado final das variveis aps a execuo do seguinte


fragmento de cdigo:
()
int x;
int y;
x=0;
x=10;
y=x;
int i;
for(i=0;i<2;i=i+2){
x=x+i;
y=3;
}

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

3. Introduza o programa anterior no compilador de C, Quincy e verifique os


resultados obtidos.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Crie um programa para a seguinte situao:


a. O utilizador insere um nmero impar e mostra todos os nmeros
impares at esse valor.
2. Crie um programa para a seguinte situao:
a. O utilizador insere trs nmeros (utilizando um ciclo for) e o programa
indica quantos nmeros inseridos esto acima de 10. De notar que o
utilizador pode no inserir qualquer nmero acima de 10 como pode
inserir um, dois ou at mesmo os trs valores acima de 10.
3. Crie um programa para a seguinte situao:
a. O utilizador insere 5 nmeros (utilizando um ciclo for) e o programa
realiza a soma do dobro de cada nmero inserido e mostra ao
utilizador esse valor (apenas).
4. Crie um menu em que caso o utilizador insira a opo 1, testa o seu programa
criado no ponto 1. Se o utilizador inserir a opo 2, testa o programa criado no
ponto 2. Se o utilizador inserir a opo 3, testa o programa criado no ponto 3. Se
inserir a opo 0, sai do programa. Se inserir qualquer outro nmero dever
receber uma mensagem de erro.

4. Altere o programa anterior para ficar em ciclo at o utilizador escolher a opo


para sair.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Crie um programa para a seguinte situao:


a. Receber do utilizador um nmero e mostrar o factorial desse nmero.
O factorial calculado multiplicando o nmero pelos nmeros inteiros
anteriores a esse mesmo nmero. Exemplo:
Factorial de 4 = 4*3*2*1
Factorial de 10 = 10*9*8*7*6*5*4*3*2*1

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.

3. Altere o programa anterior para ficar em ciclo at o utilizador escolher a opo


para sair.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Indique qual o resultado final da varivel x e y aps a execuo do seguinte


fragmento de cdigo:
()
int x;
int y;
int z;
x=1;
y=0;
z=x+y; z=1+0= 1
x=z; =1
y=x; =1
if(z<0 && y>0){
x=1;
y=1;
}
Else if(z<0){
x=0;
y=0;
}
Else{
x=2;
y=2;
}

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);

2. Introduza o programa anterior no compilador de C, Quincy e verifique os


resultados obtidos.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

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.

3. Altere o programa anterior para ficar em ciclo at o utilizador escolher a opo


para sair.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha Formativa
Tcnico de Informtica e Sistemas | UFCD: 0783
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Crie um programa para cada uma das seguintes situaes:


A. Programa para, dado um nmero N, calcule a soma de todos os nmeros
positivos pares, inferiores ou iguais a esse nmero N.
Insira numero: 10
Resultado = 10 + 8 + 6 + 4 + 2
B. Um estacionamento cobra uma taxa mnima de 3 para estacionar por trs
horas. cobrado um adicional de 1,50 por hora, mesmo que no seja a
hora completa aps as trs primeiras horas.
O valor mximo para qualquer perodo de 24 horas de 20. Suponha que
nenhum carro fica estacionado por mais de 24 horas por vez. Desenvolva
um programa para calcular e mostrar as taxas do estacionamento para
cada cliente que estacionou nesse parque.
O programa deve solicitar ao utilizador o nmero de horas que o veiculo
esteve estacionado e devolve o valor a pagar.

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.

3. Altere o programa anterior para ficar em ciclo at o utilizador escolher a opo


para sair.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

EFA Tecnolgico - Tcnico de Informtica e Sistemas


UFCD:0783 Programao em C C++ - Ciclos e Decises
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: _______________________________________________________________

Grupo I
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.

1. Indique, para cada afirmao, se verdadeira ou falsa, justificando no caso de ser


falsa:
a)
Na estrutura de deciso If, obrigatrio a colocao de uma condio
para o prprio If.
Verdadeiro obrigatorio
_______________________________________________________________

_______________________________________________________________

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
_______________________________________________________________

_______________________________________________________________

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
2. Indique qual o resultado final da varivel x, y e z aps a execuo do seguinte
fragmento de cdigo:
()
int x;
int y;
int z;
x=0;
z=2
x=z;
y=x;
z=y+x;
if(x>y || x>z){
x=x+1;
y=y+1;
z=z+1
}
Else if(x=y && x<z){
x=x+2;
y=y+2;
z=z+2
}
Else{
x=x+2;
y=y+2;
z=z+2
}
z=x-1;
y=x+1;
x=y-z;
Printf(%d,x);
Printf(%d,y);
Printf(%d,z);

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha de Avaliao Sumativa


EFA Tecnolgico - Tcnico de Informtica e Sistemas
UFCD:0783 Programao em C C++ - Ciclos e Decises
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

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

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
6.

1
20

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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.

2. Qual a condio a colocar, em linguagem C no ciclo Do While, para realizar um


conjunto de aes enquanto a varivel (n) no for igual a 10?
(A) do(n=10);

(B)while(n=10);
(C)while(n!=10);
(D)Nenhuma das anteriores.

3. Qual das seguintes afirmaes verdadeira?

(A) obrigatrio que dentro de um else exista um if.


(B) obrigatrio um if ter uma condio
(C) obrigatrio um else ter uma condio
(D)Nenhuma das anteriores

4. possvel que a varivel a utilizar na condio de qualquer ciclo (for, dowhile)


seja declarada dentro do prprio ciclo?

(A)Verdadeiro
(B)Falso

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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

Obrigatrio mostrar clculos intermdios!


para ambos os exerccios

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
2. Indique todos os resultados enviados como output deste programa:
A=0,1
int a;
B=1,=1+1=2
int b;
a=0;
b=1;
A=0
a=b;
B=1
b=a+a;
C=0+1=1
if (a>b || b>a) {
a=0;
B=1+1=2
b=1;
C=1+1=2
} else {
A=1+2=3
C=2+1=3
if (a==b && b==a) {
a=10;
b=5;
C=5
} else {
A=3
a=3;
B=2
5+3+2=
b=7;
B=2+1=3
}
C=5+1=6
}
A=3+6=9
int c;
C=6+1=7
c=a+b;
do {
A=9
b=b+1;
B=3
c=c+1;
C=7
a=b+c;
c=c+1;
} while (a<5);
printf("\na: %d",a);printf("\nb: %d",b);printf("\nc: %d",c);

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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.

Crie um programa que receba um valor para a medida de classificao energtica


(R) de um prdio e devolva a Classe energtica que este possui.

Classe

(os valores limites esto includos no


intervalo)

Energtic
a

Menor que 0,25

A+

Entre 0,26 e 0,50

Entre 0,51 e 0,75

Entre 0,76 e 1

B-

Superior a 1 | Inferior a 0

Erro.

Nota: O utilizador no caso de Erro deve receber mensagens personalizadas.


3. Crie um programa para calcular a soma de todos os nmeros pares ou mpares
(consoante a escolha inicial do utilizador) at um determinado nmero (que o
utilizador insere).
Assim, o utilizador escolhe inicialmente (1 Somar mpares ou 2 Somar pares) e
de seguida insere o nmero at ao qual pretende somar. No final recebe a soma.
De notar que as nicas opes iniciais disponveis 1 ou 2 recebendo o utilizador
uma mensagem de erro no caso contrrio.
Nota: S pode utilizar um ciclo for apenas.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

4. Crie um programa para a seguinte situao:


O utilizador pretende um programa que dado 2 cidades (nomes) e as temperaturas do
ano de 2013 de cada ms (para cada cidade), o programa calcula qual a cidade
vencedora tendo em conta os seguintes critrios:
Se a mdia das temperaturas for inferior a 15 ento realizado um acrscimo de 15%
mdia. Caso a mdia seja igual ou superior a 15 e menor que 20, ento realizado
um acrscimo de 10% mdia. Caso seja igual ou superior a 20 realizado um
acrscimo de 7,5%.
Este acrscimo feito em cada mdia tem como objetivo de lhe atribuir uma pontuao.
Para ter a pontuao final deve multiplicar o valor da mdia (j com acrscimo) por 5.
A cidade vencedora ser a cidade que apresenta maior pontuao.
Surge ainda uma mensagem no ecr a informar qual a classificao textual da cidade
vencedora, isto , se a pontuao final for inferior a 100 surge a seguinte mensagem:
AAAA - Cidade vencedora com classificao suficiente. Caso a pontuao seja entre
100 e 150: AAAA - Cidade vencedora com classificao de Bom. Caso seja superior
a 150 surge: AAAA - Cidade vencedora com classificao Muito Bom.
Nota: AAAA representa o nome da cidade vencedora.

5. Crie um menu em que:


a. Caso o utilizador insira a opo 1, o programa termina (mas antes envia
uma mensagem a dizer: Obrigado por utilizar o meu programa.
b. Caso o utilizador insira a opo 10, utilize o programa criado no ponto
1. deste grupo.
c. Caso o utilizador insira a opo 100, utilize o programa criado no ponto
2. deste grupo.
d. Caso o utilizador insira a opo 1000 utilize o programa criado no ponto
3. deste grupo.
e. Caso o utilizador insira a opo 2000 utilize o programa criado no ponto
4. deste grupo.
f. Caso o utilizador insira qualquer outro nmero dever receber uma
mensagem a dizer que a opo invlida.
Deve colocar antes de cada programa uma mensagem a dizer: Bem-vindo ao
programa X, em que X representa o nmero da alnea (1,2,3 ou 4) do programa
criado.

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).

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha de Avaliao Sumativa


EFA Tecnolgico - Tcnico de Informtica e Sistemas
UFCD:0783 Programao em C C++ - Ciclos e Decises
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

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

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
Grupo IV

4.

5.

6.

10

20

Grupo I
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.

1. Indique, para cada afirmao, se verdadeira ou falsa, justificando no caso de ser


falsa:
a)

possvel definir um if (ou else if) sem condio.

Falso apenas o Else possivel definir sem condio


_______________________________________________________________

_______________________________________________________________

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).

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

_______________________________________________________________
_______________________________________________________________

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);
}
()

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
2. Indique todos os resultados enviados como output deste programa:

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

Obrigatrio mostrar clculos intermdios!

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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);
}

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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.

Mdia das temperaturas

Descrio

(os valores limites esto includos no


intervalo)
Classificao
At 10 graus positivos D
Classificao
Entre 11 graus positivos e 20 graus positivos C
Classificao
Entre 21 graus positivos e 30 graus positivos B
Classificao
Entre 31 graus positivos e 35 graus positivos A
Classificao
Seno A+
Crie um programa que receba dois valores de temperaturas (valor mnimo
registado e valor mximo) e um nome de uma cidade e dever retornar ao
utilizador qual a descrio referente mdia das temperaturas, tendo em conta o
seguinte quadro:

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.

O utilizador dever receber a seguinte mensagem:


A cidade XXXX teve como classificao: YYYY em que XXXX representa o nome da
cidade que o utilizador inseriu e YYYY representa uma das descries do quadro
apresentado.
3. Crie um programa receba um valor do utilizador e devolva um resultado consoante
das seguintes restries:
a. Caso o valor inserido seja inferior a 4, o resultado ser 0.
b. Caso o valor inserido seja 4, o resultado ser 1.
c. Caso seja qualquer outro valor superior a 4 e inferior ou igual a 10,
dever ento verificar quais os quatro valores anteriores ao nmero
inserido e calcular a soma desses valores. (UTILIZAR CICLO).

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
d. Caso o valor inserido seja superior a 10, dever realizar a multiplicao
entre o 1, 3 e 5 valor anterior ao nmero inserido. (UTILIZAR
CICLO).
Exemplos:
N inserido: 10
Resultado: 9+8+7+6=30
-------------------------------------------N inserido: 12
Resultado: 11*9*7=693
4. Crie um programa para a seguinte situao:
Pretende-se criar um programa que indique qual o troco a entregar a um determinado
cliente. Para isso, o utilizador insere um valor a pagar e o dinheiro entregue pelo
cliente e o programa calcula e mostra todas as notas e moedas (do euro) a entregar
como troco ao cliente. Assuma que sempre que for possvel entrega o mximo de
notas/moedas da nota/moeda mais alta e s depois passa prxima. (ver exemplo)
Insira valor a pagar: 10,50
Insira dinheiro entregue pelo cliente: 20
Troco a entregar:
Notas de 50 euros: 0
Notas de 20 euros: 0
Notas de 10 euros: 0
Notas de 5 euros: 1
Moedas de 2 euros: 2
Moedas de 1 euro: 0
Moedas de 50 cntimos: 1
Considere apenas as notas de 50,20,10 e 5 euros e as moedas de 2, 1 e 0.50.
Teste o seu programa apenas com exemplos em que para o troco so somente
necessrias as notas/moedas supracitadas.

5. Crie um menu em que:


a. Caso o utilizador insira a opo 1, utilize o programa criado no ponto 1.
deste grupo.
b. Caso o utilizador insira a opo 2, utilize o programa criado no ponto 2.
deste grupo.
c. Caso o utilizador insira a opo 3, utilize o programa criado no ponto 3.
deste grupo.
d. Caso o utilizador insira a opo 5 recebe uma mensagem a dizer:
Obrigado por utilizar o nosso programa. A sair
e. Caso o utilizador insira qualquer outro nmero dever receber uma
mensagem a dizer que a opo invlida.
Deve colocar antes de cada programa uma mensagem a dizer: Bem-vindo ao
programa X, em que X representa o nmero da alnea (1,2 ou 3) do programa criado.

6. Altere o menu criado no ponto anterior para ficar em ciclo at o utilizador escolher
a opo para sair.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Ficha de Avaliao Sumativa


EFA Tecnolgico - Tcnico de Informtica e Sistemas
UFCD:0783 Programao em C C++ - Ciclos e Decises
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

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

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Grupo I
Ateno! Se apresentar mais de uma resposta, ou resposta ambgua, a questo ser
anulada.

1. Qual das seguintes instrues no vlida em linguagem c?

(A)if(a<10){
po
(B)else
(a>10){

(C)int a = 12;
(D)Nenhuma das anteriores.

2. Qual das afirmaes verdadeira?


(A) possvel definir um else sem um if.
(B) possvel definir um do sem um while.
(C)
possvel definir duas condies para um if.
kllkj

(D)Nenhuma das anteriores.

3. Qual das seguintes afirmaes verdadeira?

(A) possvel declarar a varivel a utilizar num ciclo de repetio dentro do


prprio ciclo.
(B) obrigatrio que um ciclo possua, no mximo, uma condio
(C)
kkk obrigatrio que um ciclo possua, no mnimo, uma condio
(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

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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

Obrigatrio mostrar clculos intermdios!


para ambos os exerccios

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
2. Indique todos os resultados enviados como output deste programa:
int x=0;
int y=1;
x=y+1;
y=x+1;
x=y+x;
y=y+1;
int res;
if (x>y || y>0) {
x=x+1;
y=y+1;
} else {
if (x>0 && y>0) {
x=x-1;
y=y-1;
} else {
x=x+2;
y=y+2;
}
}
res=0;
do {
y=y+1;
x=x-1
Infinito =&&in
res=res+(x-2);
} while (res<5);
printf("\nx: %d",x);printf("\ny: %d",y);printf("\nres: %d",res);

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Grupo III
Todas as questes devem de ser respondidas em linguagem C.

1. Crie um programa que pea ao utilizador um nmero e o programa devolva o


seguinte resultado para os 5 nmeros seguintes ao nmero inserido:
Exemplo:
Insira um valor:
3
4
5
6
7
8
Nota: O valor inserido pelo utilizador tem de ser positivo
2.

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

Entre 1250 e 1750

56,50

Mais de 120g/km at
180g/km

86,55

Entre 1750 e 2500

112,89

Mais de 180g/km at
250g/km

187,96

Mais de 2500

386,34

Mais de 250g/km

321,99

Nota: O utilizador no pode inserir valores negativos

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.

INSTITUTO DO EMPREGO E FORMAO PROFISSIONAL I.E.F.P


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

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

5. Crie um menu em que:


a. Caso o utilizador insira a opo 5, o programa termina (mas antes envia
uma mensagem a dizer: Obrigado por utilizar o meu programa.
b. Caso o utilizador insira a opo 1, utilize o programa criado no ponto 1.
deste grupo.
c. Caso o utilizador insira a opo 2, utilize o programa criado no ponto 2.
deste grupo.
d. Caso o utilizador insira a opo 3 utilize o programa criado no ponto 3.
deste grupo.
e. Caso o utilizador insira a opo 4 utilize o programa criado no ponto 4.
deste grupo.
f. Caso o utilizador insira qualquer outro nmero dever receber uma
mensagem a dizer que a opo invlida.
Deve colocar antes de cada programa uma mensagem a dizer: Bem-vindo ao
programa X, em que X representa o nmero da alnea (1,2,3 ou 4) do programa
criado.

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).

Вам также может понравиться