Você está na página 1de 5

Introduo ao Processamento de Dados (IPD) 2012/02 IME/UERJ Prof Felipe Lino

Regras 1. A lista deve se entregue via email (felipelino44@gmail.com) para o professor nos dias combinados em um nico email. A data no ser prorrogada. Ou seja, no devem ser enviados emails posteriores com os exerccios. O primeiro recebido ser corrigido. 2. No assunto do email colocar (sem as aspas): "[IPD-2012/02] - Lista 01 - Nome Sobrenome, Nome Sobrenome" 3. Os trabalhos devem ser feitos em dupla. A mesma dupla DEVE ser mantida para todas as listas , ou seja, NO ser permitida a troca de parceiros. 4. Os Fontes devem estar com nomes: L1EXC01.pas, L1EXC02.pas, L1EXC03.pas, L1EXC04.pas, L1EXC05.pas, L1EXC06.pas, L1EXC07.pas cada nome referente ao exerccio correspondente. 5. Os fontes devem compilar no Dev Pascal. 6. Aps a entrega o professor ir escolher apenas um exerccio para corrigir, o mesmo exerccio ser corrigido para todos os grupos e a nota da lista ser baseada apenas nesse exerccio. As regras acima servem para facilitar a correo dos exerccios. Caso no sejam seguidas o exerccio NO ser corrigido. Valor da Lista: 2,5

1. Calulando Salrio O funcionrio de determinada empresa recebe como salrio um valor fixo proporcional s horas trabalhadas, mais o valor proporcional s horas extras acrescido ainda de 1/3 do valor das horas extras. Fixo = HorasNormais * ValorHora Extra = HorasExtras * ValorHora TercoExtra = Extra/3 Salrio = Fixo + Extra + TercoExtra Faa um programa em que o usurio informe as horas normais trabalhadas, as horas extras e o valor hora. O programa exibe como resultado o salrio a receber do funcionrio. Lembrando que no existe frao de horas. E o valor hora pode conter centavos. Exiba o resultado com preciso de duas casas decimais.

Dicas: Para imprimir nmero decimal com 2 casas decimais faa como o exemplo (Pascal): numero := 3.5618; write(numero:1:2); { saida: 3.56 }

2. Juros Compostos

Faa um programa capaz de calcular o montante de um capital P, aplicado juros compostos, durante N meses, taxa de I% ao ms.

Introduo ao Processamento de Dados (IPD) 2012/02 IME/UERJ Prof Felipe Lino

Frmula do montante: M = P * (1+I)N Exemplo: Capital R$6000, durante 12 meses 3,5% de juros ao ms M = 6000 * (1 + 0,035)12 = 6000 * (1,035)12 Montante = R$9066,41
Exemplo de Tela:

Dicas: Para fazer a potncia de um nmero use um Loop (Algoritmo): aux1 1; result base; Para i de 1 at expoente Faa result aux1 * result; Fim Para;

3. Mdia Aritmtica Escreva um programa que calcule a mdia aritmtica de valores positivos fornecidos pelo usurio at que o usurio entre com um valor negativo. O usurio poder entrar como primeiro valor um nmero negativo, nesse caso ser exibida uma mensagem: "Nenhum valor valido para media foi fornecido". Exemplo de Telas:

4. Calcular Quadrados Pitgoras descobriu que existe outra forma de calcular quadrados: atravs da soma de nmeros mpares. Ele descobriu que N igual a soma dos N primeiros nmeros naturais mpares. Exemplo: 5 = 1 + 3 + 5 + 7 + 9 = 25 Escreva um programa que leia um valor inteiro e calcule o seu quadrado usando a descoberta de Pitgoras apresentada acima. Exemplo de tela do programa:

Introduo ao Processamento de Dados (IPD) 2012/02 IME/UERJ Prof Felipe Lino

5. Sistemas de Equaes A soluo x, y para o sistema de equaes lineares abaixo: ax + by = u cx + dy = v dada por:

Escrever um programa que: Pea ao usurio para informar os valores para os parmetros: a, b, u, c, d, v; Calcule a soluo x, y de cada sistema dado por seus parmetros; Escreva os parmetros lidos e os valores calculados com preciso de duas casas decimais. Considere que o programa sempre receber como entrada um sistemas de equao vlido, ou seja, com solues reais.

6. Teste de Primalidade A definio de nmero primo diz que um nmero primo se for divisvel apenas por 1 e ele mesmo. E por definio 1 no primo. Para descobrir se determinado nmero primo ou no podemos usar o mtodo de tentar dividi-lo pelos nmeros menores que ele e verificar o resto da diviso. Se encontrarmos algum nmero que no seja 1 nem ele mesmo cujo resto da diviso seja zero descobrimos que esse nmero no primo. Como tambm conhecemos que o nico nmero PAR que primo o 2. Ao invs de tentar dividir o nmero por todos os menores que ele precisamos tentar dividi-lo por 2 e pelos demais nmeros mpares menores que ele.

Introduo ao Processamento de Dados (IPD) 2012/02 IME/UERJ Prof Felipe Lino

Exemplo: N = 21 21 / 1 = 21 21 / 2 = 10 21 / 3 = 7

Resto = 0 Resto = 1 Resto = 0

OK OK FALHA

21 no primo, pois divisvel por 3.

Exemplo: N = 7 7/1=7 7/2=3 7/3=2 7/5=1 7/7=1

Resto = 0 Resto = 1 Resto = 1 Resto = 2 Resto = 0

OK OK OK OK OK

7 primo, pois divisvel apenas por 1 e ele mesmo. Sabendo do exposto anteriormente escreva um programa que se utilize do mtodo das divises para informar se um nmero fornecido pelo usurio primo ou no. Exemplo de tela do programa:

7. Converso de Algarismos Romanos Escreva um programa que implemente o algoritmo que faa a converso de algarismos romanos para nmeros inteiros. Tabela de Correspondncia Romanos Decimais I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Exemplo de converso: Entrada Sada MCDXCIV 1494 MMCCCXCVIII 2398 Algoritmo RomanoToNumero(romano) atual 0; valor 0; ant 0; Para cada caracter ch de romano Faa Se ch = 'I' Ento atual 1; Seno Se ch = 'V' Ento atual 5; Seno Se ch = 'X' Ento atual 10;

Introduo ao Processamento de Dados (IPD) 2012/02 IME/UERJ Prof Felipe Lino

Seno Se ch = 'L' Ento atual 50; Seno Se ch = 'C' Ento atual 100; Seno Se ch = 'D' Ento atual 500; Seno Se ch = 'M' Ento atual 1000; Se atual > ant Ento valor valor + atual - 2* ant; Seno valor valor + atual; ant atual; Fim Para; Retorna valor; Fim. O programa deve fazer uso de Case-Of e tratar adequadamente os caracteres maisculos e minsculos. Use INTEGER para representar os inteiros. Exemplo de Tela: