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



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

Introdução à Programação

ALGORITMOS E FLUXOGRAMAS

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano

INTRODUÇÃO À PROGRAMAÇÃO

Metodos de Programação

7. Estrutura de Decisão

Simulado de Algoritmos - Respostas

ALP Algoritmos e Programação

Programação em papel quadriculado

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

INSTITUTO TECNOLÓGICO

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

compreender a importância de cada estrutura de controle disponível na Linguagem C;

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA DISCUSSÃO DOS EXERCÍCIOS E CONSTRUÇÃO DE PROGRAMAS SEQUENCIAIS. Prof. Dr. Daniel Caetano

Manual MQS. Logo após colocar essas informações abrirá a página inicial do sistema:

Implementadas por Computador

Definição. de solução de um problema passo-a-passo. Representa a lógica l. passo.

AGRUPAMENTO VERTICAL DE ESCOLAS CETÓBRIGA. Escola Básica dos 2º e 3º ciclos de Aranguez

Programação 2009/2010 MEEC MEAer

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Invenções Implementadas por Computador (IIC) Patentes

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Sessão 2 UFCD 0804 Algoritmos

Os meus amigos Robots

Análise e Projeto de Software

Programação de Computadores

Estruturas de Repetição

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

TÉCNICAS DE PROGRAMAÇÃO

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

JavaScript (ou JScript)

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Aula anterior... Definição do algoritmo (continuação)

Formador: Carlos Maia

c. Técnica de Estrutura de Controle Teste do Caminho Básico

INGLÊS. 1. Objeto de avaliação INFORMAÇÃO PROVA DE EQUIVALÊNCIA À FREQUÊNCIA. Prova

Escalas. Antes de representar objetos, modelos, peças, A U L A. Nossa aula. O que é escala

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Comandos de repetição while

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Unidade II MODELAGEM DE PROCESSOS

APOSTILA ZELIO SOFT 2

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Trabalho de Implementação Jogo Reversi

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

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

BREVE INTRODUÇÃO AO SISTEMA DA GESTÃO DE DOCUMENTOS DA CÂMARA MUNICIPAL DE MACAU PROVISÓRIA

COMPUTAÇÃO APLICADA. Porém, é necessário considerar que ninguém ensina ninguém a pensar, pois todas as pessoas normais tem este dom.

Manual da. pesquisa Informática S.A

Introdução à Ciência da Computação

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Motorola Phone Tools. Início Rápido

Técnico/a de Refrigeração e Climatização

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

9.1.2 Laços Controlados por Entrada: Contador

Faculdade de Computação

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

Manual do Usuário do Produto EmiteNF-e. Manual do Usuário

Organização de Computadores Como a informação é processada?

Arquitetura e Organização de Computadores

Planificação de. Aplicações Informáticas B

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Casos de uso Objetivo:

Introdução ao Controlo Numérico Computorizado I Conceitos Gerais

Exercícios Adicionais

IBM Unica Histórico da Interação Attribution Modeler Versão 1 Release 0 15 de maio de Tabelas de Sistema do

Algoritmos e Programação Parte Teórica

Processos de gerenciamento de projetos em um projeto

DAS5102 Fundamentos da Estrutura da Informação

TRABALHO 1 - ESTUDO DE CIRCUITOS RC e RLC

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Sumário Algoritmos e Estrutura de Dados Repetição

Matriz do Teste de Avaliação de Física e Química A - 11.º ano 1 de fevereiro de minutos

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

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

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

METODOLOGIAS DE PROGRAMAÇÃO

Modem e rede local. Guia do usuário

Estrutura de Dados Básica

UMC Cotas em desenho técnico (Módulo 2) Componentes gráficos de uma cota: Linha de cota Linha de chamada Setas de cota

4- PROJETO DE BANCO DE DADOS

Algoritmos DCC 119. Introdução e Conceitos Básicos

Planificação. Apreender conceitos sobre a lógica de programação. Aplicar instruções e sequências lógicas na resolução de problemas

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

Programação de. Programa. Bibliografia. Páginas electrónicas de PM. Regras das aulas de laboratório. Métodos de Ensino - Aulas

1 Introdução. 2 Funcionamento da Aplicação. Projeto de Programação - Entrega Final MEEC / Semestre Farm:TamagoISTi

5. Uma lousa denominada EPI (registrador de endereço de próxima instrução).

4.1. UML Diagramas de casos de uso

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

As Sete Ferramentas Básicas do Controle da Qualidade

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

Para o OpenOffice Impress, assim como para vários softwares de apresentação, uma apresentação é um conjunto de slides.

ENGENHARIA DE SOFTWARE

Transcrição:

Introdução à Programação 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

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

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 documentação. 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 relação entre a entrada e a saída desejada. 6

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

4 - Codificar Traduzir o algoritmo para uma linguagem de programação (ex.: Visual Basic/Fortran). Temos então um programa. Introduzir o programa no computador. 9

5 - Testar o programa e corrigir erros (debugging / depuração) 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 programação 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 programação, 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

6 - Completar a documentação A documentação serve para que outra pessoa ou o próprio programador, mais tarde, entenda o programa. A documentação 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 documentação inclui, normalmente, um manual de instruções. Outros tipos de documentação: pseudocódigo, fluxograma, diagrama top-down. 11

Descrição de algoritmos Duas formas utilizadas: Pseudocódigo 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 programação. 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

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 manipulação 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 informação adicional acerca de outro símbolo do fluxograma 14

Exemplo PROBLEMA: Calcular as raízes reais de uma equação do 2º grau. equação : Ax 2 +Bx+C = 0 raízes : x = (-B ± B 2-4AC ) / (2A) Pseudocódigo - Ler (A, B, C) ; - Calcular D = B 2-4*A*C ; - Se D >= 0 então { Calcular R1 = (-B + D) / (2*A) ; Senão - Fim Calcular R2 = ( -B - D) / (2*A) ; Escrever (R1, R2) ; } Escrever ( não tem raízes reais ) ; 15

Exemplo Fluxograma Início Ler A, B, C D = B 2-4*A*C N D >= 0 S R1 = (-B+ D )/ (2*A) Escrever não há raízes reais R2 = (-B- D) / (2*A) Escrever R1, R2 Fim 16

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 organização 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 programação 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 programação 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

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 programação 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

Instruções condicionais Permitem uma seleção de sequências alternativas de instruções. Fluxograma Pseudocódigo Falsa condição Verdadeira Se condição então ação ação Se a condição for verdadeira a ação é executada. Se a condição for falsa não é executada nenhuma ação, passa a ser executada a instrução seguinte. Uma ação pode ser constituída por uma ou mais instruções. 21

Instruções condicionais Fluxograma Pseudocódigo ação_2 Falsa condição Verdadeira ação_1 Se condição então ação_1 senão ação_2 Se a condição for verdadeira é executada a ação_1. Se a condição for falsa é executada a ação_2. 22

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 ação; 2) Repetir uma ação até que se verifique uma condição; 3) Executar uma ação um número conhecido de vezes. 23

Instruções de repetição Fluxograma Pseudocódigo Falsa condição Verdadeira ação Enquanto condição executar ação Se a condição for verdadeira é executada a ação e volta-se a testar a condição. Se a condição for falsa passa-se à execução da instrução seguinte. A ação pode ser executada zero (se o teste de condição resultar falso logo da 1ª vez) ou mais vezes. 24

Instruções de repetição Fluxograma Pseudocódigo ação condição Falsa Verdadeira Repetir ação até que condição A ação é executada e, a seguir, testa-se a condição. Se a condição for falsa a ação é repetida e volta-se a testar a condição. Se a condição for verdadeira passa-se à execução da instrução seguinte. A ação 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 ação Verdadeiro Pseudocódigo Para x de A até B executar ação x = x+1 A ação é 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