Sei sulla pagina 1di 7

Sistemas Computacionais aplicados a Engenharia / Algoritmo e Programao

Prof. Idney Cordo 2012.2 Aula 4 Programao com Deciso

Algoritmo e lgica de programao


Assunto baseado no texto:
Captulo 4 Programao com Deciso do livro Algoritmos de Manzano e Oliveira

Programao com Deciso


Tpicos a serem abordados:
Ser programador Decises, Condies e Operadores Relacionais Desvio condicional simples Desvio condicional composto Tomada de deciso sequencial Tomada de deciso encadeada Tomada de deciso por seleo

Ser programador
As trs virtudes do programador, segundo (Guerreiro, 2000)
Disciplina
preciso ter mtodo

Humildade
No ter excesso de confiana, reconhecer o erro e prosseguir, aceitar limitaes.

Perseverana
preciso superar os erros, atender pormenores, atender prazos...

Decises, Condies e Operadores Relacionais


Deciso
A tomada de deciso estabelece uma ao de desvio na operao do fluxo do programa.

Condio
Expresso cujo resultado um valor lgico falso ou verdadeiro. A expresso conseguida com uma relao lgica entre dois elementos e um operador relacional

Decises, Condies e Operadores Relacionais


Operadores relacionais

Desvio condicional simples


se <expresso-lgica> entao <seqncia-de-comandos> fimse
O VisuAlg analisa a <expressolgica>. Se o seu resultado for VERDADEIRO, todos os comandos da <seqncia-decomandos> so executados. Se o resultado for FALSO, estes comandos so desprezados e a execuo do algoritmo continua a partir da primeira linha depois do fimse.

Desvio condicional composto


se <expresso-lgica> entao <seqncia-de-comandos-1> senao <seqncia-de-comandos-2> fimse
se o resultado da avaliao de <expressolgica> for VERDADEIRO, todos os comandos da <seqncia-de-comandos-1> so executados, e a execuo continua a partir da primeira linha depois do fimse. Se o resultado for FALSO, o algoritmo continua a ser executado a partir da primeira linha depois do senao, executando todos os comandos da <seqncia-de-comandos-2>

Tomada de deciso sequencial


se <expresso-lgica1> entao <seqncia-de-comandos1> fimse se <expresso-lgica2> entao <seqncia-de-comandos2> fimse se <expresso-lgica1> entao <seqncia-de-comandos-1> senao <seqncia-de-comandos-2> fimse se <expresso-lgica2> entao <seqncia-de-comandos-3> senao <seqncia-de-comandos-4> fimse

Encadeamento sequencial de dois desvios condicionais simples

Encadeamento sequencial de dois desvios condicionais compostos

Tomada de deciso encadeada


se <expresso-lgica1> entao se <expresso-lgica2> entao <seqncia-de-comandos1> fimse fimse

Tomada de deciso encadeamento com deciso simples

Tomada de deciso encadeada


se <expresso-lgica1> entao se <expresso-lgica2> entao <comandos-para 1 e 2 verdadeiras> senao <comandos-para 1 verdadeira e 2 falsa> fimse senao <comandos-para 1 falsa> fimse

Tomada de deciso encadeamento com deciso composta

Tomada de deciso por seleo


escolha <expresso-de-seleo> caso <exp11>, <exp12>, ..., <exp1n> <seqncia-de-comandos-1> caso <exp21>, <exp22>, ..., <exp2n> <seqncia-de-comandos-2> ... outrocaso <seqncia-de-comandos-extra> fimescolha

Tomada de deciso por seleo - exemplo


algoritmo "Times" var time: caractere inicio escreva ("Entre com o nome de um time de futebol: ") leia (time) escolha time caso "Flamengo", "Fluminense", "Vasco", "Botafogo" escreval (" um time carioca.") caso "So Paulo", "Palmeiras", "Santos", "Cornthians" escreval (" um time paulista.") outrocaso escreval (" de outro estado.") fimescolha fimalgoritmo

Potrebbero piacerti anche