Buscar

aula01 nocao algoritmo

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

___________________________________________ - 1 - 
Algoritmos 
Carla Alves (Equiparada a Assistente do 2º Triénio) 
1. Noção de algoritmo 
Em português, a palavra algoritmo quer dizer “operação ou processo de cálculo”, entre 
outras definições possíveis (Dicionário Brasileiro de Língua Portuguesa, Mirador 
Internacional, Ed. 1977). 
Outra definição de algoritmo pode ser dada como a especificação da sequência ordenada de 
passos que deve ser seguida para a realização de uma tarefa, garantindo a sua repetibilidade. 
O algoritmo não é a solução do problema, mas sim o meio de obtê-la. Surgem então 
algumas questões: 
- Como se obterá a solução? 
R: Ela poderá ser obtida por meio de um método previamente conhecido, composto de 
operações que, conjuntamente, levam ao fim desejado a partir do estado observado. 
- Quem obterá a solução? 
R: Para nós, diremos que a solução será obtida por um computador – uma ferramenta capaz de 
executar diversas vezes e muito rapidamente algumas tarefas bem definidas. 
O nosso objectivo não é fazer com que o computador trabalhe eternamente sobre um 
problema, talvez até insolúvel em virtude do algoritmo proposto; queremos que a solução seja 
obtida ou então que sejamos avisados pela máquina de que o problema é insolúvel. Assim, um 
algoritmo deve ter um número finito de operações executáveis, num determinado período de 
tempo, e que consiga detectar a viabilidade de resolver o problema proposto. 
Podemos então definir algoritmo da seguinte forma: um algoritmo é uma sequência 
ordenada e finita de operações bem definidas e eficazes que, quando executadas por um 
computador termina sempre num determinado período de tempo e que produz uma solução ou 
que indica que a solução não pode ser obtida. 
Pela definição anterior podemos constatar que há uma primeira instrução e uma última 
instrução, ou seja, um algoritmo tem um princípio e um fim. 
Ao contrário do que se possa pensar, o conceito de algoritmo não foi criado para satisfazer 
as necessidades da computação. Pelo contrário, a programação de computadores é apenas um 
dos campos de aplicação dos algoritmos. Na verdade, há inúmeros casos que podem 
exemplificar o uso (involuntário ou não) de algoritmos para a padronização do exercício de 
tarefas rotineiras. 
___________________________________________ - 2 - 
Algoritmos 
Carla Alves (Equiparada a Assistente do 2º Triénio) 
Devemos sempre ponderar se todos os algoritmos propostos para a solução de um dado 
problema são igualmente desejáveis. Quase sempre existe mais do que uma maneira de 
resolver um problema, e essa escolha é nossa. Qual será então a melhor das escolhas? 
Dados dois ou mais algoritmos para resolver o mesmo problema, é sensato escolher aquele 
que obtém uma solução no menor tempo possível e que utiliza o menor espaço para a 
representação dos dados do problema. 
Voltando ao contexto computacional, daqui em diante a atenção deste trabalho estará 
voltada para a automação de tarefas utilizando computadores. 
A automação é um processo em que a tarefa deixa de ser desempenhada pelo homem e 
passa a ser realizada por máquinas. 
Para que a automação de uma tarefa seja bem sucedida é necessário que a máquina que 
passará a realizá-la seja capaz de desempenhar cada uma das etapas constituintes do processo 
a ser automatizado com eficiência, de modo a garantir a repetibilidade do mesmo. Assim, 
deve ser especificado com clareza e exactidão o que deve ser realizado em cada uma das fases 
do processo a ser automatizado, bem como a sequência em que estas fases devem ser 
realizadas. 
Para que um computador possa desempenhar uma tarefa é necessário que esta seja 
detalhada passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se 
chama de programa. Neste sentido, um programa de computador não é mais do que um 
algoritmo escrito numa forma compreensível pelo computador, ou seja, um algoritmo que diz 
ao computador os passos específicos e a ordem pela qual devem ser executados. 
 
Assim, um algoritmo deve ter robustez, ou seja, um algoritmo deve contemplar todas as 
facetas possíveis do problema que queremos resolver. Ao elaborar um algoritmo não devemos 
deixar que nenhum detalhe provoque um mau funcionamento do mesmo. Se conseguirmos 
construir um algoritmo robusto, qualquer mudança no problema será controlada pelo 
algoritmo, ou seja, o algoritmo deve ser flexível para mudanças. 
Um algoritmo deve ser correcto, ou seja, deve dar uma solução para o problema e deve 
cumprir todos os requisitos propostos nos objectivos. 
Um algoritmo deve ser eficiente, isto é, deve conseguir chegar aos objectivos propostos 
utilizando a menor quantidade de recursos possíveis, ou seja, minimizando o uso da memória, 
de passos e de esforço humano. 
___________________________________________ - 3 - 
Algoritmos 
Carla Alves (Equiparada a Assistente do 2º Triénio) 
Diz-se que um algoritmo é eficaz quando atinge o objectivo principal, ou seja, a análise da 
resolução do problema realiza-se prioritariamente. 
Pode dar-se o caso que exista um algoritmo eficaz mas não eficiente, na medida do possível 
devemos tentar obter estes dois conceitos conjuntamente. 
Para conseguir resolver qualquer problema devem-se ter em atenção os seguintes passos: 
- Análise do problema – neste ponto define-se o problema, compreende-se e analisa-se com 
todo o detalhe. 
- Desenho do algoritmo – neste ponto deve-se elaborar um algoritmo que reflicta passo a 
passo a resolução do problema. 
 
 
___________________________________________ - 4 - 
Algoritmos 
Carla Alves (Equiparada a Assistente do 2º Triénio) 
2. Representação de algoritmos 
Existem diversas formas de representação de algoritmos, mas não há um consenso em 
relação à melhor delas. 
O critério utilizado para classificar hierarquicamente estas formas está directamente ligado 
ao nível de detalhe ou, inversamente, ao grau de abstracção oferecido. 
Algumas das formas de representação de algoritmos tratam os problemas apenas ao nível 
lógico, abstraindo-se de detalhes de implementação muitas vezes relacionados com uma 
linguagem de programação específica. Por outro lado, existem formas de representação de 
algoritmos que possuem uma maior riqueza de detalhes que muitas vezes acabam por 
obscurecer a ideia principal, o algoritmo, dificultando o seu entendimento. 
Das formas de representação de algoritmos mais conhecidas destacamos: 
- a narrativa descritiva ou descrição narrativa; 
- o fluxograma convencional; 
- o pseudocódigo, também conhecido como linguagem estruturada ou portugol. 
 
2.1. Narrativa descritiva 
Nesta forma de representação os algoritmos são expressos directamente em linguagem 
natural. Vejamos os seguintes exemplos: 
- Receita de bolo:
Misture os ingredientes 
Unte a forma com manteiga 
Despeje a mistura numa forma 
Se houver coco ralado 
então despeje sobre a mistura 
Leve a forma ao forno 
Enquanto não corar 
deixe a forma no forno 
Retire do forno 
Deixe arrefecer 
 
- Tomar banho:
Entrar na casa de banho e tirar a roupa 
Abrir a torneira do chuveiro 
Entrar na água 
Ensaboar-se 
Fechar a torneira 
Sair da água 
Enxugar-se 
Vestir-se 
 
- Cálculo da média de um aluno:
Obter as notas da primeira e da segunda provas 
Calcular a média aritmética entre as duas 
Se a média for maior ou igual que 9,5, o aluno foi 
aprovado, senão foi reprovado 
No entanto, na prática, esta representação é pouco usada porque o uso da linguagem natural 
dá muitas vezes oportunidade a más interpretações, ambiguidades e imprecisões. 
 
2.2. Fluxograma convencional 
Um fluxograma é uma representação gráfica de algoritmos onde diferentes formas 
geométricas implicamdistintas acções (instruções, comandos). Tal propriedade facilita o 
entendimento das ideias contidas nos algoritmos. 
Esta forma de representação de algoritmos é intermédia à descrição narrativa e ao 
pseudocódigo, pois é menos imprecisa que a primeira e, no entanto, não se preocupa com 
detalhes de implementação do programa, como, por exemplo, o tipo de variáveis utilizadas. 
Há vários padrões que definem as formas geométricas das figuras e que devem ser usados 
para representar cada um dos diversos tipos de instruções; contudo, nenhum deles sobressai 
em relação aos demais no que diz respeito à aceitação por parte dos usuários. 
Nos fluxogramas convencionais existe uma preocupação com os detalhes de nível físico da 
implementação do algoritmo. Por exemplo, diferentes figuras geométricas são adoptadas para 
representar operações de saída de dados realizadas em diferentes dispositivos, como uma fita 
magnética ou um monitor de vídeo. 
Segue-se uma lista das principais formas geométricas usadas nos fluxogramas. 
 = Início e final do fluxograma 
 
= Indica o sentido do fluxo de dados e 
conecta os símbolos existentes 
 ou 
= Operação de entrada de dados 
 
= Informações recebidas ou fornecidas de 
ou por um computador 
___________________________________________ - 5 - 
Algoritmos 
Carla Alves (Equiparada a Assistente do 2º Triénio) 
 = Operação de saída de dados em 
impressora 
 
= Saída de dados em vídeo 
= Informações exibidas por dispositivos 
 
Em ger
execução 
algoritmo 
seguido, q
são os sím
pode have
representa
Segue-s
fluxogram
 
____________
Algoritmos 
Carla Alves (Eq
visuais, vídeo ou monitor 
 
al
do
ac
ue
b
r 
m
e 
a 
9,
.
__
ui
 = Utiliza-se para indicar cálculos 
(algoritmos) a efectuar, atribuições de 
valores 
 
= Bloco de decisão 
, um fluxograma resume-se a um único símbolo inicial, por onde começa a 
 algoritmo, e um ou mais símbolos finais, que são pontos onde a execução do 
aba. Partindo do símbolo inicial, há sempre um único caminho orientado para ser 
 representa a única sequência de execução das instruções. Excepções a esta regra 
olos finais, dos quais não sai nenhum fluxo, e os símbolos de decisão, dos quais 
saída de mais do que um caminho de saída (normalmente dois caminhos), que 
 uma bifurcação no fluxo. 
a representação do algoritmo do cálculo da média de um aluno sob a forma de um 
convencional. 
 
5
V. 
_____________________________ - 6 - 
parada a Assistente do 2º Triénio) 
	1. Noção de algoritmo
	2. Representação de algoritmos
	2.1. Narrativa descritiva
	2.2. Fluxograma convencional

Continue navegando