21.02.2014 Views

LISTA DE EXERCÍCIOS 2 - Ufersa

LISTA DE EXERCÍCIOS 2 - Ufersa

LISTA DE EXERCÍCIOS 2 - Ufersa

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

UNIVERSIDA<strong>DE</strong> FE<strong>DE</strong>RAL RURAL DO SEMI-ÁRIDO<br />

CURSO <strong>DE</strong> CIÊNCIA DA COMPUTAÇÃO<br />

PROGRAMAÇÃO <strong>DE</strong> COMPUTADORES<br />

1. TIPOS COMPOSTOS <strong>DE</strong> DADOS<br />

<strong>LISTA</strong> <strong>DE</strong> <strong>EXERCÍCIOS</strong> 2<br />

1. Considerando as declarações abaixo, responda dizendo qual o tipo da informação que deve ser<br />

armazenada na variável:<br />

enum trave {LEsq, LDir, CantoEsq, CantoDir, Centro};<br />

union jogador<br />

{<br />

char nome[25];<br />

int numero;<br />

};<br />

struct gol<br />

{<br />

jogador jog;<br />

float x,y,z;<br />

trave local;<br />

float velo;<br />

float acel;<br />

};<br />

// identificação do jogador<br />

// posição da bola nas coordenadas<br />

// onde a bola entrou<br />

// velocidade da bola<br />

// aceleração da bola<br />

gol * estatistica = new gol[10];<br />

// estatísticas para até 10 gols<br />

a) estatistica<br />

b) estatistica[4]<br />

c) estatistica[1].jog<br />

d) estatistica->jog.numero<br />

e) (estatistica + 9)->local<br />

f) estatistica[2].velo<br />

g) (estatistica + 1)->jog.nome[0]<br />

h) estatistica[6].acel<br />

2. Crie um registro para descrever uma data. O registro deve ser capaz de armazenar o dia, o mês (em<br />

formato numérico) e o ano (no formato numérico AAAA). Em seguida faça um programa que receba a<br />

data de nascimento de uma pessoa e a data atual . Calcule e mostre quantos dias de vida ela tem.<br />

Use o novo tipo criado para armazenar as datas e uma função para calcular o número de dias de vida.<br />

A função deve receber dois registros do tipo data e retornar um numero inteiro referente ao número<br />

de dias.<br />

Considere que todos os meses têm 31 dias, e desconsidere os anos bissextos<br />

Não utilize instruções de decisão (if)<br />

Digite sua data de nascimento: 01 01 1990<br />

Digite a data de hoje: 26 10 2010<br />

Você tem 7604 dias de vida.


3. Considerando o registro gol definido abaixo, crie um programa que pergunte ao usuário quantos gols<br />

ele quer cadastrar e crie um vetor dinâmico com o tamanho apropriado. Em seguida leia e armazene<br />

no vetor dinâmico apenas o nome do jogador que marcou o gol (os demais campos do registro não<br />

precisam receber valores).<br />

union jogador<br />

{<br />

char nome[25];<br />

int numero;<br />

};<br />

struct gol<br />

{<br />

jogador jog;<br />

int hora, min;<br />

};<br />

// nome do jogador<br />

// numero da camisa do jogador<br />

// identificação do jogador<br />

// hora e minuto em que o gol foi marcado<br />

Quantos gols você vai cadastrar? 3<br />

Jogador: Bebeto<br />

Jogador: Zico<br />

Jogador: Pele<br />

4. A prefeitura de Mossoró elabora mensalmente um caderno com a programação cultural da cidade.<br />

Ela deseja ter um programa que permita construir uma lista de eventos.<br />

O programa deve cadastrar as seguintes informações de um evento:<br />

a. Data (um registro que possui três valores inteiros – dia, mês e ano)<br />

b. Horário (um registro que possui dois valores inteiros – hora e minuto)<br />

c. Descrição (uma string com no máximo 18 caracteres)<br />

Os eventos devem ser registros inseridos em um vetor dinâmico. Pergunte ao usuário quantos<br />

eventos ele quer cadastrar e use um loop for para ler as informações dos eventos. Em seguida<br />

imprima um resumo mostrando todos os eventos cadastrados.<br />

Quantos eventos deseja cadastrar? 2<br />

#1<br />

Data: 26 10 2010<br />

Hora: 16 00<br />

Desc: Musica ao Vivo<br />

#2<br />

Data: 26 10 2010<br />

Hora: 18 00<br />

Desc: Show de Dança<br />

--------------------<br />

Eventos Cadastrados<br />

26/10/2010 16:00 Musica ao Vivo<br />

26/10/2010 18:00 Show de Dança


5. Analise o uso de enumeração no código abaixo:<br />

#include <br />

using namespace std;<br />

enum mes {JAN, FEV, MAR, ABR, MAI, JUN, JUL, AGO, SET, OUT, NOV, <strong>DE</strong>Z};<br />

int main()<br />

{<br />

char meses[12][10] =<br />

{<br />

"Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho",<br />

"Julho", "Agosto", "Setembro", "Outubro", "Novembro",<br />

"Dezembro"<br />

};<br />

for (mes ind = JAN; ind


Digite 4 palavras:<br />

Ontem<br />

Hoje<br />

Amanha<br />

Sempre<br />

Concatenando as palavras obtem-se:<br />

OntemHojeAmanhaSempre<br />

4. Verifique o programa abaixo e modifique-o para que ele mostre o número 10 na tela usando o<br />

ponteiro q.<br />

#include <br />

using namespace std;<br />

int main()<br />

{<br />

int x, *p, **q;<br />

p = &x;<br />

q = &p;<br />

x = 10;<br />

cout > x)<br />

cout


3. Escreva um programa que utilize laços for aninhados para calcular e mostrar a soma das colunas de<br />

um vetor bidimensional 4x4, como mostrado no exemplo abaixo. A matriz deve ser inicializada no<br />

momento da sua declaração.<br />

3 1 5 5<br />

1 5 5 6<br />

2 3 4 5<br />

4 9 1 8<br />

A soma das colunas é: 10 18 15 24<br />

4. O que o código abaixo iria imprimir se ele fosse parte de um programa válido?<br />

int i = 0;<br />

while (++i < 4)<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!