You are on page 1of 90

Introduo Programao

Manual do Estudante

UNIVERSIDADE DE PERNAMBUCO UPE

Reitor: Prof. Esp. Carlos Fernando de Arajo Calado Vice-Reitor: Prof. Dr. Rivaldo Mendes de Albuquerque

UPE CAMPUS GARANHUNS Diretor: Prof. Dr. Clovis Gomes da Silva Junior Vice-Reitor: Prof. Dr. Fbio Rocha Formiga

CURSO DE LICENCIATURA EM COMPUTAO Coordenador: Prof. Ms. Haroldo Jos Costa do Amaral Vice-Coordenador: Profa. Ms. Cristina Leite de Brito

DISCIPLINA DE ESTGIO SUPERVISIONADO IV Professores Responsveis pela disciplina: Prof.Ms. Adauto Trigueiro de Almeida Filho Prof.Ms. Higor Ricardo Monteiro Santos Prof. Dr. Paulo Salgado Gomes de Mattos Neto Profa. Dr. Snia Regina Fortes da Silva

Equipe Responsvel pela Elaborao: AdeildoFellipe Ferreira Santos CharlesJohny Gomes Leite Cludio Luis de Melo Filho Elissa Wanessa Oliveira Vanderlei Gabriel de Moura Feitosa Gustavo Barreto Resende Islaeide da Silva Sobral Jane Cristina Lopes Pimentel Jefferson Otaviano Torres Leite Larissa Cato Tenrio Falco Luma Cardoso Ferro de Almeida Maria do Socorro Falco Berto Michel de Sousa Miranda Rosivania Ivany de Lima Silva Vinicius Cavalcante Bezerra Wallyson Bezerra de Freitas Wanessa Ferreira de Lima Edio 2013

Sumrio
_____________________________________________________
Apresentao .............................................................................................................................. 6 Ambiente e Softwares ................................................................................................................. 8 O Ambiente de Colaborao ................................................................................................... 8 Softwares .............................................................................................................................. 15 Jogo light-Bot .................................................................................................................... 15 RoboMIND........................................................................................................................ 15 Scratch ............................................................................................................................... 15 Conceitos Bsicos ..................................................................................................................... 16 Voc sabe o que lgica? ..................................................................................................... 16 Lgica na Programao de Computadores ........................................................................ 18 Algoritmo! O que isso? .................................................................................................. 19 Como funciona um computador? .......................................................................................... 22 Hardware ........................................................................................................................... 22 Software ou Programas de Computador............................................................................ 23 Dados e Informao .............................................................................................................. 25 Dados ................................................................................................................................. 25 Informao ........................................................................................................................ 25 Entrada e Sada .................................................................................................................. 26 Processamento ................................................................................................................... 26 Representaes de Dados ......................................................................................................... 28 Tipos primitivos de dados ..................................................................................................... 28 Inteiro ................................................................................................................................ 29 Real.................................................................................................................................... 29 Caractere............................................................................................................................ 29 Lgico ou Booleano .......................................................................................................... 30 Variveis ............................................................................................................................... 30 Por que declarar variveis e como nome-las? ................................................................. 32

Constantes ............................................................................................................................. 34 Expresses Aritmticas e Lgicas ........................................................................................ 37 Operadores Relacionais ........................................................................................................ 39 Operadores Lgicos .............................................................................................................. 40 Comandos de Atribuio ...................................................................................................... 42 Comandos de Entrada e Sada .............................................................................................. 43 Estruturas de Controle, Seleo e Repetio ............................................................................ 45 Estrutura Sequencial ............................................................................................................. 45 Comandos de Deciso ........................................................................................................... 48 Se Ento............................................................................................................................. 48 Resposta ............................................................................................................................ 49 Seno ................................................................................................................................. 49 Estruturas de Seleo Simples........................................................................................... 51 Estrutura de Seleo Composta ......................................................................................... 52 Estruturas de Seleo Encadeada ...................................................................................... 53 Estrutura de Repetio .......................................................................................................... 54 Tipos de estrutura de repetio.......................................................................................... 56 Jogos e Softwares ..................................................................................................................... 61 light-Bot ................................................................................................................................ 61 Conhecendo o Jogo ........................................................................................................... 62 Scratch .................................................................................................................................. 65 Conhecendo o Software .................................................................................................... 65 RoboMIND ........................................................................................................................... 75 Conhecendo o Ambiente ................................................................................................... 76 Referncias ............................................................................................................................... 85

Apresentao
_____________________________________________________

Caro estudante,
Este um material criado especialmente para voc. Atravs dele, esperamos contribuir para o seu desenvolvimento durante o Curso. O Manual do Estudante um instrumento de orientao no qual voc encontrar informaes sobre a estrutura do Curso. Alm disso, apresenta orientaes importantes para os diferentes momentos (presenciais e virtuais) deste Curso. Neste sentido, a leitura do manual primordial para um bom desempenho no Curso.

Equipe de Desenvolvimento. No se pode ensinar coisa alguma a algum, pode-se apenas auxili-lo a descobrir por si mesmo". Galileu Galilei

Sobre o Curso:
O Curso destinado a alunos do Ensino Mdio regular e tem como objetivo principal o desenvolvimento do raciocnio lgico atravs de conceitos de programao. Dessa forma, auxiliar a resoluo de problemas do cotidiano e, enxergar na Cincia da Computao como uma possibilidade de escolha para sua carreira acadmica. Este Curso possui uma carga horria total de 25 horas, com trs encontros presenciais (5 horas por aula) e duas semanas de atividades distncia. Sero abordados os seguintes temas: Lgica de Programao, Tipos de Dados, Variveis, Expresses Lgicas e Aritmticas, Comando de Atribuio, Comando de Entrada e Sada, Estruturas de Controle, Estruturas de Seleo, Estruturas de Repetio.

Nas atividades que sero desenvolvidas, poder ser observado que os conceitos trabalhados so comuns nas atividades cotidianas e a partir desta constatao ser possvel empreg-los com maior conscincia na resoluo de novos problemas.

IMPORTANTE! No esquea que para participar no Curso voc precisar:

- Ter acesso a Computador e Internet diariamente; - Ter disponibilidade para os encontros presenciais.

Ambiente e Softwares
_____________________________________________________

Neste Mdulo voc encontrar uma apresentao apresentao do Ambiente de Colaborao onde sero disponibilizadas as aulas e todo material acerca do contedo abordado. Tambm conhecer os softwares que sero utilizados para o desenvolvimento do Curso. ______________________________________________________________________

O Ambiente de Colaborao
A Rede Social Educacional (REDU) foi desenvolvida no Centro de Informtica (CIn) da Universidade Federal de Pernambuco (UFPE) e lanada em Fevereiro de 2010.
Figura 1: REDU. REDU

Trata-se se de um ambiente para professores e alunos que permite criar situaes de

aprendizagem por meio da Internet e de dispositivos mveis (GOMES, 2013). A Plataforma tem como foco ensino e possibilita um novo espao de ambiente virtual de aprendizagem, no qual professores e alunos podem criar interagir, compartilhar e discutir contedos (textos, imagens, vdeos, apresentaes, aplicativos, outros). outros

Realizei o cadastro no Ambiente. . E agora?

Figura 2: Tela de incio.

Aps a realizao de seu cadastro na Plataforma voc ser direcionado a sua pgina. Ento, E voc ir procurar pelo Curso, Curso Introduo Programao UPE Garanhuns, no qual ir se matricular (Figura 3). A opo destacada na Figura 3 indica a barra de pesquisa do ambiente, nela ser possvel pesquisar pelo Curso de Introduo Programao UPE Garanhuns, Garanhuns uma vez encontrado clique para prosseguir.

Figura 3: Pesquisar por o Curso de Introduo Programao.

Como fao para me matricular no Curso?

Uma vez encontrado o Curso clique na opo Matricular-se (Figura 4) para se tornar aluno. Nesse momento voc j ter acesso a todo o material, informaes, discusses, webquests, fruns, entre outros.

Figura 4: Matrcula no Curso.

Onde encontro os contedos disponveis para o Curso?

As disciplinas so divididas em Mdulos, Mdulos que so conjuntos de aulas com contedos em comum. Dentro dos mdulos possvel visualizar os contedos referentes ao Curso Introduo Programao na opo Contedo (Figura 5) localizada dentro das disciplinas. disciplinas

10

Figura 5: Contedo disponvel para cada mdulo.

Onde irei debater dvidas das aulas?

esclarecer

No Mural da Disciplina (Figura 6), que um espao spao aberto para debates e esclarecimento de dvidas sobre as aulas com professores e outros alunos. Nele esto est todas as atualizaes realizadas na Disciplina, o que inclui a criao de aulas e comentrios, sendo possvel ainda pedir auxlio aos colegas e aprender de um jeito dinmico.

11

Figura 6: Ferramenta Mural de Discusso.

Tenho espao para minhas prprias postagens?

Sim! O espao Meu Mural (Figura 7) disponvel isponvel logo abaixo do perfil, est aberto a todos os seus prprios comentrios e postagens. Voc tambm visualiza todas as atualizaes realizadas no ambiente.

12

Figura 7: Meu Mural.

Posso me comunicar por bate-papo? papo?


Claro que sim! A Plataforma conta com a ferramenta Chat (Figura 8), localizada abaixo do Perfil de Usurio. Nela possvel o envio de mensagens instantneas para discutir, discutir com os envolvidos, os assuntos o Curso. Lembre-se de adicionar os tutores e demais alunos do Curso para comunicar-se por bate papo.

13

Figura 8: Ferramenta Chat.

Para mais informaes sobre o Ambiente acesse os links abaixo.

Redu: http://ajuda.redu.com.br/ Guia Bsico: http://ajuda.redu.com.br/guia-basico Guia do Aluno: http://ajuda.redu.com.br/guia-do-aluno http://ajuda.redu.com.br/guia

14

Softwares
Durante o desenvolvimento do Curso voc utilizar alguns softwares para auxiliar o estudo da Programao, vamos conhec-los? conhec Para aprender a utilizar esse softwares veja o mdulo 5 com os tutoriais.

Jogo light-Bot
Neste jogo online voc poder controlar um rob atravs de diversas aes para que ele alcance o objetivo proposto e acenda a luz em sua cabea.
Figura 9: light-Bot.

Fique atento! Existe uma quantidade limitada de aes que ele pode realizar. ACESSO AO JOGO: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light http://clickjogos.uol.com.br/Jogos online/Puzzle/Light-Bot/

RoboMIND
Um ambiente para programao de robs, que permite conhecer conceitos bsicos de programao de

computadores. Atravs do RoboMIND voc pode programar um rob que anda, v, pega objetos e pinta, sendo possvel
Figura 10: RoboMIND.

realizar diversos experimentos.

DOWLOAD DO SOFTWARE SOFTWAR : http://www.baixaki.com.br/download/RoboMIND.htm http://www.baixaki.com.br/download/

Scratch
Um programa que permite criar animaes, histrias interativas e at mesmo jogos por meio de uma linguagem de programao simples. MAIS INFORMAES: : http://scratch.mit.edu/

Figura 11: Schatch.

15

Conceitos Bsicos
_____________________________________________________
Seja bem vindo ao mdulo de Conceitos Bsicos! Nele ser possvel encontrar uma viso geral dos conceitos tratados durante este curso, embora alguns sejam considerados novos para voc. Mesmo assim, ser possvel observar, de maneira simples, que voc j lida com alguns deles no cotidiano. _______________________________________________________________

Voc sabe o que lgica?


Mas lgico que eu sei!

Voc j ouviu falar em Lgica? No? Mas, com certeza j ouviu a expresso anterior mas lgico que eu sei ou lgico que isso no daria certo. No ? (ARAJO, p. 13, 2009)
Figura 12.

Pensando assim estamos tendo pensamento lgico? Voc sabe dizer o que lgica? A palavra lgica vem de um termo grego e foi criada pelo filsofo grego Aristteles, no sculo IV a. C., para estudar o pensamento humano e diferenciar interferncias e argumentos certos e errados. Podemos defini-la como: Cincia das formas do pensamento. A Lgica estuda a correo do raciocnio, visto que ele a forma mais complexa do pensamento. Podemos dizer que a Lgica visa ordem da razo, isto , a razo pode funcionar desordenadamente e a Lgica estuda e ensina a colocar ordem no pensamento (ARAJO, p. 15, 2009).

16

Existe Lgica no dia a dia?

Sempre que estamos pensando, a lgica ou a ilgica (no ter lgica ou ser contrrio a ela), nos acompanham. Quando falamos ou escrevemos, estamos expressando nossos pensamentos, logo, precisamos usar a lgica nessas atividades para organizar as ideias. Podemos perceber a importncia da lgica na nossa vida, no apenas na teoria, mas principalmente principalmente na prtica, j que, quando queremos pensar, falar, escrever ou agir corretamente, precisamos colocar ordem no pensamento, isto , utilizar lgica.

Exemplos
1- A gaveta est fechada; A caneta est dentro da gaveta; Precisamos primeiro abrir a gaveta para depois pegar a caneta.

Figura 13.

2- Anacleto mais velho que Felisberto; Felisberto mais velho que Marinaldo; Logo, Anacleto mais velho que Marinaldo.

Figura 14.

17

Vamos praticar?
Dois pais e dois filhos passeavam por um bosque e encontraram uma laranjeira com quatro laranjas. Cada um chupou uma laranja e ainda sobrou uma.

Figura 15.

Mas o que isso tem haver com programao?

Lgica na Programao de Computadores


Quando falamos em lgica na programao de

computadores, , sempre nos remetemos sequncias de instrues. Mas, o que uma instruo? Instruo pode ser considerada um conjunto de regras ou normas definidas para a realizao de uma tarefa (ARAJO, p. 19, 2009).

A lgica na programao consiste em: dado um problema e fornecidos os dados de entrada, identificar uma sequncia de instrues tal que, por meio da execuo desta sequncia alcancemos como sada soluo do problema. Lgica, dados, sequncia, instrues, sada, soluo de problemas? O que isso tem haver com programao?

18

Com certeza ao falar em computao ou programao voc j ouviu falar em algoritmo, prossiga sua leitura e descubra essa relao.

Algoritmo! ! O que isso?


Embora a palavra seja estranha para algumas pessoas, muitas associam apenas a Computao omputao. O termo algoritmo no restrito apenas a esta a rea e tambm no surgiu junto com os computadores. O termo bastante utilizado tilizado em outras reas, como Engenharia, Administrao, Matemtica, tica, entre outras.
Figura 17.

Mas afinal o que um algoritmo?


Algoritmo, nada mais do que uma um sequncia lgica de instrues, passo a passo, para a execuo de uma tarefa.

Ento, quer dizer que eu uso algoritmos no meu dia-a-dia?

19

EXATO! Um exemplo clssico de algoritmos a receita culinria. Relembre a definio de instruo vista anteriormente. Um problema: Quero bolo de chocolate! Dados de entrada: Ingredientes. Uma sequncia de instrues: Modo de preparo. Sada e/ou soluo do problema: Um bolo de chocolate.

Figura 18.

Figura 19.

Veja outros exemplos de algoritmos que voc pode observar no cotidiano. Resolver uma operao matemtica seguindo passos at chegar ao resultado final. Ligar o forno de micro-ondas seguindo as etapas de conectar a energia, apertar determinados botes, sequencialmente, at que a mquina seja ligada; Tomar medicamentos seguindo orientao mdica.

Esses exemplos tm todas as caractersticas de um algoritmo. Uma tarefa a ser realizada. Uma sequncia detalhada de passos. E tambm podemos identificar entradas e sadas.

Vamos jogar um pouco...


Usando o ligth-Bot, jogo apresentado no Mdulo I (Introduo) observe que estamos criando algoritmos, pois, temos:
20

Uma tarefa para ser realizada (levar o rob at o local indicado); Uma sequncia detalhada de passos (as instrues dadas ao rob); Uma entrada (local onde o rob se encontra) e uma sada (passar para a prxima fase). V at o Mdulo V e veja o tutorial de como jogar. Agora que voc j conhece o ambiente, tente resolver o desafio abaixo: Crie os obstculos a seguir e atribua os comandos necessrios para que o rob alcance o quadrado azul e acenda a luz nele. Preste ateno em todos os comandos que sero necessrios.

Figura 20.

Porque importante construir um algoritmo?


Um algoritmo tem por objetivo representar mais fielmente o raciocnio envolvido na Lgica de programao e, dessa forma, permite-nos abstrair de uma srie de detalhes computacionais, que podem ser acrescentados mais tarde. Assim, podemos focalizar nossa ateno naquilo que mais importante: a lgica da construo de algoritmos.

21

Por que a palavra algoritmo ficou to associada computao?


Para compreender melhor os motivos, sinta-se convidado a viajar conosco no mundo dos computadores e entender melhor o funcionamento deles.

Figura 21.

Como funciona um computador?


O computador composto, basicamente, de duas partes: a parte fsica, chamada de hardware, e a parte lgica, chamada de software.

Hardware
A parte fsica formada basicamente por uma Unidade Central de Processamento (UCP), pela memria e pelos dispositivos de entrada e sada (Veja um exemplo na Figura 22).

BARRAMENTO UCP Unidade Central de Processamento Memria

Dispositivos Entrada/Sada

Conexes externas

Teclado Mouse Monitor Impressora Etc...

Figura 22: Arquitetura simplificada de um computador.

22

A UCP (ou processador) contm um conjunto relativamente pequeno de instrues que capaz de executar. Cada processador contm um conjunto diferente de instrues, apesar de similares entre si. Tomando esse conceito que parece complicado para a vida cotidiana, imagine que essas instrues so contidas em um manual. Se voc comprar dois celulares de marcas diferentes, seus manuais podem ter instrues de uso semelhantes, porm algumas so diferentes.

Figura 23.

Figura 24.

As instrues que o processador executa so buscadas na memria. Essas instrues podem ser desde operaes matemticas a interaes com dispositivos de entrada e sada.

Software ou Programas de Computador


Chamamos de programa de computador um conjunto de instrues que ser executado pelo processador em uma determinada sequncia. Esse programa leva o computador a executar uma tarefa, um programa nada mais do que um algoritmo que est modelado e implementado em determinada linguagem de programao.

Vamos jogar um pouco...


Usando novamente o jogo que j conhecemos ligth-Bot, observe que estamos inserindo um conjunto de instrues, onde voc determina a sequncia em que estas devem ser executadas, e que o nosso computador (representado pelo rob) est executando essas tarefas. Tente resolver os desafios abaixo.
23

Desafio 1: Crie os obstculos a seguir, agora mais complexos, atribua os comandos necessrios para que o rob alcance o quadrado azul e acenda a luz nele. Preste ateno em todos os comandos que sero necessrios.

Figura 25.

Desafio 2: Crie os obstculos a seguir, agora perceba que ser necessria uma funo para que o rob alcance o quadrado azul e acenda a luz nele. Preste ateno em todos os comandos que sero necessrios.

Figura 26.

24

Dados e Informao
Dados
Podemos definir dado, como qualquer elemento identificado em sua forma bruta que, por si s, no conduz a uma compreenso de determinado fato ou situao. Os dados podem ser considerados a unidade bsica da informao. Sem dados, no temos informaes, pois estas so criadas a partir dos dados.

Para simplificar... Vamos pensar em uma empresa!


No relatrio de vendas de uma empresa, foi obtido o dado de que ela vendeu um total de R$ 500.000,00 (quinhentos mil reais). O que isso significa? Nada! Isso s um dado, ele no diz que a empresa obteve ou no lucro com estas vendas.

Figura 27.

Informao
o resultado do processamento dos dados. Os dados foram analisados e interpretados sob determinada tica, e a partir dessa anlise se torna possvel qualificar esses dados. Por tanto, informaes so dados com algum significado ou relevncia. A informao a compreenso dos dados.

Lembra-se do exemplo anterior da Loja?


Vamos transformar os dados sobre as vendas da empresa em informao. Imaginemos que e meta de vendas da empresa fosse de R$ 800.000,00 (oitocentos mil reais), e com esse total de vendas ela poderia pagar suas contas, funcionrios etc.
Figura 28.

Fazendo o processamento dos dados, obtemos a informao de que a empresa no obteve o volume de vendas necessrio manuteno de suas atividades.
25

Entrada e Sada
Um sistema/programa composto de entrada, processamento e sada, como mostra a figura abaixo.

Figura 29.

As linguagens de programao esto preparadas para receber entradas e apresentar sadas (Lembra-se do Bolo? Ele recebeu os ingredientes e a sada foi um bolo de chocolate!). Desta forma, durante a execuo de um programa, um usurio poder informar valores (entrada) para que estes sejam processados pelo computador (processamento) que, por sua vez, retornar o resultado do processamento (sada). Existem muitos meios de entrada e sada em um computador. Como dispositivos de entrada, podemos citar o teclado, o mouse, o scanner etc. como sada, temos vdeo, impressora etc..

Processamento
O processamento de dados consiste em realizar um processo sobre qualquer dado de entrada com o objetivo de gerar uma sada aceitvel ou prxima disso (O Modo de Preparo do Bolo!).

Vamos ver como isso acontece no computador!

26

Figura 30.

Capturar: Buscar os dados onde eles existem e traz-los. Manipular: Tratar os dados de forma que possam ser organizados e ganhar sentido (transformando-se se em informao). Armazenar: Guardar os dados de maneira organizada. Recuperar: Buscar os dados que foram armazenados de forma organizada. organizada. Apresentar: Mostrar os dados de forma compreensvel. Transmitir: Enviar e receber dados de outros locais.

Neste Mdulo voc pde aprender...


O que Lgica O que algoritmo O que um programa de computador O que so Dados e o que so Informaes Como um programa de computador funciona (Entrada, processamento e sada)

Prossiga nos seus estudos, ainda temos muito a aprender...

27

Representaes de Dados

_____________________________________________________
Caro Aluno, neste este mdulo voc conhecer alguns conceitos bsicos de linguagem de programao e exemplos do nosso cotidiano relacionados a esses conceitos. conceitos importante que ao final deste mdulo voc possa compreender como algoritmos so muito parecidos com os programas interpretados por po computadores. Bom Estudo! ___________________________________________________________ ___________________________________________________________________________

Tipos primitivos de dados


O que so? so
So os tipos bsicos de qualquer linguagem de programao, sendo usados tambm por uma linguagem algortmica.
Figura 31.

Como assim?

Figura 32: Zero

Figura 33: 1+1=2

Figura 34: Letras

A seguir so apresentados os tipos de dados primitivos mais comuns encontrados na maioria das linguagens de programao.

28

Inteiro
uma representao dos nmeros inteiros da matemtica nos computadores. Podem ser positivos, negativos ou nulos. No possuem parte fracionria. Por Exemplo: 2 laranjas, sapato tamanho 42, 65535 gros, 0 pessoas na la, multa de -2 pontos no campeonato .

Figura 35.

Real
um tipo de dado que permite armazenar valores decimais, em outras palavras, valores com ponto decimal (5.7, 3.2, -8.5).

Por Exemplo:

Um cliente depositou R$ 50,50 em sua conta corrente. Esse um

valor candidato a ser do tipo Real, pois pode conter valores de centavos, ou seja, valores que podem definir fraes de um inteiro.
Figura 36.

Digamos que um veculo percorreu uma distncia entre duas

cidades, que foi de 150,3 km. Neste caso, precisamos de valores aps a casa decimal para efetuar clculos, e novamente a melhor escolha parece ser o tipo Real.

Caractere
uma representao das letras, dgitos e smbolos nos computadores. Podendo ser numricos, alfabticos e especiais.

Figura 37.

29

Por Exemplo: Numricos: 2, 4, 0. Alfabticos: a, B, z. Especiais: @, #, & Representao: pessoas = {Maria, Joo, Jos, Ana,...} conjunto o de cadeias de caracteres. Operaes: comer, dormir, andar, beber. beber

Lgico ou Booleano
S podem assumir dois valores: verdadeiro ou falso. falso Servem como uma representao lgica de algo. Estes valores tambm podem ser entendidos como: ligado/desligado, 1/0, alto/baixo, fechado/aberto, etc.

Figura 38.

Exemplos

de

informaes

que

podem

ser

representadas s utilizando o tipo lgico so:

Figura 39: A Lmpada est acessa.

Figura 40: A Lmpada est apagada.

Variveis
So valores que podem sofrer alterao no decorrer do tempo.

30

Quais valores variam no nosso dia a dia?

Figura 41: Dinheiro na Carteira

Figura 42: O Peso de uma pessoa

Figura 43: Preo da gasolina

Ao criarmos nossos algoritmos, precisamos guardar dados referentes ao problema, como um nome, um nmero ou mesmo o resultado de uma operao. Mas, para armazenar esses dados, precisamos pedir ao computador que ele reserve uma parte da memria para nosso uso. A forma de solicitar ao computador que reserve memria chamada de declarao de variveis.

Na Prtica: Varivel = Contedo da Varivel Varivel: Tipo de Varivel

notaMedia, salario: real NOME = "JOSE" IDADE = 50 Contador: inteiro Achou: Lgico (booleano) Sexo: caractere

31

A palavra var utilizada para indicar que estamos declarando uma varivel.

Precisamos informar o tipo de dados que armazenaremos na varivel para que o computador saiba o tamanho do espao de memria que reservar.

Por que declarar variveis e como nome-las? nome


Quando pedimos que o computador reserve espao de memria, temos de informar como vamos nos referir a essa parte da memria reservada, ou seja, qual nome daremos a esse espao de memria. Assim, toda varivel tem um nome atravs do qual referenciada. Pois sempre que criamos uma varivel, ns o fazemos com o objetivo de armazenar algum tipo de valor especfico. Assim, o nome da varivel deve deixar claro o objetivo da mesma, ou seja, se devemos utilizar nomes sugestivos. A seguir sero apresentadas algumas regras para variveis: variveis

32

REGRAS Inicie sempre por um caractere alfabtico, nunca por um nmero.

No utilize caracteres especiais como ,( ) /*; +. No coloque espaos em Branco ou hfen entre nomes.

Utiliza, se necessrio, _ underline.

Vamos ver alguns exemplos das regras, o que permitido e no permitido na declarao de variveis:

Figura 44.

33

Constantes
So valores que no sofrem nenhuma variao no decorrer do tempo. O que pode representar uma constante no nosso dia a dia?

Figura 45: Placa Pare

Figura 46: Significado do sinal de Vermelho no Transito

Figura 47: PI

Na Prtica: CONSTANTES PI = 3.1416; MAX = 10; OK = V; OPCAO = A; Observao: Declarar as constantes antes das variveis.

34

A palavra CONST utilizada para indicar que estamos declarando uma constante.

O nome da constante. o nome atravs do qual vamos nos referir constante. Apenas para ficar diferente das variveis, aconselha-se se que todas as letras dos nomes das constantes sejam maisculas. Valor o valor assumido pela constante. constante

REGRAS

Segue as mesmas regras das variveis, exceto que so escritas com letras maisculas.

35

O que permitido e no permitido para as constantes?

Figura 48.

ATENO! As Variveis possuem um valor inicial, mas podem mudar de valor a qualquer momento. Como assim? Digamos que voc tenha na sua carteira R$ 100,00 reais e que voc compre R$ 10,00 reais de po na padaria ento neste caso o valor da sua varivel passaria de R$ 100,00 reais para R$ 90,00. ATENO! J as Constantes so criadas possuindo um valor e esse valor nunca ir mudar. Agora imagine que voc est em uma avenida muito movimentada e que deseja passar de um lado para o outro da avenida. Para voc para passar de maneira segura teria que andar pela a faixa de perdestes. Correto? Sim nesse caso a faixa de perdestes, pois ela possui um significado (valor) que nunca mudar de significado.

Saiba Mais
Em: http://www.siban.com.br/destaque/21_carta.pdf
http://www.youtube.com/watch?v=MksHE_lbRb0 36

Expresses Aritmticas e Lgicas


Os operadores aritmticos so smbolos que representam as operaes matemticas bsicas. Fceis de utilizar parecem muito com um clculo realizado em uma calculadora comum. Abaixo uma tabela com os operadores bsicos aritmticos que utilizaremos neste curso.

Figura 49: Operadores Bsicos Aritmticos.

ATENO! Criaremos um operador aritmtico especial para obter o resto de uma diviso, chamaremos este operador de resto.

Como assim? Digamos que voc divida 10 por 3. O resultado d 3 e sobra 1. Ento, se utilizarmos o operador de resto da diviso (tambm conhecido como mdulo) para esse mesmo clculo, o resultado ser 1. Se fizssemos 20 % 3 o resultado seria 2 ou seja, o resto da diviso de 20 por 3. Os operadores aritmticos sero utilizados para formar expresses aritmticas. J as expresses aritmticas por sua vez so formadas por operadores aritmticos que agem sobre operandos. Os operandos podem ser variveis ou constantes do tipo numrico, inteiros ou reais. Abaixo temos duas expresses aritmticas: Nota/2 x*2+y/2

37

Na resoluo de expresses aritmticas deve-se utilizar a seguinte ordem de precedncia entre os operadores:

PRIORIDADE

OPERADOR

OPERAO Multiplicao,

*/%

diviso, resto da diviso.

+2

Adio, subtrao

Tabela 1: Ordem de Precedncia entre Operadores Aritmticos.

Alm da ordem de prioridades definida acima, podemos utilizar parnteses. Assim, resolvemos primeiro as expresses contidas nos parnteses mais internos, seguindo a ordem de precedncia entre operadores, passando depois para os parnteses mais externos.

Nota 1 + (nota2 + nota3) / 2

Observando o exemplo acima: Primeiro somamos nota2 a nota3; o resultado divido por 2 e s depois somamos com nota 1. Um fato interessante que o resultado da execuo de expresses aritmticas sempre um valor numrico (inteiro ou real) que pode ento ser atribudo a uma varivel numrica atravs do uso do comando de atribuio estudado anteriormente.

38

Simplificando... Expresses xpresses aritmticas: uma conta a ser feita. feita Operadores aritmticos: os sinais + - * / % Operandos aritmticos: constantes nstantes ou variveis (inteiras ou reais), ou outra expresso aritmtica. aritmtica Precedncia na ordem dos clculos: a mesma da matemtica, podendo haver vrios nveis nvei de parnteses; no h colchetes [ ] ou chaves { }.

op lgicos Para entendermos as expresses lgicas, primeiro precisamos conhecer os operadores e relacionais, pois as expresses lgicas so formadas a partir da utilizao desses operadores.

Operadores Relacionais
Os operadores relacionais so utilizados para realizar comparaes entre dois valores de um mesmo tipo: Quando queremos fazer comparaes entre valores, ou entre expresses (tanto matemticas como lgicas), precisamos utilizar os operadores relacionais que so: Comparaes Igual Diferente Maior Menor Maior ou igual Menor ou igual Operadores = <> > < >= <=

Tabela 2: Operadores Relacionais.

A uma comparao realizada utilizando um operador relacional se d o nome de relao. O resultado obtido de uma relao sempre um valor lgico, verdadeiro ou falso. Na tabela abaixo temos exemplos de relaes e seus resultados. Para tais exemplos, considere duas variveis inteiras, A e B onde A=5 e B=8:

39

RELAO

RESULTADO

A=B

Falso

A<B

Verdadeiro

A>=B B!= 6

Falso Verdadeiro

A >= 5

Verdadeiro

Figura 3: Exemplos de Relaes

O resultado de uma relao sempre um valor lgico (verdadeiro ou falso). Vejamos outros exemplos: a) 2+5 =3+2 7=5 Resultado: F (falso) b) 3 * 5<> 2 * 3 15 <> 6 Resultado: V (Verdadeiro)

Operadores Lgicos
Os operadores lgicos retornam verdadeiro ou falso de acordo com seus operandos. Os operadores lgicos mais comuns so listados na tabela abaixo:

OPERADORES LGICOS E OU NO
Tabela4: Operadores Lgicos

40

Os resultados das operaes lgicas so sempre valores lgicos (verdadeiro ou falso). Para trabalharmos adequadamente com operadores lgicos, temos que conhecer a tabela verdade para cada um dos operadores. Uma tabela verdade o conjunto de todas as possibilidades combinatrias entre os valores das variveis lgicas, conforme apresentado a seguir. A F F V V B F V F V AeB F F F V

Tabela5: Tabela Verdade Operador E

A F F V V

B F V F V

AouB F V V V

Tabela 6: Tabela Verdade Operador OU

A F V

No A V F

Tabela 7: Tabela Verdade Operador No

41

Saiba Mais
Em:http://pt.wikipedia.org/wiki/Atribui%C3%A7%C3%A3o_(computa%C3%A7%C3
%A3o)

e Atribuio Comandos de
Define efine ou redefine o valor armazenado no local de armazenamento indicado por um nome de varivel. Representaes textuais comuns do operador de atribuio incluem um sinal de igual ("=") e classificam o operador de atribuio como um operador infixo.

Para atribumos um valor a variavel1 escreve-se o seguinte: variavel1 = 2 O valor 2 ser armazenado na varivel cujo nome variavel1.

A instruo de atribuio muitas vezes permite que o mesmo nome de varivel possa conter valores diferentes em momentos diferentes durante a execuo do programa. Vejamos a seguinte situao:

int x =10; real y; x =23; y =32.4;

42

Neste exemplo, a varivel x primeiramente declarada como um tipo de dado inteiro, e depois lhe atribudo o valor 10. Observe que a declarao e a atribuio ocorrem no mesmo momento. Na segunda linha, y declarada sem uma atribuio como um real. Na terceira linha, a varivel x atribudo o valor de 23. Finalmente, a varivel y atribudo o valor de 32,4.

Comandos de Entrada e Sada


Comandos de sada so aqueles que permitem ao programador enviar dados para dispositivos perifricos de sada de dados (o monitor e a impressora, por exemplo) ou de armazenamento (tais como disquetes e discos rgidos). Quando se deseja trabalhar com grandes quantidades de dados, o melhor armazen-los numa unidade de memria secundaria, ou seja, em arquivos NO HD OU HARDDISK DO COMPUTADOR... Um programa pode gerar tantos dados que todos eles no caberiam na tela de uma s vez, e ainda seriam perdidos ao finalizar o programa.

Figura 50.

Os dados salvos em arquivos podem ser usados pelo prprio programa ou exportados para serem processados de outra forma. Arquivos de leitura economizam um tempo precioso para o usurio do programa, pois ele no vai precisar enviar dados via teclado, e com arquivos milhares de dados podem ser lidos em segundos.

43

ARQUIVO - Local ou pasta de trabalho onde sero gravados dados no HD do computador. Um arquivo composto por diversos registros de dados. REGISTRO Pode ser definida em termos didticos como uma linha de dados gravada dentro do arquivo no computador. Um registro pode ser composto de 1 ou vrios campos de dados CAMPOS - Um "campo" uma sucesso de caracteres, que representa alguma informao, tal como universidade federal da Bahia. Contextualizando:

Campo 1 (nome) Jose Maria de Almeida Maria da silva Jose de Almeida

Campo 2 (aniversario) 28/12/1998 01/01/1977 01/05/1972

Campo 3 (Salrio) 220,00 220,00 320,00

Tabela 8: Arquivo Cadastro de Funcionrios.

No nosso exemplo cada linha um registro de dados. Cada registro composto por 3 campos, nome, data aniversario e salrio.

44

Estruturas de Controle, Seleo e Repetio


________________________________________________________

Caro Estudante, seja bem vindo ao Mdulo 4! Estamos chegando ao final do nosso curso, neste mdulo voc conhecer os conceitos de estrutura de controle, estrutura de seleo e estrutura de repetio, encontrar situaes problemas onde utilizar essas estruturas, por meio de diversas atividades.

________________________________________________________

Estrutura Sequencial
Estrutura sequencial refere-se aquela na qual uma instruo segue uma aps a outra. As tarefas se sucedem de tal modo que a sada de uma tarefa entrada da tarefa seguinte.

Figura 51.

Quando pensamos em fazer uma ligao, pegamos o celular, ligamos o celular, digitamos o nmero, e assim por diante at o termino da ligao.
Figura 52.

O exemplo acima, ilustra uma estrutura sequencial cujos comandos so executados na ordem em que aparecem, formando assim, um algoritmo.
45

Como assim?
Para um algoritmo poder funcionar, voc deve dizer claramente o que ele deve fazer, fazer chamamos isto de comandos de um algoritmo. Na estrutura sequencial esses comandos sero executados na ordem em que voc os determinar de cima para baixo, e assim, cada c comando executado aps o fim do comando anterior. E para que o computador saiba onde comear e onde terminar essa lista de comandos, eles so delimitados pelas palavras reservadas Inicio e Fim. Palavras Reservadas? So palavras que, foram selecionadas para definir d finir termos especficos de uma determinada linguagem de programao.

Voltemos a pensar no conjunto de passos para realizar uma ligao no celular e vejamos como funciona essa estrutura.

Inicio <pegue o celular> <ligue o celular> <digite o nmero> <inicie a chamada> <espere ser atendido> <fale ao telefone> <finalize a ligao> Fimalgoritmo.

Inicio <Comando - 1> < Comando - 2> < Comando - 3> . . . < Comando - n> Fimalgoritmo.

comando ou <ligue o celular> ser executado somente aps o Na estrutura apresentada, o comando-2 fim do comando-1 ou <pegue o celular> e o comando-3 <digite o nmero> aps a execuo do comando-2 2 e assim sucessivamente. Vejamos outras situaes semelhantes...

A Loja Magazine est vendendo seus produtos em 2 (duas) as) prestaes sem juro. Faa o conjunto de passos que voc faria para olhar o valor da compra e contabilizar o valor das prestaes.

1. Pegue os produtos; 2. Olhe o preo dos produtos; 3. Some os preos dos produtos; 4. Divida o resultado da soma dos produtos por dois; dois 5. O resultado da diviso o valor da prestao.
Figura 53.

Lembra do Software RoboMIND? RoboMIND? Apresentado no Mdulo 1? 1 Vamos utiliz-lo lo para ver essa estrutura?
Pense que voc esta precisando pintar um caminho e o rob vai te ajudar, ento movimente o rob pelo Mapa at o caminho branco e pinte todo o caminho de preto. Lembre-se Lembre de desviar dos obstculos do caminho!

Mapa Utilizadodefault.map RESPOSTA:


virarDireita andarFrente(8) pintarPreto andarFrente(1) virarEsquerda andarFrente(1) virarDireita andarFrente(2) virarEsquerda andarFrente(6) Figura 54. virarEsquerda andarFrente(8) virarDireita andarFrente(2) pararPintar

Saiba mais em sobre este assunto em: em


http://www.youtube.com/watch?v=71OV3St http://www.youtube.com/watch?v=71OV3St-Fxs

Comandos de Deciso
Os comandos de deciso ou desvio fazem parte das tcnicas de programao que conduzem as estruturas de programas que no so totalmente sequenciais. Com as instrues de SALTO ou DESVIO pode-se se fazer com que o programa proceda de uma ou outra maneira, de acordo a com as decises lgicas tomadas em funo dos dados ou resultados anteriores. As principais estruturas de deciso so: se ento, seno e caso selecione.

Se Ento
A estrutura de deciso SE ENTO normalmente vem acompanhada ompanhada de um comando, se determinada condio for satisfeita pelo comando ento execute determinado ao. Imagine um algoritmo que verifique a aprovao do aluno, determinado aluno somente estar aprovado se sua mdia for maior ou igual a 6.0, 6 veja no exemplo abaixo de como seria. se

INCIO Se media >= 6.0 ento Aluno Aprovado FIM


Figura 55.

Lembrando-se da estrutura apresentada anteriormente com o RoboMIND, Utilizando o mesmo mapa, ajude o rob a pintar de preto o que estiver branco. Usando a condio SE ENTO, poderamos escrever o cdigo da seguinte maneira:

Resposta

virarDireita andarFrente(8) se(brancoFrente){ pintarPreto andarFrente(1) virarEsquerda andarFrente(1) virarDireita andarFrente(2) virarEsquerda andarFrente(6) virarEsquerda andarFrente(8) virarDireita }

Seno
A estrutura de deciso SENO, funciona exatamente como a estrutura SE ENTO, com apenas uma diferena, caso a condio do SE ENTO seja falsa a estrutura SENO automaticamente executada. Imagine que voc est esperando um nibus. Veja como seria o algoritmo para essa situao: Se o nibus for ao destino desejado entre, seno espere novamente at passar o nibus que far o percurso desejado.

INCIO 1. Esperar nibus 2. Se nibus certo ento 3. Entrar no nibus 4. Se no esperar o nibus FIM

Figura 56.

Vamos fazer o rob pegar um objeto no mapa abaixo: Use o seguinte cdigo:
andarTrs(2) virarDireita se(temObjetoFrente){ pegar }seno{ andarFrente(2) }

Figura 57.

Conseguiu pegar o objeto? Se no conseguiu faa as mudanas necessrias para que ele pegue. Caso
A estrutura de deciso CASO utilizada para testar uma nica expresso, caso a primeira opo seja verdadeira, as outras opes no sero testadas. Vejamos uma situao dessa estrutura: O dono de uma Loja precisa pagar seus funcionrios, o salrio pago esta de acordo com a funo de cada um. Sabendo que a loja possui um operador de caixa, um vendedor e um gerente. Sendo que ao operador de caixa deve-se pagar 200, ao vendedor 500 e ao gerente 1000. Dependendo do funcionrio o dono da loja deve selecionar a opo e realizar o pagamento.

Inicio 1. Verificar a funo do funcionrio 2. Caso funcionrio operador de caixa pague 200 3.Caso funcionrio vendedor endedor pague 500 4.Caso funcionrio gerente pague 1000 5. Pagamento Realizado Fim
Figura 58.

Vamos utilizar as estruturas de deciso em estruturas maiores!

Estruturas de Seleo Simples


A estrutura de seleo simples utilizada quando h a necessidade de testar uma condio antes da execuo de um ou mais comandos.

Veja como simples!

Incio Se estiver sol ento Passo filtro solar! Fim do Se Quando testamos algo, que nesse caso se est chovendo ou no, nos ser retornado como resposta: Verdadeiro ou Falso.

Voc consegue cumprir a misso do Rob?


Utilizando o RoboMINDtente concluir a seguinte misso: Estando no mapa copyLine1.map voc precisa sa pegar a mina que est do lado direito do mapa, utilizando os comandos se(...) ento{...}.

Quais os passos para esse algoritmo?

Mapa Utilizado: copyLine1.map Resposta:

andarFrente(1) virarDireita() andarFrente(9) se(temObstculoFrente()){ pegar() }

Figura 59.

Estrutura de Seleo Composta


A condio que vimos at agora nica, mas algumas situaes precisam usar condies mais elaboradas. A estrutura de seleo composta utilizada quando h duas alternativas que dependem da mesma condio, dio, uma da condio verdadeira e a outra da condio falsa.

Como funciona isso?

Incio Se estiver sol ento Eu vou praia! Seno Fico em casa! Fim do Se Quando testamos algo, nesse caso, se est chovendo ou no, nos ser retornado como resposta: Verdadeiro ou Falso, e a partir da resposta decidir ir ou no a praia.

Sua prxima misso ser:


No mapa copyLine1.map voc precisa pegar a mina que est na parte inferior do mapa do lado esquerdo, utilizando os comandos se(...){...} seno{...}. Voc consegue cumprir mais essa misso?

Quais os passos para esse algoritmo?


Mapa Utilizado: copyLine1.map

Resposta:
virarEsquerda() virarEsquerda() andarFrente(4) se(temObjetoEsquerda()){ virarEsquerda() andarFrente(8) Figura 59. pegar() }seno{ temObjetoDireita() virarDireita() andarFrente(5) pegar() }

Estruturas de Seleo Encadeada


Se o seu algoritmo precisa testar mais de uma condio, ento voc pode criar uma estrutura de seleo encadeada e mltipla.

Lembra-se se do exemplo anterior da chuva? Vejamos como ficaria: Incio Se estiver sol ento Se tiver dinheiro ento Eu vou praia! Fim do Se Fim do Se Seno Fico em casa. Fim do Se Observe que tnhamos uma condio para ir praia e agora temos duas, se estiver sol e se estiver com dinheiro. Essa uma estrutura simples encadeada. Veremos que em alguns algoritmos precisaremos de mais de uma condio ao mesmo tempo.
Figura 60.

Estrutura de Repetio
As estruturas de repetio possibilitam possibilitam que o processamento de algumas instrues algortmicas venha a ser executadas repetidas vezes, segundo a necessidade da lgica envolvida, para que haja a resoluo de problemas.

Quando pensamos nos passos que realizamos para aumentar o volume da televiso, viso, logo nos deparamos com os seguintes passos: pegue o controle, encontre o boto de aumentar o volume, clique, clique, clique, at o volume ser aumentado.

Figura 62.

Veja que os passos se repetiram para poder executar a tarefa de aumentar o volume. A este tipo de estrutura chamamos mamos de estrutura de repetio. Essas estruturas permitem que uma ou

mais instrues sejam executadas um nmero definido de vezes, ou enquanto uma determinada condio no satisfeita.

Vejamos como essa estrutura funciona.

Vamos tomar um caf? Primeiro precisamos prepar-lo! prepar

Quais seriam os passos desse algoritmo?

1.Colocar o acar na xcara 2.Colocar o caf na xcara 3. Colocar a gua quente na xcara 4. Mexer 5. Mexer 6. Mexer 7. Mexer 8. Mexer 9. Mexer 10. Prove se doce 11.Tomar o caf
Figura 63.

Este poderia ser reescrito, de forma melhorada, como segue abaixo:

1. Colocar o acar na xcara; 2. Colocar o caf na xcara; 3. Colocar gua quente; Repita (at ficar doce); 4. Mexer; FimRepita 5. Tomar o caf.

Em algoritmos e programas muitas vezes existem situaes em que o processamento de um valor uma nica vez, no suficiente sufi para resolver o problema. Quando isto ocorre, deve-se utilizar uma Estrutura de Repetio. R

Tipos de estrutura de repetio


A estrutura Condicional
A estrutura condicional repete um ou mais comandos at satisfazer a condio de repetio. Estas so utilizadas quando no se sabe de antemo quantas vezes deve-se deve executar as instrues do bloco de repetio.

Estrutura condicional com teste de repetio no inicio ENQUANTO/FAA Estrutura condicional com teste de repetio no final REPITA/AT

Estrutura condicional Enquanto/Faa


O que seria ria essa estrutura? estrutura
Os comandos se repetem enquanto enquan a condio no se torna falsa.

Vejamos como essa estrutura funciona.

Imagine gine que voc precisa entrar no banco, e a porta est fechada, voc precisa pressionar o boto que abre a porta, para ela abrir e voc entrar.

Vejamos o algoritmo para entrar:


1. V at a porta; 2. Pressione o boto que abre a porto 3. Enquanto a porta no estiver aberta faa pressione o boto 4. Quando a porta estiver aberta, entre.

Figura 64.

O comando 2 repetido indefinidamente at o a porta ser aberta. Quando nos deparamos com tal situao, a qual no sabe o nmero de vezes que repetiremos um determinado comando, utilizamos a estrutura de repetio condicional. Observe que a pessoa s entra no banco, aps o valor fornecido corresponder a porta aberta, ou seja, enquanto o usurio no apertar o boto tempo suficiente a porta estar fechada e ser solicitado que ele continue com o boto pressionado. Essa uma das caractersticas desse comando, pois, a condio que testa se o usurio realizou a ao esperada acontece no inicio, neste caso seria a condio, Enquanto (porta fechada) faa, aperte o boto. Enquanto essa condio no for alcanada o bloco se repete.

Utilizando o software RoboMIND.


Agora voc precisa trabalhar duro, estamos com um monte de minas que precisam ser levadas para o outro lado do mapa. Utilizando o comando repetirEnquanto(..){...},

com a ajuda do rob faa com que ele passe as minas para o outro

lado do mapa, at que quando no haja mais minas no caminho.

Figura 65.

Mapa utilizadochangeBelt12.map

Resposta:
repetirEnquanto (tem objeto) { pegar andarSul(0) soltar andarLeste(1) andarNorte(0) } andarSul(0)

Estrutura condicional Repita/At


O que seria essa estrutura?
A diferena entre a estrutura ENQUANTO e a estrutura REPITA que na estrutura REPITA os comandos sero repetidos pelo menos uma vez, j que a condio se encontra no final.

Vejamos como essa estrutura funciona.

Joo est com a porta de casa quebrada e precisa concert-la, concert para isso, precisa apertar um parafuso. parafuso 1. Pegar o parafuso 2. Colocar parafuso na porta 3. Repita 4. Apertar parafuso 5. At que parafuso apertado 6. Porta concertada
Figura 66. Figura 67.

Veja que nesta condio voc repete o comando apertar parafuso at que a condio seja verdadeira, no caso, at parafuso apertado.

Utilizando o software ROBOMIND.

Voc precisa fazer com que o Rob encontre o local branco. Para isso, utilize o comando repita{...}, se no houver obstculos a esquerda e no estiver branco, o rob deve virar a direita e andar para trs, se no o rob deve andar para frente. Mapa utilizado findspot.irobo

repetir{ se(no temObstculoEsquerda e brancoEsquerda){ virarDireita andarTrs(1) fim } seno{ andarFrente(1) } }

Figura 68.

Estrutura de Repetio Contada


A estrutura contada repete um nmero contado (pr-definido) de vezes os comandos. comandos As mesmas so utilizadas as quando se sabe previamente quantas vezes devem-se devem executar as instrues do bloco de repetio.

Estrutura contada Para/Faa


O que seria ria essa estrutura? estrutura
Quando pretende se repetir uma determinada condio uma quantidade quantidade de vezes determinada, utiliza-se se este tipo de estrutura.

Vejamos como essa estrutura funciona.

Flvio quer um algoritmo que escreve a frase sou brasileiro cinco vezes.

Inicie a Varivel Contadora em 1, ela far o controle de quantas vezes o bloco de instruo ser repetido, no caso, 5 vezes. Para Varivel Contadora recebendo 1 at repetir 5 vezes faa "sou brasileiro" Quando a varivel contadora ntadora chegar a cinco, termine o processo, o qual sara cinco co vezes o nome "sou brasileiro". brasileiro
Figura 69.

Observe que nessa estrutura sabe-se sabe se a quantidade de vezes que pretendemos repetir a operao, no caso 5. . E temos uma varivel para contar quantas vezes aquela operao esta sendo repetida, no caso Varivel Contadora. Ento quando sabemos a quantidade de vezes que iremos repetir um determinado comando utilizamos a estrutura de repetio contadora. contadora

Voc consegue realizar mais uma misso?


Voc precisa delimitar uma rea em forma de quadrado, com o comando repita(..){...}, repita construa a rea em forma de quadrado com as bordas brancas utilizando o pincel.

Mapa utilizado default.map


Resposta:

pintarBranco repetir(4) { andarFrente(2) virarDireita } pararPintar

Figura 70.

Jogos e Softwares

_____________________________________________________

light-Bot

Figura 71.

Jogo online no qual voc pode controlar um rob atravs de diversas aes para que ele alcance o objetivo proposto e acenda a luz em sua cabea. Para isso, necessrio um conjunto de passos para que o rob chegue ao destino final e acenda sua luz. Para controlar o rob atribua os movimentos movimentos que sero executados por ele. Use a lgica e o conceito de algoritmo dado que ele tem uma u tarefa a ser realizada e necessita de uma sequncia detalhada de passos para tal.

Ateno! Existe uma quantidade limitada de aes que ele pode realizar.

Conhecendo o Jogo

cone Apresentar Pontuao

Tutoriais para conhecer como funciona o jogo.

Figura 72:Tela incio jogo Light-bot.

Nvel Editor para criar desafios para o rob. Desafie sua mente descobrindo os passos que o rob necessita para chegar ao seu objetivo no cone Nveis de Usurio. possvel acessar os mais diversos nveis do jogo.

1. Principais funes
Aqui se coloca os comandos para o rob andar e chegar at ao quadrado azul e acender a luz. Perceba que ele necessitou de trs passos para acender a luz.

Figura 73: Exemplo atividade Nvel Bsico.

Figura 74: Exemplo atividade Nvel Bsico

2.Utilizando Funo nos desafios mais complexos

A funo colocada aqui, pois, tm disponveis apenas 16 comandos e so muitos passos necessrios para o rob alcanar todos os pontos apontados.

Figura 75:Exemplo atividade Nvel Bsico

Como os comandos so limitados, a funo usada quando o rob executa comandos repetidos.

Voc est preparado para criar seu jogo?

Aps salvar o jogo criado possvel carregar o mesmo por meio desta ferramenta.

2. Nvel Editor

Ferramenta para limpar os obstculos. Ferramenta para adicionar os obstculos ao caminho do rob.

Ferramenta para colocar o local de chegada do rob para acender.


Figura 76: Nvel Editor

Espao para os comandos necessrios realizao da tarefa.

Ferramenta para testar o jogo construdo.

Scratch

Figura 77.

uma linguagem de programao desenvolvida por LifelongKindergartenGroup no Media Lab, MIT(com financiamento da National Science Foundation, Intel Foundation, Nokia e do consrcio de pesquisa do MIT Media Lab). Este aplicativo possibilita a criao de estrias interativas, jogos e animaes bem como o compartilhamento das criaes na Web. Tudo pode ser feito a partir de comandos que devem ser agrupados de modo lgico.

Conhecendo o Software
A tela inicial do Scratch composta por (A) uma rea que apresenta e possibilita a escolha dos grupos de comandos desta linguagem de programao, (B) uma rea edio que possibilita a criao do projeto, ou a programao de eventos (ou scripts), (C) uma rea de definio dos objetos (ou sprites) e cenrios (ou palcos) que integram um dado projeto, (D) uma rea que lista miniaturas dos sprites utilizados no projeto, (E) uma rea de apresentao, que viabiliza a execuo do projeto criado. Assim a criao de um projeto no Scratch requer a escolha de comandos da linguagem de programao, a edio de um projeto que envolve a programao utilizando elementos grficos para compor o palco da estria, a definio de scripts ou rotinas de aes a partir do uso de comandos, especificao de parmetros, sprites (objetos), trajes e sons.

Figura 78.

Nomesdoscampos da Tela Inicial


Vamos conhecer agora os nomes dos campos, abas, botes da Tela Inicial para facilitar o uso deste aplicativo. Nesta figura inicial aparece um objeto (sprite) com a imagem do gato que pode ser movimentado na tela a partir da utilizao de alguns comandos desta linguagem de programao.

Figura 79.

1) Categoria de comandos: Movimento, Aparncia, Som, Caneta, Controle, Sensores, Operadores, Variveis; 2) Bloco de comandos: ao escolher uma categoria de comando temos vrias opes de comandos; 3) Botes de atalho: selecionar idioma, salvar este projeto e compartilhar este projeto; 4) Abas para opes comandos, trajes e sons; 5) rea de edio (depende da aba selecionada item anterior (4)); 6) Botes para editar o objeto no palco: Duplicar, Apagar, Crescer objeto e Encolher objeto. 7) Boto para alterar o tamanho de visualizao do palco; 8) Botes para iniciar(bandeira verde) e parar o script(circulo vermelho); 9) Palco: local onde visualizamos o Sprite ; 10) rea que disponibiliza a seleo/criao dos Sprites e do palco.

Primeiro Movimento no Scratch


Agora vamos iniciar um projeto que apenas desloca o Gato (sprite) na tela (palco). Ao abrir o Scratch j aparece selecionada na opo no campo (1) Categoria

de comandos. Utilizando o cursor do mouse arraste um dos comandos que est no campo (2) Bloco de comandos para a rea de Edio (campo 5). Clique e segure com o boto esquerdo

do mouse no comando

. Arraste para o Campo (5) rea de Edio.

Solte o boto direito. Voc obter a seguinte imagem:

Figura 80.

Para executar este comando clique duas vezes com o boto esquerdo domouse sob o boto que voc acabou de arrastar. Veja que o Objeto (Gato) se mover para direita no campo (9) Palco. Neste exemplo estamos programando o deslocamento do Objeto (Gato) 10 passos para direita, ou seja, o parmetro utilizado no comando mova foi o nmero 10. Experimente tambm outros comandos da categoria movimento que consideram as coordenadas cartesianas para referenciar a posio e o deslocamento de objetos na tela.

Figura 81.

Outros comandos da categoria movimento permitem GIRAR os objetos na tela a partir da especificao de parmetros que variam de 0 a 360 graus, sentido horrio e anti-horrio. Experimente!

Figura 82.

Descrio dos Blocos de Comandos do Scratch


Os blocos de comandos do Scratch esto dispostos em oito categorias (Movimento, Aparncia, Som, Caneta, Controle, Sensores, Operadores, Variveis), cada uma com sua cor especfica.

Figura 83.

Figura 84.

Figura 85.

Figura 86.

Figura 87.

Figura 88.

Figura 89.

Figura 90.

Figura 91.

Figura 92.

Figura 93.

Saiba Mais
Em: http://portalsme.prefeitura.sp.gov.br/Projetos/ie/Documentos/scratch.pdf

RoboMIND

Figura 94.

RoboMIND uma excelente ferramenta para a introduo lgica de programao, cincia da computao, pensamento computacional e robtica. Exerccios e mapas podem ser facilmente ajustadas para se relacionar com os desafios encontrados no cotidiano e na indstria. Ele foidesenvolvido volvido com a ideia de ligar a teoria com aplicaes. O ambiente de programao oferece alguns fundamentos da lgica e da cincia da computao que permitem simular e criar solues para praticamente qualquer desafio. desafio No software, voc controla um pequeno rob utilizando linhas de comando, baseadas em uma linguagem de programao prpria do software, bem simplificada. simplificada

Ol! Sou o RoboMIND! Estou pronto para executar todas as instrues que me forem solicitadas. Ento! Vamos aprender como me passar essas instrues?

Figura 95.

Conhecendo o Ambiente

Menu de arquivos

Painel de escrita

Painel Correr

Figura 96.

Mensagem do painel

Painel Mundo

Painel de escrita

Nesta rea de texto, voc pode escrever a sua tarefa na forma de um script que o rob ir executar. Depois de ter decidido qual instrues orobdeve executar, neste cone que voc deve clicar para o rob comear a andar. Tambm possvel ajustar a velocidade na qual o rob opera Em caso, do script linha de cdigo no ser reconhecido pelo programa, voc receber erros de compilao aqui. tambm o lugar onde o rob pode notificar determinados eventos.

Painel Correr

Mensagem do painel

Painel Mundo

Aqui voc v o estado atual do rob em seu ambiente. Este o ambiente inteiro em que o rob vive, vamos cham-lo de mundo.

cones de EDITAR (Desfazer, Refazer, Colar, Recortar, Copiar, Selecionar tudo).

Os cones DESFAZER e REFAZER permite que o usurio desfaa ou refaa sua linha de cdigo.

COLAR Cola o texto no cdigo fonte; RECORTAR Recorta o cdigo fonte selecionado; COPIAR Copia o cdigo fonte selecionado; SELECIONAR TUDO Seleciona todo o cdigo fonte;

Figura 97.

cone (Localizar e substituir)

LOCALIZAR Localiza um texto no cdigo fonte; SUBISTITUIR Substitui um texto no cdigo fonte;

Figura 98.

cones de EXIBIR (Mostrar grade, Mostrar Radar, Acompanha Rob, Captura tela).

MOSTRAR GRADE Mostra uma grade para orientar a localizao do rob; MOSTRAR RADAR Mostra um pequeno mapa do mundo;

ACOMPANHA ROB A cmera acompanha o rob no mapa; CAPTURA TELA Cria uma cpia da tela atual;

Figura 99.

cones (Executar, Avanar, Pausar, Parar)

EXECUTAR - Executando script; AVANAR Executa o prximo comando; PAUSAR Interrompe a execuo do script, possibilitando a continuao; PARAR -Interrompe a execuo do script, no possibilitando a continuao.
Figura 100.

cone de Mapas

Figura 101.

No cone representado por um globo, na aba de cima do RoboMIND, voc poder escolher o ambiente mundo no qual quer movimentar o seu rob . Ao clicar nesse cone, abrir uma janela na qual haver vrios ambientes diferentes, clique no ambiente desejado, e o rob mudar o ambiente.

Alguns ambientes disponveis no RoboMIND

Figura 102: Castle.mapChambers.map. .

Figura 103: NOME DO MAPA. .

Figura 104: CopyLine1.map. .

Figura 105: ChangeBelt.map. .

Figura 106: FindSpot1.map. .

Figura 107: Maze1.map. .

Figura 108: PassBeacons.map. .

Instrues Bsicas
O rob pode executar um conjunto de instrues que lhe permite escrever um script e programar para que ele possa realizar diferentes tarefas. As instrues bsicas dos robs so:

Figura 109.

Mover
andarFrente (n) Andar n passos para frente andarTrs (n) - Andar n passos para trs virarEsquerda - Vira 90 graus para a esquerda virarDireita Vira 90 graus para a direita andarNorte (n) Vira para o norte e anda n passos para frente andarSul (n) Vira para o sul e anda n passos para frente andarLeste (n) Vira para o leste e anda n passos para frente

Pintar
pintarBranco - Pega o pincel e pinta o cho de branco pintatPreto - Pegar o pincel e pintar o cho de preto pararPintar - Para de pintar e esconde o pincel

Pegar
Pegar-Pega o objeto em frente do rob Soltar-Solta o objeto em rente ao rob

Ver

E no programa, onde posso encontrar essas instrues, para movimentar o rob?

Clique no cone INSERIR, MOVER, e escolha a instruo que voc deseja que o rob execute!

Figura 110. .

Instrues Avanadas
Alm dos comandos bsicos do rob, voc pode utilizar algumas instrues que permitem a voc programar um comportamento mais sofisticado para seu rob. Vejam, quais so as instrues:

Condies Se ( ) { } Se ( ) { } seno { } Se ( ) { } seno se ( ) { } Se ( ) { } seno se ( ) { }seno{ }

Figura 111.

Laos repetir (3) { } repetir { } repetirEnquanto ( ){ } sair

Figura 112.

Referncias
_____________________________________________________

ARAJO, E. C. Lgica de Programao. Cuiab: EdUFMT, 2009. Blog do Redu. Disponvel em: <http://ticseinformacao.blogspot.com.br/2011/04/rede-socialeducacional.html>. Acesso em: 10 de Setembro de 2013. Estrutura de Controle. Disponvel <http://cae.ucb.br/conteudo/programar/algoritmobsi/new_estruturadecontrolebsi.html>. Acesso em: 10 set. 2013. em:

Estrutura de repetio. Disponvel em: <http://www.slideshare.net/edvanmateo10/50978145algoritmosexerciciosresolvidos>. Acesso em 10 set. 2013. Estrutura Sequencial. Disponvel em: <http://pt.scribd.com/doc/50982387/18/EstruturaSequencial>. Acesso em: 10 set. 2013. FARRER, H. et al., Algoritmos Estruturados, Editora Guanabara, 1989. FORBELLONE, A. L. V., EBERSPCHER, H. F.; Lgica de Programao A Construo de Algoritmos e Estrutura de Dados, Makron Books, 2000. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lgica de Programao: a construo de algoritmos e estruturas de dados. 3 ed. So Paulo: Pearson/Prentice, 2005. Light-Bot. Disponvel em: <http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/>. Acesso em: 02 de Outubro de 2013. MALAGUTTI, P. L. A. Inteligncia Artificial no Ensino: construo de computadores que se comportam como humanos. So Carlos: EdUFSCar, 2008. McCONNELL, S., Code Complete A Pratical Handbook of Software Construction, Microsoft Press, 1993. MEDINA, M. Algoritmos e Programao: teoria e prtica. So Paulo: Novatec Editora, 2006. O que o RoboMIND FURB. Disponvel em: <http://robolab.inf.furb.br/index.php?option=com_content&view=article&id=1&Itemid=3> Acesso em: 01 de Outubro de 2013.

PAIVA, S. Introduo Programao: do algoritmo s linguagens atuais. Rio de Janeiro: Cincia Moderna, 2008. Rede Social Educacional: Redu. Disponvel em: <http://blog.redu.com.br/>. Acesso em: 10 de Setembro de 2013. RoboMIND. Disponvel em: <http://www.baixaki.com.br/download/RoboMIND.htm>. Acesso em: 01 de Outubro de 2013. SALVETTI, D. D. e BARBOSA, L. M., Algoritmos, Makron Books, 1998.

Referncias das Figuras


Figura 1: http://redu.com.br/ Figura 2: http://redu.com.br/ Figura 3: http://redu.com.br/ Figura 4: http://redu.com.br/ Figura 5: http://redu.com.br/ Figura 6: http://redu.com.br/ Figura 7: http://redu.com.br/ Figura 8: http://redu.com.br/ Figura 9: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 10: http://www.baixaki.com.br/download/robomind.htm Figura 11: http://scratch.mit.edu/ Figura 12: http://professorphm.blogspot.com.br/2013/08/introducao-logica-deprogramacao.html Figura 13: http://www.canstockphoto.com.br/um-madeira-gaveta-12532433.html Figura 14: http://inorbt.com/category/download/desenho/ Figura 15: http://www.redejovem.com/2009/05/19/a-matematica-de-deus-1-2-3/ Figura 16: http://jornaloexpresso.files.wordpress.com/2011/05/homer-louco.gif Figura 17: http://www.revistadigital.com.br/2012/01/nova-economia-aumenta-risco-deestresse/

Figura 18: http://pt.dreamstime.com/foto-de-stock-royalty-free-ingredientes-doces-para-obolo-image23078415 Figura 19: http://www.5asec.com.br/blog/wp-content/uploads/2012/08/bolo_chocolate.jpg Figura 20: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 21: http://canelada.com.br/palmeiras/alguma-duvida/ Figura 22: MEDINA, M. Algoritmos e Programao: teoria e prtica. So Paulo: Novatec Editora, 2006. Figura 23: http://www.hypeness.com.br/2012/02/video-mostra-o-melhor-manual-de-celularja-criado-ate-agora/ Figura 24: http://www.w3-d.com/guia-manual-usuario/manual-instrucao.asp Figura 25: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 26: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 27: ttp://www.fpqsystem.com.br/osof4.1/Image%20Gallery/ Figura 28: http://laisdedeus.blogspot.com.br/ Figura 29: http://1.bp.blogspot.com/pu59w3V4yGo/Tb6_fwNlFTI/AAAAAAAAAA0/IjLRbOOSm5o/s1600/computador%2B2.j pg Figura 30: MEDINA, M. Algoritmos e Programao: teoria e prtica. So Paulo: Novatec Editora, 2006. Figura 31: http://www.dicasdeprogramacao.com.br/tipos-de-dados-primitivos/ Figura 32: Windows 7 Microsoft word 2010 Figura 33: Windows 7 Microsoft word 2010 Figura 34: Windows 7 Microsoft Word 2010 Figura 35: http://jornalavem.files.wordpress.com/2008/03/clip-image0022.jpg Figura 36: http://www.somatematica.com.br/fundam/operacoes/Image3.gif Figura 37: http://tipodafonte.wordpress.com/2012/01/31/caractere-fonte-tipo-familia-e-o-que/ Figura 38: http://ztop.com.br/ligadesliga-seu-eletronico-precisa-de-mais-um-botao/ Figura 39: Windows 7 Microsoft Word 2010 Figura 40: Windows 7 Microsoft Word 2010 Figura 41: www.caoscarioca.com.br Figura 42: www.caoscarioca.com.br

Figura 43: www.sbsoutdoor.com.br Figura 44: http://www.slideshare.net/LuizAugustoMacdoMorais/aula-6-constantes-e-variveis Figura 45: Windows 7 Microsoft Word 2010 Figura 46: Windows 7 Microsoft Word 2010 Figura 47: http://www.markimicrowave.com/blog/2010/03/generation-pi/ Figura 48: http://www.slideshare.net/LuizAugustoMacdoMorais/aula-6-constantes-e-variveis Figura 49: Windows 7 Microsoft Word 2010 Figura 50: Windows 7 Microsoft Word 2010 Figura 51: http://www.ambiente.pascal.nom.br/Capitulo6/Cap6Tutorial1.html Figura 52: http://www.fotosearch.com.br/IMZ171/tow0030/ Figura 53: http://pt.dreamstime.com/imagem-de-stock-royalty-free-desenho-dos-desenhosanimados-de-uma-compra-da-mulher-image20089476 Figura 54: Mapa do RoboMinddefault.map Figura 55: http://emjoaodedeus.blogspot.com.br/2012/02/alunos-aprovados-colegiosfederais.html Figura 56: http://pt.clipartlogo.com/premium/detail/lot-of-children-going-up-onthe_99786482.html Figura 57: Mapa do RoboMinddefault.map Figura 58: Mapa do RoboMindcopyLine1.map Figura 59: Mapa do RoboMindcopyLine1.map Figura 60: http://moodle.progdan.com/course/index.php?categoryid=8 Figura 62:http://pt.clipartlogo.com/premium/detail/watching-tv-vector_35886853.html Figura 63:http://www.canstockphoto.com.br/caricatura-homem-bebendo-caf%C3%A911591820.html Figura 64:http://www.fotosearch.com.br/GLW127/gwil30624/ Figura 65: Mapa do RoboMindChangeBelt12.map Figura 66:http://trokatintasnews.blogspot.com.br/2011_05_01_archive.html Figura 67:http://gartic.uol.com.br/lucaslino/desenho-livre/porta Figura 68: Mapa do RoboMindfindspot.irobo

Figura 69: http://galeria.colorir.com/desportos/futebol/jogar-futebol-pintado-por-felipe15078.html Figura 70: Mapa do RoboMinddefault.map Figura 71: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 72: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 73: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 74: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 75: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 76: http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/ Figura 77: http://scratch-kids.en.softonic.com/ Figura 78: http://scratch-kids.en.softonic.com/ Figura 79: http://scratch-kids.en.softonic.com/ Figura 80: http://scratch-kids.en.softonic.com/ Figura 81: http://scratch-kids.en.softonic.com/ Figura 82: http://scratch-kids.en.softonic.com/ Figura 83: http://scratch-kids.en.softonic.com/ Figura 84: http://scratch-kids.en.softonic.com/ Figura 85: http://scratch-kids.en.softonic.com/ Figura 86: http://scratch-kids.en.softonic.com/ Figura 87: http://scratch-kids.en.softonic.com/ Figura 88: http://scratch-kids.en.softonic.com/ Figura 89: http://scratch-kids.en.softonic.com/ Figura 90: http://scratch-kids.en.softonic.com/ Figura 91: http://scratch-kids.en.softonic.com/ Figura 92: http://scratch-kids.en.softonic.com/ Figura 93: http://scratch-kids.en.softonic.com/ Figura 94: http://en.wikipedia.org/wiki/RoboMind

Figura 95: http://edutics21.wordpress.com/2012/10/24/hello-world/ Figura 96: Tela Inicial Editar do software RoboMind Figura 97: Tela Inicial Editar do software RoboMind Figura 98: Tela Inicial Editar do software RoboMind Figura 99: Tela InicialExibir do software RoboMind Figura 100: Tela Inicial Executar do software RoboMind Figura 101: Tela de Mapas do RoboMind Figura 102: Mapa Castle.mapChambers.map. Figura 103: Mapa chambers.map Figura 104: Mapa CopyLine1.map. Figura 105: Mapa ChangeBelt.map. Figura 106: Mapa FindSpot1.map. Figura 107: Mapa Maze1.map. Figura 108: Mapa PassBeacons.map. Figura 109: http://www.robomind.net/en/docBasicInstructions.htm Figura 110: Tela Inicial Inserir do software RoboMind Figura 111: Tela Inicial Inserir do software RoboMind Figura 112: Tela Inicial Inserir do software RoboMind

You might also like