Algoritmos



Baixar 243.41 Kb.
Página1/2
Encontro10.03.2019
Tamanho243.41 Kb.
  1   2

Algorítmos



ALGORITMOS







X

0




0

X

0

X

X


ENQUANTO “ Existir um quadrado livre e não tenha vencido (ou perdido) o jogo “.





  • SE “ Existe um quadrado livre “



ENTÃO




SE “ O centro está livre “




ENTÃO


“Jogue no centro “;

SENÃO



SE “ O oponente tem dois quadrados quaisquer em linha com

o 3º desocupado”

ENTÃO


“ Jogue nesse quadrado desocupado “
SENÃO
SE “ Há algum canto livre “
ENTÃO

“ Jogue nesse canto “


FIM SE;
FIM SE;
FIM SE;
FIM SE;
FIM ENQUANTO;

DIFICULDADE NA CONCEPÇÃO E ENTENDIMENTO DE ALGORITMOS





  • A representação concreta de um algoritmo é geralmente um texto evidentemente ESTÁTICO e ATEMPORAL.




  • O que mais nos interessa são os efeitos da EXECUÇÃO no tempo, dado um conjunto de valores iniciais, cada execução de um algoritmo é um evento DINÂMICO evoluindo no tempo.


DEFINIÇÕES


  • AÇÃO: “ É um evento que ocorre num período de tempo finito, gerando um efeito intencionado e bem definido .“

Exemplos:


“ Apontar o lápis “

“ Por a cadeira sobre a mesa “

“ Descascar batatas para o almoço “



  • ESTADO: “ Conjunto de propriedades relevantes num dado momento. “

Exemplos:


“ Lápis apontado ou sem ponta . “



  • PROCESSO: “ Uma seqüência temporal de (sub) ações, cujo efeito acumulado é igual ao efeito total do evento considerado .“



  • COMANDO: É a “ ação “ escrita de modo imperativo.



  • VARIÁVEL: Imaginemos que seja:

O nome de um local onde se pode colocar qualquer valor, do conjunto possível para o tipo de variável.



  • TIPOS DE VARIÁVEIS - INTEIRO: x1; (1,2,7,...)

REAL: A,B; (1,5; 3,7; 4; ...)

CARACTER: NOME, A, B ... ( “ NOTA “ ; “ NOME “; ...)

LÓGICO: TEM; F. (Verdadeiro ou Falso)


DESCRIÇÃO DE UM EVENTO
Ex. O evento “ Dona-de-casa descasca batatas para o almoço. “

“ Trás a cesta com batatas do porão “ ;

“ Trás a panela do armário “ ;

“ Descasca as batatas “ ;

“ Devolve a cesta ao porão “ ;
Se num outro dia a dona de casa novamente descasca batatas para o almoço e descrevemos o evento de forma idêntica ao primeiro, poderíamos dizer que os dois relatos descrevem o mesmo evento ?


  • Não, pois trata-se de dois eventos distintos ocorridos em tempos diferentes.

  • O que podemos é usar a mesma descrição para o mesmo evento, pois reconhecemos aí o mesmo padrão de comportamento.


UMA DEFINIÇÃO DE ALGORITMO
“ Um algoritmo é a descrição de um padrão de comportamento, expressado em termos de um repertório bem definido e finito de ações “ primitivas “, da quais damos por certo que elas podem ser executadas. “
“ Um algoritmo é em outras palavras, uma NORMA EXECUTÁVEL, para estabelecer um certo efeito desejado, que na prática será geralmente a obtenção de uma solução a um certo tipo de problema.
“ Algoritmos da vida cotidiana:

  • Instruções para uso

  • Indicações de montagem

  • Receitas de cozinha



ANALISANDO O ALGORITMO


  1. “ Traga a cesta com batatas do porão “;

“ Traga a panela do armário “;

“ Descasque as batatas “;

“ Devolva a cesta ao porão “.
Suponha que antes de descascar as batatas, algumas vezes ainda coloca um avental. Para isso usa um critério racional para decidir se põe ou não o avental, por exemplo, dependendo da cor da roupa ser clara ou não.


2. “ Traga a cesta com batatas do porão “;

“ Traga a panela do armário “;

“ Coloque o avental “;

“ Descasque as batatas “ ;

“ Devolva a cesta ao porão “.
Podemos, com a inclusão de um comando condicional escrever um único algoritmo com a capacidade de representar os dois eventos.

3. “ Traga a cesta com batatas do porão “;

“ Traga a panela do armário “;


SE “ roupa é clara “ ENTÃO “ coloque o avental “;

“ Descasque as batatas “ ;

“ Devolva a cesta ao porão “ ;
- Suponha agora que em cada evento considerado, a quantidade de batatas é diferente.
- Com a inclusão de um comando que indica um laço repetitivo.


4. “ Traga a cesta com batatas do porão “ ;

Traga a panela do armário “ ;


SE “ roupa é clara “ ENTÃO “ coloque o avental “;

ENQUANTO “ número de batatas é insuficiente “ FAÇA

“ descasque uma batata “ ;

“ Devolva a cesta ao porão. “

ESTRUTURAS BÁSICAS

Portugol Chapin Tradicional

BLOCO.




Início

variáveis>



fim







SEQUÊNCIA BÁSICA.
I
C1

C1
nício


C1;


C2;


C2;

...;


C2


...;

Cn
Início


Cn;

Cn



ALTERNATIVA SIMPLES



V F



Se

Então


C1





_
C1;


C1


C2;

...



C2;
Cn;

Fimse;


C2

Cn;

Cn



Portugol Chapin Tradicional



ALTERNATIVA COMPOSTA



V F

C1



Se

Então


C1


C1;


C1



C1
C2;

...



C2;

C2;

Cn
Cn;


C2
Senão

C1;

C2;


...


C2



Cn
Cn;

F
Cn;

Cm;
imse
;









REPETIÇÃO COM TESTE NO INÍCIO (DO WHILE)

Faz de ZERO a N vezes.








Enquanto faça

C1;


C1


C2;


C2;


...

Cn;


F
C1
imenquanto
;


C2




Cm;


Cn





Portugol Chapin Tradicional


REPETIÇÃO COM TESTE NO FINAL (DO UNTIL)

Faz de UMA a N vezes.





C1

C2;



Repita


C1
C1;


C2


C2;

...



Cm;
Cn;

Até


Cn




















ALTERNATIVA DE MÚLTIPLA ESCOLHA (CASE)
Escolha < explressão >
Caso V11:V12:..:V1n: C1;
Caso V21:V22:..:V2n: C2;
. . .
Caso Vn1:Vn2:..:Vmn: Cm;
Senão: Cm + 1;
Fimescolha;


< Expressão>


C1

C2



. . .


CM = 1

Cn







C1



C2

Cn

Cm + 1













Portugol Chapin Tradicional




ENTRADA / SAÍDA











































leia (v1, v2, ..., vn);







leia (vq, v2, ..., vn)







Leia (v1, v2, ...,vn);











































imprima (v1, l1, c1)







Imprima (v1, l1, c1)







Imprima (v1, l1, c1)











































Exemplo
Dado um conjunto de valores inteiros e positivos, cada número representa um registro, determinar qual o menor valor do conjunto. Um registro com valor –1 indica fim dos dados e não deve ser considerado

SOLUÇÃO PORTUGOL
inicio




Inteiro: MENOR, (contém a cada instante o menor valor lido)

VALOR, (recebe o valor lido do registro)


Leia (VALOR) ;
MENOR VALOR ;
enquanto VALOR -1 faça
Se VALOR MENOR




então MENOR VALOR;
fim se;
leia VALOR ;
fim enquanto;
imprima ( “ O MENOR VALOR E “ , MENOR) ;
fim

SOLUÇÃO CHAPIN

LEIA VALOR


MENOR = VALOR






VALOR < MENOR





MENOR = VALOR

-

LEIA VALOR



IMPRIMA MENOR


SOLUÇÃO TRADICIONAL































MENOR =


VALOR





























REGRAS PRÁTICAS PARA CONSTRUÇÃO DE ALGORÍTMOS LEGÍVEIS

  1. Procure incorporar comentários explicativos nos algoritmos, principalmente para descrever o significado das variáveis utilizadas.

  2. Escolha nomes significativos para as variáveis, nomes que se auto-identificam com o conteúdo a ser armazenado.

  3. Grife as palavras chaves do algoritmo (PORTUGOL).

  4. Procure alinhar os comandos de acordo com o nível a que pertencem (PORTUGOL).




  1   2


©aneste.org 2017
enviar mensagem

    Página principal