Aula 1 Introdução Algoritmos e Programação Prof. MSc. Antonio Marcos Neves Esteca Roteiro Algoritmos Linguagem de Programação Compilador Conceitos interessantes Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita. Pode ser definido como o passo a passo para se atingir um objetivo. Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos “Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido” FORBELLONE, 1999 “Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa” ASCENCIO, 1999 “Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer se seja sua instância” SALVETTI, 1999 Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos • Aspectos importantes sobre Algoritmos: Finitude: indica que o algoritmo encerra após número finito de operações Definição: evita definições ambíguas Entrada: atribui valores ao algoritmo, ou seja, os dados sob os quais o processamento ocorrerá Saída: valores após o processamento Eficácia: todas as ações do algoritmo devem ser executadas em um limite de tempo pré-determinado Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos Como construir um algoritmo? Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos 1º) Leia atentamente o enunciado, destacando os pontos mais importantes 2º) Defina os dados de entrada, ou seja, quais dados serão fornecidos 3º) Defina qual será o processamento, ou seja, quais cálculos/operações serão efetuados e quais as restrições para esses cálculos/operações. 4º) Defina os dados de saída, ou seja, quais dados serão gerados depois do processamento; 5º) Teste o algoritmo realizando simulações. Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos Exemplo: Construa um programa que leia a base e a altura de um triângulo e calcule sua área. Em linguagem natural Prof. MSc. Antonio Marcos Neves Esteca 1. Algoritmos Fluxograma Pseudocódigo Prof. MSc. Antonio Marcos Neves Esteca Roteiro Algoritmos Linguagem de Programação Compilador Conceitos interessantes Prof. MSc. Antonio Marcos Neves Esteca 2. Linguagem de Programação Uma linguagem de programação é um método padronizado para comunicar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. Prof. MSc. Antonio Marcos Neves Esteca 2. Linguagem de Programação Linguagens de programação podem ser usadas para expressar algoritmos com precisão. O conjunto de palavras composto de acordo com uma linguagem de programação constitui o código fonte de um software. O código fonte é depois traduzido para código de máquina, que é executado pelo processador. Prof. MSc. Antonio Marcos Neves Esteca 2. Linguagem de Programação Mas de que forma o código fonte é “traduzido” para código de máquina? Prof. MSc. Antonio Marcos Neves Esteca Roteiro Algoritmos Linguagem de Programação Compilador Conceitos interessantes Prof. MSc. Antonio Marcos Neves Esteca 3. Compilador A maneira de nos comunicarmos computador chama-se programa. com o Um programa é constituído por seu código fonte. O computador, no entanto, processa apenas linguagem de máquina. Logo, é necessário converter os programas para linguagem de máquina. Esse processo de tradução é realizado pelos compiladores. Prof. MSc. Antonio Marcos Neves Esteca 3. Compilador Um compilador lê a primeira instrução do programa, verifica sua sintaxe e, não havendo erro, converte para linguagem de máquina. Em seguida, esse processo é repetido até que a última instrução seja atingida ou um erro seja encontrado. Se não houver erros, ao final de todo o processo de compilação será gerado um arquivo em linguagem de máquina, que será entendido e poderá ser processado pelo computador. Utilizaremos como compilador/editor o Dev C/C++. Prof. MSc. Antonio Marcos Neves Esteca Roteiro Algoritmos Linguagem de Programação Compilador Conceitos interessantes Prof. MSc. Antonio Marcos Neves Esteca 4. Conceitos importantes Sintaxe: ordem e disposição de apresentar as palavras para que sejam interpretadas Programação estruturada: paradigma de programação que segue a premissa de que contempla estruturas de seleção de informações, decisão e repetição. Programação orientada a objetos: paradigma de programação que aproxima o mundo real do virtual através da abstração dos dados, vinculação das informações através de herança, encapsulamento e polimorfismo. Prof. MSc. Antonio Marcos Neves Esteca Dúvidas? Prof. MSc. Antonio Marcos Neves Esteca