You are on page 1of 6

INSTITUTO POLITCNICO DE LEIRIA

ESCOLA SUPERIOR DE TECNOLOGIA E GESTO


Departamento de Engenharia Informtica

Programao II
(Licenciatura em Engenharia Ambiente e Engenharia e Gesto Industrial)

Vectores, Matrizes e Strings

Exerccio 1
i) Defina uma estrutura de dados que permita armazenar as notas obtidas por 30 alunos de uma
turma, a uma determinada disciplina.
ii) Elabore funes que permitam:
a) Efectuar a leitura das notas obtidas pelos 30 alunos.
b) Calcular e devolver a mdia das notas obtidas pelos 30 alunos.
iii) Elabore um programa que:
Efectue a leitura das notas obtidas pelos 30 alunos;
Calcule a mdia das notas;
Escreva no ecr todas as notas superiores mdia.

Resoluo
i) int notas[30];
ii)
a)
void leitura_notas (int not[])
{
int i;
for (i=0;i<MAX_ALUNOS;i++)
do
{
printf("Introduza a nota do aluno %d: ",i+1);
scanf("%d",&not[i]);
} while (not[i]<0 || not[i]>20);
}//leitura_notas

Folha de exerccios Vectores e matrizes/ Eng. Ambiente e Eng. Gesto Industrial

pg 1/6

b)
float media(int n[])
{
float med;
int i, soma=0;
for (i=0;i<MAX_ALUNOS;i++)
soma+= n[i];
med=(float)soma/MAX_ALUNOS;
return(med);
}//media

iii)
#include<stdio.h>
#include<conio.h>
#define MAX_ALUNOS 30
void leitura_notas (int not[]);
float media(int n []);
void main()
{
int notas[MAX_ALUNOS],i;
float m ;
leitura_notas(notas);
m = media(notas);
for (i=0;i<MAX_ALUNOS;i++) //verifica quais as notas que so
if (notas[i]>m)
// superiores mdia
printf( O aluno n %d tem nota superior
%d\n,i+1,notas[i]);
getch();

media

Exerccio 2
A empresa de aviao Pequenos Mas Eficientes possui apenas um pequeno jacto com uma
capacidade mxima de 7 passageiros e pretende um programa que permita as opes:
R Reserva de lugar no jacto
T Total de lugares disponveis e respectivos nmeros
P Percentagem de ocupao do jacto
S Sair
i)

Defina uma estrutura de dados que permita armazenar a informao acerca dos 7 lugares do jacto
(ou seja, para cada lugar a informao se este se encontra livre ou ocupado).

ii)

Elabore funes que permitam:


a) Iniciar a estrutura de dados.
b) Reservar um lugar.
c) Indicar o total de lugares disponveis e os respectivos nmeros.
d) Calcular a percentagem de ocupao do jacto.

Folha de exerccios Vectores e matrizes/ Eng. Ambiente e Eng. Gesto Industrial

pg 2/6

e) Escrever no ecr o menu de opes e devolver a opo desejada.


iii) Elabore a funo main para que esta execute as opes desejadas.

Exerccio 3
O clube de atletismo de Leiria vai organizar uma corrida de 5km, onde participaro 18 atletas.
Pretende-se elaborar um programa em C para registar os resultados do evento. Para auxiliar o clube
nessa tarefa responda s seguintes alneas:
a) Que estrutura dever utilizar para armazenar os tempos gastos por todos os atletas? Declare essa
estrutura em C. Assuma que os tempos so dados em segundos.
b)

Elabore a funo ler_tempos, que efectua a leitura dos tempos de todos os atletas.

c) Elabore a funo media, que calcula o tempo que os atletas levaram em mdia, a completar a
prova.
d) Elabore a funo vencedor, que mostra o tempo e o nmero do atleta vencedor. A funo deve
tambm mostrar a diferena de tempo entre o tempo do vencedor e a mdia dos concorrentes.
e) Elabore a funo tempo_inferior, que mostre o nmero e o tempo de cada um dos atletas que
tiveram um tempo inferior mdia.
f) Elabore uma funo menu que apresente ao utilizador as seguintes opes:

L Ler tempos
V Vencedor
I Tempos inferiores mdia

S - Sair

g) Escreva o programa que permita ao clube de atletismo fazer a gesto dos tempos dos atletas numa
prova.

Exerccio 4
O clube de atletismo de Leiria vai organizar um Campeonato de Atletismo para os seus 18 atletas.
Esse campeonato consiste numa srie de 10 corridas de 5km cada. Pretende-se elaborar um programa
em C para registar os resultados desse campeonato. Para auxiliar o clube nessa tarefa responda s
seguintes alneas:
a) Que estrutura dever utilizar para armazenar os tempos gastos por todos os atletas em todas as
corridas? Declare essa estrutura em C. Assuma que os tempos so dados em segundos.
b)

Elabore a funo ler_tempos, que efectua a leitura dos tempos de todos os atletas, numa
determinada corrida.

Folha de exerccios Vectores e matrizes/ Eng. Ambiente e Eng. Gesto Industrial

pg 3/6

c) Elabore a funo media, que calcula o tempo que os atletas levaram em mdia, a completar uma
determinada prova.
d) Elabore a funo vencedor, que mostra o tempo e o nmero do atleta vencedor numa determinada
corrida. A funo deve tambm mostrar a diferena de tempo entre o tempo do vencedor e a
mdia dos concorrentes nessa corrida.
e) Elabore a funo tempo_inferior, que mostre o nmero e o tempo de cada um dos atletas que
tiveram um tempo inferior mdia numa determinada corrida.
f) Elabore uma funo tempo_inferior2 que, para cada uma das 10 corridas indique o nmero e o
tempo de cada um dos atletas com tempo inferior mdia nessa corrida.
g) Elabore a funo media_corridas, que mostre a mdia que um determinado atleta obteve nas 10
corridas.
h) Elabore uma funo menu que apresente ao utilizador as seguintes opes:

L Ler tempos
V Vencedor
I Tempos inferiores mdia
M Mdia de um atleta em todas as corridas

S - Sair

i)

Escreva o programa que permita ao clube de atletismo fazer a gesto dos tempos dos atletas
durante as provas.

Exerccio 5 (frequncia em 3/05/2004)


Elabore um programa que permita armazenar e manipular a informao respeitante aos nmeros de
srie das viaturas existentes em 10 stands de venda de automveis. Cada stand s poder ter at 15
viaturas.
Para isso, desenvolva as seguintes funcionalidades:
a) Funo que permita guardar a informao de uma viatura num stand;
b) Funo que faa uma pesquisa por nmero de srie e mostre o stand onde a viatura est em
exposio;
c) Funo que permita listar todas as viaturas de todos os stands, indicando para cada um, a
percentagem de ocupao;
d) Funo menu que apresente as seguintes opes, e devolva a opo escolhida pelo utilizador;

Folha de exerccios Vectores e matrizes/ Eng. Ambiente e Eng. Gesto Industrial

pg 4/6

######### MENU #########


G -> Guardar Viatura
P -> Pesquisar Viatura
L -> Listar Todos
S -> Sair
#########################

e) Funo main() que permita executar o programa indicado. Aqui dever criar a estrutura de dados
que permita armazenar a informao sobre as viaturas, inicializando-a correctamente.

Exerccio 6 (exame recurso em 4/09/2004)


Os responsveis pela praia de Areia Branca decidiram estudar as mudanas climatricas que a
ocorrem durante todo o ms de Agosto. Assim, adquiriram um programa informtico que permite
registar os valores do estado do mar, da nebulosidade do cu e da velocidade do vento.
O programa informtico guarda a referida informao numa matriz com a estrutura representada de
seguida:
Mar
Cu
Vento

1
C
L
P

2
C
L
M

3
C
P
M

4
A
P
P

31
V
N
F

De seguida apresentada a legenda de cada uma das medidas:


o estado do mar pode tomar os valores C (mar Calmo), A (bandeira Amarela) ou V (bandeira
Vermelha);
o estado do cu pode tomar os valores L (cu Limpo), P (cu Pouco nublado) ou N (cu
Nublado);
para a velocidade do vento, os valores podero ser P (Pouco vento), M (vento Moderado) ou F
(vento Forte).

NOTA: os valores representados na matriz anterior servem apenas para exemplificar a forma de
armazenamento na matriz, pelo que na realidade podero no ser os indicados.

a) Apresente uma possvel declarao da matriz usada no programa informtico.


b) Crie a funo NoSwim que mostre no ecr o nmero de dias de Agosto em que no foi possvel
nadar (bandeira Vermelha).
c) Crie a funo Analisar que escreva no ecr quantas vezes aconteceu que um dia de mar calmo (C),
cu limpo (L) e pouco vento (P) fosse seguido de um dia de bandeira vermelha no mar (V) e cu
nublado (N).

Folha de exerccios Vectores e matrizes/ Eng. Ambiente e Eng. Gesto Industrial

pg 5/6

Exerccio 7
Construa um programa que obtenha os elementos de duas matrizes quadradas (NxN) com a
dimenso mxima de 10 e que efectue as seguintes operaes: soma, subtraco, produto, clculo
transposta e soma dos elementos da diagonal principal. Para facilitar a estruturao e elaborao
do programa dever efectuar as seguintes funes:
lerdim Obtm a dimenso da matriz (N).
lerMatriz Obtm os valores que compem uma matriz NxN.
escreveMatriz imprime no monitor o contedo de uma matriz NxN.
somaMatrizes Calcula a soma de duas matrizes NxN.
subMatrizes Calcula a subtraco de duas matrizes NxN.
multiMatrizes Calcula o produto de duas matrizes NxN.
somadiag Calcula a soma dos elementos da diagonal principal de uma matriz NxN.
transpMat Calcula a transposta de uma matriz NxN.
Menu - Mostra o seguinte menu:
(A)ltera Matriz
(S)oma Matrizes
S(u)btraco Matrizes
(M)ultiplicao Matrizes
Soma (D)iagonal
(T)ranspe Matriz
(S)air

Exerccio 8
Escreva um programa em C, que leia o seu nome a partir do teclado e execute o seguinte conjunto de
operaes:
a) Escreva no ecr as suas iniciais;
b) Indique por quantos nomes prprios constitudo o seu nome;
c) Escreva o seu nome da seguinte forma: Apelido, Nome.

Exerccio 9 (frequncia em 3/05/2004)


Elabore um programa em C que implemente a seguinte funcionalidade: Pea o nome ao utilizador e
de seguida o escreva, no ecr, de forma invertida. Exemplo:
Escreva o seu nome: Major Valento
O nome do(a) Major Valento escrito de forma invertida otnelaV rojaM

Folha de exerccios Vectores e matrizes/ Eng. Ambiente e Eng. Gesto Industrial

pg 6/6

You might also like