Algoritmos Mar / 2007 Algoritmos... • “Conjunto de regras formais para a obtenção de um resultado ou da solução de um problema” – Forbellone & Eberspacher, 2000 • “Um processo sistemático para a solução de um determinado problema” – Szwarcfiter & Makenzon, 1994 • “Uma seqüência ordenada de passos a ser seguida para a realização de uma determinada tarefa” – Saliba, 1992 • Conjunto finito de regras que fornece uma seqüência de operações para resolver um problema específico • Algoritmo pode ser especificado de forma textual usando uma pseudolinguagem ou sob a forma de diagrama ...Algoritmos • “Programação Estruturada é a arte ou técnica de construir e formular algoritmos de uma forma sistemática” - Wirth • “Programas são formulações concretas de algoritmos abstratos, baseados em representações e estruturas específicas de dados” – Wirth • Programa é um algoritmo expresso em uma linguagem de programação. • Teorema da Estrutura: qualquer programa próprio pode ser escrito usando apenas três estruturas básicas: seqüência, alternativa e repetição Pseudolinguagem Portugol... • Portugol Português e Algol • Elementos da linguagem – Identificador – nome iniciado por uma letra seguida de caracteres alfabéticos ou numéricos. Ex.: A, B1, N2, SOMA, RAIZ, ValorHora,... – Tipos básicos de dados – • • • • Inteiro – Ex.: -5, 8, 32, -428,... Real – Ex.: 30.5, 0.478, -23.35,... Caractere – Ex.: “AB”, “X”, “XYZ”, “B2”,... Lógico – Ex.: FALSO, VERDADEIRO ...Pseudolinguagem Portugol... • Elementos da linguagem – Definição de variáveis – nome dadoa um local de memória reservado para armazenar valores possíveis do tipo de dado associado. Ex.: inteiro: K, J2, QTDIAS, ... real: SALARIO, PRECO, TOTAL, X1, ... caractere: NOME, ENDERECO, RUA,... logico: APROVADO, CHEIO, TEM,... – Comando de atribuição – atribui valor a uma variável Ex.: SALARIO 480.00, APROVADO FALSO, QTDIAS 36, ... – Operadores lógicos – e (۸) , ou (۷) , não (┐) ...Pseudolinguagem Portugol... • Elementos da linguagem – Operadores aritméticos – + , - , * , / , √ , sen(x), cos(x), mod , div , (a + b)n , – Operadores relacionais - = , ≠ , ≥ ou >= , ≤ ou <= – Prioridade das operações – 1. parênteses 2. expressão aritmética: a)** b) * , / c) + , 3. comparações: <, ≤, =, ≥, >, ≠ 4. não 5. e 6. ou ...Pseudolinguagem Portugol • Elementos da linguagem – Entrada – leia (A, B, C); – Saída – imprima (A, B, C); – Exemplo de algoritmo em Portugol: inicio | inteiro: A, B; | A 1; | B 2; | se A > B então A 5; | | senão A 10; | fim se; fim.