You are on page 1of 14

BC-0005

Bases Computacionais da Cincia


Aula 06 Lgica de Programao: Estruturas Condicionais
Profa. Cristiane Salum

2011

Lgica de Programao
Conceitos desta aula:

Tomada de Deciso Comandos de Observao do Ambiente do RoboMind Expresses lgicas Conectores lgicos e sua interpretao no RoboMind

Tomada de Deciso
A todo tempo temos que tomar decises sobre o que fazer, como fazer, quando fazer, etc; Geralmente estas decises so tomadas de acordo com suas consequncias, ou seja, com base em regras Em lgica de programao a tomada de deciso feita utilizando-se Estruturas Condicionais

Exemplo de tomada de deciso:


Sejaxaporcentagemnaquevocconseguiuno curso:
Sex<45%,seuconceitoeF; Casocontrario,sex 45%ex<50%,seuconceitoeD; Casocontrario,sex 50%ex<70%,seuconceitoeC; Casocontrario,sex 70%ex<85%,seuconceitoeB; Casocontrario,seuconceitoeA.

Estruturas Condicionais no RoboMind Orobpodeobservarasclulasdaesquerda, direitaeafrente.


existeumobstaculonaclula? aclulaestavazia?; temumobjetonaclula?; aclulaestapintadadebranco?; aclulaestapintadadepreto?

Comandos de Observao do ambiente no RoboMind Ao de Percepo

Estes comandos podem ser usados em conjunto com estruturas de deciso

Estruturas de Deciso no RoboMind


(condio) {comando} Executa a sequncia de comandos somente se a condio for verdadeira O que o programa abaixo faz?

E se for preto?

Estruturas de Deciso no RoboMind


se (condio) {comandos} seno {comandos} Executa uma sequncia de comandos se a condio for verdadeira e outra sequncia alternativa caso contrrio

Expresses Lgicas
A condio no comando SE uma expresso lgica pode assumir os valores verdadeiro ou falso; Uma expresso lgica pode ser uma ao de percepo ou a instruo SORTEAR(), que retorna um valor verdadeiro ou falso, de maneira aleatria. No RoboMind dispomos de trs conectivos lgicos:
no (~), e (&) e ou (|).

Exemplo deExpresso Lgica


Oque faz esta sequncia deinstrues?

Exerccio
Criar ummapa emqueorobdevesemoveremlinharetada esquerdaparadireita,mascomumobstculo frente. Quais comandos devem serdadospara orob andar edesviar do obstculo? Lembreseque queremos que este rob sempre desvie do obstculo mesmo que este esteja em outro local

Exerccios propostos para sala deaula


2.Faaumprogramaparaqueorob,noambientedadopelomapaopenArea.map, escrevadepretoseunomeousobrenome.Aescolhaseser onomeousobrenome deveseraleatria. 3.Faaumprogramaparaqueorob,noambientedadopelomapaopenArea.map, pintedebrancoumquadradodoseguintemodo:orobandaparafrentetrs posieseescolhealeatoriamenteumadireo(esquerdaoudireita),depoisconclui apinturasegundoestaescolha. 4.Faaumprogramaparaqueorobpinteumquadradodemodosimilaraoexerccio anterior,masagoraescolhendoascoresdosladosdemodoaleatrio.Useomesmo ambientedadopelomapaopenArea.map. 5.Faaumprogramaparaqueorob,noambientedadopelomapacopyLine1.map, escolhaaleatoriamenteumadeduasdirees(parafrenteouparatrs)e:
seescolheuirparafrente,pintedepretoorestantedalinhaj existentenomapaateo limitedenido pelo\muro"aonorte. seescolheuirparatrs,pintedepretoorestantedalinhaj existentenomapaateo limitedefinidopelo\muro"aosul.

6.Faaumprogramaquepermitaorobescolheraleatoriamenteumadas quatro direespossveis:direita,esquerda,frenteetrs. 7.Faaumprogramaparaqueorob,noambientedadopelomapafindSpot1.map, encontreovasocomplantaouvasocomgua.

Atividades para Casa

- Na ferramenta Atividades do Tidia, depositar a resoluo de todos exerccios da Seo 7.4 (Exerccios para Casa) do texto desta aula disponvel no Repositrio. Deposite tambm trs exerccios da Seo 7.5.1 (Exerccios Adicionais pg. 167) - Fornecer os cdigos dos programas (arquivos .irobo ou .map) usados na resoluo dos seus exerccios.