Programação para Redes de Computadores (técnico) (diário 2012-1)
Sobre a disciplina
- Horários de atendimento: segundas-feiras das 17:30 às 18:30 e sextas-feiras das 11:30 às 12:30.
Lógica de Programação
27/02
- Apresentação da disciplina.
- Linguagem de programação estruturada: instruções, operadores, tipos, alteração do fluxo do código em tempo de execução.
- Apresentação do ambiente e linguagem Portugol.
- Primeiro problema em Portugol: dados dois números, verificar se um é múltiplo do outro.
// Início do programa. inicio // Pedir o primeiro número. escrever "Por favor, digite um número natural: " inteiro primeiroNumero ler primeiroNumero // Pedir o segundo número. escrever "E agora, digite um segundo número natural: " inteiro segundoNumero ler segundoNumero // Calcule se o primeiro é múltiplo do segundo. inteiro resto resto <- primeiroNumero % segundoNumero // Se for, mostre na tela. se resto = 0 então escrever "O primeiro é múltiplo do segundo." fimse // Senão, calcule se o segundo é múltiplo do primeiro. inteiro resto2 resto2 <- segundoNumero % primeiroNumero // Se for, mostre na tela. se resto2 = 0 então escrever "O segundo é múltiplo do primeiro." fimse se resto =/= 0 e resto2 =/= 0 então escrever "Não há múltiplos." fimse // Fim do programa. fim
- Segundo problema: um conversor decimal-binário para números até 255.
05/03
Conversor de decimal para binário utilizando apenas estruturas de decisão:
inicio escrever "Por favor , digite um número entre 0 e 255: " inteiro numero ler numero inteiro resto resto <- numero - 128 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse resto <- numero - 64 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse resto <- numero - 32 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse resto <- numero - 16 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse resto <- numero - 8 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse resto <- numero - 4 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse resto <- numero - 2 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse resto <- numero - 1 se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse fim
Conversor de decimal para binário utilizando estrutura de repetição:
inicio inteiro numero inteiro resto inteiro expoente escrever "Por favor , digite um número entre 0 e 255: " ler numero expoente <- 7 repete resto <- numero - ( 2 ^ expoente ) se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse expoente <- expoente - 1 ate expoente < 0 fim
Conversor de decimal para binário utilizando estrutura de repetição e validação da entrada:
inicio inteiro numero inteiro resto inteiro expoente escrever "Por favor , digite um número entre 0 e 255: " ler numero enquanto (numero < 0) ou (numero > 255) faz ler numero fimenquanto expoente <- 7 repete resto <- numero - ( 2 ^ expoente ) se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse expoente <- expoente - 1 ate expoente < 0 fim
Conversor de decimal para binário com quaisquer casas binárias e divisão em bytes:
inicio inteiro numero inteiro resto inteiro expoente escrever "Por favor , digite um número inteiro: " ler numero enquanto numero < 0 faz escrever "Número inválido! Um número inteiro: " ler numero fimenquanto expoente <- 0 enquanto numero >= ( 2 ^ ( expoente + 1 ) ) faz expoente <- expoente + 1 fimenquanto repete resto <- numero - ( 2 ^ expoente ) se resto >= 0 entao escrever "1" numero <- resto senao escrever "0" fimse se expoente > 0 entao resto <- expoente % 8 se resto = 0 entao escrever "." fimse fimse expoente <- expoente - 1 ate expoente < 0 fim
Linguagens de Programação
Shell Script
12/05
O mesmo problema de verificação de múltiplos:
#!/bin/bash
# Pedir o primeiro número.
clear
echo -n "Por favor, informe o 1o. número: "
read numero1
# Pedir o segundo número.
echo -n "Agora, digite o 2o. número: "
read numero2
# Calcule se o primeiro é múltiplo do segundo.
resto=$(expr ${numero1} % ${numero2})
# Se for, mostre na tela.
if [ "${resto}" = "0" ]
then
echo "${numero1} é multiplo de ${numero2}."
else
echo "${numero1} não é multiplo de ${numero2}."
fi
# Senão, calcule se o segundo é múltiplo do primeiro.
resto=$(expr ${numero2} % ${numero1})
# Se for, mostre na tela.
if [ "${resto}" = "0" ]
then
echo "${numero2} é multiplo de ${numero1}."
else
echo "${numero2} não é multiplo de ${numero1}."
fi
Agora com passagem direta dos parâmetros na linha de comando:
#!/bin/bash
if [ "${2}" = "" ]
then
echo "Informe pelo menos dois parâmetros."
echo "Use: ${0} (número) (número)"
exit
fi
numero1=${1}
numero2=${2}
# Calcule se o primeiro é múltiplo do segundo.
resto=$(expr ${numero1} % ${numero2})
# Se for, mostre na tela.
if [ "${resto}" = "0" ]
then
echo "${numero1} é multiplo de ${numero2}."
else
echo "${numero1} não é multiplo de ${numero2}."
fi
# Senão, calcule se o segundo é múltiplo do primeiro.
resto=$(expr ${numero2} % ${numero1})
# Se for, mostre na tela.
if [ "${resto}" = "0" ]
then
echo "${numero2} é multiplo de ${numero1}."
else
echo "${numero2} não é multiplo de ${numero1}."
fi
Projeto da disciplina
Projeto Integrador
Referências
- Popularidade das linguages de programação: http://www.langpop.com
- Material introdutório e avançado sobre shell script: http://www.aurelio.net/shell/
- Jogos de lógica