Disciplina: Constr. de Algoritmos e Prog. de Sistemas
Professor: Jeovane Reges
Caxias – MA
2016
ACULDADE DE CIÊNCIAS
E TECNOLOGIA DO
MARANHÃO
Link Drive
bit.ly/ads-algoritmos
2
3
Algoritmos
4
Exemplos Resolvidos
<Comandos de Decisões>
5
Problema I
Faça um algoritmo que leia um número
qualquer e imprima o quadrado desse
número caso ele seja positivo.
• Algoritmos
• Problema I
• Solucionando o problema...
6
• Entrada:
• Um número qualquer
• numero ← 8
• Processamento:
• Verificar se o numero é positivo.
// se o "numero" for maior do que zero, então ele é positivo
• Saída:
• Quadrado do numero fornecido.
• Algoritmos
• Comandos de Decisões
 Resolução do Problema I
7
algoritmo "Problema 01"
var
numero: inteiro
inicio
escreva("Digite um valor: ")
leia(numero)
se (numero > 0) entao
escreval(Quad(numero))
fimse
fimalgoritmo
8
Problema II
Faça um algoritmo que leia o ano atual e o ano
de nascimento de uma pessoa. Em seguida,
escreva uma mensagem que diga se ela
poderá votar este ano.
// para uma pessoa votar ele deve ter uma idade maior ou igual a 16 anos.
• Algoritmos
• Problema II
• Solucionando o problema...
9
• Entrada:
• Ano de nascimento e ano atual
• ano_nasc ← 1990
• ano_atual ← 2016
• Processamento:
• idade ← ano_atual - ano_nasc // 25 anos
• Se a idade for maior ou igual à 16
entao é eleitor
• Saída:
• Poderá votar.
• Algoritmos
• Comandos de Decisões
 Resolução do Problema II
10
algoritmo "Problema 02"
var
ano_nasc, ano_atual, idade: inteiro
inicio
ano_nasc ← 1990
ano_atual ← 2016
idade ← ano_atual - ano_nasc
se (idade >= 16) entao
escreva("Poderá votar")
fimse
fimalgoritmo
11
Problema III
Faça um algoritmo que leia um número
e apresente-o caso seja divisível por 2,
mas não simultaneamente por 2 e 3.
• Algoritmos
• Problema III
• Solucionando o problema...
12
• Entrada:
• Um número qualquer
• num ← 14
• Processamento :
• Saída:
• Apresentar o número fornecido pelo usuário.
14 2
(0) 7
14 3
(2) 4
num
• Algoritmos
• Comandos de Decisões
 Resolução do Problema III
13
algoritmo "Problema 03"
var
num: inteiro
inicio
escreva("Digite um valor: ")
leia(num)
se ((num % 2 = 0) E (num % 3 <> 0)) entao
escreval(num)
fimse
fimalgoritmo
14
Problema IV
Faça um programa que leia um numero e
apresente:
• A raiz quadrada caso seja positivo
• O cubo caso seja negativo
• Algoritmos
• Problema IV
• Solucionando o problema...
15
• Entrada:
• Um número qualquer
• numero ← 8
• Processamento:
• Verificar se o numero é positivo ou negativo.
• Positivo: Raiz quadrada
• Negativo: Elevado ao cubo
• Saída:
• Raiz quadrada do numero.
• Ou o numero elevado ao cubo.
• Algoritmos
• Comandos de Decisões
 Resolução do Problema IV
16
algoritmo "Problema 04"
var
numero: inteiro
inicio
escreva("Digite um valor: ")
leia(numero)
se (numero > 0) entao
escreval(RaizQ(numero))
senao
escreval(Exp(numero, 3))
fimse
fimalgoritmo
17
Problema V
Dada a idade e o tempo de serviço de um
trabalhador, escreva se ele pode ou não 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.
• Algoritmos
• Problema V
• Solucionando o problema...
18
• Entrada:
• Idade e tempo de serviço
• Idade ← 60
• tempo_serv ← 27
• Processamento:
• Se tem pelo menos 65 anos;
• Senao se trabalhou pelo menos 30 anos;
• Senao se tem pelo menos 60 anos e trabalhou pelo
menos 25 anos.
• Saída:
• Pode se aposentar.
• Algoritmos
19
algoritmo "Problema 05"
var
idade, tempo_serv: inteiro
inicio
idade ← 60
tempo_serv ← 27
se (idade >= 65) entao
escreval("Pode se aposentar")
senao
se (tempo_serv >= 30) entao
escreval("Pode se aposentar")
senao
se ((idade >= 60) E (tempo_serv >= 25)) então
escreval("Pode se aposentar")
fimse
fimse
fimse
fimalgoritmo
ResoluçãodoProblemaV
20
Problema VI
Faça um algoritmo que dados três números
inteiros, apresente-os em ordem crescente.
• Algoritmos
• Problema VI
• Solucionando o problema...
21
• Entrada:
• Três números quaisquer...
• n1 ← 11
• n2 ← 10
• n3 ← 9
• Processamento:
• Encontrar o 3º. maior, 2º. maior e 1º. maior.
// comparar os valores uns com os outros
• Saída:
• Apresentá-los em ordem crescente.
• Algoritmos
22
algoritmo "Problema 06"
var
n1, n2, n3: inteiro
inicio
n1 ← 11
n2 ← 10
n3 ← 12
se ((n1 > n2) E (n2 > n3)) entao
escreval(n3, n2, n1)
senao
se ((n1 > n3) E (n3 > n2)) entao
escreval(n2, n3, n1)
senao
// verifica as outras condições
fimse
fimse
fimalgoritmo
ResoluçãodoProblemaVI
23
Problema VII
Usando o comando escolha .. caso, faça um
algoritmo que leia um número inteiro entre
1 e 7 e imprima o dia da semana
correspondente a esse número.
• Algoritmos
• Problema VII
• Solucionando o problema...
24
• Entrada:
• Um número que represente um dia da semana
• dia ← 2
• Processamento:
• Verificar qual dia da semana o numero
representa.
• Saída:
• 1 → Domingo
• 2 → Segunda-feira
• 3 → Terça-feira
• Algoritmos
• Comandos de Decisões
25
algoritmo "Problema 07"
var
dia: inteiro
inicio
escreva("Digite um numero: ")
leia(dia)
escolha (dia)
caso 1
escreval("Domingo")
caso 2
escreval("Segunda-feira")
outrocaso
escreval("Dia inválido")
fimescolha
fimalgoritmo
ResoluçãodoProblemaVII

Construcao de Algoritmos - Aula 07

  • 1.
    Disciplina: Constr. deAlgoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  • 2.
  • 3.
  • 4.
  • 5.
    5 Problema I Faça umalgoritmo que leia um número qualquer e imprima o quadrado desse número caso ele seja positivo.
  • 6.
    • Algoritmos • ProblemaI • Solucionando o problema... 6 • Entrada: • Um número qualquer • numero ← 8 • Processamento: • Verificar se o numero é positivo. // se o "numero" for maior do que zero, então ele é positivo • Saída: • Quadrado do numero fornecido.
  • 7.
    • Algoritmos • Comandosde Decisões  Resolução do Problema I 7 algoritmo "Problema 01" var numero: inteiro inicio escreva("Digite um valor: ") leia(numero) se (numero > 0) entao escreval(Quad(numero)) fimse fimalgoritmo
  • 8.
    8 Problema II Faça umalgoritmo que leia o ano atual e o ano de nascimento de uma pessoa. Em seguida, escreva uma mensagem que diga se ela poderá votar este ano. // para uma pessoa votar ele deve ter uma idade maior ou igual a 16 anos.
  • 9.
    • Algoritmos • ProblemaII • Solucionando o problema... 9 • Entrada: • Ano de nascimento e ano atual • ano_nasc ← 1990 • ano_atual ← 2016 • Processamento: • idade ← ano_atual - ano_nasc // 25 anos • Se a idade for maior ou igual à 16 entao é eleitor • Saída: • Poderá votar.
  • 10.
    • Algoritmos • Comandosde Decisões  Resolução do Problema II 10 algoritmo "Problema 02" var ano_nasc, ano_atual, idade: inteiro inicio ano_nasc ← 1990 ano_atual ← 2016 idade ← ano_atual - ano_nasc se (idade >= 16) entao escreva("Poderá votar") fimse fimalgoritmo
  • 11.
    11 Problema III Faça umalgoritmo que leia um número e apresente-o caso seja divisível por 2, mas não simultaneamente por 2 e 3.
  • 12.
    • Algoritmos • ProblemaIII • Solucionando o problema... 12 • Entrada: • Um número qualquer • num ← 14 • Processamento : • Saída: • Apresentar o número fornecido pelo usuário. 14 2 (0) 7 14 3 (2) 4 num
  • 13.
    • Algoritmos • Comandosde Decisões  Resolução do Problema III 13 algoritmo "Problema 03" var num: inteiro inicio escreva("Digite um valor: ") leia(num) se ((num % 2 = 0) E (num % 3 <> 0)) entao escreval(num) fimse fimalgoritmo
  • 14.
    14 Problema IV Faça umprograma que leia um numero e apresente: • A raiz quadrada caso seja positivo • O cubo caso seja negativo
  • 15.
    • Algoritmos • ProblemaIV • Solucionando o problema... 15 • Entrada: • Um número qualquer • numero ← 8 • Processamento: • Verificar se o numero é positivo ou negativo. • Positivo: Raiz quadrada • Negativo: Elevado ao cubo • Saída: • Raiz quadrada do numero. • Ou o numero elevado ao cubo.
  • 16.
    • Algoritmos • Comandosde Decisões  Resolução do Problema IV 16 algoritmo "Problema 04" var numero: inteiro inicio escreva("Digite um valor: ") leia(numero) se (numero > 0) entao escreval(RaizQ(numero)) senao escreval(Exp(numero, 3)) fimse fimalgoritmo
  • 17.
    17 Problema V Dada aidade e o tempo de serviço de um trabalhador, escreva se ele pode ou não 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.
  • 18.
    • Algoritmos • ProblemaV • Solucionando o problema... 18 • Entrada: • Idade e tempo de serviço • Idade ← 60 • tempo_serv ← 27 • Processamento: • Se tem pelo menos 65 anos; • Senao se trabalhou pelo menos 30 anos; • Senao se tem pelo menos 60 anos e trabalhou pelo menos 25 anos. • Saída: • Pode se aposentar.
  • 19.
    • Algoritmos 19 algoritmo "Problema05" var idade, tempo_serv: inteiro inicio idade ← 60 tempo_serv ← 27 se (idade >= 65) entao escreval("Pode se aposentar") senao se (tempo_serv >= 30) entao escreval("Pode se aposentar") senao se ((idade >= 60) E (tempo_serv >= 25)) então escreval("Pode se aposentar") fimse fimse fimse fimalgoritmo ResoluçãodoProblemaV
  • 20.
    20 Problema VI Faça umalgoritmo que dados três números inteiros, apresente-os em ordem crescente.
  • 21.
    • Algoritmos • ProblemaVI • Solucionando o problema... 21 • Entrada: • Três números quaisquer... • n1 ← 11 • n2 ← 10 • n3 ← 9 • Processamento: • Encontrar o 3º. maior, 2º. maior e 1º. maior. // comparar os valores uns com os outros • Saída: • Apresentá-los em ordem crescente.
  • 22.
    • Algoritmos 22 algoritmo "Problema06" var n1, n2, n3: inteiro inicio n1 ← 11 n2 ← 10 n3 ← 12 se ((n1 > n2) E (n2 > n3)) entao escreval(n3, n2, n1) senao se ((n1 > n3) E (n3 > n2)) entao escreval(n2, n3, n1) senao // verifica as outras condições fimse fimse fimalgoritmo ResoluçãodoProblemaVI
  • 23.
    23 Problema VII Usando ocomando escolha .. caso, faça um algoritmo que leia um número inteiro entre 1 e 7 e imprima o dia da semana correspondente a esse número.
  • 24.
    • Algoritmos • ProblemaVII • Solucionando o problema... 24 • Entrada: • Um número que represente um dia da semana • dia ← 2 • Processamento: • Verificar qual dia da semana o numero representa. • Saída: • 1 → Domingo • 2 → Segunda-feira • 3 → Terça-feira
  • 25.
    • Algoritmos • Comandosde Decisões 25 algoritmo "Problema 07" var dia: inteiro inicio escreva("Digite um numero: ") leia(dia) escolha (dia) caso 1 escreval("Domingo") caso 2 escreval("Segunda-feira") outrocaso escreval("Dia inválido") fimescolha fimalgoritmo ResoluçãodoProblemaVII