Unidade01 Introducao Algoritmos TADS · Exemplo 1: Considere o problema de calcular a área de um...
Transcript of Unidade01 Introducao Algoritmos TADS · Exemplo 1: Considere o problema de calcular a área de um...
² Lógica² Conjunto de estudos, que têm por fim determinar
categorias racionais válidas para a apreensão da realidade concebida como uma totalidade em permanente transformação
² Conjunto de regras e princípios que orientam, implícita ou explicitamente, o desenvolvimento de uma argumentação ou de um raciocínio, a resolução de um problema, etc.
18/08/15 3© P C F de Oliveira 2013
Unidade 01Introdução
² Lógica² Coerência de raciocínio, de ideias² Sequência coerente, regular e
necessária de acontecimentos, de coisas
18/08/15 4© P C F de Oliveira 2013
Unidade 01Introdução
²Lógica (exemplos)
Ex. 1: “Eu preciso de um caderno que está dentro da minha pasta.”
Primeiro abro minha pastaDepois pego o caderno
18/08/15 5© P C F de Oliveira 2013
Unidade 01Introdução
²Lógica (exemplos)
Ex. 2: João é mais velho que Pedro.
Pedro é mais velho que José.Logo, João é mais velho José.
18/08/15 6© P C F de Oliveira 2013
Unidade 01Introdução
² Origem da Palavra “algoritmo”
² Nome do matemático persa do século 9 chamado Abu Abdullah Muhammad ibnMusa al-Khwarizmi
² Al-Khwarizmi foi traduzida para algoritmo no século 18 (latinização)
18/08/15 7© P C F de Oliveira 2013
Unidade 01Introdução
² Definições“Sequencia finita de instruções usada frequentemente para cálculos e processamento de dados”
Wikipedia
”Um processo passo-a-passo de resolução de problemas, ou especificamente, um processo recursivo computacional estabelecido para resolver um problema em um número finito de etapas”
Answers.com
“Um procedimento passo-a-passo para resolver um problema ou realizar algum fim especialmente por um computador”
Merriam Webster Dictionary
18/08/15 8© P C F de Oliveira 2013
Unidade 01Introdução
² Definições“Sequencia finita de instruções usada frequentemente para cálculos e processamento de dados”
Wikipedia
”Um processo passo-a-passo de resolução de problemas, ou especificamente, um processo recursivo computacional estabelecido para resolver um problema em um número finito de etapas”
Answers.com
“Um procedimento passo-a-passo para resolver um problema ou realizar algum fim especialmente por um computador”
Merriam Webster Dictionary
18/08/15 9© P C F de Oliveira 2013
Unidade 01Introdução
² Definições“Sequencia finita de instruções usada frequentemente para cálculos e processamento de dados”
Wikipedia
”Um processo passo-a-passo de resolução de problemas, ou especificamente, um processo recursivo computacional estabelecido para resolver um problema em um número finito de etapas”
Answers.com
“Um procedimento passo-a-passo para resolver um problema ou realizar algum fim especialmente por um computador”
Merriam Webster Dictionary
18/08/15 10© P C F de Oliveira 2013
Unidade 01Introdução
² Definições“Sequencia finita de instruções usada frequentemente para cálculos e processamento de dados”
Wikipedia
”Um processo passo-a-passo de resolução de problemas, ou especificamente, um processo recursivo computacional estabelecido para resolver um problema em um número finito de etapas”
Answers.com
“Um procedimento passo-a-passo para resolver um problema ou realizar algum fim especialmente por um computador”
Merriam Webster Dictionary
18/08/15 11© P C F de Oliveira 2013
Unidade 01Introdução
18/08/15 12© P C F de Oliveira 2013
Problema: Cozinhar macarrão
Algoritmo: Pegar uma panelaColocar água na panelaPor a panela (com água) no fogoColocar azeite na águaColocar sal na águaQuando ferver, colocar o macarrãoDeixar cozinhando até estar no ponto
Unidade 01Introdução Algoritmo (Exemplos)
18/08/15 13© P C F de Oliveira 2013
Problema: Calcular a área de um retângulo (Área = base * altura)
Algoritmo:
Conhecer (ler/obter) o valor da base do retânguloConhecer (ler/obter) o valor da altura do retânguloMultiplicar o valor da base pelo valor da alturaA área do retângulo é igual ao valor obtido
Unidade 01Introdução Algoritmo (Exemplos)
18/08/15 14© P C F de Oliveira 2013
Problema: Calcular a média semestral (MS = (P1 + P2) / 2)
Algoritmo:Conhecer (ler/obter) a média da primeira prova (P1)Conhecer (ler/obter) a média da segunda prova (P2)Somar P1 e P2Dividir o resultado da soma por 2A média semestral é igual ao valor obtido
Unidade 01Introdução Algoritmo (Exemplos)
18/08/15 15© P C F de Oliveira 2013
Seção 1.2
Fases da construção de algoritmos
Unidade 01Introdução
18/08/15 16© P C F de Oliveira 2013
²Fases da construção de um algoritmo
Unidade 01Introdução
Entrada Processamento Saída
18/08/15 17© P C F de Oliveira 2013
Conhecer (ler/obter) o valor da base do retânguloConhecer (ler/obter) o valor da altura do retângulo
Multiplicar o valor da base pelo valor da altura
A área do retângulo é igual ao valor obtido
Entrada
Processamento
Saída
²Fases da construção de um algoritmo
Unidade 01Introdução
18/08/15 18© P C F de Oliveira 2013
Seção 1.3
Pseudocódigo –definição da linguagem
Unidade 01Introdução
18/08/15 21© P C F de Oliveira 2013
Formato do Pseudo-códigoalgoritmo “nome do algoritmo”// Função:// Autor:// Data: // Seção de Declaraçõesvar
<declaração de variáveis>inicio
// Seção de Comandos fimalgoritmo
Unidade 01Introdução
comentário
18/08/15 22© P C F de Oliveira 2013
Formato do Pseudo-código
Nome do algoritmo§Deve ser representativo§Ex: “Calcula Area Triangulo”
Seção de Comandos§Instruções de entrada (leitura), processamento (somar, subtrair...) e saída (escrita)§Não deve conter acentuação§Ex: leia (base)
Unidade 01Introdução
18/08/15 23© P C F de Oliveira 2013
Exemplo 1: Considere o problema de calcular a área de
um retângulo
algoritmo “Calcula Area Retangulo”inicio
Obter o valor da baseObter o valor da alturaMultiplicar a base pela alturaO valor obtido é a área do retângulo
fimalgoritmo
Unidade 01Introdução
18/08/15 27© P C F de Oliveira 2013
Valor antigo é desconsiderado
Apenas um único valor é armazenadonela
Podem receber valores diferentes com o passar do tempo
Pode conter vários tipos de dados
18/08/15 28© P C F de Oliveira 2013
minha_var
Deve começar por uma letra (A-Z ou a-z)
Após isto, letras, números ou underscore (underline)(30 no máximo)
não pode conter espaços
não pode conter caracteres especiais( ! . , / \ + * = )
18/08/15 29© P C F de Oliveira 2013
Tipos PrimitivosTipo Exemplos
inteiro 19
real 2.5
caractere “uma frase”
lógico verdadeiro / falso
Unidade 01Introdução
18/08/15 30© P C F de Oliveira 2013
algoritmo “teste_variaveis”var
x : inteiro nome : caractere
inicio // comandos
fimalgoritmo
Unidade 01Introdução
18/08/15 31© P C F de Oliveira 2013
Seção de declaraçãoExemplos:var
a : inteiroValor1, Valor2: realnome_do_aluno: caracteresinalizador: logicovet: vetor [1..10] de realmatriz: vetor [0..4,8..10] de inteiro
Unidade 01Introdução
18/08/15 32© P C F de Oliveira 2013
Operadores Aritméticos:+ adição
- subtração
* multiplicação
/ divisão real
\ divisão inteira (só para operandos inteiros)
^ potenciação
% resto da divisão inteira (só para operandos inteiros)
Unidade 01Introdução
18/08/15 33© P C F de Oliveira 2013
Operadores Relacionais:= igual a<> diferente de> maior que< menor que>= maior ou igual a<= menor ou igual a
Unidade 01Introdução
18/08/15 34© P C F de Oliveira 2013
Operador de Caracteres:+ Operador de concatenação de strings (i.e., cadeias de caracteres), quando usado com dois valores (variáveis ou constantes) do tipo “caractere”
Exemplo: “Rio “ + “ de Janeiro” = “Rio de Janeiro”
Unidade 01Introdução
18/08/15 35© P C F de Oliveira 2013
ComandosComando de Entrada:
leia (<lista de variáveis>)Ex.: leia(alturatijolo)
leia (<nome da variável1>, <nome da variável2>)Ex.: leia(alturaTijolo, compTijolo)
Unidade 01Introdução
18/08/15 36© P C F de Oliveira 2013
ComandosComando de Saída:
escreva (<nome da variável>)Ex.: escreva (alturaTijolo)
escreva (“Algo que se deseja escrever”, <nome da variável>)Ex.: escreva (“A altura do tijolo eh: ”, alturaTijolo)
Unidade 01Introdução
18/08/15 37© P C F de Oliveira 2013
ComandosComando de Atribuição:
<nome da variável> <- expressão
Ex.: areaTijolo <- alturaTijolo * compTijolo
Unidade 01Introdução
18/08/15 38© P C F de Oliveira 2013
algoritmo "exemplo"var x: real
y: inteiroa: caracterel: logico
iniciox <- 2.5y <- 6a <- "teste"l <- VERDADEIROescreva ("x", x:4:1, y+3:4) //Escreve: x 2.5 9escreva (a, "ok") //Escreve: testeokescreval(a, " ok”) //Escreve: teste ok (e pula linha)escreval (a + " ok") //Escreve: teste ok (e pula linha)escreva (l) // Escreve: VERDADEIROfimalgoritmo
Unidade 01Introdução
Formato Exemplo