lista de exercícios - programação i _1o 2011_
TRANSCRIPT
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
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
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.