Modelagem de sistema
Introdução
Última alteração: 10 de Outubro de 2006
∗ Transparências
elaboradas por Charles Ornelas, Leonardo Rocha, Leonardo
Mata e Nivio Ziviani
Projeto de Algoritmos – Cap.1 Introdução – Seção 1.1
Algoritmos, Estruturas de Dados e
Programas
• Os algoritmos fazem parte do dia-a-dia das pessoas. Exemplos de algoritmos:
– instruções para o uso de medicamentos,
– indicações de como montar um aparelho,
– uma receita de culinária.
• Seqüência de ações executáveis para a obtenção de uma solução para um determinado tipo de problema.
• Segundo Dijkstra, um algoritmo corresponde a uma descrição de um padrão de comportamento, expresso em termos de um conjunto finito de ações.
– Executando a operação a + b percebemos um padrão de comportamento, mesmo que a operação seja realizada para valores diferentes de a e b.
1
Projeto de Algoritmos – Cap.1 Introdução – Seção 1.1
Estruturas de dados
• Estruturas de dados e algoritmos estão intimamente ligados:
– não se pode estudar estruturas de dados sem considerar os algoritmos associados a elas,
– assim como a escolha dos algoritmos em geral depende da representação e da estrutura dos dados.
• Para resolver um problema é necessário escolher uma abstração da realidade, em geral mediante a definição de um conjunto de dados que representa a situação real.
• A seguir, deve ser escolhida a forma de representar esses dados.
2
Projeto de Algoritmos – Cap.1 Introdução – Seção 1.1
Escolha da Representação dos Dados
• A escolha da representação dos dados é determinada, entre outras, pelas operações a serem realizadas sobre os dados.
• Considere a operação de adição:
– Para pequenos números, uma boa representação é por meio de barras verticais (caso em que a operação de adição é bastante simples).
– Já a representação por dígitos decimais requer regras relativamente complicadas, as quais devem ser memorizadas.
– Entretanto, quando consideramos a adição de grandes