prof. dr. edison o de jesus. assuntos desta aula introdução ao curso atividades básicas
TRANSCRIPT
CCO 013
FUNDAMENTOS DE PROGRAMAÇÃOProf. Dr. Edison O de Jesus
Assuntos desta aula
Introdução ao curso Atividades básicas
Prof. Dr. Edison Oliveira de Jesus
http://www.edison.unifei.edu.br
Instituto de Matemática e Computação
Laboratório de Visão Computacional Aplicada
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
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 )
Datas Importantes
Consultar a página do professor
Sugestão de Bibliografia
• Consultar a página do professor
INTRODUÇÃO
OBJETIVO DO CURSO ?
Aprender a utilizar o computador como ferramenta para a realização de tarefas automatizadas
Atividade 1
Mostre como fazer a operação de somar dois números quaisquer utilizando apenas uma calculadora não progra-mável.
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
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.
Versão 2
Suponha agora que sua calculadora tenha memória para armazenamento de valores;
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
Versão 3
Escrever de modo mais sucinto as instruções da versão 2
Solução
inicio1. Entrar com A2. Mostrar A3. Entrar com B4. Mostrar B5. SOMA recebe A + B6. Mostrar SOMAfim
Outra Solução
inicio1. Entrar com A e com B2. Mostrar A e B3. SOMA recebe A + B4. Mostrar SOMAfim
Atividade 2
Calcular a expressão: babax
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
Versão 2
Escrever de modo mais sucinto as instruções da versão 1
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
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
Atividade 3
Fornecer vários números e mostrar o maior deles.
Suponha que a quantidade de números é conhecida e fornecida à maquina.
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
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?
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?
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
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
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
Atividade 4
Fornecer vários números e mostrar o maior deles.
Suponha que a quantidade de números NÃO é conhecida.
Comentários
Neste caso, não se pode fornecer a quantidade de números, pois esta quantidade não é conhecida.
Como proceder?
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
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
Atividade 5
Fornecer vários números e: mostrar o maior deles. Calcular a média aritmética dos números dados.
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
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
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
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
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.
Fim da Apresentaç
ão