Curso de Tecnologia em Sistemas para Internet
Algoritmos e Técnicas de Programação Professor Dr. Valderi R. Q. Leithardt
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.
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)
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”
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
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.
Top Related