² 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 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