40
Introdução Prof. Paulo Cesar F. de Oliveira, BSc, PhD 28/02/14 1 © P C F de Oliveira 2013

Introdução · (Área = base * altura) Algoritmo: ... Calcular a média semestral ... Considere o problema de calcular a área de um retângulo

Embed Size (px)

Citation preview

Introdução

Prof. Paulo Cesar F. de Oliveira, BSc, PhD

28/02/14   1  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução

28/02/14   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.

28/02/14   3  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução

² Lógica ² Coerência de raciocínio, de ideias ² Sequência coerente, regular e

necessária de acontecimentos, de coisas

28/02/14   4  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução

²  Lógica (exemplos)

Ex. 1: “Eu preciso de um caderno que está dentro da minha pasta.” Primeiro abro minha pasta Depois pego o caderno

Ex. 2: João é mais velho que Pedro. Pedro é mais velho que José.

Logo, João é mais velho José. 28/02/14   5  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução

² Origem da Palavra “algoritmo” ² Nome do matemático persa do século

9 chamado Abu Abdullah Muhammad bin Musa al-Khwarizmi

² Palavra foi traduzida do nome al-Khwarizmi para algoritmo no século 18 (latinização)

28/02/14   6  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introduçã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

28/02/14   7  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introduçã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

28/02/14   8  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introduçã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

28/02/14   9  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introduçã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

28/02/14   10  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução

28/02/14   11  ©  P  C  F  de  Oliveira  2013  

Algoritmo (Exemplos) Problema: Cozinhar macarrão Algoritmo: Pegar uma panela

Colocar água na panela Por a panela (com água) no fogo Colocar azeite na água Colocar sal na água Quando ferver, colocar o macarrão Deixar cozinhando até estar no ponto

Unidade 01 Introdução

28/02/14   12  ©  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ângulo Conhecer (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

Unidade 01 Introdução

28/02/14   13  ©  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 P2 Dividir o resultado da soma por 2 A média semestral é igual ao valor obtido

Unidade 01 Introdução

28/02/14   14  ©  P  C  F  de  Oliveira  2013  

Seção 1.2 Fases da construção de algoritmos

Unidade 01 Introdução

28/02/14   15  ©  P  C  F  de  Oliveira  2013  

² Fases da construção de algoritmos

Unidade 01 Introdução

Fase 2 Fase 3 Fase 4 Fase 1 Fase 5

Identificar os dados de saída�

Transformar dados de entrada em dados de saída�

Identificar as entradas do problema�

Compreender o problema�

Construir o algoritmo ou a sequência de passos �

Fase 6

Testar o algoritmo �

28/02/14   16  ©  P  C  F  de  Oliveira  2013  

² Fases da construção de um algoritmo

Unidade 01 Introdução

Entrada Processamento Saída

28/02/14   17  ©  P  C  F  de  Oliveira  2013  

Conhecer (ler/obter) o valor da base do retângulo

Conhecer (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 01 Introdução

28/02/14   18  ©  P  C  F  de  Oliveira  2013  

² Formas de resolver um algoritmo

Unidade 01 Introdução

² Fluxograma ² Pseudocódigo

28/02/14   19  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução ²  Fluxograma (Definição – Dicionário Houaiss)

²  Uma representação gráfica de um procedimento, problema ou sistema, cujas etapas ou módulos são ilustrados de forma encadeada por meio de símbolos geométricos interconectados.

²  Um diagrama para representação de um algoritmo.

²  Diagrama de fluxo

28/02/14   20  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução ²  Símbolos mais usados

28/02/14   21  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução ²  Exemplos de fluxogramas

28/02/14   22  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução

28/02/14   23  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução

28/02/14   24  ©  P  C  F  de  Oliveira  2013  

Unidade 01 Introdução ² Colocando tudo junto

28/02/14   25  ©  P  C  F  de  Oliveira  2013  

Seção 1.3 Pseudocódigo – definição da linguagem

Unidade 01 Introdução

28/02/14   26  ©  P  C  F  de  Oliveira  2013  

Formato do Pseudo-código algoritmo “nome do algoritmo” // Função: // Autor: // Data: // Seção de Declarações

var <declaração de variáveis> inicio // Seção de Comandos fimalgoritmo

Unidade 01 Introdução

28/02/14   27  ©  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 § Deve conter instruções de entrada (leitura), processamento (somar, subtrair...) e saída (escrita) § Não deve conter acentuação § Ex: leia (base)

Unidade 01 Introdução

28/02/14   28  ©  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 base

Obter o valor da altura Multiplicar a base pela altura O valor obtido é a área do retângulo

fimalgoritmo

Unidade 01 Introdução

28/02/14   29  ©  P  C  F  de  Oliveira  2013  

Constantes e Variáveis ² Uma constante recebe um único valor que é válido para toda a

execução do algoritmo. ² Uma variável pode receber valores diferentes com o passar do

tempo, mas apenas um único valor é armazenado nela, o valor antigo é desconsiderado.

² Uma variável é de determinado tipo. Nome de Variáveis (regras): Só pode conter caracteres alfanuméricos (letras ou números) Deve começar sempre com uma letra Não pode conter outros símbolos (só _ ) Pode ter até 30 caracteres

Unidade 01 Introdução

28/02/14   30  ©  P  C  F  de  Oliveira  2013  

Tipos Primitivos Tipo Exemplos

inteiro 19

real 2.5

caractere “uma frase”

lógico verdadeiro / falso

Unidade 01 Introdução

28/02/14   31  ©  P  C  F  de  Oliveira  2013  

algoritmo “teste_variaveis” var x : inteiro nome : caractere inicio // comandos fimalgoritmo

Unidade 01 Introdução

28/02/14   32  ©  P  C  F  de  Oliveira  2013  

Seção de declaração começa com a palavra-chave var, e continua com as seguintes sintaxes:

<lista-de-variáveis> : <tipo-de-dado> <lista-de-variáveis> : vetor "["<lista-de-intervalos>"]" de <tipo-de-dado>

Unidade 01 Introdução

28/02/14   33  ©  P  C  F  de  Oliveira  2013  

Seção de declaração Exemplos: var a : inteiro Valor1, Valor2: real vet: vetor [1..10] de real matriz: vetor [0..4,8..10] de inteiro nome_do_aluno: caractere sinalizador: logico

Unidade 01 Introdução

28/02/14   34  ©  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 01 Introdução

28/02/14   35  ©  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 01 Introdução

28/02/14   36  ©  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 01 Introdução

28/02/14   37  ©  P  C  F  de  Oliveira  2013  

Comandos Comando de Entrada: leia (<lista de variáveis>) Ex.: leia(alturatijolo) leia (<nome da variável1>, <nome da variável2>) Ex.: leia(alturaTijolo, compTijolo)

Unidade 01 Introdução

28/02/14   38  ©  P  C  F  de  Oliveira  2013  

Comandos Comando 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 01 Introdução

28/02/14   39  ©  P  C  F  de  Oliveira  2013  

Comandos Comando de Atribuição: <nome da variável> <- expressão

Ex.: areaTijolo <- alturaTijolo * compTijolo

Unidade 01 Introdução

28/02/14   40  ©  P  C  F  de  Oliveira  2013  

Formato Exemplo algoritmo "exemplo" var x: real y: inteiro a: caractere l: logico inicio x <- 2.5 y <- 6 a <- "teste" l <- VERDADEIRO escreva ("x", x:4:1, y+3:4) //Escreve: x 2.5 9 escreva (a, "ok") //Escreve: testeok escreval(a, " ok”) //Escreve: teste ok (e pula linha) escreval (a + " ok") //Escreve: teste ok (e pula linha) escreva (l) // Escreve: VERDADEIRO fimalgoritmo

Unidade 01 Introdução