Fundamentos1-SlidesA7-15082008
-
Upload
alan-roberto -
Category
Documents
-
view
221 -
download
0
Transcript of Fundamentos1-SlidesA7-15082008
![Page 1: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/1.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 1/23
Fundamentos de Programação1
Slides 7
Prof. SIMÃO
Jean Marcelo SIMÃO
Estrutura de decisão composta
![Page 2: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/2.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 2/23
Estrutura de Decisãoou Seleção Composta
se < condição for verdadeira > entao
um conjunto de comandos;
senao
outro conjunto de comando;
fimse
![Page 3: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/3.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 3/23
Exemplo de Algoritmo
Algoritmo “Analisar se um número inteiro é maior que100 usando Se Senão”
// Parte Principal
Varnum : Inteiro
Inicio
escreval ( “Digite um número: ” )
leia (num)
se ( num > 100 ) entaoescreval ( “Número maior que 100” )
senao
escreval ( “Número menor ou igual a 100” )fimse
FimAlgoritmo.
![Page 4: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/4.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 4/23
Exercício
Elaborar um algoritmo que analisa se um
número inteiro é maior que 100 e, se for maior,quantas vezes ele é maior que 100.
Por exemplo, o número 249 é 2,49 vezes maiorque 100.
Obs: Usar estrutura Se-Senão
![Page 5: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/5.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 5/23
Solução do Exercício
Algoritmo “Analisar se um número inteiro é maior que 100 e quantas vezesé maior – se senão ”
Varnum : Inteironvezes : Real
// Parte PrincipalInicio
escreval ( “Digite um número inteiro: ” )leia ( num )
se ( num > 100 ) entaoescreval ( “Número maior que 100 ” )
nvezes←
num / 100escreval ( “O número é maior que cem ”, nvezes , “ vezes ” )senao
escreval ( “Número menor ou igual a 100 ” )fimse
FimAlgoritmo
![Page 6: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/6.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 6/23
Segunda Versão
Algoritmo “Analise se um número inteiro é maior que 100e quantas vezes é maior – Se Senão V2”
Varnum : Inteiro
// Parte PrincipalInicio
escreval ( “Digite um número inteiro: ” )leia ( num )
se ( num > 100 ) entaoescreval ( “Número maior que 100” )escreval ( “O número é maior que cem ”, num/100,“ vezes ” )
senaoescreval ( “Número menor ou igual a 100 ” )
fimse
FimAlgoritmo
![Page 7: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/7.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 7/23
Terceira versão
Algoritmo “Analisar se um número inteiro é maior que 100 e quantas vezes émaior - Se Senão V.3”
Varnum : Inteiro
// Parte PrincipalInicio
escreval ( “Digite um número: ” )leia ( num )
se ( num > 100 ) entao
escreval ( “Número ”, num ,“ é maior que 100 ” )escreval ( “O número ”, num , “ é maior que cem ”, num / 100, “vezes” )
senaoescreval ( “Número ”, num ,“ é menor ou igual a 100 ” )
fimse
FimAlgoritmo
![Page 8: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/8.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 8/23
Exercício
Elaborar um algoritmo que analisa se um
número inteiro é 1 , 2 ou diferente de 1 e 2
Obs: Usar estrutura Se-Senão
![Page 9: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/9.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 9/23
Solution
Algoritmo “Analisar se um número inteiro é o 1, 2 ou outro”Var
num : Inteiro // Parte PrincipalInicio
escreval ( “ Digite um número: ” )leia ( num )
se ( num = 1 ) entaoescreval ( “ É o número 1 ” )
senaose ( num = 2 ) entao
escreval ( “ É o número 2 ” )senãoescreval ( “ Não é nem o número 1 nem o número 2 ” )
fimsefimse
FimAlgoritmo
![Page 10: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/10.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 10/23
Solution errada
Algoritmo “Analisar se um número inteiro é o 1, 2 ou outro”Var
num : Inteiro // Parte PrincipalInicio
escreval ( “ Digite um número: ” )leia ( num )
se ( num = 1 ) entaoescreval ( “ É o número 1 ” )
se ( num = 2 ) entaoescreval ( “ É o número 2 ” )
senãoescreval ( “ Não é nem o número 1 nem o número 2 ” )
fimse
FimAlgoritmo
Esta solução está errada. Além de não ‘rodar’ em Visualg, o senão senão dizrespeito apenas ao sese imediatamente acima dele.
![Page 11: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/11.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 11/23
Solution errada
Algoritmo “Analisar se um número inteiro é o 1, 2 ou outro”Var
num : Inteiro // Parte PrincipalInicio
escreval ( “ Digite um número: ” )leia ( num )
se ( num = 1 ) entaoescreval ( “ É o número 1 ” )
fimsese ( num = 2 ) entao
escreval ( “ É o número 2 ” )senão
escreval ( “ Não é nem o número 1 nem o número 2 ” )fimse
FimAlgoritmo
Esta solução está errada. O senão senão diz respeito apenas ao se se imediatamenteacima dele.
![Page 12: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/12.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 12/23
Exercício
Elaborar um algoritmo que permita aousuário somar dois ou três númerosinteiros, segundo seu desejo.
Obs.: Usar a estrutura Se Senão
![Page 13: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/13.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 13/23
Uma primeira soluçãoAlgoritmo ‘Soma de dois ou três números’Var
prim_num, seg_num : Inteiroterc_num, soma, opcao : Inteiro
//Parte PrincipalInicio
escreval ( “Digite 2 para somar 2 números.” )escreval ( “Digite 3 para somar 3 números.” )escreval ( “Qual é a sua opção? ” )
leia ( opcao )
se ( opcao = 2) entao
escreval ( “Digite o primeiro número: ” )leia ( prim_num )
escreval ( “Digite o segundo número: ” )leia ( seg_num )
soma <- prim_num + seg_numescreval ( “A soma é: ”, soma )
senaose ( opcao = 3 ) entao
escreval ( “Digite o primeiro número: ” )leia ( prim_num )
escreval ( “Digite o segundo número: ” )leia ( seg_num )
escreval (“Digite o terceiro número: ” )leia ( terc_num )
soma← prim_num+seg_num+terc_numescreval ( “A soma é : ”, soma)
senao
escreval ( “Opção inválida” )
fimsefimse
Fim.
![Page 14: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/14.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 14/23
Uma segunda versãoAlgoritmo ‘Soma de dois ou três números V2’Var
prim_num, seg_num : Inteiroterc_num, soma : Inteiroopcao : Caracter
//Parte PrincipalInicio
escreval ( “Digite A para somar 2 números.” )escreval (“Digite B para somar 3 números.”)escreval (“Qual é a sua opção? ”)
leia ( opcao )
se ( opcao = “A” ) entao
escreval ( “Digite o primeiro número: ” )leia ( prim_num )
escreval ( “Digite o segundo número: ” )leia ( seg_num )
soma← prim_num + seg_num;escreval ( “A soma é : ”, soma)
senao
se (opcao = “B”) entao
escreval ( “Digite o primeiro número: ” )leia ( prim_num )
escreval ( “Digite o segundo número: ” )leia ( seg_num )
escreval ( “Digite o terceiro número: ” )leia ( terc_num )
soma <- prim_num+seg_num+terc_numescreval ( “A soma é : ”, soma )
senao
escreval ( “Opção inválida ” )
fimse
fimse
FimAlgoritmo
![Page 15: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/15.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 15/23
Melhorando a solução
Seria possivel uma solução melhor,usando a estrutura Se Senão ?
![Page 16: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/16.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 16/23
Segunda soluçãoAlgoritmo Soma de dois ou três númerosVar
prim_num, seg_num : Inteiroterc_num, soma : Inteiroopcao : Caracter
// Parte Principal
Inicioescreval (“Digite A para somar 2 números.”)escreval (“Digite B para somar 3 números.”)escreval (“Qual é a sua opção? ”)leia (opcao)
se ( (opcao = “A”) ou (opcao = “B”) ) entao
escreval (“Digite o primeiro número: ” )leia(prim_num);
escreval (“Digite o segundo número: ” )leia (seg_num );
soma← prim_num + seg_num;
se ( opcao = “A” ) entao
escreval ( “A soma é : ”, soma )
senao
escreval ( “Digite o terceiro número: ” )leia ( terc_num )
soma← soma + terc_num
escreval ( “A soma é: ”, soma )
fimse
senao
escreval ( “Opção inválida” )
fimse
FimAlgortimo
![Page 17: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/17.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 17/23
Outra soluçãoAlgoritmo “Outra Solução”Var
num1, num2, num3, result : Inteiro // Parte Principal
Inicio
escreval ( “Digite o primeiro número: ” )leia ( num1 )
escreval ( “Digite o segundo número: ” )
leia ( num2 )
escreval ( “Digite o terceiro número: ” )escreval ( “Obs. Para somar dois números, zere o terceiro! ” )leia ( num3 )
result← num1 + num2 + num3
escreval (“O resultado é : ”, result)
FimAlgoritmo
![Page 18: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/18.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 18/23
Exercícios.
Elaborar um algoritmo para o cálculo da soma,subtração, multiplicação ou divisão de dois númerosreais fornecidos pelo usuário, segundo sua opção.
Obs. Usar Se Senão
![Page 19: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/19.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 19/23
Solução exercício.
Algoritmo “Operações elementares sobre doisnúmeros cf. opção do usuário”Var
prim_num, seg_num : Realresult, opcao : Real
// Parte Principal
Inicio
escreval ( “Operações sobre 2 números reais.” )escreval ( “Digite 1 para soma,” )escreval ( “ 2 para subtração, ”)escreval ( “ 3 para multipliacação ou ”)escreval ( “ 4 para divisão.”)
leia (opcao)
se ( (opção = 1) ou (opção = 2) ou(opção = 3) ou (opção = 4) ) entao
escreval ( “Digite o primeiro número: ” )
leia ( prim_num )
escreval ( “Digite o segundo número: ” )leia (seg_num)
se ( opcao = 1) entaoresult <- prim_num + seg_num;
escreval (“O resultado da soma é: ”, result )
senao
se ( opcao = 2 ) entaoresult <- prim_num - seg_numescreval ( “O resultado da subtração é: ”, result )
senaose ( opcao = 3 ) entao
resul← prim_num * seg_numescreval ( “O resultado da multiplic. é: ”, result )
senaoresul← prim_num / seg_numescreval ( “O resultado da divisão é: ”, result )
fimsefimse
fim-se
senão
escreval (“Opção inválida”)
fim-se
Fim.
![Page 20: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/20.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 20/23
Solução exercício – V2.Algoritmo “Operações elementares sobre dois
números cf. opção do usuário”Var
prim_num, seg_num, result, opcao : Real
// Parte PrincipalInicio
escreval (“Operações sobre 2 números reais.”)escreval (“Digite 1 para soma,”)escreval (“ 2 para subtração, ”)escreval (“ 3 para multipliacação ou ”)escreval (“ 4 para divisão.”)leia ( opcao )
se ( (opcao = 1) ou (opcao = 2) ou(opcao = 3) ou (opcao = 4) ) entao
escreval ( “Digite o primeiro número: ” )leia (prim_num)
escreval (“Digite o segundo número: ”)leia (seg_num)
se (opcao = 1) entaoresult <- prim_num + seg_numescreval ( “O resultado da soma é: ”, result )
senao
se ( opcao = 2 ) entaoresult <- prim_num - seg_numescreval (“O resultado da subtração é: ”, result )
senãose ( opcao = 3 ) entao
result <- prim_num * seg_num;escreval (“O resultado da multiplic. é: ”, result )
senaose ( seg_num <> 0 ) entao
result <- prim_num / seg_numescreval ( “O resultado da divisão é: ”, result )
senao
escreval ( “Divisão por zero é impossível.” )fim-se
fimsefimse
fimse
senao
escreval ( “Opção inválida” )
fimse
FimAlgoritmo
![Page 21: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/21.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 21/23
Solução exercício – V3.Algoritmo “Operações elementares sobre dois
números cf. opção do usuário”Var
prim_num, seg_num, result, opcao : Real
// Parte PrincipalInicio
escreval (“Operações sobre 2 números reais.”)escreval (“Digite 1 para soma,”)escreval (“ 2 para subtração, ”)escreval (“ 3 para multipliacação ou ”)escreval (“ 4 para divisão.”)leia ( opcao )
se ( (opcao = 1) ou (opcao = 2) ou(opcao = 3) ou (opcao = 4) ) entao
escreval ( “Digite o primeiro número: ” )leia (prim_num)
escreval (“Digite o segundo número: ”)leia (seg_num)
se (opcao = 1) entaoresult <- prim_num + seg_numescreval ( “O resultado da soma é: ”, result )
senao
se ( opcao = 2 ) entaoresult <- prim_num - seg_numescreval (“O resultado da subtração é: ”, result )
senãose ( opcao = 3 ) entao
result <- prim_num * seg_num;escreval (“O resultado da multiplic. é: ”, result )
senaose ( seg_num <> 0 ) entao
result <- prim_num / seg_numescreval ( “O resultado da divisão é: ”, result )
fimse
se ( seg_num = 0 ) entaoescreval ( “Divisão por zero é impossível.” )
fimsefimse
fimse
fimse
senao
escreval ( “Opção inválida” )
fimseFimAlgoritmo
![Page 22: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/22.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 22/23
Exercício
• Elaborar um algoritmo onde o usuario possaescolher entre:
– o cálculo do perimetro de uma circunferência cujo
valor de raio é fornecido pelo usuário.
– o cálculo da área de um retângulo cujos valores doslados são fornecidos pelo usuário.
– o cálculo da área de um triângulo retângulo cujosvalores dos lados são fornecidos pelo usuário.
– o cálculo do volume de um cubo cujo valor dolado…
– o cálculo da área e do volume de uma esfera cujovalor do raio…
Obs.: Observação usar estrutura Se Senão
![Page 23: Fundamentos1-SlidesA7-15082008](https://reader033.fdocumentos.com/reader033/viewer/2022052515/5695cf1c1a28ab9b028ca749/html5/thumbnails/23.jpg)
7/23/2019 Fundamentos1-SlidesA7-15082008
http://slidepdf.com/reader/full/fundamentos1-slidesa7-15082008 23/23
Exercício
• Elabore um algoritmo que receba quatronotas de um aluno e calcule a médiaaritmética delas, dizendo se o aluno éaprovado, reprovado ou em exame:
– Aprovação com média maior ou igual a sete.
– Reprovação com média menor ou igual a cinco.
– Exame nota entre cinco e sete (exclusive).
Obs.: Observação usar estrutura Se Senão