LISTA DE EXERCÍCIOS 2

Documentos relacionados
Aula 10: Manipulação do fluxo de laços

Aula 8: Estruturas de Repetição: O comando while

Fundamentos de Programação

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Aula 27: Estruturas heterogêneas e alocação dinâmica

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

1ª Lista de Exercícios

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

GEQ Prof. Paulo R. Coelho. Lista para prova

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Variáveis Compostas Homogêneas Vetores

C++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador.

Aula 05: Condicionais (Parte 2)

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Disciplina de Algoritmos e Programação

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

Instituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

ESTRUTURA COM DECISÃO COMPOSTA

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Lista de Exercícios ICC 1 Ponteiros

Estrutura de dados 1. Ponteiros

Puca Huachi Vaz Penna / José Américo T. Messias

Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.

Aula 11: Laços e exercícios

Aula 28: Arquivos de texto

Algoritmos e Programação

Programação científica C++

Lista de Exercícios 5

Aula 04. Agregados Homogêneos. Agregados Heterogêneos. Matrizes

Programação: Vetores

Vetores. e o programa deverá ler os valores separadamente:

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

//conteúdo do arquivo Matriz.h class Matriz { private: int *elementos; int numerodelinhas; int numerodecolunas; void setnumerodelinhas(int); void

Aula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler

Introdução à Programação

7. Vetores e Matrizes

ITENS FUNDAMENTAIS Programando em C++

4ª Lista de Exercícios de Programação I

Algoritmos e Programação

Computação e Programação Exame Época de recurso

Ponteiros. Introdução e Alocação Dinâmica

Aula 20: Matrizes (Parte 2)

Caracteres, Vetores e Matrizes

Aula 06 Introdução à Programação Matrizes

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Aula 17: Funções (Parte III) e Introdução a Vetores

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes

Prova 2 - Computação

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Aula 25: Funções com Arrays

Aula 4: Introdução à Linguagem C++

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

Working 05 : Modularização

Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.

Programação científica C++

Aula 6: Comandos Estruturados Estrutura Condicional

4ª Lista de Exercícios de Programação I

Registros, Vetores e Matrizes

Arrays (Vetores) Arrays (Vetores) 28/04/ Índices. profs. } Ex1: Se eu preciso manipular 100 nomes de pessoas ao mesmo tempo... é melhor...

Exercícios: Arquivos

Lista de Exercícios 02

Transcrição:

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO DE CIÊNCIA DA COMPUTAÇÃO PROGRAMAÇÃO DE COMPUTADORES 1. TIPOS COMPOSTOS DE DADOS LISTA DE EXERCÍCIOS 2 1. Considerando as declarações abaixo, responda dizendo qual o tipo da informação que deve ser armazenada na variável: enum trave LEsq, LDir, CantoEsq, CantoDir, Centro union jogador char nome[25]; int numero; struct gol jogador jog; float x,y,z; trave local; float velo; float acel; // identificação do jogador // posição da bola nas coordenadas // onde a bola entrou // velocidade da bola // aceleração da bola gol * estatistica = new gol[10]; // estatísticas para até 10 gols a) estatistica b) estatistica[4] c) estatistica[1].jog d) estatistica->jog.numero e) (estatistica + 9)->local f) estatistica[2].velo g) (estatistica + 1)->jog.nome[0] h) estatistica[6].acel 2. Crie um registro para descrever uma data. O registro deve ser capaz de armazenar o dia, o mês (em formato numérico) e o ano (no formato numérico AAAA). Em seguida faça um programa que receba a data de nascimento de uma pessoa e a data atual. Calcule e mostre quantos dias de vida ela tem. Use o novo tipo criado para armazenar as datas e uma função para calcular o número de dias de vida. A função deve receber dois registros do tipo data e retornar um numero inteiro referente ao número de dias. Considere que todos os meses têm 31 dias, e desconsidere os anos bissextos Não utilize instruções de decisão (if) Digite sua data de nascimento: 01 01 1990 Digite a data de hoje: 26 10 2010 Você tem 7604 dias de vida.

3. Considerando o registro gol definido abaixo, crie um programa que pergunte ao usuário quantos gols ele quer cadastrar e crie um vetor dinâmico com o tamanho apropriado. Em seguida leia e armazene no vetor dinâmico apenas o nome do jogador que marcou o gol (os demais campos do registro não precisam receber valores). union jogador char nome[25]; int numero; struct gol jogador jog; int hora, min; // nome do jogador // numero da camisa do jogador // identificação do jogador // hora e minuto em que o gol foi marcado Quantos gols você vai cadastrar? 3 Jogador: Bebeto Jogador: Zico Jogador: Pele 4. A prefeitura de Mossoró elabora mensalmente um caderno com a programação cultural da cidade. Ela deseja ter um programa que permita construir uma lista de eventos. O programa deve cadastrar as seguintes informações de um evento: a. Data (um registro que possui três valores inteiros dia, mês e ano) b. Horário (um registro que possui dois valores inteiros hora e minuto) c. Descrição (uma string com no máximo 18 caracteres) Os eventos devem ser registros inseridos em um vetor dinâmico. Pergunte ao usuário quantos eventos ele quer cadastrar e use um loop for para ler as informações dos eventos. Em seguida imprima um resumo mostrando todos os eventos cadastrados. Quantos eventos deseja cadastrar? 2 #1 Data: 26 10 2010 Hora: 16 00 Desc: Musica ao Vivo #2 Data: 26 10 2010 Hora: 18 00 Desc: Show de Dança -------------------- Eventos Cadastrados 26/10/2010 16:00 Musica ao Vivo 26/10/2010 18:00 Show de Dança

5. Analise o uso de enumeração no código abaixo: #include <iostream> using namespace std; enum mes JAN, FEV, MAR, ABR, MAI, JUN, JUL, AGO, SET, OUT, NOV, DEZ int main() char meses[12][10] = "Janeiro", "Fevereiro", "Marco", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" for (mes ind = JAN; ind <= DEZ; ind = mes(ind + 1)) cout << meses[ind] << endl; } system("pause"); return 0; Refaça o programa de forma que ele imprima os dias da semana. 2. PONTEIROS E ALOCAÇÃO DINÂMICA 1. As instruções abaixo resultam em um código válido? Explique o porquê. float peso; peso = 30; cout << peso; delete peso; 2. Construa um programa que leia o nome de um jogador de futebol e seu respectivo time para um vetor de caracteres, como no exemplo abaixo. O nome do jogador e o nome do time sempre estarão separados por uma barra e sem espaços. Localize a posição do caractere '/' dentro do vetor e coloque um ponteiro apontando para o caractere seguinte. Mostre a quantidade de letras que tem o nome do jogador e, usando o ponteiro, mostre o nome do time. Digite jogador/time: Pele/Santos O nome do jogador tem 4 letras. O seu time é o Santos. 3. Faça um programa que leia quatro palavras pelo teclado e armazene-as em vetores de caracteres distintos. Em seguida calcule o tamanho de um vetor de caracteres capaz de conter as quatro palavras juntas, aloque dinamicamente a memória para esta nova string e copie todas as palavras lidas para essa única string. Por fim apresente esta string única na tela.

Digite 4 palavras: Ontem Hoje Amanha Sempre Concatenando as palavras obtem-se: OntemHojeAmanhaSempre 4. Verifique o programa abaixo e modifique-o para que ele mostre o número 10 na tela usando o ponteiro q. #include <iostream> using namespace std; int main() int x, *p, **q; p = &x; q = &p; x = 10; cout << q; // não está mostrando o número 10 cout << endl; } system("pause"); return 0; 5. Sendo um vetor de inteiros A = 46, 78, 40, 96, 74, 58, 32, 56, 91, 6}, utilize dois ponteiros em conjunto com um laço for para imprimir na tela os pares de números: [46,78] [40,96] [74,58] [32,56] [91,6] 3. LAÇOS DE REPETIÇÃ O 1. Explique em uma frase o que o trecho de código abaixo faz. int x, soma = 0; cout << "Digite um valor: "; for (cin >> x; x ; soma+=x, cin >> x) cout << "Digite outro valor: "; cout << soma << endl; 2. Faça um programa que receba 10 valores inteiros do teclado, crie um vetor para armazenar os cinco primeiros e outro para armazenar os cinco últimos. Gere e exiba um terceiro vetor do mesmo tamanho cujos elementos sejam a soma dos respectivos elementos dos dois primeiros vetores.

3. Escreva um programa que utilize laços for aninhados para calcular e mostrar a soma das colunas de um vetor bidimensional 4x4, como mostrado no exemplo abaixo. A matriz deve ser inicializada no momento da sua declaração. 3 1 5 5 1 5 5 6 2 3 4 5 4 9 1 8 A soma das colunas é: 10 18 15 24 4. O que o código abaixo iria imprimir se ele fosse parte de um programa válido? int i = 0; while (++i < 4) cout << "Oi! "; do cout << "Tchau! "; while (i++ <= 8); 5. Escreva um programa que utilize um laço de repetição while ou do while para ler números inteiros até que o número zero seja lido. Uma vez finalizada a entrada, o programa deve mostrar a quantidade de números lidos, a soma e a média dos números. Digite números inteiros (0 para finalizar): 10 4 5 2 0 Foram lidos 4 números A soma dos números é 21 A média é 5.25