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
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
valderi@ifc-camboriu.edu.br
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

Algoritmos conceitos

  • 1.
    Curso de Tecnologiaem 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 emProcessamento 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
  • 4.
    Revisão 4 Entrada -> Processamento-> Saída  Hardware, Software.
  • 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)
  • 6.
  • 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émchamada 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 Algoritmopara 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”
  • 18.
  • 19.
    19 Fazer um algoritmoutilizando 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.
    20 Algoritmo conexão internet INÍCIO Leiaconexao SE conexao < 0 ENTÃO escreva 'Sem conexão' SENAO escreva 'conectado' FIM SE FIM. Exercício de fixação
  • 21.
    Perguntas Professor Dr. ValderiR. Q. Leithardt valderi@ifc-camboriu.edu.br
  • 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  Revisaro conteúdo visto hoje  Aninhamento de algorimos  Utilização de FLAG, CASO  Comandos básicos  Diagramas