O documento apresenta um plano de aula sobre algoritmos e técnicas de programação. Ele discute o professor, conceitos como estruturas de controle (sequência, seleção, repetição), e exemplos de algoritmos utilizando diferentes estruturas de controle. O documento também fornece referências bibliográficas.
1. Curso de Tecnologia em Sistemas para Internet
Algoritmos e Técnicas
de Programação
Professor Dr. Valderi R. Q. Leithardt
valderi@ifc-camboriu.edu.br
2. 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.
3. Plano de aula
Revisão
Conceitos
Exercício de fixação
Perguntas
Referências
3
5. 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)
7. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
22. 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.
23. Próxima aula
23
Revisar o conteúdo visto hoje
Aninhamento de algorimos
Utilização de FLAG, CASO
Comandos básicos
Diagramas