Vous êtes sur la page 1sur 26

Algoritmos e linguagens de programao

Prof. Zirlene Effgen zirlene@ucl.br

Algoritmos
O uso de algoritmos quase to antigo quanto a matemtica. Com o passar do tempo, entretanto, ele foi bastante esquecido pela matemtica. Com o advento das mquinas de calcular e mais tarde os computadores, o uso de algoritmos ressurgiu com grande vigor, como uma forma de indicar o caminho para a soluo dos mais variados problemas. Algoritmo no a soluo do problema, pois, se assim fosse, cada problema teria um nico algoritmo. Algoritmo o caminho para a soluo de um problema, e em geral, os caminhos que levam a uma soluo so muitos.

Prof. Zirlene Effgen

Algoritmos - Conceitos
Ao longo dos anos surgiram muitas formas de representar os algoritmos, alguns utilizando linguagens semelhantes s linguagens de programao e outras utilizando formas grficas.

Prof. Zirlene Effgen

Algoritmos - Conceitos
Algoritmo um conjunto finito de regras, bem definidas, para a soluo de um problema em um tempo finito e com um nmero finito de passos .

Prof. Zirlene Effgen

Algoritmos - Conceitos
Vamos considerar o processo de construo de algoritmo conforme figura abaixo:

ENTRADA: So os dados de entrada do algoritmo. PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final. SADA: So os dados j processados.
Prof. Zirlene Effgen

Algoritmos - Conceitos
Para resolver os problemas compucionalmente devemos ter sempre em mente os seguintes passos:

a) Entender o problema proposto; b) Verificar todos os dados disponveis para resolv- lo; c) Dividir o problema em partes menores, se ele for complexo; d) Ter bem definido seu objetivo. Para isso importante questionar: Qual o resultado que se deseja alcanar? Responda a essa questo e trace os passos;
Prof. Zirlene Effgen

Algoritmos - Conceitos
Para resolver os problemas compucionalmente devemos ter sempre em mente os seguintes passos:

e) Se no conseguir chegar ao seu objetivo, reflita a esse respeito e reveja os passos utilizados. Refaa

Prof. Zirlene Effgen

Algoritmos - Conceitos
Qual o padro de comportamento utilizado para gerar a seqncia abaixo? 1, 5, 9, 13, 17, 21, 25

Prof. Zirlene Effgen

Algoritmos - Conceitos

Vamos pensar na lgica para construirmos algoritmos: 1. Some dois nmeros 2. Ensine a trocar lmpada (verificar se queimou) 3. Arrumar um namorado (a)

Prof. Zirlene Effgen

Algoritmos - Conceitos
Mtodo para construo de algoritmos:

Ler atentamente o enunciado; Destacar partes mais importantes; Definir dados de entrada e sada; Definir o que ser processado; Construir o algoritmo Test-lo.

Prof. Zirlene Effgen

10

Algoritmos - Conceitos
Para que um computador possa desempenhar uma tarefa necessrio que esta seja detalhada passo a passo, numa forma compreensvel pela mquina, utilizando aquilo que se chama de programa. Neste sentido, um programa de computador nada mais que um algoritmo escrito numa forma compreensvel pelo computador.

Prof. Zirlene Effgen

11

Algoritmos - Representao
Algumas formas de representao de algoritmos tratam dos problemas apenas em nvel lgico, abstraindo-se de detalhes de implementao muitas vezes relacionados com alguma linguagem de programao especfica. Por outro lado, existem formas de representao de algoritmos que possuem uma maior riqueza de detalhes e muitas vezes acabam por obscurecer a idia principal, o algoritmo, dificultando seu entendimento.

Formas de representao: 1)Descrio Narrativa 2)Fluxograma Convencional 3)Diagrama de Blocos 4)Diagrama de Chapin 5)Pseudocdigo, tambm conhecido como Linguagem Estruturada ou Portugol.
Prof. Zirlene Effgen

12

Algoritmos - Representao
1)Descrio Narrativa
Nesta forma de representao os algoritmos so expressos diretamente em linguagem natural.

Prof. Zirlene Effgen

13

Algoritmos - Representao
2)Fluxograma Convencional
O fluxograma, alm de se uma ferramenta de representao lgica de programao, uma das sete Ferramentas do Controle de Qualidade.

Prof. Zirlene Effgen

14

Algoritmos - Representao
3)Diagrama de Blocos
Tem como objetivo descrever o mtodo e a seqncia do processo dos planos num computador. Pode ser desenvolvido em qualquer nvel de detalhe que seja necessrio. Esta ferramenta usa diversos smbolos geomtricos, os quais estabelecero as seqncias de operaes a serem efetuadas em um processamento computacional. Aps a elaborao do diagrama de bloco, ser realizada a codificao do programa.

Prof. Zirlene Effgen

15

Algoritmos - Representao
3)Diagrama de Blocos

Prof. Zirlene Effgen

16

Algoritmos - Representao
4)Diagrama de Chapin
O diagrama foi criado por Ned Chapin a partir de trabalhos de NassiShneiderman, os quais resolveram substituir o fluxograma tradicional por um diagrama que apresenta uma viso hierrquica e estruturada da lgica do programa. A grande vantagem de usar este tipo de diagrama a representao das estruturas que tem um ponto de entrada e um ponto de sada e so compostas pelas estruturas bsicas de controle de seqncia, seleo e repartio

Prof. Zirlene Effgen

17

Algoritmos - Representao
4)Diagrama de Chapin

Prof. Zirlene Effgen

18

Algoritmos - Representao
5)Pseudocdigo
Esta forma de representao de algoritmos, tambm conhecida como portugus estruturado ou portugol, bastante rica em detalhes e, por assemelhar-se bastante forma em que os programas so escritos, encontra muita aceitao, sendo portanto a forma de representao de algoritmos que ser adotada nesta disciplina. Na verdade, esta representao suficientemente geral para permitir que a traduo de um algoritmo nela representado para uma linguagem de programao especfica seja praticamente direta.

Prof. Zirlene Effgen

19

Algoritmos - Representao
5)Pseudocdigo
A representao de um algoritmo na forma de pseudocdigo a seguinte: Algoritmo <nome_do_algoritmo> <declarao_de_variveis> <subalgoritmos> Incio <corpo_do_algoritmo> Fim. Onde....
Prof. Zirlene Effgen

20

Algoritmos - Representao
5)Pseudocdigo
Algoritmo uma palavra que indica o incio da definio de um algoritmo em forma de pseudocdigo. <nome_do_algoritmo> um nome simblico dado ao algoritmo com a finalidade de distingu-lo dos demais. <declarao_de_variveis> consiste em uma poro opcional onde so declaradas as variveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. <subalgoritmos> consiste de uma poro opcional do pseudocdigo onde so definidos os subalgoritmos. Incio e Fim so respectivamente as palavras que delimitam o incio e o trmino do conjunto de instrues do corpo do algoritmo. 21 Prof. Zirlene Effgen

Algoritmos - Representao
5)Pseudocdigo
Representao do algoritmo de clculo da mdia de um aluno na forma de um pseudocdigo.

Prof. Zirlene Effgen

22

Exerccios
1)Construa um Diagrama de blocos que:

Leia 4 (quatro) nmeros Calcule o quadrado para cada um Somem todos os quadrados Mostre o resultado

Prof. Zirlene Effgen

23

Exerccios
2) Analise os algoritmos abaixo e diga o que ser impresso na tela ao serem executados: 1)
A 10 B 20 Escrever B B 5 Escrever A, B

3)

A 30 B 20 C A + B Escrever C B 10 Escrever B, C C A + B Escrever A, B, C

4)

X 1 Y 2 Z Y - X Escrever Z X 5 Y X + Z Escrever X, Y, Z

2)

A 10 B 5 C A + B B 20 A 10 Escrever A, B, C
Prof. Zirlene Effgen

24

Exerccios
3)O que o algoritmo abaixo ir imprimir, como resultado caso sejam fornecidos os nmeros 10 (como nmero 1) e 20 (como nmero 2)?

Prof. Zirlene Effgen

25

Exerccios
4)Qual o resultado impresso pelo algoritmo abaixo caso sejam fornecidos os seguintes nmeros: 10, 8 e 6?

Prof. Zirlene Effgen

26