26
Algoritmos – Estrutura Condicional Aula 06 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa [email protected] Universidade Federal Rural do Semi´ arido Bacharelado em Ciˆ encia e Tecnologia 23 de outubro de 2009 Diogo Pedrosa (UFERSA – DCEN) Estrutura Condicional 23 de outubro de 2009 1 / 26

Algoritmos { Estrutura Condicional - UFERSA · Tipos de Algoritmo Pseudoc odigo Consiste em analisar o enunciado do problema e escrever, por meio de regras pr e-de nidas, os passos

Embed Size (px)

Citation preview

Algoritmos – Estrutura CondicionalAula 06

Diogo Pinheiro Fernandes Pedrosahttp://www2.ufersa.edu.br/portal/professor/diogopedrosa

[email protected]

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