Métodos de Representação de Algoritmos

Documentos relacionados
CONCEITO DE COMPUTADOR. O que é um computador?

Algoritmos e Programação

PROGRAMAÇÃO COMPUTACIONAL I

Conceitos Básicos de Algoritmos

Prof. Jorge Cavalcanti

Programação Estruturada Aula VisualG

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Capítulo 1 Conceitos Básicos

Introdução a Algoritmos (baseado no material do prof. Marcelo Linder)

I - CONCEITOS INICIAIS

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

ALGORITMOS E PROGRAMAÇÃO TEÓRICA RAÍ ALVES TAMARINDO RAI.TAMARINDO@UNIVASF.EDU.BR

ALGORITMOS AULA 1. Profª Amanda Gondim

Algoritmos e Programação

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

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

Algoritmos Computacionais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Algoritmos e Técnicas de Programação

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Seqüência finita e ordenada de procedimentos que resolvem um determinado problema. Exemplo: O que preciso fazer para preparar um omelete?

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

Introdução aos Algoritmos

Introdução aos Algoritmos

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

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

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

PSEUDO-CÓDIGO. Nickerson Fonseca Ferreira

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

ALGORITMOS AULA 2. Profª Amanda Gondim

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

Engenharia Civil. Introdução à Programação

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Noções de algoritmos - Aula 1

Pseudocódigo e Visualg

INFORMÁTICA APLICADA AULA 03 ALGORITMOS

Método para Construção de Algoritmos

Algoritmos Estrutura Condicional

01/08/2011. Tipos de dados Numéricos Alfanuméricos Lógicos. Numéricos. Tipos de dados. Dados Numéricos Inteiros. Dados Numéricos Reais.

Algoritmos e Estruturas de Dados

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

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

LINGUAGEM ALGORÍTMICA

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Algoritmo e Programação Matemática

Curso básico de JavaScript Aula 2

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Introdução à Programação. 2ª aula. Prof. José Honorato F. Nunes

Algoritmos e Programação. Noções de Lógica e Algoritmos Tarcio Carvalho

Conceitos básicos de algoritmos

Introdução à Programação. slides de Deise Sacol

Fluxograma. Símbolo Nome Descrição

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Lógica de Programação, Algoritmos e Estruturas de Dados

Introdução a Computação

Lógica de Programação: aula 2. Dariel Mazzoni Maranhão. Uninove: Universidade Nove de Julho. 22 de agosto de 2010

CONCEITOS DE ALGORITMOS

#Conceituação. Algoritmos. Eliezio Soares

Lógica de Programação Teoria. rogerioaraujo.wordpress.com - 1

Fundamentos de Programação

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage Algoritmos- continuação

Introdução ao Conceito de Algoritmo e Programação Estruturada

3. Tipos de dados e variáveis

Português Estruturado

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

Algoritmos Computacionais

Técnicas de Programação

Expressões, Atribuições, Entrada e Saída. Givanaldo Rocha

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian

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

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

ALGORITMOS E ESTRUTURA DE DADOS

INTRODUÇÃO À PROGRAMAÇÃO

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

LÓGICA DE PROGRAMAÇÃO

Fluxograma. Símbolo Nome Descrição

Lógica de Programação

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

O que é Sintaxe e Semântica? Sintaxe e Semântica. O que é Sintaxe e Semântica? Sintaxe e Semântica. Instruções Primitivas

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas

Algoritmos e Programação

Transcrição:

Métodos de Representação de Algoritmos Contudo, quando falamos em algoritmo sob o enfoque computacional, como já foi mencionado, não podemos utilizar uma descrição narrativa para representar um algoritmo. Sendo assim, veremos dois métodos para representação de algoritmos: fluxograma representação gráfica; pseudocódigo (português estruturado) representação textual. 18

Métodos de Representação de Algoritmos Os métodos em questão impõem regras e disponibilizam um conjunto reduzido de palavras/símbolos passiveis de serem utilizados (rigidez sintática). O objetivo é obter uma consistência semântica para a eliminação da ambiguidade intrínseca à linguagem natural. Destacaremos agora uma vantagem e uma desvantagem de cada uma das formas mencionadas, de representação de algoritmos. 19

Métodos de Representação de Algoritmos Fluxograma: Vantagem a representação gráfica é mais concisa que a representação textual. Desvantagem é necessário aprender a simbologia dos fluxogramas. 20 Pseudocódigo: Vantagem sua transcrição para qualquer linguagem de programação é quase que direta. Desvantagem é necessário aprender as regras de construção de um pseudocódigo.

Métodos de Representação de Algoritmos Solução do problema de trocar a resistência de um chuveiro resolvido com um algoritmo representado em pseudocódigo. Conforme foi mencionado são impostas regras e é definido um número restrito de ações. Neste caso as ações disponíveis são: pegar, largar, abrir, fechar, retirar e colocar. Descrição Narrativa Adquira uma resistência nova e localize o chuveiro a ser manipulado. Em seguida abra o chuveiro retirando a resistência defeituosa, coloque a resistência nova e feche o chuveiro. Após descarte a resistência defeituosa. Pseudocódigo 1. Pegar (resistência nova); 2. Pegar (chuveiro); 3. Abrir (chuveiro); 4. Retirar (resistência defeituosa); 5. Colocar (resistência nova); 6. Fechar (chuveiro); 7. Largar (resistência defeituosa). 21

Métodos de Representação de Algoritmos Solução do problema de trocar a resistência de um chuveiro resolvido com um algoritmo representado em fluxograma. Conforme foi mencionado são impostas regras e é definido um número restrito de ações/símbolos. Neste caso as ações disponíveis e os símbolos a elas associados são: pegar <=> largar <=> fechar <=> abrir <=> 22 colocar <=> retirar <=>

Métodos de Representação de Algoritmos Fluxograma Descrição Narrativa Adquira uma resistência nova e localize o chuveiro a ser manipulado. Em seguida abra o chuveiro retirando a resistência defeituosa, coloque a resistência nova e feche o chuveiro. Após descarte a resistência defeituosa. chuveiro resistência nova resistência defeituosa Ações/Símbolos chuveiro chuveiro 23 resistência defeituosa resistência nova

Antes de nos aprofundarmos nos métodos de representação de algoritmos, devemos ter de forma clara a compreensão de alguns conceitos como: Constante; Variável; Identificador; Palavra-reservada; Entrada; Saída; Operadores. 24

Para uma melhor compreensão dos conceitos citados, analisaremos o problema de preparar uma omelete. Partiremos da lista de ingredientes: 5 ovos 1/3 de uma xícara de chá de leite 2 colheres de sopa de cebolinha verde picada 3 pitadas de sal 1 colher de sopa de manteiga 25

O procedimento de preparo, em linguagem natural, é o seguinte: Colocar em uma tigela os ovos, o leite, a cebolinha e o sal. Com a ajuda de uma espátula bater bem os ingredientes contidos na tigela. Colocar a manteiga em uma frigideira e a derreter. Colocar o conteúdo da tigela na frigideira e fritar em fogo baixo até a omelete dourar suavemente. Quando estiver quase seca, dobrar a omelete ao meio, colocar a omelete em um prato. A omelete está pronta para servir. 26

Ao analisarmos o procedimento de preparo percebemos que são necessários três recipientes: uma tigela, uma frigideira e um prato, além de uma espátula. Podemos visualizar os recipientes como variáveis, pois estes são regiões do espaço onde pode-se armazenar inúmeras substâncias. A espátula pode ser visualizada como uma constante devido a esta representar um objeto que participa do processo de preparo da omelete e que ao final se mantém inalterado. 27

Percebemos também que são executadas algumas operações: colocar, bater, derreter, fritar, dobrar e servir. Os nomes dos recipientes e os verbos correspondentes às ações podem ser visualizados como identificadores, uma vez que estes especificam o que será manipulado ou como será manipulado. Uma observação a ser feita é o fato de não podermos nomear um recipiente com um verbo correspondente a uma ação utilizada no processo, logo os verbos podem ser considerados como palavras-reservadas. Os ingredientes constituirão as entradas para o processo e a omelete será a saída. 28

Nosso objetivo final com o estudo de algoritmos é a aplicação computacional dos mesmos. Desta forma, devemos contextualizar os conceitos vistos. Definiremos quais serão as entradas possíveis para os procedimentos que virão a constituir soluções de futuros problemas e especificaremos quais as formas de manipulação das mesmas. 29

Conceitos básicos de algoritmos Arquitetura de John Von Neumann 30

Constante São Valores fixos, tais como números. Estes valores não podem ser alterados pelas instruções do algoritmo, ou seja, é um espaço de memória cujo valor não deve ser alterado durante a execução de um algoritmo. Exemplos: inteiro (10, -23768) real (-2.34, 0.149) caractere ( a, professor ) 31

32 Conceitos Básicos de Algoritmos Variável é um espaço de memória que recebeu um nome (identificador) e armazena um valor que pode ser modificado durante a execução do algoritmo. Identificadores são os nomes utilizados para referenciar variáveis, funções ou vários outros objetos definidos pelo construtor do algoritmo. letras, dígitos e sublinhado(_); não podem começar com dígito; não podem ser iguais a uma palavra-reservada e nem iguais a um nome de uma função declarada pelo construtor do algoritmo ou disponibilizada pelo método utilizado para construção de algoritmos.

Palavras-reservadas (palavras-chave) são identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo. inicio senao para repita var logico se ate faca inteiro enquanto real 33

34 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas do tipo real, ou seja, com casas decimais Palavra-reservada: caractere - define variáveis do tipo string, ou seja, cadeia de caracteres Palavra-reservada: logico - define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO

DECLARAÇÃO DE VARIÁVEIS Palavra-reservada: var - utilizada para iniciar a seção de declaração de variáveis Exemplos: var a: inteiro nome_do_aluno: caractere sinalizador: logico Valor1, Valor2: real Obs.: Sensível ao caso. 35

Durante a execução de determinadas tarefas ou durante a execução de um processo para obtenção da solução de um determinado problema são necessários alguns dados e ao final deve-se retornar uma saída. Da mesma forma, em alguns algoritmos tornamse necessários mecanismos que possibilitem uma interface com o ambiente externo, ou seja, são necessários comandos que possibilitem a entrada e saída de dados. 36

37 Entrada de dados Palavra-reservada: leia - utilizada para receber dados externos ao algoritmo e armazená-los na memória, ou melhor, em variáveis. Exemplos: Conceitos Básicos de Algoritmos... var a: inteiro b: real... leia(a) leia(b, a)...

Entrada de Dados Tecnicamente podemos utilizar a seguinte definição: O comando de entrada de dados leia possui a sintaxe leia (<lista-de-variáveis>) Onde este recebe valores digitados pelo usuário, atribuindo-os às variáveis cujos nomes estão em <lista-de-variáveis> (é respeitada a ordem especificada nesta lista). 38

39 Saída de dados Palavra-reservada: escreva - utilizada para externar (enviar para o monitor) dados gerados pelo algoritmo. Exemplos:... var x: inteiro y: caractere... escreva l(y) escreva (x,y) escreva ( Inteiro:, x-2) escreva( Estudou e se dedicou tirou, 10)...

40 Conceitos Básicos de Algoritmos Saída de Dados Tecnicamente podemos utilizar a seguinte definição: O comando de saída de dados escreva possui a sintaxe escreva (<lista-de-expressões>) Onde este escreve no dispositivo de saída padrão (monitor) o conteúdo de cada uma das expressões que compõem <lista-deexpressões>. As expressões dentro desta lista devem estar separadas por vírgulas; depois de serem avaliadas, seus resultados são impressos na ordem indicada.

41 Conceitos Básicos de Algoritmos Saída de dados É possível especificar o número de colunas da tela que se deseja reservar para escrever um determinado valor. Por exemplo, considerando uma variável inteira x, o comando escreva (x:5) escreve o valor da variável x em 5 colunas, alinhado-o à direita. Para variáveis reais, pode-se também especificar o número de casas fracionárias que serão exibidas. Por exemplo, considerando y como uma variável real, o comando escreva(y:6:2), escreve seu valor em 6 colunas colocando 2 casas decimais.

Conceitos básicos de algoritmos Operador de Atribuição <- Exemplo: var a: inteiro valor1, valor2: real... A <- 5 Valor1 <- 3.14 valor2 <- valor1 escreva(valor2)... 42