Upload
dinhphuc
View
222
Download
0
Embed Size (px)
Citation preview
Algoritmos – Estrutura CondicionalAula 06
Diogo Pinheiro Fernandes Pedrosahttp://www2.ufersa.edu.br/portal/professor/diogopedrosa
Universidade Federal Rural do SemiaridoBacharelado em Ciencia e Tecnologia
23 de outubro de 2009
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 1 / 26
IntroducaoEm aulas anteriores...
Um algoritmo e a descricao de uma sequencia de passos que deve serseguida para a realizacao de uma tarefa.”
Observacao
Podem existir varios algoritmos para solucionar o mesmo problema.
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 2 / 26
Tipos de AlgoritmoPseudocodigo
Consiste em analisar o enunciado do problema e escrever, por meio deregras pre-definidas, os passos a serem seguidos para sua resolucao.
Vantagem: a passagem do algoritmo para qualquer linguagem deprogramacao e quase imediata, basta conhecer os codigos dalinguagem;
Desvantagem: e necessario aprender as regras do pseudocodigo.
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 3 / 26
Estrutura Sequencial
E a estrutura que permite criar o algoritmo como uma sequencia de passospara resolver um determinado problema. Consiste em:
Utilizar uma palavra-chave para iniciar o algoritmo (INICIOALGORITMO);
Declarar as variaveis e seus tipos;
Realizar o processamento sobre as variaveis;
Finalizar o algoritmo com uma outra palavra chave (FIMALGORITMO).
Exemplo
1: INICIO ALGORITMO2: DECLARE variaveis3: bloco de comandos4: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 4 / 26
Declaracao de Variaveis
Utiliza a palavra chave DECLARE, seguida do identificador da variavel edo seu tipo.
Exemplo
1: INICIO ALGORITMO2: DECLARE X NUMERICO3: DECLARE Y , Z CARACTERE4: DECLARE TESTE LOGICO5: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 5 / 26
Atribuicao de Valores
Para a atribuicao de valores as variaveis, usa-se o sımbolo “←”.
Exemplo
1: INICIO ALGORITMO2: DECLARE X NUMERICO3: DECLARE Y , Z CARACTERE4: DECLARE TESTE LOGICO5: X ← 46: Y ← “teste”7: TESTE ← falso8: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 6 / 26
Comando de Entrada
Para a entrada de dados no algoritmo, usa-se a palavra-chave LEIA!
Exemplo
1: INICIO ALGORITMO2: DECLARE X NUMERICO3: LEIA X4: X ← X + 25: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 7 / 26
Comando de Saıda
Para a saıda (exibicao) de dados (variaveis), usa-se a palavra-chaveESCREVA!
Exemplo
1: INICIO ALGORITMO2: DECLARE X NUMERICO3: LEIA X4: X ← X + 25: ESCREVA X6: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 8 / 26
Exemplo
Faca um algoritmo que receba quatro numeros inteiros e que calcule eapresente a soma deles.
1: INICIO ALGORITMO2: DECLARE n1, n2, n3, n4 NUMERICO3: DECLARE soma NUMERICO4: ESCREVA “Digite os quatro numeros”5: LEIA n1, n2, n3, n46: soma← n1 + n2 + n3 + n47: ESCREVA “Soma = ”, soma8: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 9 / 26
Exemplo
Faca um algoritmo que receba tres notas e que calcule e apresente a mediaaritmetrica entre elas.
1: INICIO ALGORITMO2: DECLARE n1, n2, n3, NUMERICO3: DECLARE media NUMERICO4: ESCREVA “Digite as tres notas:”5: LEIA n1, n2, n36: media← (n1 + n2 + n3)/37: ESCREVA “Media = ”, media8: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 10 / 26
Estrutura Condicional
E a estrutura que permite a tomada de decisao, em um algoritmo,mediante a analise logica de uma condicao;
Condicao → comparacao que somente possui dois valores possıveis(verdadeiro ou falso);
Utiliza as palavras chaves SE – ENTAO, SENAO, FIM SE.
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 11 / 26
Estrutura CondicionalEstrutura Simples
1: INICIO ALGORITMO2: SE condicao ENTAO3: comando4: FIM SE5: FIM ALGORITMO
O comando somente sera executado se a condicao for verdadeira.
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 12 / 26
Estrutura CondicionalEstrutura Simples
Pode haver mais de um comando dentro da estrutura condicional, ou maisde um teste a ser realizado na condicao.
1: INICIO ALGORITMO2: SE (condicao 01 E condicao 02) ENTAO3: comando A4: comando B5: comando C6: FIM SE7: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 13 / 26
Estrutura CondicionalEstrutura Composta
Ocorre quando se deseja que um outro comando seja executado quando oteste falhar.
1: INICIO ALGORITMO2: SE condicao ENTAO3: comando A4: SENAO5: comando B6: FIM SE7: FIM ALGORITMO
Se a condicao for verdadeira, entao o comando A sera executado. Caso elaseja falsa, apenas o comando B sera executado.
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 14 / 26
Estrutura CondicionalCondicoes Aninhadas
Estruturas condicionais podem ser postas uma dentro da outra de forma agarantir uma melhor maneira de executar os comandos → estruturasaninhadas.
1: INICIO ALGORITMO2: SE condicao A ENTAO3: SE condicao B ENTAO4: comando 015: SENAO6: comando 027: FIM SE8: SENAO9: comando 03
10: FIM SE11: FIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 15 / 26
Exemplo
A nota final de um estudante e calculada a partir de tres notas atribuıdas,respectivamente, a um trabalho de laboratorio, a uma avaliacao semestrale a um exame final. As media das tres notas mencionadas obedece aosseguintes pesos:
Nota PesoTrabalho de laboratorio 2
Avaliacao semestral 3
Exame final 5
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 16 / 26
Exemplo
Elabore um algoritmo para um programa que receba as tres notas, calculea media ponderada do aluno e classifique seu desempenho (conceito) deacordo com a tabela seguinte:
Media Conceito[8,0; 10,0] A
[7.0; 8,0) B
[6.0; 7.0) C
[5.0; 6.0) D
[0.0; 5.0) E
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 17 / 26
ExemploAlgoritmo...
INICIO ALGORITMODECLARE trab, av , exam, med NUMERICOESCREVA ”Digite a nota do trabalho de laboratorio: ”LEIA trabESCREVA ”Digite a nota da avaliacao semestral: ”LEIA avESCREVA ”Digite a nota do exame final: ”LEIA exammed ← (2 · trab + 3 · av + 5 · exam)/10SE med ≥ 8 E med ≤ 10 ENTAO
ESCREVA ”Obteve conceito A!”FIM SE
Continua...
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 18 / 26
ExemploAlgoritmo...
...aqui!
SE med ≥ 7 E med < 8 ENTAOESCREVA ”Obteve conceito B!”
FIM SESE med ≥ 6 E med ≤ 7 ENTAO
ESCREVA ”Obteve conceito C!”FIM SESE med ≥ 5 E med ≤ 6 ENTAO
ESCREVA ”Obteve conceito D!”FIM SESE med ≥ 0 E med ≤ 5 ENTAO
ESCREVA ”Obteve conceito E!”FIM SEFIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 19 / 26
Outro Exemplo
Elabore um algoritmo de um programa que mostre o menu de opcoes aseguir, receba a opcao do usuario e os dados necessarios para cadaoperacao.
Menu de opc~oes:1 - Somar dois numeros;2 - Raiz quadrada de um numero.
Digite a opc~ao desejada:
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 20 / 26
Outro ExemploAlgoritmo...
INICIO ALGORITMODECLARE n1, n2, soma, raiz , op NUMERICOESCREVA ”Menu de Opcoes:”ESCREVA ”1 - Somar dois numeros;”ESCREVA ”2 - Raiz quadrada de um numero.”ESCREVA ”Digite a opcao desejada: ”LEIA op
Continua...
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 21 / 26
Outro ExemploAlgoritmo...
... aqui!
SE op = 1 ENTAOESCREVA ”Digite o valor dos dois numeros: ”LEIA n1, n2soma← n1 + n2ESCREVA ”A soma e ”, soma
FIM SESE op = 2 ENTAO
ESCREVA ”Digite o valor de um numero: ”LEIA n1raiz ←
√n1
ESCREVA ”A raiz desse numero e ”, raizFIM SE
Continua...
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 22 / 26
Outro ExemploAlgoritmo...
...aqui!
SE op 6= 1 E op 6= 2 ENTAOESCREVA ”Opcao invalida!”
FIM SEFIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 23 / 26
Mais um Exemplo
Faca um algoritmo para um programa que receba tres numeros distintos eos exiba em ordem crescente.
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 24 / 26
Mais um ExemploAlgoritmo...
INICIO ALGORITMODECLARE n1, n2, n3 NUMERICOESCREVA ”Digite tres numeros aleatorios: ”LEIA n1, n2, n3SE n1 < n2 E n1 < n3 ENTAO
SE n2 < n3 ENTAOESCREVA n1 ” - ”, n2, ” - ”, n3
SENAOESCREVA n1, ” - ”, n3, ” - ”, n2
FIM SEFIM SE
Continua...
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 25 / 26
Mais um ExemploAlgoritmo...
...aqui!SE n2 < n1 E n2 < n3 ENTAO
SE n1 < n3 ENTAOESCREVA n2 ” - ”, n1, ” - ”, n3
SENAOESCREVA n2, ” - ”, n3, ” - ”, n1
FIM SEFIM SESE n3 < n1 E n3 < n2 ENTAO
SE n1 < n2 ENTAOESCREVA n3 ” - ”, n1, ” - ”, n2
SENAOESCREVA n3, ” - ”, n2, ” - ”, n1
FIM SEFIM SEFIM ALGORITMO
Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 26 / 26