Introdução à Programação

Documentos relacionados
Introdução à Programação. João Manuel R. S. Tavares

Introdução à Programação. João Manuel R. S. Tavares

Programação de Computadores III

Programação de Computadores III

Programação de Computadores:

Unidade 2: Algoritmos e programação

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 2ª Parte Prof. Sandra Pais Soares

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

A palavra ALGORITMO teve origem com um Matemático Persa, al. Khawarizmi. O seu trabalho mais famoso foi Al-jabr walmuquabalah,

Programação Estruturada

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

Computadores = cérebros eletrônicos?

Algoritmos e Fluxogramas

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Fluxogramas e variáveis

ESTRUTURA CONDICIONAL E SELEÇÃO

Algoritmos e Técnicas de Programação

Introdução à Programação de Computadores Fabricação Mecânica

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Algoritmos e Programação

Introdução à Lógica de Programação

Programação de Computadores

Algoritmos Computacionais

Aula 02. Algoritmos e Pseudocódigo

Programação Aplicada à Engenharia

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

Aula 3: Algoritmos: Formalização e Construção

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Resolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema

Para cada programa, por mais simples que seja, comece sempre por esboçar a solução desenhando um fluxograma.

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

Introdução à Lógica de Programação

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos - 3. Alexandre Diehl. Departamento de Física - UFPel

Introdução à Algoritmos INF 1005 e INF Programação I

Fundamentos de Lógica e Algoritmos Aula 2.5 Conceitos Básicos de Algoritmos. Prof. Dr. Bruno Moreno

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Fluxogramas. Vanessa Braganholo

CAPÍTULO 4 ESTRUTURAS DE CONTROLE

Programação Procedimental

Fluxogramas. Leonardo Gresta Paulino Murta.

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Introdução a Computação

Aula 7: Estrutura de Decisão

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Este conceito é bastante simples e será útil e conveniente nos itens seguintes, na definição das estruturas básicas de controle de execução.

Prof. Jorge Cavalcanti

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

É neste ponto que entra o conceito de lógica de programação.

2 Fluxogramas e Pseudocódigo. 18 Programação em C/C++ estrutura básica e conceitos fundamentais

SSC Engenharia de Software. Prof. Paulo C. Masiero

Algoritmos e Programação

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Introdução à Programação LP JAVA

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

1.3. Algoritmos e Fluxogramas

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2006/2007

Programação Estruturada Aula VisualG

INFORMÁTICA APLICADA AULA 05 ALGORITMOS

Algoritmos e Programação de Computadores Disciplina:

Fluxograma. Símbolo Nome Descrição

PDA - Repetição. Estruturas de repetição. Slides adaptação de Deise Saccol

Fluxograma. Símbolo Nome Descrição

Portugol. Tiago Alves de Oliveira

Transcrição:

Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa. 2 CFAC: Introdução à Program 1

Execução de uma tarefa no computador Passos até escrever as instruções para executar uma determinada tarefa: 1 - Determinar qual deve ser a saída. 2 - Identificar os dados, ou entrada, necessária para obter a saída. 3 - Determinar como processar a entrada para obter a saída desejada. Entrada Processamento Saída 3 Execução de uma tarefa no computador Exemplos de execução de tarefas 1 - Um exemplo do dia a dia: fazer um bolo de maçã: Saída: bolo de maça. Entrada: ingredientes e respetivas quantidades. Os ingredientes e quantidades são determinados por aquilo que se quer fazer. Processamento: a receita indica como proceder. 2 - Um problema de cálculo: determinar o valor do selo de uma carta: Saída: valor do selo. Entrada: peso da carta, escalões de peso, custo/escalão. Processamento: o algoritmo indica como proceder. 4 CFAC: Introdução à Program 2

Ciclo de desenvolvimento de um programa 1. Analisar o problema; 2. Planear a solução; 3. Escolher a interface; 4. Codificar; 5. Testar e corrigir erros; 6. Completar a document. 5 1 - Analisar o problema Compreender o que o programa deve fazer, qual deve ser a saída. Ter uma ideia clara de que dados (entrada) são fornecidos. Perceber muito bem qual a rel entre a entrada e a saída desejada. 6 CFAC: Introdução à Program 3

2 - Planear a solução Encontrar uma sequência lógica e precisa de passos para resolver o problema. Tal sequência de passos é chamada um algoritmo. O algoritmo deve incluir todos os passos, mesmo aqueles que parecem óbvios. Existem vários métodos de especificar o algoritmo: diagramas de fluxo ou fluxogramas; pseudocódigo; diagramas top-down. O planeamento também envolve um teste manual do algoritmo, usando dados representativos. 7 3 - Escolher a interface Determinar como é que a entrada será obtida e como é que a saída será apresentada. Por exemplo, em Visual Basic/C ++ : Criar objetos para receber a entrada e apresentar a saída. Criar botões de comando apropriados para que o utilizador possa controlar o programa. 8 CFAC: Introdução à Program 4

4 - Codificar Traduzir o algoritmo para uma linguagem de program (ex.: Visual Basic/Fortran). Temos então um programa. Introduzir o programa no computador. 9 5 - Testar o programa e corrigir erros (debugging / depur) Localizar e remover eventuais erros do programa. Os erros sintáticos resultam do facto de o utilizador não ter escrito o programa de acordo com as regras da gramática da linguagem de program utilizada; são detetados pelo compilador/interpretador da linguagem. O computador não executará nenhuma instrução sintaticamente incorreta. Os erros semânticos resultam do facto de o programador não ter expressado corretamente, através da linguagem de program, a sequência de ações a ser executada. Estes erros têm de ser detetados pelo programador através de testes exaustivos com dados variados para os quais a saída deve ser conhecida. 10 CFAC: Introdução à Program 5

6 - Completar a document A document serve para que outra pessoa ou o próprio programador, mais tarde, entenda o programa. A document consiste em incluir comentários no programa que especificam: o objetivo do programa; como usar o programa; a função das variáveis; a natureza dos dados guardados nos ficheiros; as tarefas executadas em certas partes do programa; Em programas comerciais, a document inclui, normalmente, um manual de instruções. Outros tipos de document: pseudocódigo, fluxograma, diagrama top-down. 11 Duas formas utilizadas: Descrição de algoritmos Descreve a sequência de passos usando uma linguagem parecida com a linguagem comum (Inglês, Português, ) mas usando frases com construções próximas das que são aceites por muitas linguagens de program. Exemplos de construções: 1 - Se condição então fazer ações_1 senão fazer ações_2 2 - Repetir ações até que condição Fluxograma ou diagrama de fluxo Descreve graficamente a sequência de passos a executar para resolver um determinado problema e como os passos estão interligados. É constituído por um conjunto de símbolos geométricos ligados por setas. 12 CFAC: Introdução à Program 6

Símbolos ANSI usados em fluxogramas Linha de fluxo Terminal - usado para ligar os outros símbolos indicando a sequência de operações - usado para representar o início ou o fim de uma tarefa Entrada/Saída - usado para operações de entrada/saída tais como ler ou imprimir (os dados a ler/escrever são indicados no interior) Processamento - usado para operações de manipul dos dados ou operações aritméticas Decisão - usado para indicar operações de teste (tem uma entrada e duas saídas correspondentes ao resultado do teste ser verdadeiro ou falso) 13 Símbolos ANSI usados em fluxogramas Processo pré-definido - usado para representar um grupo de operações que constituem uma tarefa Conector - usado para ligar diferentes linhas de fluxo Conector para fora da página Comentário - usado para indicar que o fluxograma continua noutra página - usado para fornecer inform adicional acerca de outro símbolo do fluxograma 14 CFAC: Introdução à Program 7

Exemplo PROBLEMA: Calcular as raízes reais de uma equ do 2º grau. equ : Ax 2 +Bx+C = 0 raízes : x = (-B B 2-4AC ) / (2A) - Ler (A, B, C) ; - Calcular D = B 2-4*A*C ; - Se D >= 0 então { Calcular R1 = (-B + D) / (2*A) ; Calcular R2 = ( -B - D) / (2*A) ; Escrever (R1, R2) ; } Senão Escrever ( não tem raízes reais ) ; -Fim 15 Exemplo Fluxograma Início Ler A, B, C D = B 2-4*A*C N D >= 0 S Escrever não há raízes reais R1 = (-B+ D )/ (2*A) R2 = (-B- D) / (2*A) Escrever R1, R2 Fim 16 CFAC: Introdução à Program 8

Descrição da estrutura de um programa A estrutura de um programa pode ser descrita através de um diagrama de estrutura, diagrama hierárquico ou diagrama topdown que descreve a organiz do programa, mas omite os pormenores das operações. Ele descreve o que cada parte ou módulo do programa faz e mostra como os diferentes módulos estão relacionados entre si. O diagrama lê-se do topo para baixo (top-down) e da esquerda para a direita. Cada módulo pode estar dividido em sub-módulos e assim sucessivamente. Estes diagramas são úteis no planeamento inicial do programa e ajudam a escrever programas bem estruturados. 17 Desenvolvimento modular de programas Método usado para lidar com problemas de program complexos. Começa-se por dividir a tarefa inicial em sub-tarefas algumas das quais poderão ser de grande complexidade. Cada uma destas sub-tarefas é, por sua vez, dividida em sub-tarefas mais simples e assim sucessivamente, até que todas as tarefas estejam descritas de forma suficientemente elementar para poderem ser facilmente codificadas na linguagem de program escolhida. Vantagens do desenvolvimento modular: um módulo pode ser facilmente reutilizado em várias partes do programa; facilita a deteção e correção de erros (analisando os sintomas de um erro é frequentemente fácil reduzir a causa desse erro a um determinado módulo). 18 CFAC: Introdução à Program 9

Exemplo PROBLEMA: Calcular a área de um triângulo, dadas as coordenadas dos vértices, usando a fórmula de Heron: AREA = S * (S-A) * (S-B) * (S-C) em que S = semi-perímetro = ( A + B + C ) / 2 e A, B e C = comprimentos dos lados. Ler coord. dos vértices (V1, V2, V3) Calcular a área Escrever área......... Calcular comprimento dos lados Calcular S Calcular AREA (aplicar fórmula) Calcular Dist. (V1,V2)...... Diagrama top-down 19 Estruturas de controlo de um programa Em geral, um programa não é constituído por uma sequência rígida, linear, de instruções que são executadas sempre do mesmo modo. Muitas problemas requerem que seja tomada uma decisão para selecionar entre duas sequências de instruções qual a que vai ser executada. Por vezes, é necessário repetir um determinado conjunto de instruções enquanto se verificar uma determinada condição, até que se verifique uma determinada condição, ou um determinado número de vezes. A generalidade das linguagens de program possui além de instruções simples de leitura, escrita e atribuição de valores instruções de controlo que envolvem ações de seleção ou de repetição de sequências de instruções, permitindo fugir a uma sequência rígida, linear, de execução de um programa. 20 CFAC: Introdução à Program 10

Instruções condicionais Permitem uma seleção de sequências alternativas de instruções. Fluxograma Falsa condição Verdadeira Se condição então Se a condição for verdadeira a é executada. Se a condição for falsa não é executada nenhuma, passa a ser executada a instrução seguinte. Uma pode ser constituída por uma ou mais instruções. 21 Instruções condicionais Fluxograma _2 Falsa condição Verdadeira _1 Se condição então _1 senão _2 Se a condição for verdadeira é executada a _1. Se a condição for falsa é executada a _2. 22 CFAC: Introdução à Program 11

Instruções de repetição Usadas quando se pretende executar uma sequência de instruções zero ou mais vezes. Há 3 variantes de instruções repetitivas: 1) Enquanto se verificar uma condição executar uma ; 2) Repetir uma até que se verifique uma condição; 3) Executar uma um número conhecido de vezes. 23 Instruções de repetição Fluxograma Falsa condição Verdadeira Enquanto condição executar Se a condição for verdadeira é executada a e volta-se a testar a condição. Se a condição for falsa passa-se à execução da instrução seguinte. A pode ser executada zero (se o teste de condição resultar falso logo da 1ª vez) ou mais vezes. 24 CFAC: Introdução à Program 12

Instruções de repetição Fluxograma condição Falsa Verdadeira Repetir até que condição A é executada e, a seguir, testa-se a condição. Se a condição for falsa a é repetida e volta-se a testar a condição. Se a condição for verdadeira passa-se à execução da instrução seguinte. A pode ser executada uma (se o teste de condição resultar verdadeiro logo da 1ª vez) ou mais vezes. 25 Instruções de repetição Fluxograma x = A x > B Falso Verdadeiro Para x de A até B executar x = x+1 A é executada um certo número de vezes, desde um valor inicial (A) até um valor final (B) de uma variável (x), designada contador, que controla o ciclo. Se A > B o ciclo não é executado nenhuma vez. 26 CFAC: Introdução à Program 13