32
ALGORITMOS CMP1044

Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

Embed Size (px)

Citation preview

Page 1: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

ALGORITMOS CMP1044

Page 2: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

EMENTA

Estudo dos métodos para resolução de problemas e modelagem da solução por meio de algoritmo. Estruturação, depuração, testes e documentação.

Page 3: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

CONTEÚDO PROGRAMÁTICO

1. Introdução a algoritmos;

2. Comandos básicos de programação;

3. Estruturas condicionais e expressões lógicas;

4. Estruturas de repetição;

5. Estruturas de dados compostas homogêneas unidimensionais e bidimensionais;

6. Aplicações práticas.

Page 4: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

AVALIAÇÃO

N1 8 exercícios valendo 0,5

1 avaliação valendo 6,0

Soma: 10,0

N2 2 avaliações valendo 10,0

Avaliação Interdisciplinar 1,0 (10 Maio)

N2 = ((Prova 1 + Prova 2)/2)*0.9 +AI

Page 5: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

AED

MARATONA DE PROGRAMAÇÃO

Objetivos da Atividade Desenvolver nos alunos o raciocínio lógico computacional bem como a compreensão do problema através da leitura. Habilitar o aluno a participar de maratonas de computação além de proporcionar a aplicação dos conhecimentos vistos em sala de aula. Aprimorar a capacidade de programar computadores de forma correta e eficiente.

Descrição da Atividade Será entregue ao aluno exercícios aplicados em maratonas anteriores. Os exercícios serão entregues em partes segundo o conteúdo visto até o dia de cada uma das avaliações do semestre. O aluno deverá resolver o exercícios e entregar o código impresso no dia da avaliação. Em dia surpresa será realizada uma maratona em sala de aula para que o aluno aplique e exercite sua capacidade de competição.

Cronograma: Os exercícios deverão ser entregues no dia da prova subsequente a entrega do exercícios ao aluno pela professora.

Forma de Registro: Será feito um registro de frequência dos alunos que entregarem a proposta de resolução até o dia estipulado.

Critérios de Avaliação: A atividade irá integralizar a frequência do aluno com 4 presenças, sendo 1 presença por exercício.

Bibliografia de Consulta: DEITEL, Paul J. C++ como programar. 5. ed. São Paulo: Pearson, 2006.

Bibliografia Complementar: LOPES, Anita; GUTO, G. Introdução à programação. Rio de Janeiro: Campus, 2002.

Page 6: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

REPOSIÇÃO

Através de trabalhos:

13/03 - Arquitetura Funcional do Computador

20/03 - História do Computador

Resolução de problemas (listas de exercícios) realizadas no site www.urionlinejudge.com.br

23/03 10/04 25/05 19/06

Page 7: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,
Page 8: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,
Page 9: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,
Page 10: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,
Page 11: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

LÓGICA DE PROGRAMAÇÃO

Técnica de encadear pensamentos para atingir determinado objetivo.

O aprendizado desta técnica é necessário para que deseja trabalhar com o desenvolvimento de sistemas e programas.

Page 12: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

O QUE É ALGORITMO?

Page 13: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

O QUE É ALGORITMO?

Um procedimento passo a passo para a solução de um problema.

Page 14: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

O QUE É ALGORITMO?

Um procedimento passo a passo para a solução de um problema.

Uma sequencia detalhada de ações a serem executadas para realizar alguma tarefa.

Page 15: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. ?

Page 16: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. Pegar frigideira, ovo, óleo e sal.

2. ?

Page 17: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3.?

Page 18: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3.Acender o fogo

4.?

Page 19: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3.Acender o fogo

4. Colocar frigideira no fogo.

5. Esperar o óleo esquentar

6. ?

Page 20: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3.Acender o fogo

4. Colocar frigideira no fogo.

5. Esperar o óleo esquentar

6. colocar o ovo

7. retirar quando pronto.

Page 21: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3.Acender o fogo

4. Colocar frigideira no fogo.

5. Esperar o óleo esquentar

6. colocar o ovo

7. retirar quando pronto.

Cada linha é uma instrução

Page 22: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

FRITAR UM OVO

1. Pegar frigideira, ovo, óleo e sal.

2. Colocar óleo na frigideira.

3.Acender o fogo

4. Colocar frigideira no fogo.

5. Esperar o óleo esquentar

6. colocar o ovo

7. retirar quando pronto.

Cada linha é uma instrução

Então um algoritmo é um conjunto de instruções

Page 23: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

ALGORITMO

Inicio

Fim

Algoritmo

Fim Algoritmo

Prog

Fim Prog

Page 24: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

ALGORITMO

Inicio

Fim

Algoritmo

Fim Algoritmo

Prog

Fim Prog

int main(){

}

Page 25: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

REFINAMENTOS

Algoritmo

Sair da sala

Fim Algoritmo

Um algoritmo é considerado completo se seus comandos forem do entendimento do seu destinatário

Page 26: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

REFINAMENTOS

Algoritmo

Sair da sala

Fim Algoritmo

Num algoritmo, um comando que não for do entendimento do destinatário terá que ser desdobrado em novos comandos, que constituirão em refinamento do comando inicial.

Page 27: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

REFINAMENTOS

Algoritmo

Sair da sala

Fim Algoritmo

Num algoritmo, um comando que não for do entendimento do destinatário terá que ser desdobrado em novos comandos, que constituirão em refinamento do comando inicial.

Ref.

1. Por um pé na frente do

outro sucessivas vezes

2. Virar o corpo para a esquerda

3. Por um pé na frente do

outro sucessivas vezes

Fim Ref.

Page 28: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

REFINAMENTOS

Algoritmo

Sair da sala

Fim Algoritmo

Estrutura Sequencial: comandos são executados um após o outro.

Ref.

1. Por um pé na frente do

outro sucessivas vezes

2. Virar o corpo para a esquerda

3. Por um pé na frente do

outro sucessivas vezes

Fim Ref.

Page 29: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

O BARALHO ESTÁ COMPLETO?

Algoritmo

Verificar cartas do baralho

Fim Algoritmo

Page 30: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

O BARALHO ESTÁ COMPLETO?

Algoritmo

Verificar cartas do baralho

Fim Algoritmo

Ref. Verificar cartas do baralho

1. Separar cartas segundo o naipe.2. Colocar cartas em ordem crescente.3. Contar cartas

Fim Ref.

Page 31: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

O BARALHO ESTÁ COMPLETO?

Algoritmo

Verificar cartas do baralho

Fim Algoritmo

Ref. Verificar cartas do baralho

1. Separar cartas segundo o naipe.2. Colocar cartas em ordem crescente.3. Contar cartas

Fim Ref.

Ref. Colocar cartas em ordem crescente.

Fim Ref.

Ref. Contar cartas

Fim Ref.

Sucessivos Refinamentos

Page 32: Algoritmos - professor.pucgoias.edu.brprofessor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17389/... · Estruturas condicionais e expressões lógicas; 4. ... Num algoritmo,

EXERCÍCIO 1

Fazer um algoritmo para levar 3 missionários e 3 canibais de um lado para outro de um rio, atravessando com um bote. Sabe-se que nunca pode ter mais missionários do que canibais porque senão os missionários catequizam os canibais. O que fazer para levar os 6 de uma margem para a outra?