Formas de representar um algoritmo

Documentos relacionados
Estrutura de Dados Algoritmos

Algoritmos e Programação

Como representar um algoritmo?

Unidade 1 Conceitos básicos

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Algoritmos e Programação

Sintática: como é escrito cada elemento da linguagem de programação.

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

Algoritmos e Programação

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

Programação em C. Victor Amorim dos Santos

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

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

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

SSC304 Introdução à Programação Para Engenharias

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Portugol. Tiago Alves de Oliveira

ALGORITMO: FASE 1 PARTE 1

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

INTRODUÇÃO À PROGRAMAÇÃO

Linguagem de Descrição de algoritmos

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

Lógica de Programação

Conceitos e Representação de Algoritmos

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

Introdução a Computação

Algoritmos e Programação

Lógica e Linguagem de Programação Aula 01 - Introdução Exercícios 01 - Respostas Professor: Danilo Giacobo

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

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

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

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Algoritmos e Programação

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

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

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

Curso Superior de Análise e Desenvolvimento de Sistemas. Disciplina: : Algoritmo 2009 / 1

Prof. Jorge Cavalcanti

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

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

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

1. ALGORITMOS. São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados aqui:

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

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

2. Criação de Algoritmos

Programação de Computadores III

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Introdução aos Algoritmos

LÓGICA DE PROGRAMAÇÃO 1

Introdução à Computação

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

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

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

Programação de Computadores:

Introdução aos Algoritmos

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

Desenvolvimento de programas

Sistema Computacional

CMP Algoritmos Algoritmos - Introdução Geral. Professor Vicente Paulo de Camargo

Linguagem e Ambiente Scratch. Introdução à Laboratório Prof.Alfredo Parteli Gomes

Capítulo 1 - Lógica e Algoritmos

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

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

Algoritmos. Laura Goulart. 11 de Dezembro de 2018 UESB. Laura Goulart (UESB) Algoritmos 11 de Dezembro de / 12

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica

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

1 ESTRUTURA SEQUENCIAL

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

Noções de algoritmos - Aula 1

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

Programação de Computadores III

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

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

Técnicas de Programação

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

$XOD.,1752'8d 2 $2 &21&(,72 '( $/*25,702 ( 352*5$0$d 2 ( $'$

Algoritmos e Programação

Algoritmos e Linguagem de Programação I

Linguagens de Programação I. Introdução a Algoritmos e Lógica de Programação

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

FLUXOGRAMA. Nickerson Fonseca Ferreira

Fluxogramas e variáveis

Pseudocódigo e Visualg

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

ESTRUTURA CONDICIONAL E SELEÇÃO

Introdução à Programação

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Introdução à Programação

OFICINA DA PESQUISA. Prof. Msc. Carlos José Giudice dos Santos

I - CONCEITOS INICIAIS

Estruturas de Repetição

Capítulo 2 Introdução à Programação

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

Programação I Apresentação

ALGORITMOS AULA 1. Profª Amanda Gondim

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

Algoritmos. 1 - Introdução à construção de Algoritmo pode ser definido como um conjunto finito de regras bem

Transcrição:

Algoritmos e Lógica de Programação Construção de Algoritmos Conceitos Introdutórios Reinaldo Gomes reinaldo@cefet-al.br Como representar um algoritmo? Algoritmos podem ser representados, dentre outras maneiras, por: DESCRIÇÃO NARRATIVA Utiliza uma linguagem de escrita natural para descrever algoritmos FLUXOGRAMA (DIAGRAMA DE MÓDULOS) Utiliza uma linguagem de representação gráfica para descrever algoritmos LINGUAGEM ALGORÍTMICA (PSEUDO-CÓDIGO) Utiliza uma linguagem de escrita artificial para descrever algoritmos 1

Exemplo: Algoritmo para converter uma temperatura em Fahrenheit para Celsius Descrição narrativa do algoritmo Fahrenheit-Celsius Solicite a temperatura em Fahrenheit Transforme a temperatura em Fahrenheit para Celsius Informe a temperatura em Celsius Exemplo: Algoritmo para converter uma temperatura em Fahrenheit para Celsius Fluxograma 2

Exemplo: Algoritmo para converter uma temperatura em Fahrenheit para Celsius Linguagem Algorítmica (Pseudo-Código) Algoritmo Fahrenheit-Celsius Real: Fahrenheit, Celsius; Início Ler (Fahrenheit); Celsius -> 5/9 * (Fahrenheit 32); Escrever (Celsius); Fim Ferramentas Fluxograma (Principais Símbolos) Início Indica o ponto onde começa o algoritmo. Não é codificado em forma de comando. Ler X,... Y Indica operação de leitura ou entrada dos dados para os locais chamados X,..., Y na memória do computador. Z = Expressão Indica operação aritmética ou cálculo de uma fórmula. 3

Ferramentas - Fluxograma (Principais Símbolos) < Comparar > Z com W = Indica comparação de um valor com outro. Conforme o resultado desta comparação, um dos três caminhos diferentes será seguido nesse algoritmo. Z :: W? Não Sim Indica verificação ou comparação em forma de pergunta, podem ocorrer uma das respostas Sim ou Não. O sinal :: pode ser =, <>, >, <, etc. Ferramentas - Fluxograma (Principais Símbolos) N Conectivo que indica o local para onde o fluxo do algoritmo deve ser desviado, onde N é um número natural seqüencial, iniciando com o valor 1 (um). Escrever Z Indica operação de saída ou impressão do valor Z numa linha da impressora. Pare ou Fim Indica o ponto onde o algoritmo suspende a execução de comando(s) ou seu fim. 4

Ferramentas Linguagem Algorítmica (Pseudo-Código) A forma geral de um algoritmo em pseudo-código : Algoritmo <nome_do_algoritmo> [<declaração_de_variáveis>] [<sub-algoritmos>] Início <corpo_do_algoritmo> Fim. Ferramentas Linguagem Algorítmica (Pseudo-Código) Algoritmo Indica o início da definição do algoritmo <nome_do_algoritmo> Nome dado ao algoritmo para distinguí-lo dos demais [<declaração_de_variáveis>] Parte opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos 5

Ferramentas Linguagem Algorítmica (Pseudo-Código) [<subalgoritmos>] Parte opcional onde são definidos os sub-algoritmos Início Palavra que delimita o início do corpo do algoritmo <corpo_do_algoritmo> Fim Conjunto de instruções do algoritmo Palavra que delimita o término do corpo do algoritmo Comparação Descrição Fluxograma Linguagem Algorítmica Narrativa Solicite a temperatura em Fahrenheit. Transforme de Fh Fahrenheit hit para Celsius. Informe a temperatura em Celsius Algoritmo Fahrenheit-Celsius Real: Fahrenheit, Celsius; Início Ler (Fahrenheit); Celsius 5/9 * (Fahrenheit h 32); Escrever (Celsius); Fim 6

Comparação Vantagens Desvantagens Descrição O português é bastante conhecido Imprecisão; Narrativa por nós. Pouca confiabilidade (a imprecisão acarreta a desconfiança); Extensão (normalmente, escreve-se muito para dizer pouca coisa). Fluxograma Padrão mundial; Ferramenta bem conhecida; Figuras dizem muito mais que palavras; Complica-se à medida que o algoritmo cresce; Pouca atenção aos dados, não oferecendo recursos para declará-loslos Linguagem Algorítmica Independência de linguagem de programação; Usa o português como base; Define-se melhor quais e como os dados vão estar estruturados; Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. Exige a definição de uma linguagem não real para trabalho; Não é padronizada. Construindo Algoritmos Uma boa prática para construir algoritmos é dividir o problema em 3 fases (Entrada, Processamento e Saída) ENTRADA: São os dados d de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados 7

Construindo Algoritmos No algoritmo Fahrenheit-Celsius temos ENTRADA: Temperatura em Fahrenheit PROCESSAMENTO: Celsius = 5/9 *(Fahrenheit 32) SAÍDA: Temperatura em Celsius Num algoritmo para calcular a área de um triângulo temos ENTRADA: Base e Altura do triângulo PROCESSAMENTO: Área = (Base * Altura)/2 SAÍDA: Área Construindo Algoritmos Dividir o problema em Entrada, Processamento e Saída irá ajudá-lo a ordenar corretamente as instruções do seus algoritmos Por isso, antes de construir um algoritmo, pare para pensar e identificar: Quais dados preciso para começar? Entrada Quais são os cálculos e decisões? Processamento Quais dados devem ser exibidos? Saída 8

Programação Estruturada Problema: Nos primórdios da programação os programas eram desenvolvidos de forma intuitiva Neste tipo de abordagem era comum o uso de desvios incondicionais (vá para/goto) para codificação das soluções Porém a abordagem intuitiva falha quando os programas são grandes e complicados Programação Estruturada Problema: Nos primórdios da programação os programas eram desenvolvidos de forma intuitiva Neste tipo de abordagem era comum o uso de desvios incondicionais (vá para/goto) para codificação das soluções Porém a abordagem intuitiva falha quando os programas são grandes e complicados 9

Programação Estruturada Algoritmo UmExemploNãoEstruturado; Inicio Escreva( Início do programa ); Vá Para Marca; {ou GOTO Marca} //Isso nunca será executado! Escreva( Meio do programa ); Marca; {continua a partir daqui} Escreva ( Fim do programa ); Fim. Desvio Incondicional Programação Estruturada Como resolver esse tipo de problema? Nos anos 70 surgiu a programação estruturada como solução destes problemas Programação estruturada (Algoritmo Estruturado) É a arte ou técnica de construir e formular algoritmos de forma sistemática ". Niklaus Wirth (Pai do PASCAL) Objetivos: Facilitar a escrita, leitura e compreensão dos programas; Permitir a verificação/testes a priori dos programas; Facilitar a manutenção dos programas. Possibilitar o desenvolvimento em equipe Reduzir a complexidade 10

Exercício Identifique a entrada, o processamento e a saída dos problemas abaixo Calcular e exibir a média ponderada de 2 notas dadas. (nota1= peso 6 e nota2= peso 4) Reajustar um salário em 17,75% Calcular o desconto de 23% sobre o preço de um produto Dada uma taxa de câmbio, transformar um valor em Dólar para Reais Dada uma taxa de câmbio, transformar um valor em Reais para Dólar Algoritmos e Lógica de Programação Construção de Algoritmos Conceitos Introdutórios Reinaldo Gomes reinaldo@cefet-al.br 11