You are on page 1of 14

SISTEMAS DE INFORMAÇÃO

FUNDAMENTOS DE PROGRAMAÇÃO I

1º Período – 2011/01
Prof.:Edmilson Ferreira

9/2/2011

INTRODUÇÃO

Várias definições de algoritmos estão


presentes na literatura. De forma geral um
algoritmo pode ser definido como:
Um algoritmo representa de forma
estruturada, um padrão de
comportamento de eventos ou sequência
de ações, que levam a um resultado
esperado.
2

Exemplo

Seqüência de ações para chegar ao


trabalho/universidade:

Para cada ação acontecer, é necessário que a


ação imediatamente anterior tenha sido
executada.
3

1
Introdução

Para resolver um problema no computador é


necessário que seja primeiramente
encontrada uma maneira de descrever este
problema de uma forma clara e precisa. É
preciso que encontremos uma seqüência de
passos que permitam que o problema possa
ser resolvido de maneira automática e
repetitiva. Além disto é preciso definir como
os dados que serão processados serão
4 armazenados no computador.

Introdução

Portanto, a solução de um problema por


computador é baseada em dois pontos:
a seqüência de passos e a forma como
os dados serão armazenados no
computador. Esta seqüência de passos é
chamada de algoritmo. Um exemplo
simples, de como um problema pode ser
resolvido caso forneçamos uma
seqüência de passos que mostrem a
solução, é uma receita para preparar um
5
bolo.

Introdução

A noção de algoritmo é central para toda a


computação. A criação de algoritmos para
resolver os problemas é uma das maiores
dificuldades dos iniciantes em
programação em computadores. Isto
porque não existe um conjunto de regras,
ou seja um algoritmo, que nos permita criar
algoritmos. Caso isto fosse possível a
função de criador de algoritmos
6 desapareceria.

2
Introdução

Claro que existem linhas mestras e


estruturas básicas, a partir das quais
podemos criar algoritmos, mas a
solução completa depende em grande
parte do criador do algoritmo.
Geralmente existem diversos algoritmos
para resolver o mesmo problema, cada
um segundo o ponto de vista do seu
7
criador.

Introdução

O significado da palavra é muito similar ao de


uma receita, procedimento, técnica, rotina. Um
algoritmo é um conjunto finito de regras que
fornece uma seqüência de operações para
resolver um problema específico. Segundo o
dicionário do prof. Aurélio Buarque de Holando
um algoritmo é um: "Processo de cálculo, ou
de resolução de um grupo de problemas
semelhantes, em que se estipulam, com
generalidade e sem restrições, regras formais
para a obtenção de resultado ou de solução de
8 problema."

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

A lógica de programação é necessária


para pessoas que desejam trabalhar com
desenvolvimento de sistemas e
programas, ela permite definir a seqüência
lógica para o desenvolvimento.
Lógica de programação é a técnica de
encadear pensamentos para atingir
determinado objetivo.
9

3
SEQUÊNCIA LÓGICA

Estes pensamentos podem ser descritos


como uma seqüência de instruções, que
devem ser seguidas para se cumprir uma
determinada tarefa.
Seqüência Lógica são passos
executados até atingir um objetivo ou
solução de um problema.

10

INSTRUÇÕES

Na linguagem comum, entende-se por


instruções “um conjunto de regras ou
normas definidas para a realização ou
emprego de algo”.
Em informática, porém, instrução é a
informação que indica a um computador
uma ação elementar a
executar.
11

INTRUÇÕES

Convém ressaltar que uma ordem isolada


não permite realizar o processo completo,
para isso é necessário um conjunto de
instruções colocadas em ordem seqüencial
lógica.
Por exemplo, se quisermos fazer uma
omelete de batatas, precisaremos colocar
em prática uma série de instruções:
descascar as batatas, bater os ovos, fritar
12 as batatas, etc...

4
INSTRUÇÕES

É evidente que essas instruções tem que ser


executadas em uma ordem adequada – não se
pode descascar as batatas depois de fritá-las.
Dessa maneira, uma instrução tomada em
separado não tem muito sentido; para obtermos o
resultado, precisamos colocar em prática o
conjunto de todas as instruções, na ordem correta.
Instruções são um conjunto de regras ou
normas definidas para a realização ou emprego
de algo.
Em informática, é o que indica a um
computador uma ação elementar a executar.
13

Considerações

Algoritmo não é a solução do problema, pois,


se assim fosse, cada problema teria um único
algoritmo. Algoritmo é o caminho para a
solução de um problema, e em geral, os
caminhos que levam a uma solução são
muitos.
Ao longo dos anos surgiram muitas formas de
representar os algoritmos, alguns utilizando
linguagens semelhantes às linguagens de
programação e outras utilizando formas
gráficas.
O aprendizado de algoritmos não se consegue
14 a não ser através de muitos exercícios.

Considerações

15

5
ALGORITMO

Um algoritmo é formalmente uma seqüência


finita de passos que levam a execução de
uma tarefa.
Podemos pensar em algoritmo como uma
receita, uma seqüência de instruções que
dão conta de uma meta específica. Estas
tarefas não podem ser redundantes nem
subjetivas na sua definição, devem ser
16 claras e precisas.

ALGORITMO

Como exemplos de algoritmos podemos


citar os algoritmos das operações básicas
(adição, multiplicação, divisão e subtração).
Outros exemplos seriam os manuais de
aparelhos eletrônicos, como um
videocassete, que explicam passo-a-passo
como, por exemplo, gravar um evento.

17

Continuação

Um algoritmo opera sobre um conjunto


de entradas (no caso do bolo, farinha
ovos, fermento, etc.) de modo a gerar
uma saída que seja útil (ou agradável)
para o usuário (o bolo pronto). Um
algoritmo tem cinco características
importantes:

18

6
Continuação

Finitude: Um algoritmo deve sempre


terminar após um número finito de passos.
Definição: Cada passo de um algoritmo
deve ser precisamente definido. As ações
devem ser definidas rigorosamente e sem
ambiguidades.
Entradas: Um algoritmo deve ter zero ou
mais entradas, isto é quantidades que são
lhe são fornecidas antes do algoritmo
iniciar.
19

Continuação

Saídas: Um algoritmo deve ter uma ou


mais saídas, isto é quantidades que tem
uma relação específica com as entradas.
Efetividade: Um algoritmo deve ser
efetivo. Isto significa que todas as
operações devem ser suficientemente
básicas de modo que possam ser em
princípio executadas com precisão em um
tempo finito por um humano usando papel
20 e lápis.

Continuação

É claro que todos nós sabemos construir


algoritmos. Se isto não fosse verdade, não
conseguiríamos sair de casa pela manhã,
ir ao trabalho, decidir qual o melhor
caminho para chegar a um lugar, voltar
para casa, etc. Para que tudo isto seja
feito é necessário uma série de entradas
do tipo: a que hora acordar, que hora sair
de casa, qual o melhor meio de transporte,
21 etc.

7
Continuação

Um fator importante é que pode haver


mais de um algoritmo para resolver um
determinado problema. Por exemplo,
para ir de casa até o trabalho, posso
escolher diversos meios de transporte
em função do preço, conforto, rapidez,
etc. A escolha será feita em função do
critério que melhor se adequar as nossas
22 necessidades.

Continuação

Para mostrar um exemplo de algoritmo


considere o seguinte problema. Dispomos de
duas vasilhas com capacidades de 9 e 4 litros
respectivamente. As vasilhas não tem nenhum
tipo de marcação, de modo que não é possível
ter medidas como metade ou um terço. Mostre
uma seqüência de passos, que usando as
vasilhas de 9 e 4 litros encha uma terceira
vasilha de medida desconhecida com seis
23 litros de água.

Uma possível solução é:

1. Encha a vasilha de 9 litros;


2. Usando a vasilha de 9 litros, encha a vasilha de 4 litros;
3. Despeje o que sobrou na vasilha de 9 litros (5 litros) na
terceira vasilha. Falta um litro para completar os 6
litros;
4. Esvazie a vasilha de 4 litros;
5. Torne a encher a vasilha de 9 litros;
6. Usando a vasilha de 9 litros encha a vasilha de 4 litros;
7. Esvazie a de 4 litros;
8. Usando o que restou na vasilha de 9 litros (5 litros),
encha novamente a vasilha de quatro litros;
9. Despeje o que sobrou na vasilha de 9 litros (1 litro) na
terceira vasilha, que agora tem 6 litros.
24

8
Continuação

A automação é o processo em que uma tarefa


deixa de ser desempenhada pelo homem e
passa a ser realizada por máquinas, sejam
dispositivos mecânicos (máquinas industriais),
eletrônicos (computadores), ou de natureza
mista (robôs).
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.
25

Continuação

Assim, é necessário que seja


especificado com clareza e exatidão o
que deve ser realizado em cada uma das
fases do processo a ser automatizado,
bem como a seqüência em que estas
fases devem ser realizadas.
À especificação da seqüência ordenada
de passos que deve ser seguida para a
realização de um tarefa, garantindo a sua
repetibilidade, dá-se o nome de
26 algoritmo.

Continuação

Embora esta definição de algoritmo seja


correta, podemos definir algoritmo, de
maneira informal e completa como:

“Algoritmo é um conjunto finito de


regras, bem definidas, para a solução de
um problema em um tempo finito e com
um número finito de passos.”

27

9
Continuação

Para se ter um algoritmo, é necessário:


– Que se tenha um número finito de passos
– Que cada passo esteja precisamente
definido, sem possíveis ambigüidades
– Que existam zero ou mais entradas tomadas
de conjuntos bem definidos
– Que existam uma ou mais saídas
– Que exista uma condição de fim sempre
atingida para quaisquer entradas e num
tempo finito.
28

Continuação

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 nada mais é
que um algoritmo escrito numa forma
compreensível pelo computador.
29

Representação de Algoritmos

Existem diversas formas de representação


de algoritmos, mas não há um consenso
com relação à melhor delas.
Algumas formas de representação de
algoritmos tratam dos problemas apenas
em nível lógico, abstraindo-se de detalhes
de implementação muitas vezes
relacionados com alguma linguagem de
30 programação específica.

10
Continuação

Por outro lado, existem formas de


representação de algoritmos que
possuem uma maior riqueza de detalhes e
muitas vezes acabam por obscurecer a
idéia principal, o algoritmo, dificultando
seu entendimento.

31

FORMAS DE REPRESENTAÇÃO DE
ALGORITMOS

Dentre as formas de representação de


algoritmos mais conhecidas, sobressaltam:
 Descrição Narrativa/Não computacional
 Fluxograma Convencional
 Pseudocódigo, também conhecido como
Linguagem Estruturada ou Portugol

32

Descrição Narrativa

Nesta forma de representação os algoritmos são


expressos diretamente em linguagem natural. A
seguir veremos alguns exemplos de algoritmos
narrativos ou Algoritmos Não Computacionais

33

11
Exemplos

Algoritmo para fritar um ovo


1. Retirar um ovo da geladeira
2. Colocar a frigideira no fogo
3. Colocar óleo
4. Esperar até o óleo ficar quente
5. Quebrar o ovo separando a casca
6. Colocar o conteúdo do ovo na frigideira
7. Esperar um minuto
8. Retirar o ovo da frigideira
34 9. Apagar o fogo

Exemplo

Algoritmo Troca de um pneu furado


1. Afrouxar ligeiramente as porcas
2. Suspender o carro com o macaco
3. Retirar as porcas e o pneu
4. Retirar o pneu furado
5. Colocar o pneu reserva
6. Apertar as porcas
7. Abaixar o carro
8. Dar o aperto final nas porcas.
35

Exemplo

Cálculo da nota final de um aluno:


- Obter as notas da primeira, segunda e
terceira etapa
- Somar as três notas de cada etapa
- Se o total for maior ou igual a 60, o aluno
foi aprovado,senão ele foi reprovado

36

12
Exemplo

Outro exemplo de algoritmo é, por exemplo,


citado acima do manual de aparelhos
eletrônicos.
Até mesmo as coisas mais simples, podem
ser descritas por seqüências lógicas.
Por exemplo: “Chupar uma bala”.
1.Pegar a bala
2.Retirar o papel
3.Chupar a bala
37 4.Jogar o papel no lixo

Exemplo

Exemplo: “Somar dois números


quaisquer”.
1.Escreva o primeiro número no retângulo A
2.Escreva o segundo número no retângulo B
3.Some o número do retângulo A com
número do retângulo B e coloque o
resultado no retângulo C

38

Exemplo

Exemplo:Fazer uma ligação de um telefone público.


1. Tirar o fone do gancho;
2. Ouvir o sinal de linha;
3. Introduzir o cartão;
4. Teclar o número desejado;
5. Se der o sinal de chamar
5.1 Conversar;
5.2 Desligar;
5.3 Retirar o cartão;
5.4 Colocar o fone no gancho;
6. Senão
39
6.1 Repetir;

13
Exercícios

1. Escreva um algoritmo de forma


narrativa que uma pessoa possa tomar
banho.
2. Escreva um algoritmo narrativo para
somar dois números e multiplicar o
resultado pelo primeiro número.
3. Escreva um algoritmo narrativo para
40
trocar uma lâmpada.

BIBLIOGRAFIA
 BOENTE, Alfredo. Construção de Algoritmos. Rio de Janeiro.
Saraiva, 2006. 47p à 50p.
 http://www.las.pucpr.br/roveredo/aulas/a2.pdf
 MANZANO, José Augusto N. G. & OLIVEIRA, Jayr Figueiredo.
Algoritmos: Lógica Para Desenvolvimento de Programação.
São Paulo. Érica, 1996. 270p.
 MECLER, Ian & MAIA, Luiz Paulo. Programação e Lógica com
Turbo Pascal. Rio de Janeiro, Campus, 1989. 223p.
 ORTH, Afonso Inácio. Algoritmos. Porto Alegre. Editora Pallotti,
1985. 130p.
 SALIBA, Walter Luís Caram. Técnicas de Programação: Uma
Abordagem Estrutura. São Paulo. Makron, McGraw-Hill, 1992.
141p.

41

14

You might also like