Anda di halaman 1dari 28

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: 0785
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Crie os programas no Quincy, utilizando vectores, para as seguintes situaes:


1. Receber 4 nmeros do utilizador e realizar a multiplicao de todos os
elementos do vector.
2. Receber 10 nmeros do utilizador e realizar a soma de todos os
elementos cujas posies no vector so pares (0, 2, 4, ).
3. Receber 10 nmeros do utilizador e realizar a multiplicao de todos os
elementos cujas posies no vector so mpares (1, 3, 5, ).
4. Receber 6 nmeros do utilizador e consoante o valor guardado no vector,
realizar as seguintes aces:
a. Se o valor guardado for superior a 10: Mostra o valor guardado -1
b. Seno: Mostra o valor +1

Exemplo:

12

Resultado para o utilizador:


2
6
11
13
19
5

14

20

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: 0785
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Indique qual o resultado do seguinte fragmento de cdigo:


#include<stdio.h>
int main(){
int
int
int
int

v[6];
i;
res;
resultado;

v[1]=5;
v[0]=1;
v[3]=1;
v[2]=4;
v[4]=5;
v[5]=2;
res=0;
for(i=0;i<6;i=i+2){
res=res+(i+1);
}
for(i=0;i<6;i=i+2){
resultado=res+v[i];
}
if(res>0){
res=resultado+(2*i);
}
else{
res= resultado-(2*i)
}
res=resultado-2;
printf(%d,res);
return(0);
}

0=1
1=5
2=4
3=1
4=5
5=2
res=0 1 4 9 26 12
i=0 2 4 6 0 2 4 6
resultado 10 13 14 14+2*6

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: 0785
Nome Formando: _____________________

Data: __/__/__

1. Indique qual o resultado do seguinte fragmento de cdigo:


#include<stdio.h>
int main(){
int v[6];
int i;
int res;
v[0]=0;
v[1]=0;
v[2]=0;
v[3]=0;
v[4]=1;
v[5]=1;
res=1;
for(i=0;i<6;i=i+1){
if(i>3){
v[i]=res-1;
}
else{
v[i]=res+1;
}
}
for(i=0;i<6;i=i+1){
res=res+v[i];
}
printf(%d,res);
return(0);
}

0=0 2
1=0 2
2=0 2
3=0 2
4=1 0
5=1 0
res=1 3 5 7 9 9 9
i=0 2 3 4

Formador: Joo Leito

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: 0785
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Crie os programas no Quincy, para as seguintes situaes:

A. Criar um programa que receba 4 nmeros do utilizador e verifique


a seguinte situao para cada nmero inserido. Se o valor inserido
for superior a 5, ento dever mostrar uma mensagem a dizer
Inseriu um valor superior a 5. Caso contrrio receber uma
mensagem a dizer Inseriu um valor inferior a 5. Dever repetir a
aco para cada elemento do vector.

B. Crie um programa que receba um valor sem IVA, uma taxa de IVA e
mostre ao utilizador o valor com IVA. O vector dever ter 3
posies em que na primeira fica o valor sem IVA, na segunda a
taxa de IVA e na terceira, o valor com IVA.

C. Crie um programa que receba 5 valores que correspondem a


valores em euros e converta cada um dos valores para dlares.
Obrigatrio usar vectores. 1 euro igual a 1,27 dlares.

D. Crie um programa que receba quatro nmeros e mostre o factorial


para cada um desses nmeros. Obrigatrio utilizar vectores.

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:0785 Programao em C C++ - Formas complexas
Durao: 120 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: ________________________________________________________________

1. Utilizando vectores, crie um programa que recebe 3 notas de testes e mostrar


ao utilizador qual a mdia aritmtica (soma dos 3 testes a dividir por 3).

2. Utilizando vectores, crie um programa que receba 4 nmeros e devolva a soma


de todos os elementos desse vector com a seguinte indicao: Caso a soma
de todos os elementos for superior a 10, ento junta mais 1. Seno, retira 1
soma. No final, mostra esse resultado ao utilizador.

3. Crie um programa que dados 5 nmeros devolva a diferena entre a


quantidade de nmeros positivos e negativos.
Exemplo:
1
Resultado para o utilizador:
2 (nmeros positivos)
3 (nmeros negativos)
2-3 =

-1

-2

-2

-1

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:0785 Programao em C C++ - Formas complexas
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: ________________________________________________________________

Notas Gerais:
Esta prova de natureza terica divide-se em trs 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.

12

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. Indique, para cada afirmao, se verdadeira ou falsa, justificando no caso de ser


falsa:
a)
Independentemente do tipo de dados do array, o contedo das suas
posies sempre do tipo de dados: int.
Falso
_______________________________________________________________

_______________________________________________________________

b)
possvel que duas posies do mesmo array apresentem o mesmo
valor.
Verdadeiro
_______________________________________________________________
_______________________________________________________________

c)

A primeira posio de um array com N elementos sempre N-1.

Falso a primeira posio 0,


_______________________________________________________________

_______________________________________________________________

d)
possvel que um array com N elementos apresente posies sem
estarem preenchidas.
Verdadeiro!
_______________________________________________________________

_______________________________________________________________

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Grupo II
1. Indique qual o resultado para o utilizador aps a execuo do seguinte fragmento
de cdigo:

#include<stdio.h>
int main(){
vx_ |_ |_ |_ |_

int vx[5];
int i=1;
int res;

i=1
res=

for(i=4;i>0;i--){
vx[i]=i;
}
res=i;
do{
vx[i]=res;
res=res+1;
i=res;
}while(res<0);
for(i=0;i<5;i=i+3){
res=res*vx[i];
}
if(res>0 && res<5){
res=2;
}
else if(res>=5 && res<10){
res=3;
}
else{
res=1;
}
printf("\nRes: %d", res);
for(i=0;i<5;i=i+1){
printf("\nVector: %d",vx[i]);
}
return(0);
}

Obrigatrio mostrar clculos intermdios!

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

2. Indique qual o resultado final para o utilizador aps a execuo do seguinte


fragmento de cdigo:
#include<stdio.h>
int main(){
v1 [0] 0
int v1[6];
v1 [1] 1
int i=0;
v1 [2]
int x=0;
v1 [3]
int y=1;
v1 [4]
int z=2;
v1[ 5]
for(i=0;i<6;i++){
if(i%2==0){
v1[i+1]=1;
}
else{
v1[i-1]=0;
}
}

i 0 0 1 2 3 4 5 6 4 2 0 -2 4 3 2 1
x 064202
y13333
z23 3 66

do{
x=i;
y=z+1;
i=i-2;
}while(x>0);
z=x+y;
for(i=4;i>=2;i=i--){
if(v1[i]>0){
z=z+y;
}
else{
z=z+x;
}
}
x=v1[i]+1;
printf("\nX: %d", x);
printf("\nY: %d", y);
printf("\nZ: %d", z);
for(i=0;i<5;i=i+1){
printf("\nVector: %d",v1[i]);
}
return(0);
}

Obrigatrio mostrar clculos intermdios!

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Grupo III (Utilizao de vectores)

1. Utilizando vectores, crie um programa que receba 4 nmeros e imprima a


posio e o respetivo contedo na forma (posio,contedo) como demonstra
o exemplo.
Exemplo:
1
2
3
4
Vector (posio par, contedo): (0,1) (2,3)
Vector (posio mpar, contedo): (1,2) (3,4)
2. Utilizando vectores, crie um programa que recebe 5 valores e mostra ao
utilizador quais os nmeros que so acima de 10.
Exemplo:
Insira 5 valores:
1
20
3
40
5
Nmeros acima de 10:
20
40

3. Utilizando vectores, crie um programa que receba para 3 produtos, a


quantidade em stock e o preo de venda e o programa dever devolver
quantos euros a empresa tem em stock sabendo que esse valor a soma da
multiplicao entre a quantidade e o preo de venda para todos os produtos.
Tenha em ateno que nem o preo, nem a quantidade, podem ser negativos.
Caso seja, dever solicitar novamente ao utilizador o valor (para a quantidade
ou para o preo) e continuar a execuo do seu programa.
Exemplo:
Insira a quantidade e preo para o produto 1:
2
10.5
Insira a quantidade e o preo para o produto 2:
1
5
Insira a quantidade e o preo para o produto 3:
2
20
Valor em stock: 66euros.

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:0785 Programao em C C++ - Formas complexas
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: ________________________________________________________________

1. Utilizando vectores, crie um programa que recebe 5 raios de esferas e o


programa mostra qual a rea (A) e volume (V) para cada um dos raios
inseridos, sabendo que:

!
2. Utilizando vectores, crie um programa que calcula e mostra a mdia ponderada
para uma turma. O programa recebe 5 notas (0-20) e os respetivos pesos
normalizados (0-1). Assuma que o utilizador insere os valores na sequncia:
N1 P1 N2 P2
No necessrio garantir que o intervalo de notas de 0 a 20 nem que o
intervalo dos pesos de 0 a 1.

3. Utilizando vectores, crie um programa que receba 10 nmeros do utilizador e


um nmero a procurar (X) e o programa devolve quantas vezes o nmero X
aparece nos nmeros inseridos. Caso no aparea, o utilizador recebe uma
mensagem a informar: O nmero que procura no foi inserido. Caso contrrio
surge: O nmero que inseriu aparece N vezes nos 10 nmeros inseridos.
5. Utilizando vectores, crie um programa que realize a gesto de um piloto numa
corrida de automveis com 6 voltas de durao. So anotados para um piloto
os tempos registrados em cada volta. O programa deve ler os tempos de todas
as voltas e mostrar:
a. Melhor tempo;
b. Pior tempo;
c. A volta (nmero) em que ocorreu o melhor tempo;
d. Tempo mdio das 6 voltas;
De notar que deve no final ser dada a hiptese do utilizador voltar a utilizar o
programa e caso isso acontea, o programa ficar em ciclo at o utilizador
escolher a opo para sair ou ter chegado s trs utilizaes (ou seja, ao fim
de 3 utilizaes o utilizador j no pode voltar a utilizar o programa). O ecr
deve ser limpo sempre que o utilizador escolher a opo para utilizar
novamente o programa.

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: 0785
Nome Formando: _____________________

Data: __/__/__

Formador: Joo Leito

1. Crie os programas no Quincy, para as seguintes situaes:


A. Criar um menu para que caso o utilizador insira a opo 1, dever
abrir o site www.google.pt. Caso a opo seja 2, dever abrir o site
www.iefp.pt. Se a opo for 3, dever criar uma pasta com o nome
abcd.
Se inserir qualquer outra opo dever receber uma mensagem de
erro.

B. Criar um programa que receba 4 nmeros do utilizador e verifique


a seguinte situao para cada nmero inserido. Se o valor inserido
for superior a 5, ento dever mostrar uma mensagem a dizer
Inseriu um valor superior a 5. Caso contrrio receber uma
mensagem a dizer Inseriu um valor inferior a 5. Dever repetir a
aco para cada elemento do vector.

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:0785 Programao em C C++ - Formas complexas
Durao: 150 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: ________________________________________________________________

Notas Gerais:
Esta prova de natureza terica divide-se em trs 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.

12

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
5.

3
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. Indique, para cada afirmao, se verdadeira ou falsa, justificando no caso de ser


falsa:
a)
Independentemente do tipo de dados do vector, o contedo das suas
posies sempre do tipo de dados: int.
FALSO
_______________________________________________________________

_______________________________________________________________

b)
possvel que duas posies do mesmo vector apresentem o mesmo
valor.
Falso
_______________________________________________________________
_______________________________________________________________

c)

A primeira posio de um vector com N elementos sempre N-1.

Falso
_______________________________________________________________

_______________________________________________________________

d)
possvel que um vector com N elementos apresente posies sem
estarem preenchidas.
Verdadeiro
_______________________________________________________________

_______________________________________________________________

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

Grupo II
1. Indique qual o resultado para o utilizador aps a execuo do seguinte fragmento
de cdigo:

#include<stdio.h>
int main(){
int vx[5];
int i=1;
int res;

1
VX[0] 4
VX[1] 3
VX[2] 2
VX[3] 1
VX[4] 0
I=1 4 3 2 1 2
RES= 1 2 2 2

for(i=4;i>0;i--){
vx[i]=i;
}
res=i;
do{
vx[i]=res;
res=res+1;
i=res;
}while(res<0);
for(i=0;i<5;i=i+3){
res=res*vx[i];
}
if(res>0 && res<5){
res=2;
}
else if(res>=5 && res<10){
res=3;
}
else{
res=1;
}
printf("\nRes: %d", res);
for(i=0;i<5;i=i+1){
printf("\nVector: %d",vx[i]);
}
return(0);
}

Obrigatrio mostrar clculos intermdios!

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

2. Indique qual o resultado final para o utilizador aps a execuo do seguinte


fragmento de cdigo:
#include<stdio.h>
int main(){
V1[0] 0
int v1[6];
V1[1] 1
V1[2] 0
int i=0;
V1[3] 1
int x=0;
V1[4] 0
int y=1;
V1[5] 1
int z=2;
for(i=0;i<6;i++){
if(i%2==0){
v1[i+1]=1;
}
else{
v1[i-1]=0;
}
}

I= 0 1 2 3 4 5 6 4 2 0
X=0 6 4 2
Y=1 3 3 3
Z=2 5

do{
x=i;
y=z+1;
i=i-2;
}while(x>0);
z=x+y;
for(i=4;i>=2;i=i--){
if(v1[i]>0){
z=z+y;
}
else{
z=z+x;
}
}
x=v1[i]+1;
printf("\nX: %d", x);
printf("\nY: %d", y);
printf("\nZ: %d", z);
for(i=0;i<5;i=i+1){
printf("\nVector: %d",v1[i]);
}
return(0);
}

Obrigatrio mostrar clculos intermdios!

Grupo III (Utilizao de vectores)

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

1. Utilizando vectores, crie um programa que receba 4 nmeros e imprima a


posio e o respetivo contedo na forma (posio,contedo) como demonstra
o exemplo.
Exemplo:
1
2
3
4
Vector (posio par, contedo): (0,1) (2,3)
Vector (posio mpar, contedo): (1,2) (3,4)
2. Utilizando vectores, crie um programa que recebe 5 valores e mostra ao
utilizador quais os nmeros que so acima de 10.
Exemplo:
Insira 5 valores:
1
20
3
40
5
Nmeros acima de 10:
20
40

3. Utilizando vectores, crie um programa que receba para 3 produtos, a


quantidade em stock e o preo de venda e o programa dever devolver
quantos euros a empresa tem em stock sabendo que esse valor a soma da
multiplicao entre a quantidade e o preo de venda para todos os produtos.
Tenha em ateno que nem o preo, nem a quantidade, podem ser negativos.
Caso seja, dever solicitar novamente ao utilizador o valor (para a quantidade
ou para o preo) e continuar a execuo do seu programa.
Exemplo:
Insira a quantidade e preo para o produto 1:
2
10.5
Insira a quantidade e o preo para o produto 2:
1
5
Insira a quantidade e o preo para o produto 3:
2
20
Valor em stock: 66euros.
4. Utilizando vectores, crie um programa que receba 10 valores inteiros que
representam aces, estando disponveis apenas as seguintes 3 aces:
1 Abrir o site www.google.pt
2 Abrir o site www.iefp.pt
3 Criar uma pasta com o nome teste785

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
O programa dever ter o seguinte comportamento:
Se o utilizador inserir uma opo invlida, dever ser solicitada
novamente a opo
O programa dever verificar quantas vezes o utilizador escolheu cada
opo sabendo que independentemente do nmero de vezes que escolheu a
opo 3, o programa apenas realiza esta aco uma vez. No caso em que o
utilizador inseriu vrias vezes (N) o nmero 1 ou 2 ento realizar N vezes a
aco de abrir a respetiva pgina.
Exemplo:

1
2
3
1
1
3
2
2
1
3

O programa abre 4 vezes seguidas o site www.google.pt


O programa abre 3 vezes seguidas o site www.iefp.pt
O programa cria uma pasta com o nome teste785

5. Utilizando vectores, crie um programa que receba 10 nmeros do utilizador e o


programa devolva a indicao de quantos e quais os valores repetidos.
Considere a hiptese de no existirem repetidos.
No final dever mostrar os nmeros repetidos ordenados como demonstra o
exemplo.
NOTA: Simplifique a soluo admitindo que o utilizador nunca pode inserir um
nmero seguinte inferior a qualquer um anterior (no mximo igual) e apenas
pode repetir uma vez.
Exemplo:
2
3
4
2
4
5
5
6
7
8
Existem 3 nmeros repetidos. Os nmeros repetidos so:
2
4
5

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:0785 Programao em C C++ - Formas complexas
Durao: 120 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: Joo Leito

Classificao: ________________________________________________________________

Notas Gerais:
Esta prova de natureza terica divide-se em trs grupos e tem a durao de 120
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.

12

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
5.

2
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. Indique, para cada afirmao, se verdadeira ou falsa, justificando no caso de ser


falsa:
a)
Na declarao de um vector obrigatrio colocar o contedo de cada
posio.
Falso , eu posso ter a posio disponivel mas posso nao colocar nada...
_______________________________________________________________

_______________________________________________________________

b)

Num vector com N elementos, a primeira posio N e a ltima 0.

_______________________________________________________________
Falso, a primeira opcao sempre 0 e a ultima menos um o tamanho
_______________________________________________________________

c)
possvel alterar a indicao de qual a primeira posio de um vector.
Por exemplo, possvel dizer que a primeira posio de um vector passa a ser
a posio 5.
Falso, no possivel
_______________________________________________________________

_______________________________________________________________

d)
possvel utilizar o contedo de uma posio de um vector na condio
da estrutura de deciso if.
Verdadeiro
_______________________________________________________________

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA
_______________________________________________________________

Grupo II
1. Indique qual o resultado final para o utiliador aps a execuo do seguinte
fragmento de cdigo:
#include<stdio.h>
int main(){
int xpto[5];
int i;
int res;
xpto[0]=1;
xpto[1]=0;
xpto[2]=0;
xpto[3]=1;
xpto[4]=0;
res=xpto[0];
for(i=1;i<5;i=i+2){
xpto[i]=xpto[i]+res;
}
res=1;
for(i=0;i<5;i=i+1){
res=res+xpto[i];
}

1
1
0
2
0
I5
RES 20

res=res*i;
if(res>0){
res=res-i;
}
else{
res=res+1;
}
printf(%d, res);

20

for(i=0;i<5;i=i+1){
printf(%d,xpto[i]);
}
return(0);
}

xpto[0] 1
xpto[1] 0 1
xpto[2] 0
xpto[3] 1 2
xpto[4] 0
I1350 12 3 4 5
RES 1 1 2 3 3 5 5 25 20

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

2. Indique qual o resultado final para o utilizador aps a execuo do seguinte


fragmento de cdigo:
#include<stdio.h>
int main(){
int
int
int
int
int

vector[4];
i;
res;
w;
init;

V[0] 1 1
V[1] 1 2
V[2] 1 3
V[3] 1 4
-1
I 0 3 40 1 2 3 4 0 3 6 0 1 2 3 4 2 1 0
RES 2 3 4 5 5 4
0 64 2 0 1
W
INIT 1 2 1

init=1;
res=2;
for(i=0;i<4;i=i+1){
vector[i]=init;
}
init=init+1;
w=0;
res=res+1;
for(i=0;i<4;i=i+3){
res=res+vector[i];
}
res=res+w;
init=init-1;
for(i=0;i<4;i=i+1){
vector[i]=vector[i]+i;
}
for(i=3;i>=0;i=i-1){
w=i+vector[i]-init;
}

1+2-1 4

res=res+i;
w=w-i;
printf("%d\n", res);
printf("%d\n\n", w);
for(i=0;i<4;i=i+1){
printf("%d\n",vector[i]);
}
return(0);
}

Obrigatrio mostrar clculos intermdios!

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

Grupo III (Utilizao de vectores)


1. Utilizando vectores, crie um programa que recebe 3 notas de testes e mostrar
ao utilizador qual a mdia aritmtica (soma dos 3 testes a dividir por 3).

2. Utilizando vectores, crie um programa que receba 4 nmeros e devolva a soma


de todos os elementos desse vector com a seguinte indicao: Caso a soma
de todos os elementos for superior a 10, ento junta mais 1. Seno, retira 1
soma. No final, mostra esse resultado ao utilizador.

3. Utilizando vectores, crie um programa que receba 5 nmeros do utilizador e


que mostre ao utilizador os seguintes resultados: Se a posio for par, mostra a
multiplicao entre 5 e o contedo dessa posio par. Se a posio for mpar,
mostra o resultado da multiplicao entre 2 e o contedo dessa posio mpar

4. Utilizando vectores, crie um programa que recebe 5 nmeros inteiros positivos


e verifique para cada posio se esse nmero superior ou igual a 20. Caso
seja, dever receber uma mensagem a dizer: Nmero superior ou igual a 20.
Caso contrrio, receber Nmero inferior a 20.

5. Utilizando vectores, crie um programa que receba 4 nmeros do utilizador e


consoante o valor guardado no vector, realize as seguintes aces:
Se o valor guardado for superior igual a 1, ento cria uma pasta com o nome
pasta1, se for igual a 2, cria uma pasta com o nome pasta2, se for igual a 3
abre o site www.google.pt. Caso contrrio avisa o utilizador que o nmero no
tem aco prevista.
O comando para criar uma pasta : mkdir NOMEDAPASTA

6. Utilizando vectores, crie um programa que receba do utilizador 5 alturas, em


centmetros, e que mostre ao utilizador qual a mdia e desvio padro sendo
que:
Mdia = SA / 5
Varincia = SA Mdia
SA corresponde soma de todos os elementos do vector.

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


CENTRO EMPREGO E FORMAO PROFISSIONAL DE VORA

7. Utilizando vectores, crie um programa que receba para cada produto, um preo
de compra e um preo de venda. Pretende-se receber os preos para 5
produtos e o objectivo que os valores fiquem em posies adjacentes (lado a
lado). Ou seja, para o produto 1, o preo de compra fica na posio 0 e o preo
de venda na posio 1 e assim sucessivamente para os restantes produtos.
Pretende-se mostrar ao utilizador, para cada produto, qual o lucro obtido
atravs da diferena entre o preo de venda e o preo de compra.

8. Utilizando vectores, crie um programa que dados 5 nmeros devolva a


diferena entre a quantidade de nmeros positivos e negativos, acompanhada
de uma mensagem explicativa do sucedido, isto , se essa diferena for
superior a 0 dever receber a mensagem: Existem mais nmeros positivos
que negativos. Se for inferior a 0: Existem mais nmeros negativos que
positivos. Se for igual a 0: O nmero de positivos e negativos igual.
Exemplo:
1

Resultado para o utilizador:


1
Existem mais nmeros positivos que negativos.

-2

-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: 0785


Nome Formando: _____________________
Data: __/__/__
Formador: Joo Leito

1. Crie o seguinte programa utilizando a linguagem C:


Pretende-se criar um programa que auxilie o utilizador na remodelao de uma casa.
O utilizador insere as medidas (em metros quadrados) de cada uma das divises
(quarto, sala, cozinha e wc) e o programa mostra quantas caixas de mosaicos so
necessrias adquirir, assim como o valor a pagar sabendo que:
a. Cada caixa de mosaicos tem um metro quadrado
b. O valor da caixa inserido pelo utilizador
c. As medidas devem de estar armazenadas num vector.
d. O clculo do valor a pagar feito multiplicando o valor de cada caixa
pelo total de metros quadrados.
e. O utilizador no final escolhe se quer voltar ao programa de clculo ou
no. Caso opte por voltar, todo o ecr deve ser limpo.
f. Aps o utilizador ver o nmero de caixas a comprar e o respetivo valor
total, aberto o site: http://www.gresart.pt/

Altere o programa anterior para que em vez do utilizador inserir as medidas em


metros quadrados, insere para cada diviso o comprimento e largura e o programa,
atravs de uma funo prpria devolve os metros quadrados. Altere toda a estrutura
necessria para que o programa fique a funcionar da mesma forma que estava, mas
desta vez, utilizando funes e aumentando o tamanho do vector.