prof. dr. edison o de jesus. assuntos desta aula introdução ao curso atividades básicas

39
CCO 013 FUNDAMENTOS DE PROGRAMAÇÃO Prof. Dr. Edison O de Jesus

Upload: carlos-eduardo-canejo-peres

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

CCO 013

FUNDAMENTOS DE PROGRAMAÇÃOProf. Dr. Edison O de Jesus

Page 2: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Assuntos desta aula

Introdução ao curso Atividades básicas

Page 3: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Prof. Dr. Edison Oliveira de Jesus

[email protected]

http://www.edison.unifei.edu.br

Instituto de Matemática e Computação

Laboratório de Visão Computacional Aplicada

Page 4: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Prof. Dr. Edison O de Jesus Instituto de Matemática e Computação Laboratório de Visão Computacional Aplicada

Engenheiro Eletricista pela EFEI – Escola Federal de Itajubá Mestre em Ciências – área de Sistemas Elétricos de Potencia

pela EFEI Doutor em Controle e Automação nas áreas de Visão

Computacional e Computação Gráfica – pelo RPI - Rensselear Polytechnic Institute – NY – USA

Áreas de atuação: linguagens de programação, estrutura de dados, computação gráfica, visão computacional, criptografia, etc.

Prof. Titular na UNIFEI – área de Computação Gráfica

Page 5: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

O curso Tipo de aulas

Apresentação de slides

Avaliação 2 notas bimestrais ( 70% de prova escrita ) 1 prova substitutiva Trabalhos individuais nas aulas práticas

( 30% da nota bimestral )

Page 6: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Datas Importantes

Consultar a página do professor

Page 7: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Sugestão de Bibliografia

• Consultar a página do professor

Page 8: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

INTRODUÇÃO

OBJETIVO DO CURSO ?

Aprender a utilizar o computador como ferramenta para a realização de tarefas automatizadas

Page 9: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Atividade 1

Mostre como fazer a operação de somar dois números quaisquer utilizando apenas uma calculadora não progra-mável.

Page 10: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução

inicio1. Entrar com o primeiro numero;2. Mostrar o numero dado;3. Entrar com o segundo numero;4. Mostrar o numero dado;5. Somar os dois números dados;6. Mostrar o resultado obtido;fim

Page 11: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

comentários

Entrar Significa uma informação fornecida pelo usuário à

máquina;

Mostrar Significa que a maquina está mostrando uma

informação ao usuá-rio;

Somar Significa uma determinada operação, neste caso

adição, realizada pela máquina.

Page 12: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Versão 2

Suponha agora que sua calculadora tenha memória para armazenamento de valores;

Page 13: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução

inicio1. Entrar com o primeiro numero e o armazene na

memória A;2. Mostrar o numero armazenado na memória A;3. Entrar com o segundo numero e o armazene na

memória B;4. Mostrar o numero armazenado na memória B;5. Somar o numero armazenado na memória A com o

numero armazenado na memória B e armazene o resultado na memória SOMA;

6. Mostrar o numero armazenado na memória SOMA;fim

Page 14: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Versão 3

Escrever de modo mais sucinto as instruções da versão 2

Page 15: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução

inicio1. Entrar com A2. Mostrar A3. Entrar com B4. Mostrar B5. SOMA recebe A + B6. Mostrar SOMAfim

Page 16: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Outra Solução

inicio1. Entrar com A e com B2. Mostrar A e B3. SOMA recebe A + B4. Mostrar SOMAfim

Page 17: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Atividade 2

Calcular a expressão: babax

Page 18: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução

inicio1. Entrar com A e com B2. Mostrar A e B3. NUMERADOR recebe A + B4. DENOMINADOR recebe A – B5. Verificar se DENOMINADOR = 0

Se sim mostrar mensagem ao usuário

Se não X recebe NUMERADOR / DENOMINADOR Mostrar X fim da verificação

fim

Page 19: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Versão 2

Escrever de modo mais sucinto as instruções da versão 1

Page 20: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução 1

inicio1. Entrar com A2. Mostrar A3. Entrar com B4. Mostrar B5. NUMERADOR recebe A + B6. DENOMINADOR recebe A – B7. Se DENOMINADOR = 0

Se sim• Mostrar mensagem ao usuário

Se não • X recebe NUMERADOR / DENOMINADOR • Mostrar X

fim da verificaçãofim

Page 21: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução 2

inicio1. Entrar com A2. Mostrar A3. Entrar com B4. Mostrar B5. NUMERADOR recebe A + B6. DENOMINADOR recebe A – B7. Se DENOMINADOR ≠ 0

Se sim • X recebe NUMERADOR / DENOMINADOR • Mostrar X

Se não• Mostrar mensagem ao usuário

fim da verificaçãofim

Page 22: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Atividade 3

Fornecer vários números e mostrar o maior deles.

Suponha que a quantidade de números é conhecida e fornecida à maquina.

Page 23: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução

Inicio Entrar com a quantidade de números e a armazene na

memória qN; Entrar com o primeiro numero e o armazene na memória N; Armazenar na memória MAIOR o numero armazenado na

memória N; Mostrar valor armazenado na memória N; Repetir enquanto tiver números a serem fornecidos:

Entrar com o próximo numero e o armazene na memória N;

Mostrar valor armazenado na memória N; Verificar se o numero dado é o maior dentre todos os

números já fornecidos, portanto, verificar se N > MAIOR Se Sim armazenar em MAIOR o numero armazenado em N

Fim da verificação Fim da repetição

Mostrar valor armazenado na memória MAIORfim

Page 24: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

comentários

A quantidade de números dada e armazenada em qN deve ser relacionada ao processo de repetição.

Ou seja, como a operação:

Repetir enquanto tiver números a serem fornecidos

É executada?

Page 25: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

No caso de sua calculadora, voce o usuário, é o responsável pela interação entre o seu aplicativo e sua maquina, ou seja, enquanto voce desejar vai fornecendo valores à maquina e esta vai executar o aplicativo de obter o maior dentre os números fornecidos.

Como representar esta ação numa atividade programada?

Page 26: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução 2Inicio

1. Entrar com qN2. Mostrar qN3. Entrar com VALOR4. Mostrar VALOR5. MAIOR recebe VALOR esta solução

não está6. CONT recebe 0 correta

devido ao uso7. Repetir Enquanto CONT < qN da memoria

CONT Verificar Se VALOR > MAIOR

Se Sim, MAIOR recebe VALOR fim da verificação Entrar com VALOR Mostrar VALOR CONT recebe CONT + 1

8. fim da repetição9. Mostrar MAIORfim

Page 27: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução 3

Inicio1. Entrar com qN2. Mostrar qN3. Entrar com VALOR4. Mostrar VALOR5. MAIOR recebe VALOR6. CONT recebe 17. Repetir Enquanto CONT < qN:

Entrar com VALOR Mostrar VALOR Verificar Se VALOR > MAIOR

Se Sim, MAIOR recebe VALOR fim da verificação CONT recebe CONT + 1

8. fim da repetição9. Mostrar MAIORfim

Page 28: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Teste de MesaDado: qN = 5Dado: VALOR = 30MAIOR = 30CONT = 1

CONT < 5 portanto:Dado: VALOR = 4CONT = 2

CONT < 5 portanto:Dado: VALOR = 49MAIOR = 49CONT = 3

CONT < 5 portanto:Dado: VALOR = 10CONT = 4

CONT < 5 portanto:Dado: VALOR = 25CONT = 5

CONT = 5 portanto:MAIOR = 49

Page 29: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Atividade 4

Fornecer vários números e mostrar o maior deles.

Suponha que a quantidade de números NÃO é conhecida.

Page 30: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Comentários

Neste caso, não se pode fornecer a quantidade de números, pois esta quantidade não é conhecida.

Como proceder?

Page 31: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução

Inicio1. Entrar com VALOR2. MAIOR recebe VALOR3. Repetir Enquanto VALOR ≠ 999:

Mostrar VALOR Verificar Se VALOR > MAIOR

Se Sim, MAIOR recebe VALOR fim da verificação Entrar com VALORfim da repetição

4. Mostrar MAIORfim

Page 32: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Teste de MesaDado: VALOR = 30MAIOR = 30 VALOR ≠ 999

Dado: VALOR = 10 MAIOR = 30VALOR ≠ 999

Dado: VALOR = 20 MAIOR = 30VALOR ≠ 999

Dado: VALOR = 39 MAIOR = 39VALOR ≠ 999

Dado: VALOR = 15 MAIOR = 39VALOR ≠ 999

Dado: VALOR = 5 MAIOR = 39VALOR ≠ 999

Dado: VALOR = 49 MAIOR = 49VALOR ≠ 999

Dado: VALOR = 10 MAIOR = 49VALOR ≠ 999

Dado: VALOR = 999 MAIOR = 49VALOR = 999

MAIOR = 49

Page 33: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Atividade 5

Fornecer vários números e: mostrar o maior deles. Calcular a média aritmética dos números dados.

Page 34: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução Inicio Entrar com N MAIOR recebe N CONT recebe 0 SOMA recebe 0 Repetir Enquanto N ≠ 999:

Mostrar N SOMA recebe SOMA + N Verificar Se N > MAIOR

Se Sim, MAIOR recebe N fim da verificação Entrar com N CONT recebe CONT + 1fim da repetiçãoMEDIA recebe SOMA / CONT

Mostrar MAIOR Mostrar MEDIAfim

Page 35: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Teste de MesaDado: N = 30MAIOR = 30SOMA = 0CONT = 0

N ≠ 999SOMA = 30 MAIOR = 30 Dado: N = 10 CONT = 1

N ≠ 999

SOMA = 40 MAIOR = 30 Dado: N = 20 CONT = 2 N ≠ 999

SOMA = 60 MAIOR = 30 Dado: N = 39 CONT = 3 N ≠ 999

SOMA = 99 MAIOR = 39 Dado: N = 15 CONT = 4 N ≠ 999

SOMA = 114 MAIOR = 39 Dado: N = 5 CONT = 5 N ≠ 999

SOMA = 119 MAIOR = 39 Dado: N = 49 CONT = 6 N ≠ 999

SOMA = 168 MAIOR = 49 Dado: N = 10 CONT = 7 N ≠ 999

SOMA = 178 MAIOR = 49 Dado: N = 999 CONT = 8N = 999

MAIOR = 49MEDIA = 178 / 8 = 22.25

Page 36: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Solução 2 Inicio Entrar com N MAIOR recebe N CONT recebe 0 SOMA recebe 0 Repetir Enquanto N > 0:

Mostrar N SOMA recebe SOMA + N Verificar Se N > MAIOR

Se Sim, MAIOR recebe N fim da verificação Entrar com N CONT recebe CONT + 1fim da repetiçãoMEDIA recebe SOMA / CONT

Mostrar MAIOR Mostrar MEDIAfim

Page 37: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Teste de MesaDado: N = 30MAIOR = 30SOMA = 0CONT = 0 N > 0

SOMA = 30 MAIOR = 30 Dado: N = 10 CONT = 1 N > 0

SOMA = 40 MAIOR = 30 Dado: N = 20 CONT = 2 N > 0

SOMA = 60 MAIOR = 30 Dado: N = 39 CONT = 3 N > 0

SOMA = 99 MAIOR = 39 Dado: N = 15 CONT = 4 N > 0

SOMA = 114 MAIOR = 39 Dado: N = 5 CONT = 5 N > 0

SOMA = 119 MAIOR = 39 Dado: N = 49 CONT = 6 N > 0

SOMA = 168 MAIOR = 49 Dado: N = 10 CONT = 7 N > 0

SOMA = 178 MAIOR = 49 Dado: N = -1 CONT = 8N < 0

MAIOR = 49MEDIA = 178 / 8 = 22.25

Page 38: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Comentários

Percebe-se pelos exemplos apresentados que todas estas atividades podem ser automatizadas.

O objetivo do curso é apresentar técnicas que auxiliam nesta automação, utilizando para isto computadores.

Page 39: Prof. Dr. Edison O de Jesus.  Assuntos desta aula  Introdução ao curso  Atividades básicas

Fim da Apresentaç

ão