Programação para Redes de Computadores (técnico) (diário 2013-1)

De MediaWiki do Campus São José
Revisão de 19h45min de 22 de abril de 2013 por Etorresini (discussão | contribs) (→‎15/04)
Ir para navegação Ir para pesquisar

Aulas

01/04

Problema: saber o valor final de parcelamento (1 +3) a 2% de juros.

inicio

// Problema: pagamento de uma geladeira, comprada a prazo em
// 1 + 3 x com juros de 2% ao mês.
escrever "Por favor, informe o valor da geladeira: "
real valorGeladeira
ler valorGeladeira

// 1) Saber quanto é o valor de entrada.
escrever "Agora, informe o valor da entrada: "
real entrada
ler entrada

// 2) Deduzir o valor de entrada do valor total, e depois dividir por 3. Isso 
//    dará o valor da parcela sem juro. Aplicar, no segundo mês, já o juro de 2%.
real parcela
parcela <- (((valorGeladeira - entrada) / 3) * 1.02)

// 3) No terceiro mês, aplicar o mesmo juro sobre o valor do mês anterior;
//    ou seja, juro composto.
real parcela2
parcela2 <- (parcela * 1.02)

// 4) Repetir o processo no quarto mês.
real parcela3
parcela3 <- (parcela2 * 1.02)

// 5) Somar tudo e ver o prejuízo.
real somatorio
somatorio <- entrada + parcela + parcela2 + parcela3
escrever "Ao final, a geladeira custou ", somatorio, "."

fim

08/04

E se todas as opções forem variáveis?

inicio

escrever "Por favor, informe o valor da geladeira: "
real valorGeladeira
ler valorGeladeira

escrever "Deseja pagar a entrada? S ou N"
texto pagarEntrada
ler pagarEntrada

real entrada
se (pagarEntrada = "N" ou pagarEntrada = "n") entao 
    entrada<-0
senao 
    escrever "Agora, informe o valor da entrada: "
    ler entrada
fimse 

escrever "Valor de juros: "
real valorJuros
ler valorJuros

escrever "Quantidade de parcelas: "
real qtdParcelas
ler qtdParcelas

real somatorio
real parcela
parcela <- (valorGeladeira - entrada) / qtdParcelas

inteiro mes
para mes de 1 ate qtdParcelas passo 1
    parcela <- parcela * (1 + valorJuros * 0.01)
    somatorio <- somatorio + parcela
proximo 

escrever "Ao final, a geladeira custou ", entrada + somatorio, "."
escrever "\nForam ", qtdParcelas, " parcelas de ", somatorio / qtdParcelas, " cada."

fim

15/04

Problema do dia: Dado um dia e mês neste ano de 2013, em que semana estamos?

inicio

inteiro dias
inteiro mês
inteiro semanas
inteiro resto
inteiro quociente

//Pedir ao usuário:
//- dia
//- mês
escrever "Informe o dia: "
ler dias
escrever "Agora, informe o mês (número): "
ler mês

//Dependendo do mês, deve-se somar à quantidade de dias, de acordo com o calendário juliano.
//Ao final, teremos a quantidade de dias no ano.
escolhe mês
    caso 1: // Janeiro
        dias <- dias
    caso 2: // Fevereiro
        dias <- dias + 31
    caso 3: // Março
        dias <- dias + 31 + 28
    caso 4: // Abril
        dias <- dias + 31 + 28 + 31
    caso 5: // Maio
        dias <- dias + 31 + 28 + 31 + 30
    caso 6: // Junho
        dias <- dias + 31 + 28 + 31 + 30 + 31
    caso 7: // Julho
        dias <- dias + 31 + 28 + 31 + 30 + 31 + 30
    caso 8: // Agosto
        dias <- dias + 31 + 28 + 31 + 30 + 31 + 30 + 31
    caso 9: // Setembro
        dias <- dias + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31
    caso 10: // Outubro
        dias <- dias + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30
    caso 11: // Novembro
        dias <- dias + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31
    caso 12: // Dezembro
        dias <- dias + 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30
fimEscolhe        

//Como a primeira semana tem apenas 5 dias (começa na terça), se a soma estiver entre 1 e 5 então
// estamos ainda na primeira semana. Caso contrário, apenas subtraimos esse valor (5) da soma.
se dias >=1 e dias <= 5 então
    semanas <- 1
senão
    dias <- dias - 5
    //Com o valor que sobrou, faz-se uma divisão por 7. Se o resto for 0, o resultado é o próprio
    // quociente mais um (a primeira semana); caso contrário (o resto está entre 1 e 6), então
    // somamos: primeira semana (1) + quociente + 1 semana.
    resto <- dias % 7
    se resto = 0 então
        semanas <- (dias / 7) + 1
    senão
        semanas <- 1 + (dias / 7) + 1
    fimSe
fimSe

escrever "É a semana número ", semanas, "."

fim

22/04

O clássico problema: um número é primo quando...? inicio

// Declaração de variáveis. inteiro número inteiro divisor inteiro resto inteiro divisores

// Interação com o usuário: número a ser testado como primo. escrever "Por favor, digite um número inteiro entre 1 e 10000: " ler número

// Como 1 e o próprio número sempre serão divisores, interessa saber se os valores // intermediários conseguem dividir, com resto inteiro, o número solicitado. divisor <- 2 divisores <- 0 enquanto divisor < número faz

   resto <- número % divisor
   se resto = 0 então
       escrever "[", divisor, "]"
       divisores <- divisores + divisor
   senão
       escrever "."
   fimSe
   divisor <- divisor + 1

fimEnquanto

se divisores = 0 então

   escrever "\nO número ", número, " é primo."

senão

   escrever "\nO número ", número, " NÃO é primo."

fimSe

fim </syntaxhighlight>