Buscar

Representação de Algoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

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 
1. REPRESENTAÇÃO DE ALGORITMOS 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
Automação 
de umaTarefa 
Todos os passos 
conhecidos 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; 
u  A ordem é muito importante! Se você trocar os passos, 
o algoritmo pode não dar certo! 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
Não são automatizados, 
mas são algoritmos! 
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 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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: 
 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
PROCESSAMENTO 
DADOS DE ENTRADA 
disponíveis no ambiente, 
necessários para a 
resolução do probelma 
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. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
Lógica de Programação 
u  Exemplo: 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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”? 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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... 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
Descrição Narrativa 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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. 
 
CONDICIONAL 
REPETIÇÃO 
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. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
Fluxograma 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
Inicio e Fim 
Operação de 
Atribuição 
Processamento de 
entrada de dados 
Processamento de 
saida de dados 
Decisão 
Seta de Fluxo de 
Dados 
Fluxograma 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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 praticamentedireta. 
u  Também conhecida como Portugol, Linguagem 
Estruturada ou Linguagem Algorítmica. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
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. 
Algoritmos e Programação de Computadores - carlacastanho@cic.unb.br 
Pseudocódigo - Estrutura Básica 
Algoritmo <nome do algoritmo>. 
<declaração de variáveis (nome e tipo)> 
<subalgoritmos> 
Início 
<corpo do algoritmo> 
Fim.

Outros materiais