algoritmos conceitos

23
Curso de Tecnologia em Sistemas para Internet Algoritmos e Técnicas de Programação Professor Dr. Valderi R. Q. Leithardt [email protected]

Upload: valderi-leithardt

Post on 23-Jan-2018

216 views

Category:

Education


0 download

TRANSCRIPT

Curso de Tecnologia em Sistemas para Internet

Algoritmos e Técnicas de Programação Professor Dr. Valderi R. Q. Leithardt

[email protected]

Professor

2

● Graduação em Processamento de Dados CESUFOZ

● Especialista em Redes e Sistemas Distribuídos

UFRGS

● Mestrado em Ciência Computação PUCRS

● Doutor em Ciências da Computação UFRGS *Nov

2015

● Experiência docente, acadêmica e área de TI > 10

anos.

Plano de aula

Revisão

Conceitos

Exercício de fixação

Perguntas

Referências

3

Revisão

4

Entrada -> Processamento -> Saída

Hardware, Software.

Revisão

5

Algoritmos

É uma descrição das etapas de resolução de um problema.

Um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito.

Descrição

ORTH. (1985)

Conceitos

6

Estruturas de Controle

7

Sequência

Grupo de comandos em que são executados um após o outro.

Seleção

Condições para execução -> decisão entre verdadeiro ou falso

Repetição

Enquanto, Para, Repita.

BOHM, C. JACOPINI, G. (1966)

Fundamentado na lógica estruturada, Bohn e Jacopini eles provaram que apenas três estruturas são suficientes para explicar a solução de qualquer problema, inclusive tornando-os estruturados e mais legíveis.

8

SELEÇÃO

Também chamada de estrutura de decisão ou de processamento condicional, a estrutura de seleção é utilizada quando a execução de um comando.

SELEÇÃO SIMPLES

Quando a execução de um comando (ou de uma sequência de comandos) depender de uma condição verdadeira, e não há comandos a executar se a condição for falsa.

Se <condição> Então (comandos); Fim Se;

Estruturas de Controle

CORMEN,T.H.; et al. (2002)

FARRER. (1999)

9

SELEÇÃO COMPOSTA

Quando se executa um comando (ou sequência de comando) se uma condição é verdadeira, e se executa um outro comando (ou sequência de comandos) se a condição é falsa.

Se <condição> Então (Comandos); Senão (comandos); Fim Se;

Estruturas de Controle

NORTON (2011)

10

Estruturas de Controle

Algoritmo para utilizar aplicativo - Sequência

Início

1. Comando 1;

2. Comando 2;

3. Comando 3;

4. . ;

5. . ;

6. Comando N;

Fim.

Este algoritmo só usa uma estrutura de sequência

“Início/Fim”

11

Estruturas de Controle

Algoritmo para utilizar um aplicativo - Sequência

Início

1. Clicar no aplicativo;

2. Verificar sinal internet;

3. Sincronizar e atualizar mensagens;

4. Teclar no contato desejado;

5. Escrever msg;

6. Enviar msg;

7. Desligar aplicativo;

Fim.

12

Estruturas de Controle

Algoritmo para utilizar um aplicativo – Seleção E se o sinal de internet do aplicativo não estiver funcionando?

INICIO

1. Comando;

2. Se <Condição>, então

1. Comando 1;

2. Comando 2;

3. . ;

4. . ;

5. Comando N;

3. Senão

1. Comando “sem comunicação”;

Este algoritmo usa uma estrutura de decisão “Se-então/Senão”

FIM.

13

Estruturas de Controle

Algoritmo para utilizar um aplicativo – Seleção E se o sinal de internet do aplicativo não estiver funcionando?

Início

1. Clicar no aplicativo;

2. Se tiver sinal de internet, então

1. Sincroniza e atualiza msg;

2. Teclar no contato desejado;

3. Escrever msg;

4. Enviar msg;

5. Desligar;

3. Senão

1. Exibir mensagem “sem comunicação”; FIM.

14

Estruturas de Controle

Algoritmo para utilizar um aplicativo – Repetição E se o sinal de internet do aplicativo estiver ruim?

INÍCIO

conexao := 1;

ENQUANTO ( conexao <> 0 )

Escreva (ativo) “conectado”; Comando N.... ; . . FIM ENQUANTO FIM

Este algoritmo usa uma estrutura de repetição

“Enquanto/while”

15

Estruturas de Controle

Algoritmo para utilizar um aplicativo – Repetição E se o sinal de internet do aplicativo estiver

ruim?

INÍCIO contador:= 0 ENQUANTO contador < 3 FAÇA

{bloco de comando a ser executado}

contador:= contador + 1 FIM ENQUANTO FIM

Este algoritmo usa uma estrutura de repetição “ENQUANTO / While”

FAÇA / Do

16

Estruturas de Controle

Algoritmo para utilizar um aplicativo – Repetição E se o sinal de internet do aplicativo estiver ruim?

i := num

INÍCIO escreva 'CONTAR NUMERO DE CONEXOES ATIVAS DE 10 ATÉ 1' escreva PARA i := 10 ATÉ DIMINUIR 1 FAÇA escreva i FIM PARA FIM

Decrementação ou incrementação “PARA / For”

17

Estruturas de Controle

Algoritmo para utilizar um aplicativo – Repetição E se o sinal de internet do aplicativo estiver ruim?

INÍCIO

escreva 'ALGORITMO QUE TESTA A VELOCIDADE INTERNET' escreva

REPITA escreva 'ENTRE COM UMA VELOCIDADE ENTRE 5 e 10'

leia valor

ATÉ ((valor >= 5) and (valor <= 10))

escreva 'VELOCIDADE IDENTIFICADA = ',valor

FIM.

Este algoritmo usa uma estrutura de repetição

“REPITA”

Exercício de fixação

18

19

Fazer um algoritmo utilizando uma estrutura de controle que leia se há conexão de internet e imprima "sem conexão" se não houver conexão, e conectado se houver conexão. Qual estrutura de controle utilizar? Sequência Seleção – simples ou composta? Repetição – Enquanto, para ou repita?

Exercício de fixação

20

Algoritmo conexão internet INÍCIO Leia conexao SE conexao < 0 ENTÃO escreva 'Sem conexão' SENAO escreva 'conectado' FIM SE FIM.

Exercício de fixação

Perguntas Professor Dr. Valderi R. Q. Leithardt

[email protected]

Referências

22

• BOHM, C.; JACOPINI, G., 'Flow diagrams, turing machines, and language with only two formation rules', 1966. http://doi.acm.org/10.1145/35 5592.365646 - Acessado em Fevereiro 2016.

• CORMEN,T.H.; LEISERSON, C.E. RIVEST, R.L and STEIN C. Algoritmos Teoria e prática. Editora Campus 2002.

• FARRER, C. G. B., Faria, E. C. “Algoritmos Estruturados”, 3ª edição, editora LTC - 1999.

• NORTON, Peter. Introdução à informática. São Paulo: Pearson, 2011.

• ORTH, Afonso. Inacio. Algoritmos. Editora Pallotti, Porto Alegre – RS 1985.

Próxima aula

23

Revisar o conteúdo visto hoje Aninhamento de algorimos Utilização de FLAG, CASO Comandos básicos Diagramas