Download - Construcao de Algoritmos - Aula 02
Disciplina: Constr. de Algoritmos e Prog. de SistemasProfessor: Jeovane Reges
Caxias – MA2016
ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
2
Link Drive
bit.ly/ads-algoritmos
3
Computador Hipotético
4
• Computador Hipotético• Introdução• Algoritmos...• ... são conjuntos de passos finitos e
organizados que, quando executados, resolvem um determinado problema.
• O verbete “lógica”, trata de uma parte da filosofia que estuda as leis do raciocínio.
• Praticamente quase todos os tipos de problema do dia-a-dia podem ser resolvidos utilizando algoritmos naturais.
5
• Computador Hipotético• Exemplo {1}
Chegando em CasaAbra o portãoPasse para o lado de dentro do terrenoFeche o portãoDirija-se à portaPegue a chave da portaAbra a porta da casaPasse para o lado de dentro da casaFeche a porta da casa
Observe que todo início de linha contém um IMPERATIVO. Não é por acaso!
Chegando em CasaAbra o portãoPasse para o lado de dentro do terrenoFeche o portãoDirija-se à portaPegue a chave da portaAbra a porta da casaPasse para o lado de dentro da casaFeche a porta da casa
6
Algoritmos Computacionais
7
São algoritmos que podem ser processados por qualquer
máquina computacional.
8
Máquinas computacionais podem
ser...
Notebooks
Celulares
Tablets
TVs Modernas
Câmeras Fotográficas
E até mesmo...
Relógios...
15
Computador Hipotético...
16
• Computador Hipotético• Introdução• O Computador Hipotético é um modelo
baseado em elementos de um escritório fictício.
• Tem por finalidade servir de base para a aprendizagem de conceitos básicos: A estrutura de um computador; e Funcionamento.
17
• Computador Hipotético• Introdução
Memória
Unidade de Entrada
Unidade de Saída Unidade Aritmética
Memória Secundária
Unidade de controle e lógica
18
• Variáveis
E15
E16
E17
• São locais utilizados para armazenar valores na memória para serem manipulados.
19
Resolução de Problemas
<Computador Hipotético>
20
• Computador Hipotético• Introdução• Variáveis: E15, E16, E17...
Armazenar/guardar um determinado valor.
• Passos: P1, P2, P3... Guardar uma ou mais instruções.
• Tabela Algorítmica
P1P2P3P4
21
Problema IDados dois números realize e
apresente a soma deles.
22
• Computador Hipotético • Problema I• Dados dois números realize e apresente a
soma deles.
1. Pegar uma folha na bandeja e armazenar o seu valor na variável E15;
2. Pegar a próxima folha na bandeja e armazenar o seu valor na variável E16;
3. Somar o conteúdo de E15 com E16 e armazenar o resultado em E17;
4. Imprimir o conteúdo de E17;5.Parar.
23
• Computador Hipotético • Problema I
Dados dois números realize e apresente a soma deles.
Bandeja ← [9, 10]
Pegar uma folha na bandeja e atribuir o seu valor a variável E15
Pegar a próxima folha da bandeja e atribuir o seu valor avariável E16
Somar o conteúdo de E15 com E16 e atribuir o resultadoa variável E17
Imprimir o conteúdo de E17Parar
P1
P2
P3
P4
P5
24
• Computador Hipotético • Problema I• Solucionando o problema...
Bandeja ← [9, 10]
• Entrada:• E15 ← 9 // primeiro valor• E16 ← 10 // segundo valor
• Saída:• E17 // 19
• Processamento:• E17 ← E15 + E16
25
Problema IIDadas duas notas de um aluno
calcule e apresente a média das notas.
26
• Computador Hipotético • Problema II
Dadas duas notas de um aluno calcule e apresente a média das notas.
Bandeja ← [9, 10]
P1
P2
P3
P4
P5P6 Parar
Pegar o primeiro valor da bandeja e atribuir o seu valor a variável E15Pegar o próximo valor da bandeja e atribuir o seu valor a variável E16Somar o conteúdo de E15 e E16 e atribuir o resultado a variável E17Dividir o valor de E17 por 2 e atribuir o resultado a variável E18Imprimir o conteúdo de E18
27
• Computador Hipotético • Problema II• Solucionando o problema...
Bandeja ← [9, 10]
• Entrada:• E15 ← 9 // primeiro valor• E16 ← 10 // segundo valor
• Saída:• E18 // 9.5
• Processamento:• E17 ← E15 + E16• E18 ← E17 / 2
28
Problema IIIDado o saldo de uma aplicação,
exiba o novo saldo após um reajuste de 10%.
29
• Computador Hipotético • Problema III
Porcentagens
1% → 0.0110% → 0.1015% → 0.1520% → 0.20100%
→ 1
105%
→ 1.05
110%
→ 1.1
30
• Computador Hipotético • Problema III
Dado o saldo de uma aplicação exiba o novo saldo após um reajuste de 10%.
Solicitar o saldo da aplicação e atribui-lo a variável E15Pegar o conteúdo de E15 e multiplicar por 0.10 e atribuir o resultado a variável E16
Somar o conteúdo de E15 com E16 e atribuir o resultado a variável E17
Imprimir o conteúdo de E17
P1
P2
P3
P4
P5 Parar
31
• Computador Hipotético • Problema III• Solucionando o problema...
• Entrada:• E15 ← 1000 // saldo
• Saída:• E17 // 1100
• Processamento:• E16 ← E15 * 0.10• E17 ← E15 + E16
32
Problema IVUma Empresa paga a seu vendedor um
salário fixo de R$ 800,00, mais uma comissão de 15% pelo valor de vendas
realizada no mês. Leia o valor de vendas e determine o salário total do
funcionário.
33
• Computador Hipotético • Problema IV
Tabela Algorítmica
Atribuir o valor do salário fixo a variável E15
Solicitar o valor de vendas e atribui-lo a variável E16
Pegar o conteúdo de E16 e multiplicar por 0.15 e atribuir o resultado a variável E17
Somar o conteúdo de E15 com E17 e atribuir o resultado a variável E18
Imprimir o conteúdo de E18
P1
P2
P3
P4
P5
P6 Parar
34
• Computador Hipotético • Problema IV• Solucionando o problema...
• Entrada:• E15 ← 800 // salário fixo• E16 ← 5000 // valor de vendas
• Saída:• E18 // 1550
• Processamento:• E17 ← E16 * 0.15 // 750• E18 ← E15 + E17
35
Problema VSolicitar um número qualquer e
imprimir o seu quadrado caso ele seja positivo.
36
• Computador Hipotético • Problema V
Solicitar um número qualquer e imprimir o seu quadrado caso ele seja positivo.
P1
P2
P3
P4
P5 Parar
Solicitar um número e atribui-lo a variável E15
Se o valor de E15 for maior do que ZERO, avance para P3, senão avance para P5
Multiplicar o conteúdo de E15 por ele mesmo e atribuir o resultado a variável E16
Imprimir o conteúdo de E16
37
• Computador Hipotético • Problema V• Solucionando o problema...
• Entrada:• E15 ← 8 // número solicitado
• Saída:• E16 // 64
• Processamento:• Verifica se o conteúdo de E15 é > do que
zero.• E16 ← E15 * E15
38
Problema VISolicitar o ano atual e o ano de
nascimento de uma pessoa. Imprimir a sua idade caso ela tenha idade para
votar.// para uma pessoa votar sua idade deve ser maior ou igual a 16 anos.
39
• Computador Hipotético • Problema VI
Solicitar o ano atual e o ano de nascimento de uma pessoa. Imprimir a sua idade caso ela tenha idade para votar.
P1
P2
P3
P4
P5
P6 Parar
Solicitar o ano atual e atribui-lo a variável E15
Solicitar o ano de nascimento e atribui-lo a variável E16
Subtrair o conteúdo de E15 por E16 e atribuir o resultado a E17
Se o conteúdo de E17 for maior ou igual a 16, avance para P5, senão avance para P6
Imprimir o conteúdo de E17
40
• Computador Hipotético • Problema VI• Solucionando o problema...
• Entrada:• E15 ← 2016 // ano atual• E16 ← 1995 // ano de nascimento• E17 ← E15 - E16 // subtração dos anos
•Saída:• E17 // 20
• Processamento:• Verifica se o conteúdo de E17 é maior do
que 16.
41
Problema VIIDadas as duas notas de aluno calcule a
média das notas e apresente uma mensagem dizendo se o aluno está
aprovado.// para o aluno ser aprovado sua média deve ser maior o igual a 7
42
• Computador Hipotético • Problema VII
Dadas as duas notas de aluno calcule a média das notas e apresente uma mensagem dizendo se o aluno está aprovado.
Solicitar a 1ª nota e atribuir o seu valor a variável E15Solicitar a 2ª nota e atribuir o seu valor a variável E16Somar o conteúdo de E15 com E16 e atribuir o resultado a variável E17Dividir o valor de E17 por 2 e atribuir o resultado a variável E18Se o conteúdo de E18 for maior ou igual a 7, então imprima “Aprovado”, senão avance para P6.
P1
P2
P3
P4
P5
P6 Parar
43
• Computador Hipotético • Problema VII• Solucionando o problema...
• Entrada:• E15 ← 8 // primeira nota• E16 ← 6.2 // segunda nota
• Saída:• “Aprovado”
• Processamento:• E17 ← E15 + E16• E18 ← E17 / 2• Se E18 for ≥ a 7,0 entao o aluno está
aprovado.
44
Problema VIIIDados dois números,
apresente o maior deles.
45
• Computador Hipotético • Problema VIII
Dados dois números, apresente o maior deles.
P1
P2
P3
P4 Parar
Solicitar o primeiro valor e atribui-lo a variável E15Solicitar o segundo valor e atribui-lo a variável E16Se E15 for maior do que E16, imprima o valor de E15 e avance para P5, senão imprima o conteúdo de E16
46
• Computador Hipotético • Problema VIII• Solucionando o problema...
• Entrada:• E15 ← 8 // primeiro valor• E16 ← 5.2 // segundo valor
• Saída:• E15• E16
• Processamento:• Se E15 for maior do que E16 entao o seu
valor será impresso.• Se não será impresso o valor de E16.
47
Problema IXLeia a idade e o tempo de serviço de um
trabalhador e escreva se ele pode se aposentar. As condições para aposentadoria
são:• Ter pelo menos 65 anos; • Ter trabalhado pelo menos 30 anos;• Ter pelo menos 60 anos e trabalhado pelo menos 25 anos.
48
• Computador Hipotético • Problema IX
Tabela Algorítmica
Solicitar a idade e atribui-la a variável E15Solicitar o tempo de serviço e atribui-lo a variável E16Se E15 for maior ou igual a 65 imprima “Pode se aposentar”, senão avance para P4
Se E16 for maior ou igual a 30 imprima “Pode se aposentar”, senão avance para P5
Se E15 for maior ou igual a 60 E E16 for maior ouigual a 25 imprima “Pode se aposentar”.
P1
P2
P3
P4
P5
P6 Parar
49
• Computador Hipotético • Problema IX• Solucionando o problema...
• Entrada:• E15 ← 62 // idade• E16 ← 27 // tempo de serviço
• Saída:• “Pode se aposentar”.
• Processamento:• Se E15 for maior ou igual a 65 anos;• Senao se E16 for maior ou igual 30 anos;• Senao se E15 for maior ou igual a 60 anos e
E16 maior ou igual a 25 anos.
50
Problema XCrie um “algoritmo” que imprima
vários números solicitados ao usuário. O algoritmo encerra quando for
digitado um valor menor ou igual a ZERO.
51
• Computador Hipotético • Problema X
Crie um “algoritmo” que imprima vários números solicitados ao usuário. O algoritmo encerra quando for digitado um valor menor ou igual a ZERO.
Solicitar um valor e atribui-lo a variável E15
Imprimir o conteúdo de E15
Enquanto o valor de E15 for maior do que ZERO voltepara P1
P1
P2
P3
P4 Parar
52
Problema XICrie um “algoritmo” que solicite vários
números digitados pelo usuário e apresente a quantidade de números
positivos. O algoritmo encerra quando for digitado o valor ZERO.
53
• Computador Hipotético • Problema XI
Tabela Algorítmica
Atribuir ZERO a variável E15
Solicitar um valor e atribui-lo a variável E16
Se o valor de E16 for maior do que ZERO, incrementar +1 em E15
Enquanto o valor de E16 for diferente de ZERO voltepara P2
Imprimir o conteúdo de E15
P1
P2
P3
P4
P5
P6 Parar
54
Problema XIIImprimir todos os valores
contidos em uma bandeja.
55
• Computador Hipotético • Problema XII
Imprimir todos os valores contidos em uma bandeja.
Bandeja ← [9, 5, 4]
// Sempre vai dá erro, pois o algoritmo não tem um ponto de parada definido.
Pegar um valor da bandeja e atribui-lo a variável E16
Imprimir o conteúdo de E16
Volte para P1
P1
P2
P3
P4 Parar
56
• Computador Hipotético • Problema XII
Imprimir todos os valores contidos em uma bandeja.
Bandeja ← [9, 5, 4]
P1 AtribuirZEROavariávelE15
P2Pegarumvalordabandejaeatribui-lo avariávelE16.
Incrementar+1a E15
P3 Imprimiroconteúdode E16
P4Enquanto o valor de E15 for menor do que aquantidadedeelementosnabandejavolteparaP2
P5 Parar
57
Problema XIIIDada uma bandeja com um
conjunto de valores, imprima apenas os números pares contidos
na bandeja.
• Computador Hipotético • Problema XIII
Bandeja ← [6, 5, 4]
58
Atribuir ZERO a variável E15
Pegar um valor da bandeja e atribui-lo a variável E16. Incrementar +1 a E15
Dividir E16 por dois. Se o resto da divisão for igual a ZERO, então imprima E16.
Enquanto o valor de E15 for menor do que a quantidade de elementos na bandeja volte para P2
P1
P2
P3
P4
P5 Parar
59
Problema XIVRealizar a soma de três valores
“fornecidos” pelo usuário.
60
• Computador Hipotético • Problema XIV
Realizar a soma de três valores “fornecidos” pelo usuário.
Atribuir ZERO as variáveis E15 e E16
Solicitar um valor e atribui-lo a variável E17. Incrementar +1 a E15
Somar o conteúdo de E16 com E17 e atribuir o resultado em E16
Enquanto o valor de E15 for menor do que 3 volte para P2
Imprimir o conteúdo de E16
P1
P2
P3
P4
P5
P6 Parar