• Nenhum resultado encontrado

UNIVERSIDADE ESTADUAL PAULISTA Julio de Mesquita Filho" FACULDADE DE ENGENHARIA

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE ESTADUAL PAULISTA Julio de Mesquita Filho" FACULDADE DE ENGENHARIA"

Copied!
5
0
0

Texto

(1)

10ª. LISTA DE EXERCÍCIOS – ESTRUTURAS Disciplina: Programação de Computadores

Prof. Dra Cassilda Maria Ribeiro Prof. Dr. Anibal Teixeira

Ministrada por: prof. André Amarante Luiz Exercício 1: Criar um tipo VINT cujos campos são:

 nElem – Número de elementos atualmente armazenados em um vetor de inteiros.  Elem – Vetor de tamanho 100 que armazena os elementos do tipo int.

Para testar este novo tipo realize as seguintes tarefas:

(A) Criar uma função VINT fillVint(VINT V, int n, int a, int b) que preenche o vetor V com n elementos inteiros gerados aleatoriamente no intervalo [a, b]. Se n for maior que 100, então, será mostrada a mensagem “Valor de n maior que 100 !” e V será preenchido com 100 elementos. Caso contrário, V será preenchido com n elementos.

(B) Criar uma função void mostraVint(VINT V) que mostra todos os elementos de V.

(C) Criar uma função int maiorVint(VINT V) que mostra o maior valor contido em V.

(D) Criar uma função int menorVint(VINT V) que mostra o menor valor contido em V.

(E) Criar uma função float mediaVint(VINT V) que mostra a média dos elementos de V.

(F) Na função principal criar uma variável V1 do tipo VINT com n = 10, a = 1 e b = 6. Depois utilizar e mostrar o funcionamento das seguintes funções: fillVint, mostraVint, maiorVint, menorVint e mediaVint.

Exercício 2: Criar um tipo CONTA que representa a conta corrente de um dado cliente de um Banco. O tipo CONTA deve possuir os seguintes campos:

 Nome – Nome do correntista.

 NumCC – Número da conta corrente (sem traço).  Senha – Número correspondente a senha do cliente. Para testar este novo tipo realize as seguintes tarefas:

UNIVERSIDADE ESTADUAL PAULISTA

“Julio de Mesquita Filho"

(2)

(A) Criar uma função CONTA fillConta(CONTA C1) que preenche os campos da variável C1, do tipo CONTA, com informações de um dado correntista.

(B) Criar uma função void mostraConta(CONTA C1) que imprime na tela os dados relativos aos campos de uma variável C1 do tipo CONTA.

(C) Criar uma função int validaSenha(CONTA C1, char CH1[], int S1) que verifica se o valor digitado e armazenado na variável S1 corresponde a senha previamente armazenada em C1 no campo Senha, bem como o nome digitado e armazenado em CH1 corresponde ao nome do correntista armazenado em C1 no campo Nome. (D) Testar as funções desenvolvidas nos itens anteriores através do programa principal que realiza as seguintes ações:

(D.1) Criar um vetor V1 do tipo CONTA de tamanho 5.

(D.2) Empregar um laço para preencher os elementos de V1 através da função fillConta.

(D.3) Mostrar cada um dos elementos de V1 com um laço que chama a função mostraConta.

(D.4) Pedir ao usuário um Nome e Senha e depois verificar se os mesmos existem no vetor V1 através de um laço e o uso da função validaSenha. Se o usuário não existir, então, mostra a mensagem “Usuário inexistente !”. Se o usuário existir e a senha não for adequada, então, apresentar a mensagem “Usuário %s: senha inválida !”. Se o usuário existir e a senha for correta, então, apresentar a mensagem “Bem vindo ao sistema %s ! ”.

Exercício 3: Criar um tipo MINT que representa uma matriz cujos componentes são valores inteiros e deve possuir os seguintes campos:

 m – Número de linhas.  n – Número de colunas.

 Elem – Matriz 100 x 100 que armazena os elementos de uma variável do tipo INT.

Para testar este novo tipo realize as seguintes tarefas:

(A) Criar uma função MINT fillMint(MINT M, int m, int n, int a, int b) que preenche as m linhas e n colunas do campo Elem da variável M com valores aleatórios inteiros entre a e b. Se m e/ou n excederem o valor 100, então, uma mensagem deverá ser mostrada dizendo “Tamanho máximo de linhas ou colunas é 100 !” e modificar m e/ou n para 100.

(B) Criar uma função void mostraMint(MINT M) que mostra todos os elementos de M.

(C) Criar uma função int maiorVint(MINT M) que mostra o maior valor contido em M.

(3)

(D) Criar uma função int menorVint(MINT M) que mostra o menor valor contido em M.

(E) Criar uma função float mediaVint(MINT M) que mostra a média dos elementos de M.

(F) Na função principal criar uma variável M1 do tipo MINT com m = n = 10, a = 1 e b = 6. Depois utilizar e mostrar o funcionamento das seguintes funções: fillVint, mostraVint, maiorVint, menorVint e mediaVint.

Exercício 4: Criar um tipo número complexo z, indicado pela palavra COMPLEX, tal que possui os seguintes campos:

 x – parte real do número complexo z = x + i*y.  y – parte imaginário do número complexo z = x + i*y.

(A) Criar uma função COMPLEX fillC(COMPLEX C, int a, int b) que preenche os componentes real (x) e imaginário (y) de uma variável C do tipo COMPLEX com valores aleatórios no intervalo [a, b].

(B) Criar uma função void mostraC(COMPLEX C) que mostra todos os componentes de uma variável C que armazena um número complexo.

(C) Na função principal criar uma variável C1 do tipo COMPLEX com a = 1 e b = 6. Depois utilizar e mostrar o funcionamento das seguintes funções: fillC e mostraC.

Exercício 5: Criar um tipo Aluno e um tipo Materia tal como dado abaixo: typedef struct Aluno

{ int matricula;

float vNotas[5]; // Armazena as 5 notas do ano.

char nome[100]; }Aluno;

typedef struct Materia { Aluno V[200];

float media[200]; // Armazena as médias anuais de cada aluno.

int nAlunos // Número de alunos matriculados no curso.

}Materia;

(A) Criar uma função Aluno fillAluno(Aluno a1) que preenche os campos de uma variável a1 do tipo Aluno e retorna essa variável preenchida.

(B) Criar uma função Materia fillMateria(Materia m1, int numAlunos) que preenche os campos de uma variável m1 do tipo Materia realizando chamadas a função fillAluno em um número de vezes igual ao número contido na variável numAlunos.

(4)

(C) Criar uma função Materia mediaMateria(Materia m1) que fornece a média anual de cada para os aluno contido na variável m1 e assim preenche o campo media de m1.

(D) Criar uma função void mostraMateria(Materia m1) que mostra as informações dos alunos contidas na variável m1.

(E) Criar um programa que ilustra o funcionamento das funções anteriores. Para tanto, o programa deve possuir uma variável pc1 do tipo Materia com 4 alunos. Depois, serão utilizadas as seguintes funções: fillMateria (que emprega fillAluno), mediaMateria e mostraMateria.

Exercício 6: Criar um tipo Livro e um tipo Biblioteca tal como dado abaixo: typedef struct Livro

{ int ano;

char titulo[100]; char autor[100];

int nVolume; // Número de exemplares de um dado livro.

float preco; }Livro;

typedef struct Biblioteca { Livro V[200];

int nLivros // Número de livros existentes na biblioteca.

}Biblioteca;

(A) Criar uma função Livro fillAluno(livro l1) que preenche os campos de uma variável l1 do tipo Livro e retorna essa variável preenchida.

(B) Criar uma função Biblioteca fillBiblioteca(Biblioteca b1, int numLivros) que preenche os campos de uma variável b1 do tipo Biblioteca realizando chamadas a função fillLivro em um número de vezes igual ao número contido na variável numLivros.

(C) Criar uma função int valorBiblioteca(Biblioteca b1) que fornece o montante gasto para se comprar todos os exemplares existentes na biblioteca.

(D) Criar uma função int maiorBiblioteca(Biblioteca b1) que fornece o livro com maior número de exemplares existente na variável b1.

(E) Criar um programa que ilustra o funcionamento das funções anteriores. Para tanto, o programa deve possuir uma variável feg do tipo Biblioteca com 4 livros (1 livro de ALCV, 1 de PC-I, 1 de Cálculo I e 1 de Física I). Depois, serão utilizadas as seguintes funções: fillBiblioteca (que emprega fillLivro), valorBiblioteca e maiorBiblioteca.

(5)

Exercício 7: Criar um tipo CARRO cujos campos são fornecidos na Tabela 1. Nome do campo Informação a ser armazenada

Ano Informar o ano de fabricação do Veículo > 1995.

Marca Fiat, Chevrolet, Ford e Volkswagen são alguns exemplos. Modelo Palio, Celta, Ford KA e Gol são alguns exemplos.

Combustivel Indica o tipo de combustível por siglas ou combinação delas: A – Álcool

G – Gasolina S – Gás

AG – Flex com Álccol e Gasolina

Motor Indica a potência do motor com valores como 1.0 ou 2.0 Tabela 1: Informações que podem ser armazenadas nos campos do tipo CARRO. Elaborado o tipo CARRO, deve-se criar a função CARRO initCarro(CARRO) que cada vez que é invocada pede para o usuário inserir os campos descritos na Tabela 1 e retorna um valor do tipo CARRO. Construa um programa que permite testar a função initCARRO através de uma chamada da mesma na função principal main(). Exercício 8: Modificar a função initCarro de forma que os campos descritos na Tabela 1 sejam preenchidos aleatoriamente empregando apenas as informações exemplo descritas na Tabela 1. Por exemplo, para o campo Motor deve-se realizar uma seleção aleatória entre o valor 1.0 ou 2.0. Para o campo Marca só serão possíveis as strings Fiat, Chevrolet, Ford e Volkswagen e assim por diante. Além disso, a função initCarro deverá ser chamada 100 vezes para preencher um vetor de tamanho 100 cujos elementos são do tipo CARRO. Após isso, criar uma função void relat(CARRO V[]) cujo parâmetro de entrada é um vetor cujos elementos são do tipo CARRO e sua saída é a impressão de um relatório com as informações Marca, Ano e número de carros em uma tabela conforme o modelo da Tabela 2:

Marca Ano Número de Carros Fiat 1995-2004 2005-2009 Chevrolet 1995-2004 2005-2009 Ford 1995-2004 2005-2009 Volkswagen 1995-2004 2005-2009

Referências

Documentos relacionados

As amostras do diesel S-500 foram armazenadas em três recipientes de garrafa pet de dois litros e separados conforme o estado físico de cada um deles, sendo: diesel puro,

Penteu s’ha transvestit (de manera que la seva imatge, llevat de la màscara, és la contrafigura de la del déu, cosa que queda subratllada per la referència a les imatges

Alternativamente à convocação para comparecer perante o órgão ou entidade para a assinatura da Ata de Registro de Preços, a Administração poderá encaminhá-la

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO CONCURSO REGIDO PELO EDITAL 03/2017 – ESPECÍFICO UNIDADE ACADÊMICA DO CABO DE SANTO AGOSTINHO.. BANCAS EXAMINADORAS ÁREA:

Aula 15– Tema: Desvendando identidades nos movimentos musicais contemporâneos 13/05 (ter) Bibliografia Básica: VIANNA, L.C.R – “Movimentos musicais e identidades sociais

Neste cenário, previamente preparado, tramita, longe dos olhos da vida nacional, a Proposta de Emenda à Constituição 341/09, do deputado Regis de Oliveira (PSC/SP),

No caso de filme branco translúcido (com a adição de um pigmento colorido), o tamanho da partícula do pigmento afeta tanto a cor transmitida como a refletida..

A cooperação entre a Rússia e a OTAN no domínio da DAM não estratégica é orientada para a possibilidade de luta não contra mísseis balísticos, mas contra