Algoritmos e Programação de Computadores Disciplina:

Documentos relacionados
INTRODUÇÃO À PROGRAMAÇÃO

Conceitos e Representação de Algoritmos

Algoritmos e Programação

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

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

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.

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

Programação Básica de Computadores

Algoritmos e Técnicas de Programação

Algoritmos e Linguagem de Programação I

Ivanovitch Medeiros Dantas da Silva. Natal, 01 de setembro de 2011

4 Introdução ao Algoritmo

Introdução à Computação

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

#Conceituação. Algoritmos. Eliezio Soares

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

ALGORITMOS AULA 1. Profª Amanda Gondim

Pseudocódigo e Visualg

Introdução à Programação. Ceça Moraes

Desenvolvimento de Algoritmos. RAD 2119 Tecnologia de Informação Aplicada a Administração. Essa aula. Lógica e Pensamento Lógico. Lógica.

Lógica de Programação I

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

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

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

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

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

Aula 02. Algoritmos e Pseudocódigo

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Algoritmos e Programação. Ederson Luiz da Silva Ciência da Computação

Introdução a algoritmos. Prof.: Jesus

Lógica de Programação Lógica, Conceitos; Fluxo de Controle

Lógica de Programação. Capítulo 1. Introdução. Lógica de Programação. Forbellone / Eberspacher. Introdução

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

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

Revisão Histórico das Linguagens de Programação

CONCEITO DE ALGORITMO

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

Algoritmos. Prof. Jonatas Bastos Site:

Algoritmos e Programação. Ederson Luiz da Silva Ciência da Computação

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 1 - Introdução Cleverton Hentz

Algoritmos e Programação

Desenvolvimento de algoritmos Desenvolvimento de Algoritmos

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

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

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. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

ALP Algoritmos e Programação

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

Programação de Computadores III

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

Programação em C. Victor Amorim dos Santos

Introdução à Programação

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Aula 02 ALGORITMOS. Introdução à Computação

Algoritmo. Conjunto finito de instruções que permitem a realização de uma tarefa. 2.1: Introdução 2. ALGORITMOS

Algoritmo. pegar uma escada; posicionar embaixo da lâmpada; buscar uma lâmpada nova; ligar o interruptor; se a lâmpada não acender, então:

Computação I: Representações de Algoritmos

Algoritmos I Aula 2 Lógica de Programação

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

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

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

Algoritmos e Técnicas de programação. Professora: Luciana Faria

Unidade 2: Algoritmos e programação

Aula 2 - Introdução Cleverton Hentz

CONCEITO DE COMPUTADOR. O que é um computador?

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

Programação em C. Victor Amorim dos Santos

Seguindo Instruções. Linguagens de Programação Algoritmos. Introdução à Ciência da Computação. Prof. Edison Ishikawa

Computadores = cérebros eletrônicos?

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

Algoritmos e Fluxogramas

Lógica de Programação

ALGORITMOS ALGORITMOS ALGORITMOS. Natureza dos passos. Apresentação das Estruturas de Algoritmos - Fluxograma

Capítulo 1 - Lógica e Algoritmos

Capítulo 1 Conceitos Básicos

Linguagem de Programação I. Aula 02 Algoritmos

Unidade 1 Conceitos básicos

Lógica de Programação

Algoritmos I Aula 3 Resolução de Problemas (Fluxogramas)

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Introdução aos Algoritmos

Programação em C. Victor Amorim dos Santos

Programação para Games I

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

Introdução aos Algoritmos

ALGORITMO: FASE 1 PARTE 1

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

CONCEITOS DE ALGORITMOS

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

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

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

Técnicas de Programação

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

Programação de Computadores:

Linguagem Computacional. Algoritmos e Programação Parte 1. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves. Sumário

Transcrição:

Algoritmos e Programação de Computadores Disciplina: 113476 Profa. Carla Denise Castanho Universidade de Brasília UnB Instituto de Ciências Exatas IE Departamento de Ciência da Computação CIC

3. REPRESENTAÇÃO DE ALGORITMOS

Lógica u Lógica: u Relaciona-se com a razão, investiga a correção do pensamento/raciocínio, ou seja, quais operações são válidas ou não. u Estuda e ensina a colocar ordem no pensamento.

Algoritmo u Algoritmo: u É uma sequência finita de passos para realizar uma tarefa ou solucionar um problema. u Na prática, criamos algoritmos com o objetivo de automatizar: queremos que o resultado de uma tarefa possa ser conhecido ou obtido repetidamente, no mesmo intervalo de tempo, com a mesma qualidade. Todos os passos conhecidos Automação de umatarefa Repetibilidade

Algoritmo u Algoritmo (cont.): u Não é exclusivo da computação! u Fazem parte do dia-a-dia de todas as pessoas: u Instruções para uso de medicamentos; u Indicações de como montar um móvel; u Receitas culinárias; Não são automatizados, mas são algoritmos! u A ordem é muito importante! Se você trocar os passos, o algoritmo pode não dar certo!

Dado e Informação u Um dado é uma sequência de símbolos. São elementos conhecidos de um problema (são os fatos em sua forma primária, como observamos no mundo). u Quando organizamos os dados atribuimos significado, eles ganham valor, tornam-se informação. Ex.: u 1,89 dado u a altura de José é 1,89 m - informação u Um mesmo conjunto de dados pode ser utilizado para representar informações de natureza distintas. Ex: alfabeto vs línguas. u O C R T D M A U P O - dados u C O M P U T A D O R - informação DADO e INFORMAÇÃO não são termos exclusivos da computação, foram cunhados por outras áreas, tais como a semiótica.

Dados de Entrada e Saída u A solução de qualquer problema envolve um processamento, que manipula dados de entrada e gera dados de saída: DADOS DE ENTRADA disponíveis no ambiente, necessários para a resolução do probelma PROCESSAMENTO DADOS DE SAÍDA resultados desejados, informação, relatórios, mensagens de erro, etc...

Lógica de Programação u Nesta disciplina, queremos aprender a: u Dado um problema, u determinar uma sequência de instruções tal que, u fornecidos os dados de entrada, u a execução da sequência da instruções u resulte como saída a solução do problema.

Lógica de Programação u Exemplo: Algoritmo para trocar um pneu Algoritmo para trocar um Pneu Entrada: carro, macaco mecânico, pneu reserva Saída: carro com o pneu trocado Faça: Afrouxar ligeiramente os parafusos; Suspender o carro; Retirar os parafusos e o pneu; Colocar o pneu reserva; Apertar os parafusos; Abaixar o carro; Dar o aperto final nos parafusos.

Representação de Algoritmos u Existem diversas formas de representação de algoritmos. u Não existe um consenso sobre qual é a melhor forma, cada uma tem vantagens e desvantagens. u Algumas formas tratam os problemas apenas no nível lógico, abstraindo os detalhes relacionados de implementação. u Outras formas entram em mais detalhes e são mais específicas, porém que podem obscurecer a idéia principal.

Representação de Algoritmos u Entre as formas mais conhecidas, podemos citar: u Descrição Narrativa; u Fluxograma Convencional; u Pseudocódigo, também conhecido como portugol.

Descrição Narrativa u Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. u Uso da linguagem natural pode gerar ambiguidades e imprecisões. u Por exemplo, no algoritmo do pneu, o que significa Afrouxar ligeiramente o parafuso? u Não seria mais preciso dizer Afrouxar o parafuso, girando o mesmo 33.8 no sentido anti-horário?

Descrição Narrativa u Quando criamos algoritmos, frequentemente precisamos utilizar estruturas condicionais e de repetição. Isto é, precisamos tomar decisões ou repetir passos. u Vamos ver um exemplo...

Descrição Narrativa Algoritmo para trocar uma lâmpada Algoritmo para trocar uma lâmpada: Faça: Se a lâmpada antiga estiver queimada, faça: Pegar uma escada Posicionar a escada debaixo da lâmpada Buscar uma lâmpada nova Subir na escada Retirar a lâmpada antiga Colocar a lâmpada nova Enquanto a lâmpada nova não acender, faça: Retirar a lâmpada antiga Colocar uma lâmpada nova Caso contrario, não é necessário fazer nada.

Descrição Narrativa Algoritmo para trocar uma lâmpada Algoritmo para trocar uma lâmpada: CONDICIONAL Faça: Se a lâmpada antiga estiver queimada, faça: Pegar uma escada Posicionar a escada debaixo da lâmpada Buscar uma lâmpada nova Subir na escada Retirar a lâmpada antiga Colocar a lâmpada nova Enquanto a lâmpada nova não acender, faça: Retirar a lâmpada antiga REPETIÇÃO Colocar uma lâmpada nova Caso contrario, não é necessário fazer nada.

Fluxograma u É uma representação gráfica de algoritmos, que utiliza formas geométricas diferentes para representar ações (instruções, comandos) e setas para representar a sequência. u Essa organização geralmente facilita o entendimento das idéias contidas nos algoritmos, o que justifica sua popularidade. u É uma forma intermediária entre a descrição narrativa e o pseudocódigo (que veremos em seguida), pois é menos imprecisa que a primeira, porém, ainda não se preocupa com detalhes de implementação do programa.

Fluxograma Inicio e Fim Decisão Operação de Atribuição Processamento de entrada de dados Seta de Fluxo de Dados Processamento de saida de dados

Fluxograma u Ex.: Cálculo da média de um aluno sob a forma de um fluxograma, sendo que o aluno é aprovado se a média for maior ou igual a 7 (sete). u Partindo do símbolo inicial, há sempre um único caminho orientado a ser seguido, representando a existência de uma única seqüência de execução das instruções

Pseudocódigo u Esta forma de representação é rica em detalhes, tais como definição dos tipos e nomes das variáveis usadas no algoritmo e controle de índices e tamanho dos dados. u É uma representação mais precisa e detalhada que as demais, porém, suficientemente genérica para permitir a tradução de um algoritmo para várias linguagens de programação específicas, de maneira praticamente direta. u Também conhecida como Portugol, Linguagem Estruturada ou Linguagem Algorítmica. ESTA É A REPRESENTAÇÃO QUE UTILIZAREMOS NA DISCIPLINA!

Pseudocódigo u A forma geral da representação de um algoritmo em pseudocódigo: u Algoritmo, Início e Fim são palavras-chave (ou palavras reservadas), utilizadas respectivamente para: declarar e dar um nome ao algoritmo, e delimitar o corpo do algoritmo. u Como veremos, algoritmos utilizam variáveis para manipular valores, e podem ser dividos em tarefas menores, os subalgoritmos. u Nas próximas aulas, estudaremos em detalhes esta representação. Pseudocódigo - Estrutura Básica Algoritmo <nome do algoritmo>. <declaração de variáveis (nome e tipo)> <subalgoritmos> Início <corpo do algoritmo> Fim.