Linguagens g g de Programação g CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Linguagens g g de Programação g • Processador (CPU): executa tarefas Programa em Linguagem máquina INTRODUÇÃO AOS ALGORITMOS • Linguagem g g de pprogramação g ç de alto nível (mais abstractas) Exemplos: p C,, Pascal,, Ada,, C++,, Java,, Lisp, p, Fortran,, … Os programas nestas linguagens não são reconhecidos directamente pelo processador INTRODUÇÃO AOS ALGORITMOS 2 INTRODUÇÃO AOS ALGORITMOS 4 Algoritmia g - Introdução Código Fonte Linguagem de programação de alto nível Compilação Compiladores: são programas especiais que executam a compilação (tradução do código fonte para a linguagem máquina) Linguagem Máquina Sequência de números que significam uma sequência de instruções a serem executadas t d 3 CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Exemplos: Assembler, … 1 Linguagens de Programação g g g INTRODUÇÃO AOS ALGORITMOS • Linguagem de programação de baixo nível (baixo nível de abstracção) • Noção de Algoritmo • Resolução de problemas Conceitos Introdutórios • É uma sequência de passos finitos com o objectivo de solucionar um dado problema j p Problema Solução O algoritmo não é a solução, sol ção é o caminho que leva à solução! INTRODUÇÃO AOS ALGORITMOS CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Algoritmo g 5 INTRODUÇÃO AOS ALGORITMOS 6 INTRODUÇÃO AOS ALGORITMOS 8 Algoritmo g - Exemplos • No dia-a-dia cruzamo-nos com algoritmos sem dar conta: Num telefone público costuma estar escrito: 1. Retirar o telefone do descanso 2. Esperar o sinal 3. Colocar o cartão 4 Marcar o número 4. 5. Falar ao telefone 6. Colocar o telefone no descanso INTRODUÇÃO AOS ALGORITMOS 7 CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Algoritmo g - Exemplos CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves • A Algoritmia e a escrita de pprogramas/resolução g ç de problemas p • Definição e Estrutura Global de um Algoritmo • Etapas-tipo • Refinamentos R fi sucessivos i • Entrada-Processamento-Saída • Outros exemplos: U receita Uma it de d culinária: li á i - Para fritar um ovo - Para cozer batatas - Para fazer um bolo de chocolate -… CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Algoritmo g - Exemplos CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Algoritmo g - Exemplos INTRODUÇÃO AOS ALGORITMOS - Algoritmo para o fim-de-semana - Algoritmo para descascar batatas - Algoritmo para fazer uma prova escrita -… 9 INTRODUÇÃO AOS ALGORITMOS 10 Programa g CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Algoritmo g - Exemplos CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves • Outros exemplos: • Outros exemplos: - Esquemas E de d montagem t de d aparelhos lh - Fórmulas resolventes - Métodos numéricos -… INTRODUÇÃO AOS ALGORITMOS 11 • É um algoritmo escrito numa linguagem de p computador. • É a tradução do algoritmo para a linguagem do computador O mais importante de um programa é a sua lógica, lógica o raciocínio utilizado para resolver o problema, ou seja, o algoritmo INTRODUÇÃO AOS ALGORITMOS 12 Algoritmia g e Programação g 4 Etapas: Resolver um problema usando o computador INTRODUÇÃO AOS ALGORITMOS CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Algoritmia g e Programação g Problema Especificação Identificar os dados, resultados e relações Problema 13 Algoritmo Programa Passos a seguir para obter a solução ???? Computador (Ferramentas) INTRODUÇÃO AOS ALGORITMOS 14 Especificação Especificação EXCEL BASIC C SCA MAPLE SCA-MAPLE Outra(s) INTRODUÇÃO AOS ALGORITMOS 15 CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Problema • Adaptação do problema à capacidade p ppara a sua resolução... ç disponível • É necessário conhecer a “capacidade capacidade disponível”... • Técnicas: decomposição e abstracção INTRODUÇÃO AOS ALGORITMOS 16 Decomposição CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Decomposição • Identificação de “componentes” independentes, p ,p partes do p problema,, de solução conhecida ou de tratamento mais simples p • Se assim for, for posso solucionar as componentes, e pela resolução conjunta solucionar o problema INTRODUÇÃO AOS ALGORITMOS Parte 1 Parte 2 Parte 3 Sol. 1 Sol. 2 Sol. 3 Solução 17 INTRODUÇÃO AOS ALGORITMOS 18 Problema - Exemplo • Identificação das características-chave entre problema e outro(s) ( ) jjá conhecido(s) () o novo p ou já resolvido(s) INTRODUÇÃO AOS ALGORITMOS 19 CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Abstracção CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Problema • Determine as raízes do seguinte Polinómio: P2 ( x) = ax 2 + bx + c • Seja P2=ax2+bx+c. Dados os valores de P2, a,b e c, determine o valor de x INTRODUÇÃO AOS ALGORITMOS 20 Conceitos... Algoritmo, algoritmia • Qualquer conjunto de símbolos e processos de cálculo matemático (Enciclopédia Luso-Brasileira) • (...) operação ou processo de cálculo INTRODUÇÃO AOS ALGORITMOS CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Conceitos... 21 INTRODUÇÃO AOS ALGORITMOS 22 INTRODUÇÃO AOS ALGORITMOS 24 Propriedades Processo Matemático Processo Numérico Processo Mecanizável INTRODUÇÃO AOS ALGORITMOS 23 CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves CET DPM – Algo oritmos e Program mação 2010-11 C Celestino Gonçalves Conceitos... Algoritmo Algoritmo, algoritmia • Conjunto de operações matemáticas simples que, no seu todo, pela ordem correcta constituem uma operação correcta, matemática complexa • Conjunto de passos que é necessário executar para chegar à solução de um dado problema • Passos realizáveis • N. N º finito de passos • Eficiência