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

Documentos relacionados
Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Conteúdo programático

SUMÁRIO PARTE I - INTRODUÇÃO... 8

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

Fundamentos de Programação. Diagrama de blocos

Expressões Lógicas e Aritméticas. Professora Kátia Adriana Alves Leite de Barros katia.barros@pitagoras.com.br

Introdução à Informática

PROGRAMAÇÃO DE COMPUTADORES

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Algoritmo e Pseudo-código

Unidade 1: O Computador

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Comandos de Desvio 1

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

INF1005: Programação I. Algoritmos e Pseudocódigo

Orientação a Objetos

Introdução à orientação a objetos

Inteligência Artificial

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

FESP FACULDADE DE ENGENHARIA SÃO PAULO DISCIPLINA BP1: PROCESSAMENTO DE DADOS

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

10. CPU (Central Processor Unit) Conjunto das instruções Estrutura interna Formato das instruções...

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

2 Segmentação de imagens e Componentes conexas

2. ALGORITMOS. Unesp Campus de Guaratinguetá

Flávia Rodrigues. Silves, 26 de Abril de 2010

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS

MODELO SUGERIDO PARA PROJETO DE PESQUISA

Estruturas de Repetição

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Programação Orientada a Objetos SANTOS, Rafael

Fundamentos de Teste de Software

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS

Análise de Processos. Por José Luís Carneiro

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

T.I. para o DealerSuite: Servidores Versão: 1.1

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

EGEA ESAPL - IPVC. Resolução de Problemas de Programação Linear, com recurso ao Excel

Aula 11: Desvios e Laços

EDITAL DE SELEÇÃO PARA MESTRADO 2016 PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO (UNIFEI)

Sistemas Distribuídos

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Arquitecturas de Software Enunciado de Projecto

1 Circuitos Pneumáticos

com Utilização do Código de Barras VERSÃO 04

BC-0505 Processamento da Informação

Manual Remessa Bancária

Introdução a Algoritmos Parte 04

4 Sistema Computacional:

MANUAL HAE - WEB MANUAL WEB HAE

Manual Recálculo de Custo Médio

Engenharia de Software II

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

Manual SAGe Versão 1.2

Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Arquitetura de von Neumann

Programação de Computadores I. Linguagem C Função

Manual do Usuário (Firma Inspetora) Versão 1.8. CMCP - Controle da Marcação Compulsória de Produtos

Sistemas Numéricos. Tiago Alves de Oliveira

Gestão Documental. Gestão Documental

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

ELABORAÇÃO DE TRABALHOS ACADÊMICOS: NORMAS PARA APRESENTAÇÃO

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

VII SENABOM TEMA: O REGISTRO ELETRÔNICO DE EVENTOS (RE) Apresentado por: Ten Cel BM Flávio Rocha - CBMERJ

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

DOCUMENTO DE REQUISITO DE SOFTWARE

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

BALANÇO PATRIMONIAL AMBIENTAL - EXERCÍCIO COMENTADO Prof Alan

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

COBRANÇA BANCÁRIA CAIXA

Tutorial do aluno Ambiente Virtual de Aprendizagem (AVA) Rede e-tec Brasil

MANUAL DO PUBLICADOR

Análise Qualitativa no Gerenciamento de Riscos de Projetos

Como utilizar a tecnologia a favor da sua central de atendimento

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

Introdução à Programação de Computadores Parte I

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Aula 03. Processadores. Prof. Ricardo Palma

LEUCOTRON EQUIPAMENTOS LTDA ROTEIRO DE INTERLIGAÇÃO SIP ACTIVE IP COM REGISTRO

0.1 Introdução Conceitos básicos

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

MÓDULO 2 Topologias de Redes

Banco de Dados I. Prof. Edson Thizon

Prova de Fundamentos de Bancos de Dados 1 a Prova

OPERAÇÕES COM FRAÇÕES

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

Algoritmos e Programação II

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

Disciplina: Unidade III: Prof.: Período:

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

ÁREA DO PROFESSOR (TUTOR)

Transcrição:

Processamento de Dados aplicado à Geociências 1 AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CURSO SUPERIOR DE TECNOLOGIA EM GEOPROCESSAMENTO Professor: Guilherme Tomaschewski Netto guilherme.netto@inf.ufpel.edu.br

2 Algoritmos computacionais Um algoritmo computacional é um algoritmo que pode ser executado por um computador. Para isso, este algoritmo tem que ser escrito em uma linguagem conhecida pelo computador Um programa é um algoritmo computacional descrito em uma linguagem de programação.

3 Algoritmos computacionais Uma linguagem de programação contém os comandos que fazem o computador escrever algo na tela realizar cálculos aritméticos receber uma entrada de dados via teclado e outras coisas, mas estes comandos precisam estar em uma ordem lógica.

4 Algoritmos computacionais Podemos extrair dois componentes básicos de um algoritmo computacional: Dados: valores (números, nomes, etc.) que precisamos para resolver o problema, Código: conjunto de comandos que usaremos para manipular os dados

5 Representação de Algoritmos Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas Algumas formas de representação de algoritmos tratam dos problemas apenas em nível lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com alguma linguagem de programação específica Por outro lado, existem formas de representação de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer a idéia principal, o algoritmo, dificultando seu entendimento

6 Representação de Algoritmos Dentre as formas de representação de algoritmos mais conhecidas, sobressaltam: Descrição Narrativa Fluxograma Convencional Diagrama de Chapin Pseudocódigo, também conhecido como Português Estruturado ou Portugol Linguagem de Programação

7 Descrição Narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Exemplo Receita de Bolo: Providencie manteiga, ovos, 2 Kg de massa, etc Misture os ingredientes Despeje a mistura na fôrma de bolo Leve a fôrma ao forno Espere 20 minutos Retire a fôrma do forno Deixe esfriar Prove

8 Descrição Narrativa Esta representação é pouco usada na prática porque o uso de linguagem natural muitas vezes dá oportunidade a más interpretações, ambiguidades e imprecisões Linguagem natural: é ambígua Ex: João observa a casa em cima do morro.

9 Descrição Narrativa Desvantagens imprecisão pouca confiabilidade (a imprecisão acarreta a desconfiança) extensão (normalmente, escreve-se muito para dizer pouca coisa)

10 Fluxograma Os Fluxogramas ou Diagramas de Fluxo, são uma representação gráfica que utilizam formas geométricas padronizadas ligadas por setas de fluxo, para indicar as diversas ações (instruções) e decisões que devem ser seguidas para resolver o problema em questão. Eles permitem visualizar os caminhos (fluxos) e as etapas de processamento de dados possíveis e, dentro destas, os passos para a resolução do problema.

Fluxograma 11

Fluxograma 12

13 Fluxograma Descrição Textual Calcular a média aritmética de duas notas de um aluno e exibir a mensagem de APROVADO caso a média seja maior ou igual a 7 ou a mensagem REPROVADO caso a média seja menor que 7

14 Diagrama de Chapin O diagrama foi criado por Ned Chapin a partir de trabalhos de Nassi-Shneiderman, os quais resolveram substituir o fluxograma tradicional por um diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa. A grande vantagem de usar este tipo de diagrama é a representação das estruturas que tem um ponto de entrada e um ponto de saída e são compostas pelas estruturas básicas de controle de sequência, seleção e repartição.

15 Diagrama de Chapin Descrição Textual Calcular a média aritmética de duas notas de um aluno e exibir a mensagem de APROVADO caso a média seja maior ou igual a 7 ou a mensagem REPROVADO caso a média seja menor que 7

16 Pseudocódigo Também conhecida como português estruturado ou portugol Bastante rico em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação Representação suficientemente geral para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta

17 Pseudocódigo Descrição Textual Calcular a média aritmética de duas notas de um aluno e exibir a mensagem de APROVADO caso a média seja maior ou igual a 7 ou a mensagem REPROVADO caso a média seja menor que 7 Algoritmo Declare N1,N2,M Numerico Leia N1,N2 M := (N1+N2)/2 Se M >= 7 então Escreva Aprovado senão Escreva Reprovado fim_se fim_algoritmo

18 Pseudocódigo Vantagens Independência física da solução (solução lógica apenas) Usa o português como base Pode-se definir quais e como os dados vão estar estruturados Passagem quase imediata do algoritmo para uma linguagem de programação qualquer Desvantagens Exige a definição de uma linguagem não real para trabalho Não padronizado

19 Sintaxe Os algoritmos aqui estudados serão algoritmos computacionais, listas de comandos a serem executados por um computador. Para que o computador consiga executa-los ele deve conhecer a terminologia utilizada. Ao conjunto de comandos que fazem parte de uma linguagem de programação chama-se sintaxe da linguagem de programação.

20 Sintaxe A sintaxe apresentada progressivamente nos algoritmos aqui estudados pode ser chamada de português estruturado e os algoritmos nela desenvolvidos podem ser facilmente adaptáveis as diversas linguagens de programação existentes.

21 Sintaxe A forma geral de um algoritmo é dada por: Algoritmo { lista-de-comandos } fim_algoritmo

22 Palavras reservadas São palavras de controle para uso no algoritmo. Nas linguagens de programação as palavras reservadas fazem parte da gramática da linguagem. Em português estruturado as palavras algoritmo e fim_algoritmo são palavras reservadas com a finalidade de marcar o início e o fim do algoritmo, respectivamente.

23 Armazenamento de Dados Os dados de um algoritmo podem ser constantes que não têm o seu valor mudado ao longo do tempo ou variáveis, que como o próprio nome sugere, podem sofrer modificações ao longo do tempo.

24 Constantes Uma constante é uma informação que não sofre nenhuma alteração no decorrer do tempo. Consideramos aqui três tipos de constantes: Numéricas: reais ou inteiros, positivos ou negativos. Ex. 5, -4, 9.5 Literais (caractere, string): sequências de letras, números e símbolos especiais, delimitados por aspas. Ex: Algoritmo, 2011. Lógicas (booleanas): assumem somente dois valores, Verdadeiro e Falso. Normalmente utilizadas em testes de algoritmos.

25 Variáveis Entende-se por variável tudo aquilo que está sujeito a variações, ou seja, é um valor que pode ser alterado em um algoritmo. Uma variável possui três atributos básicos: um nome, um tipo de dado associado e a informação por ela guardada.

26 Variáveis Nome: deve começar por uma letra e pode conter letras ou dígitos. Ex: Nota, Nota1 Deve-se utilizar nomes de variáveis que tenham sentido (Mnemônicos) para facilitar a legibilidade do algoritmo. Tipo: assim como as constantes as variáveis também podem ser de três tipos: numéricas, lógicas ou literais. Informação: é o valor da variável, constantemente sujeito a mudanças na execução do algoritmo.

27 Variáveis As variáveis podem ter seu valor alterado no decorrer do tempo, porém não o seu tipo (numérico, literal ou lógico)

28 Declaração de variáveis Serve para listar os elementos que são usados no algoritmo e seu tipos. Para usar uma variável ela deve ser declarada (criada) no início do algoritmo, para que o computador conheça todos os detalhes sobre ela: nome e tipo

29 Declaração de variáveis O formato do comando de declaração é: Declare <lista de identificadores> <tipo das variáveis> Ex: Declare Nota Numérico Declare Teste Lógico Declare Nome Literal

30 Declaração de variáveis Assim, a forma geral de um algoritmo passa a ser: algoritmo { declarações } { lista de comandos} fim_algoritmo

31 Declaração de variáveis Algoritmo { declarações } { lista de comandos} fim_algoritmo Algoritmo Declare N1,N2,M Numerico Leia N1,N2 M := (N1+N2)/2 Se M >= 7 então Escreva Aprovado senão Escreva Reprovado fim_se fim_algoritmo

32 Expressões Em uma expressão, um conjunto de variáveis e constantes relacionam-se por meio de operadores compondo uma fórmula que, uma vez avaliada, resulta num valor. De acordo com os tipos que resultam de suas avaliações, as expressões podem ser: Aritméticas; Lógicas; Literais.

33 Expressões aritméticas O resultado da avaliação é do tipo numérico. Uma expressão aritmética deve apresentar uma sintaxe bem definida para que possa ser avaliada pelo algoritmo. A precedência indica a ordem em que os operadores serão avaliados em uma expressão, sendo relevante para o resultado da operação.

34 Operadores e Precedência Operações Aritméticas

35 Expressões aritméticas Da matemática: se houverem duas operações de mesma prioridade para serem efetuadas, a ordem de execução é da esquerda para a direita. a ordem de execução das operações em uma expressão pode ser alterada com o uso de parênteses. em uma expressão com parênteses, em primeiro lugar são efetuadas as operações entre parênteses.

36 Expressões aritméticas Exemplos: A*3 A+B A+B*3 (A+B)*3 A/3*4 A/(3*4) A**2

37 Funções Funções pré-definidas

38 Funções Exemplos: LOG(1000) = 3 LN(7.3891) = 2 EXP(2) = 7.3891 ABS(-10) = 10 ARREDONDA(5.48) = 5 ARREDONDA(5.67) = 6 TRUNCA(5.67) = 5 SINAL(-5) = -1 SINAL(10) = 1 SINAL(0) = 0 QUOCIENTE(13,5) = 2 RESTO(13,5) = 3

39 Expressões lógicas Expressões lógicas são expressões que avaliadas resultam em um valor lógico (verdadeiro ou falso). Assim como as expressões aritméticas elas também dispõem de um conjunto de operadores, símbolos e prioridades. Os operadores são divididos em operadores relacionais e operadores lógicos.

40 Operadores Relacionais Operadores relacionais atuam sobre operandos numéricos mas resultam em valores lógicos.

41 Operadores Lógicos Operadores lógicos atuam sobre valores lógicos e resultam em valores lógicos

42 Regras de Avaliação Deve-se observar a prioridade dos operadores, conforme mostrado nas tabelas de operadores: operadores de maior prioridade devem ser avaliados primeiro. Se houver empate com relação à precedência, então a avaliação se faz da esquerda para a direita. Os parênteses usado em expressões tem prioridade sobre os demais operadores, forçando a avaliação da subexpressão em seu interior.

43 Regras de Avaliação Entre os grupos de operadores, há uma certa prioridade de avaliação: os aritméticos devem ser avaliados primeiro; a seguir, são avaliadas as subexpressões com operadores relacionais e, por último os operadores lógicos são avaliados.

44 Exemplo Se A = 1, B = 2 e C = 2 qual o resultado da avaliação da expressão seguinte? A + B = 0 E C <> 0

45 Exemplo Se A = 1, B = 2 e C = 2 qual o resultado da avaliação da expressão seguinte? A + B = 0 E C <> 0 3 = 0 E C <> 0

46 Exemplo Se A = 1, B = 2 e C = 2 qual o resultado da avaliação da expressão seguinte? A + B = 0 E C <> 0 3 = 0 E C <> 0 Falso E Verdadeiro

47 Exemplo Se A = 1, B = 2 e C = 2 qual o resultado da avaliação da expressão seguinte? A + B = 0 E C <> 0 3 = 0 E C <> 0 Falso E Verdadeiro Falso

48 Operadores Literais Os operadores que atuam sobre caracteres variam muito de uma linguagem para outra. O operador mais comum e mais usado é o operador que faz a concatenação de strings: toma-se duas strings e acrescenta-se (concatena-se) a segunda ao final da primeira. O operador que faz esta operação é: + Por exemplo, a concatenação das strings ALGO e RITMO é representada por: ALGO + RITMO e o resultado de sua avaliação é: ALGORITMO

49 Exercícios Lista de exercícios 1