lista de exercícios - programação i _1o 2011_

3
Lista de Exercícios Programação – I Prof. Viotti Entrega no dia da N2 Para todos os exercícios, faça o programa em pascal. Imprima o enunciado do exercicio e sua resolução, um por folha, pode utilizar o verso da folha. Não será aceito mais de um exercicio na mesma folha. Utilize letras de tamanho 11 no máximo. Na capa deve constar o nome dos DOIS integrantes, sua turma e numero de matricula, as folhas devem estar grampeadas (folhas soltas não serão aceitas). 1. Efetue a leitura de um número inteiro positivo ou negativo, e apresenta o módulo desse numero. 2. Efetuar a leitura de 4 números inteiros, e apresentar os numero que são divisíveis por 2 e por 3. 3. Apresentar os resultados de uma tabuada de um número qualquer informado pelo usuário. Esta deverá ser impressa no seguinte formato: 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 (...) 2 x 10 = 20 4. Escreva um programa que apresente a série de Fibonacci até o décimo quinto termo. A série de Fibonacci é formada pela seqüência: 1, 1, 2, 3, 5, 8, 13, 21, 34, ...etc. Esta série se caracteriza pela soma de um termo posterior com o seu anterior subseqüente. 5. Crie uma matriz de 10 posições do tipo inteiro, solicite ao usuário o preenchimento da mesma. Após o preenchimento apresenta o maior e o menor valor existente na matriz. 6. Um vendedor precisa de um algoritmo que calcule o preço total devido por um cliente. O algoritmo deve receber o código de um produto e a quantidade comprada e calcular o preço total, usando a tabela abaixo. Mostre uma mensagem no caso de código inválido. Código Preço unitário 'ABCD' R$ 5,30 'XYPK' R$ 6,00 'KLMP' R$ 3,20 'QRST' R$ 2,50

Upload: renan-faganello-silva

Post on 04-Jul-2015

541 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Lista de Exercícios - Programação I _1o 2011_

Lista de Exercícios Programação – I

Prof. Viotti Entrega no dia da N2

Para todos os exercícios, faça o programa em pascal. Imprima o enunciado do

exercicio e sua resolução, um por folha, pode utilizar o verso da folha. Não será aceito mais de um exercicio na mesma folha. Utilize letras de tamanho

11 no máximo. Na capa deve constar o nome dos DOIS integrantes, sua turma e numero de

matricula, as folhas devem estar grampeadas (folhas soltas não serão aceitas).

1. Efetue a leitura de um número inteiro positivo ou negativo, e apresenta o módulo desse numero.

2. Efetuar a leitura de 4 números inteiros, e apresentar os numero que são

divisíveis por 2 e por 3.

3. Apresentar os resultados de uma tabuada de um número qualquer informado pelo usuário. Esta deverá ser impressa no seguinte formato:

2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 (...) 2 x 10 = 20

4. Escreva um programa que apresente a série de Fibonacci até o décimo quinto termo. A série de Fibonacci é formada pela seqüência: 1, 1, 2, 3, 5, 8, 13, 21, 34, ...etc. Esta série se caracteriza pela soma de um termo posterior com o seu anterior subseqüente.

5. Crie uma matriz de 10 posições do tipo inteiro, solicite ao usuário o

preenchimento da mesma. Após o preenchimento apresenta o maior e o menor valor existente na matriz.

6. Um vendedor precisa de um algoritmo que calcule o preço total devido por

um cliente. O algoritmo deve receber o código de um produto e a quantidade comprada e calcular o preço total, usando a tabela abaixo. Mostre uma mensagem no caso de código inválido.

Código Preço unitário

'ABCD' R$ 5,30 'XYPK' R$ 6,00 'KLMP' R$ 3,20 'QRST' R$ 2,50

Page 2: Lista de Exercícios - Programação I _1o 2011_

7. Seja a matriz A=[a(i,j)] de ordem m×n e a matriz B=(b(k,l)) de ordem nxr. Faça um programa para produzir o produto das matrizes A e B como uma outra matriz C=A * B, definida por:

c(u,v) = a(u,1) * b(1,v) + a(u,2) * b(2,v) + ... + a(u,m) * b(m,v)

Para obter o elemento da 2a. linha e 3a. coluna da matriz produto C=A.B, isto é, o elemento c(2,3), devemos:

1. multiplicar os primeiros elementos da 2a. linha e 3a. coluna; 2. multiplicar os segundos elementos da 2a. linha e 3a. coluna; 3. multiplicar os terceiros elementos da 2a. linha e 3a. coluna; 4. multiplicar os quartos elementos da 2a. linha e 3a. coluna; 5. somar os quatro produtos obtidos anteriomente.

Assim:

c23 = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43

Podemos visualizar esta operação através das matrizes seguintes. Basta observar a linha em azul na primeira matriz, a coluna em azul na segunda matriz e o elemento em azul na terceira matriz.

a11 a12 a13 a14

a21 a22 a23 a24

a31 a32 a33 a34

a41 a42 a43 a44

×

b11 b12 b13 b14

b21 b22 b23 b24

b31 b32 b33 b34

b41 b42 b43 b44

=

c11 c12 C13 c14

c21 c22 C23 c24

c31 c32 C33 c34

c41 c42 C43 c44

Observação: Somente podemos multiplicar duas matrizes se o número de colunas da primeira for igual ao número de linhas da segunda.

8. Crie uma matriz bidimensional do tipo caractere (15x2), onde você deverá armazenar 15 informações sobre pessoas, essas informações são nome e endereço. Faça um programa que forneça esse armazenamento, e após o armazenamento dessas informações, construa uma rotina que permita ao usuário fazer uma pesquisa por nome dentro dessa matriz, sendo que o programa irá solicitar ao usuário um nome qualquer e deverá ser procurado dentro dessa matriz, caso for encontrado exibir o nome e endereço encontrado, caso não seja encontrado informar ao usuário que a pessoa não existe e verificar se o usuário deseja fazer outra pesquisa. (Utilizar pesquisa Sequencial)

9. Resolva o exercicio 8 utilizando uma pesquisa Binária 10. Crie uma matriz bidimensional do tipo caractere (20x3), onde você deverá

armazenar 20 informações sobre endereço de uma pessoa, essas informações são nome, cidade e estado. Faça um programa que forneça o armazenamento dessas informações, e após esse armazenamento solicite para o usuário qual

Page 3: Lista de Exercícios - Programação I _1o 2011_

dos 3 campos ele quer que seja feito uma classificação alfabética. Fazer a classificação de acordo com o campo solicitado e apresentar uma listagem dessa matriz classificada.

11. Numa fábrica trabalham homens e mulheres divididos em 3 classes: A os que fazem até 30 peças por mês; B os que fazem de 31 a 35 peças por mês; C os que fazem mais de 35 peças por mês. A classe A recebe salário mínimo, a classe B recebe salário mínimo mais 3% do salário mínimo por peça acima das 30 iniciais, a classe C recebe salário mínimo e mais 5% do salário mínimo por peça acima das 30 iniciais. Fazer um algoritmo que:

a. leia 15 conjuntos de dados contendo: o número do operário, o número de peças fabricados no mês, o sexo do operário. b. calcule e imprima: o salário de cada operário, o total da folha mensal

de pagamento da fábrica, o número total de peças fabricadas por mês, a média de peças fabricadas pelos homens em cada classe, o número do homem ou mulher de maior salário ( não existe empate).

O ultimo dado terá o número do operário igual a zero. 12. Crie um programa onde o usuário irá fornecer para um funcionário o código

do funcionário, cargo, salário e diferença sobre a média salarial. Providenciar a entrada de 30 funcionários somente para os 3 primeiros campos, utilizando a criação de “tipos”. Após o término da entrada calcular a média salarial dentre os funcionários cadastrados. Calcular a diferença em percentual entre o salário de cada funcionário e a média salarial obtida, gravar este percentual juntamente com o “tipo” funcionário que você criou.

13. Crie um programa usando sub-rotinas de tal forma que, o programa principal

deverá ser um menu de opções para que o usuário efetue as 4 operações matemáticas (+ - * /). Esse menu deverá apresentar as opções de 1 a 5, sendo 1 – adição, 2 – subtração, 3 – multiplicação, 4 – divisão e 5 – sair. Ao escolher qualquer uma das opções acima o sistema deverá chamar as respectivas sub-rotinas solicitando ao usuário 2 números e apresentando a operação desejada com esses números.