Unidade01 Introducao Algoritmos TADS · Exemplo 1: Considere o problema de calcular a área de um...

38
Introdução Prof. Paulo Cesar F. de Oliveira, BSc, PhD 18/08/15 1 © P C F de Oliveira 2013

Transcript of Unidade01 Introducao Algoritmos TADS · Exemplo 1: Considere o problema de calcular a área de um...

IntroduçãoProf. Paulo Cesar F. de Oliveira, BSc, PhD

18/08/15 1©  P C  F de  Oliveira  2013

Unidade 01Introdução

18/08/15 2©  P  C  F  de  Oliveira  2013

Seção 1.1

Fundamentos

² 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 19©  P  C  F  de  Oliveira  2013

Sintaxe?

18/08/15 20©  P  C  F  de  Oliveira  2013

SINTAXE

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 24©  P  C  F  de  Oliveira  2013

Unidade 01Introdução

18/08/15 25©  P  C  F  de  Oliveira  2013

Balde

Serve para armazenar "coisas"

18/08/15 26©  P  C  F  de  Oliveira  2013

Baldes

Servem para armazenar "coisas"

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