Você está na página 1de 6

FACULDADE DE TECNOLOGIA TECBRASIL

Credenciado pela Portaria Ministerial n° 3389 D.O.U. 09/12/2002

Aula 2 – Algoritmos

INTRODUÇÃO
Construir algoritmos é objetivo fundamental de toda a programação. Algoritmo é uma sequência de passos que
visam atingir um objetivo bem definido (Forbellone, 1999).

Em geral, um algoritmo destina-se a resolver um problema:


_ Fixa um padrão de comportamento a ser seguido.
_ Uma norma de execução a ser trilhada.
_ Com o objetivo de alcançar, como resultado final, a solução de um problema.

Algumas qualidades essenciais de um bom algoritmo são as seguintes:


a) Clareza: que as ações sejam expressas de forma clara e sem ambigüidades.
b) Eficácia: deve chegar a um resultado final.
c) Eficiência: deve obter resultado com a melhor relação custo/benefício.

NOÇÕES DE LÓGICA
A Lógica trata da correção do pensamento. Como filosofia, ela procura saber por que pensamos assim e não de
outra forma. Como arte ou técnica, ela nos ensina a usar corretamente as leis do pensamento. Pode-se ainda
dizer que a Lógica tem em vista a “ordem da razão”. Isto dá a entender que a nossa razão pode funcionar
desordenadamente. Por isso, a Lógica ensina a colocar ordem no pensamento.

Exemplo:
a) Todo mamífero é animal.
Todo cavalo é mamífero.
Portanto, todo cavalo é animal.

Lógica no dia-a-dia:
Sempre que pensamos, a Lógica ou a falta de Lógica, nos acompanha necessariamente. Também quando
falamos, pois a palavra falada é a representação do pensamento; e, visto que a palavra escrita é a representação
da palavra falada, também pensamos quando escrevemos, utilizando a Lógica ou a falta de Lógica. Daí percebe
se a importância da Lógica nas nossas vidas, não só na teoria, como também na prática, já que para pensar, falar
ou escrever corretamente é necessário colocar ordem no pensamento, e isto é, utilizar Lógica.

Exemplo:
a) A gaveta está fechada.
A caneta está na gaveta.
Preciso primeiro abrir a gaveta, para depois pegar a caneta.

CONCEITOS DE ALGORITMO
“Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma
tarefa” (Ascencio 1999 apud Ascencio 2002).

“Algoritmo é uma sequencia finita de instruções ou operações cuja execução, em tempo finito,
resolve um problema computacional, qualquer que seja sua instância” (Salvetti 1999 apud
Ascencio 2002).

“Algoritmo são regras formais para a obtenção de um resultado ou da solução de um problema,


englobando fórmulas de expressões aritméticas” (Manzano 1997 apud Asencio 2002).

"Algoritmo é um conjunto finito de regras, bem definidas, que nos levam à solução de um
problema em um tempo finito."

"Algoritmo é a descrição de um conjunto de ações que, obedecidas, resultam numa sucessão finita
de passos, atingindo o objetivo."

“Do ponto de vista computacional, um algoritmo pode ser entendido como a definição de passos a
partir do entendimento lógico de um problema realizado por um programador com o objetivo de
transformar esse problema em um elemento (programa) que seja possível de ser tratado e executado
por um computador.” (Ordem de Pensamento e, portanto, Lógica)

Analisando as definições anteriores, pode-se observar que executamos vários algoritmos no nosso diaadia, como:
“Somar 3 números”, “Fazer um sanduíche”, “Trocar uma lâmpada”, “Ir para a faculdade”, “Sacar dinheiro do
banco 24h”.

Existem várias formas de executar as atividades acima. Cada pessoa executa as atividades de forma diferente, da
forma como sabe, como tem conhecimento. Essas várias formas de fazer as atividades são corretas, por existem
inúmeras maneiras de se resolver um problema, isto é, podem existir vários algoritmos para resolver um mesmo
problema.

ALGORITMOS
Para descrever um algoritmo, pode-se usar representações gráficas ou textuais. O uso dessas representações vai
depender do grau de detalhamento que se deseja de um algoritmo. As principais formas de representação de um
algoritmo são:

_ Algoritmos naturais; _ Fluxograma convencional; _ Diagrama de


Chapin; _ Pseudocódigo ou metalinguagem.
ALGORITMOS NATURAIS
São algoritmos usados no nosso dia-a-dia, descritos em linguagem natural, como por exemplo, uma receita culinária, a
troca de um pneu furado ou a troca de uma lâmpada. Além dos que usamos no nosso dia-a-dia, os algoritmos são
muito usados para a especificação de tarefas que devem ser repetidas sempre da mesma maneira. Para automatizar
uma tarefa, é fundamental descrever seus passos de forma detalhada e clara, para que qualquer um que venha a
executá-la, saiba exatamente o que fazer. Assim, se uma indústria precisa que uma tarefa seja automatizada, deve
descrevê-la através de um algoritmo. Este algoritmo poderá ser lido por um operário ou transformado em programa
para uma máquina.

Para programar computadores são necessários, também, algoritmos que, traduzidos para a linguagem de
programação do computador, farão com que este execute as tarefas desejadas. Existem várias formas de se representar
um algoritmo. Pode-se escrevê-lo através da linguagem natural que usamos no dia-a-dia. Esta maneira, porém, pode
levar a muitas ambigüidades. Por exemplo, a instrução "afrouxar ligeiramente as porcas" num algoritmo de troca de
pneus está sujeita a interpretações diferentes por pessoas distintas.

Uma instrução mais precisa seria: “afrouxar a porca, girando a 30º no sentido anti-horário”.

MÉTODO PARA CONSTRUÇÃO DE ALGORITMOS


A construção de um algoritmo é um procedimento bastante particular de cada pessoa, pois envolve o raciocínio de
cada indivíduo, suas experiências anteriores, seus hábitos e sua criatividade. O mesmo problema apresentado a um
grupo de pessoas, provavelmente terá soluções completamente diversas, apesar de todas funcionarem. Mesmo assim,
há algumas dicas que podem ajudar na organização do raciocínio no momento da elaboração de um algoritmo:

a) Ler atentamente o enunciado:


É justamente o enunciado do exercício que fornece o encaminhamento necessário à resolução do problema, que se
torna, portanto, dependente de sua completa compreensão.

b) Retirar do enunciado a relação das entradas de dados:

A entrada é o meio pelo qual o usuário pode informar dados que serão utilizados pelo programa em seu
processamento.

Através do enunciado podemos descobrir quais são os dados que devem ser fornecidos, a partir dos quais
desenvolveremos os cálculos. A entrada é feita pelo comando leia.

c) Retirar do enunciado a relação das saídas de dados:


Para que o usuário possa ter acesso aos resultados do processamento do programa, toda linguagem de
programação fornece mecanismos de apresentação (saída) dos dados. Através do enunciado podemos descobrir
quais são os dados que devem ser emitidos para compor o resultado final, objetivo do algoritmo. A saída é feita
pelo comando escreva.

d) Determinar o que deve ser feito para transformar as entradas determinadas nas saídas especificadas:
Nesta fase é que teremos a construção do algoritmo propriamente dito, pois, a partir de alguns requisitos
especificados, devemos determinar qual seqüência de ações é capaz de transformar um conjunto definido de
dados nas informações de resultado.

e) Construir o algoritmo:
Com base no conhecimento disponível a respeito do problema (passos anteriores), podemos montar o
algoritmo definitivo.
Ex.: Calcular a média final dos alunos de uma disciplina. Os alunos realizaram 2 provas: P1 e P2. Onde a
média final = (P1+P2) / 2. Para montar o algoritmo proposto faremos 3 perguntas:

1) Quais são os dados de entrada? P1 e P2.


2) Qual será o processamento? Somar os dados de entrada e dividir o resultado por 2 (P1+P2)/2.
3) Quais serão os dados de saída? O resultado do processamento, ou seja, a média final.

início
Informar nota da prova 1 Informar nota da prova 2 Somar todas as notas e dividir o resultado por 2 Mostrar o
resultado da divisão fim

f) Testar (executar) o algoritmo:


Implica executar todas as ações descritas segundo o fluxo de execução estabelecida, verificando se os resultados
obtidos correspondem ao esperado da montagem do algoritmo, detectando então algum possível erro no
desenvolvimento deste. Essa atividade é conhecida por “teste de mesa”.
TIPOS DE ALGORITMOS
Os três tipos de algoritmos mais usados são mostrados abaixo. Considere o problema abaixo e observe como o
mesmo é escrito nos diferentes tipos.

PROBLEMA: Faça um algoritmo para mostrar o resultado da multiplicação de dois números.

1) Descrição Narrativa: consiste em analisar o enunciado do problema e escrever a solução do problema em


linguagem natural.

2) Fluxograma: consiste em analisar o enunciado do problema e escrever a solução do problema utilizando


símbolos gráficos pré-definidos.

3) Pseudocódigo ou Portugol: consiste em analisar o enunciado do problema e escrever a solução do


problema por meio de regras pré-definidas.

CONCEITO DE VARIÁVEL
Para resolver problemas no computador é necessário manipular dados, sejam números ou caracteres. Se é
necessário calcular o resultado de um único cálculo, provavelmente, a melhor solução seria uma calculadora. No
entanto, quando é necessário calcular e armazenar vários cálculos e seus resultados, a solução indicada é utilizar
programas de computador. A utilidade de se escrever um programa aparece quando necessitamos trabalhar com
muita informação ao mesmo tempo.

Uma variável, é um tipo de dado, armazenado na memória do computador que pode receber e armazenar dados
(números e caracteres), informações e conhecimentos.

As variáveis são identificadas por um nome único e caracterizada por um tipo de variável, de acordo com o tipo
de dado que será armazenado.

ATRIBUIÇÃO DE VALORES
Para um programa, uma variável é um pedaço de memória identificado de alguma forma onde serão
armazenados dados. Existem várias maneiras de indicarse a atribuição de um valor a uma variável:

A = 5 b := b + 4 d ← 8

E uma linguagem de programação isto é feito pela mais fundamental das instruções, denominada de “instrução
de atribuição”. A sintaxe (maneira como se escreve) varia de acordo com a linguagem de programação, e o
funcionamento é simples: após a execução da instrução pelo computador, a variável (o pedaço de memória com
um nome ) recebe o valor indicado.

Exemplo: x = 10

ESTRUTURA DE UM ALGORITMO
Na criação de algoritmos, utilizam-se os conceitos de bloco lógico, entrada e saída de dados, variáveis,
constantes, atribuições, expressões relacionais e aritméticas, bem como comandos que traduzem estes conceitos
de forma a representar o conjunto de ações. Para que esse conjunto de ações se torne viável, deve existir uma
perfeita relação lógica ligada ao modo pelo qual essas ações são executadas, pelo qual é regido
o fluxo de execução.

Através das estruturas básicas de controle de fluxo de execução sequenciação, seleção, repetição e da
combinação delas, pode-se criar um algoritmo para solucionar qualquer problema.

Algoritmo nome_do_algoritmo

Variáveis declaração de variáveis

Início

Comando 1

Comando 2

Comando 3

Comando 4 ... Comando n

Fim

BIBLIOGRAFIA Ascencio, Ana Fernanda Gomes e Campos,


Edilene Aparecida Veneruchi de. Fundamentos da Programação de
Computadores – Algoritmos, Pascal, C/C++. São Paulo: Prentice
Hall, 2002.

Você também pode gostar