Introdução à Programação
Manual do Estudante
UNIVERSIDADE DE PERNAMBUCO – UPE
Reitor: Prof. Esp. Carlos Fernando de Araújo Calado Vice-Reitor: Prof. Dr. Rivaldo Mendes de Albuquerque
UPE – CAMPUS GARANHUNS
Diretor: Prof. Dr. Clovis Gomes da Silva Junior Vice-Reitor: Prof. Dr. Fábio Rocha Formiga
CURSO DE LICENCIATURA EM COMPUTAÇÃO
Coordenador: Prof. Ms. Haroldo José Costa do Amaral Vice-Coordenador: Profa. Ms. Cristina Leite de Brito
DISCIPLINA DE ESTÁGIO SUPERVISIONADO IV
Professores Responsáveis 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. Sônia Regina Fortes da Silva
Equipe Responsável pela Elaboração: AdeildoFellipe Ferreira Santos
CharlesJohny Gomes Leite Cláudio 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 Catão Tenório Falcão
Luma Cardoso Ferro de Almeida Maria do Socorro Falcão Berto
Michel de Sousa Miranda Rosivania Ivany de Lima Silva
Vinicius Cavalcante Bezerra Wallyson Bezerra de Freitas
Wanessa Ferreira de Lima
Edição 2013
Sumário _____________________________________________________
Apresentação .............................................................................................................................. 6
Ambiente e Softwares ................................................................................................................. 8
O Ambiente de Colaboração ................................................................................................... 8
Softwares .............................................................................................................................. 15
Jogo light-Bot .................................................................................................................... 15
RoboMIND........................................................................................................................ 15
Scratch ............................................................................................................................... 15
Conceitos Básicos ..................................................................................................................... 16
Você sabe o que é lógica? ..................................................................................................... 16
Lógica na Programação de Computadores ........................................................................ 18
Algoritmo! O que é isso? .................................................................................................. 19
Como funciona um computador? .......................................................................................... 22
Hardware ........................................................................................................................... 22
Software ou Programas de Computador............................................................................ 23
Dados e Informação .............................................................................................................. 25
Dados ................................................................................................................................. 25
Informação ........................................................................................................................ 25
Entrada e Saída .................................................................................................................. 26
Processamento ................................................................................................................... 26
Representações de Dados ......................................................................................................... 28
Tipos primitivos de dados ..................................................................................................... 28
Inteiro ................................................................................................................................ 29
Real.................................................................................................................................... 29
Caractere............................................................................................................................ 29
Lógico ou Booleano .......................................................................................................... 30
Variáveis ............................................................................................................................... 30
Por que declarar variáveis e como nomeá-las? ................................................................. 32
Constantes ............................................................................................................................. 34
Expressões Aritméticas e Lógicas ........................................................................................ 37
Operadores Relacionais ........................................................................................................ 39
Operadores Lógicos .............................................................................................................. 40
Comandos de Atribuição ...................................................................................................... 42
Comandos de Entrada e Saída .............................................................................................. 43
Estruturas de Controle, Seleção e Repetição ............................................................................ 45
Estrutura Sequencial ............................................................................................................. 45
Comandos de Decisão ........................................................................................................... 48
Se Então............................................................................................................................. 48
Resposta ............................................................................................................................ 49
Senão ................................................................................................................................. 49
Estruturas de Seleção Simples........................................................................................... 51
Estrutura de Seleção Composta ......................................................................................... 52
Estruturas de Seleção Encadeada ...................................................................................... 53
Estrutura de Repetição .......................................................................................................... 54
Tipos de estrutura de repetição.......................................................................................... 56
Jogos e Softwares ..................................................................................................................... 61
light-Bot ................................................................................................................................ 61
Conhecendo o Jogo ........................................................................................................... 62
Scratch .................................................................................................................................. 65
Conhecendo o Software .................................................................................................... 65
RoboMIND ........................................................................................................................... 75
Conhecendo o Ambiente ................................................................................................... 76
Referências ............................................................................................................................... 85
Apresentação
_____________________________________________________
Caro estudante,
Este é um material criado especialmente para você. Através dele, esperamos contribuir para o
seu desenvolvimento durante o Curso.
O Manual do Estudante é um instrumento de orientação no qual você encontrará informações
sobre a estrutura do Curso. Além disso, apresenta orientações 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.
Sobre o Curso:
O Curso é destinado a alunos do Ensino Médio regular e tem como objetivo principal o
desenvolvimento do raciocínio lógico através de conceitos de programação. Dessa forma,
auxiliar a resolução de problemas do cotidiano e, “enxergar” na Ciência da Computação como
uma possibilidade de escolha para sua carreira acadêmica.
Este Curso possui uma carga horária total de 25 horas, com três encontros presenciais (5 horas
por aula) e duas semanas de atividades à distância.
Serão abordados os seguintes temas: Lógica de Programação, Tipos de Dados, Variáveis,
Expressões Lógicas e Aritméticas, Comando de Atribuição, Comando de Entrada e Saída,
Estruturas de Controle, Estruturas de Seleção, Estruturas de Repetição.
“Não se pode ensinar coisa alguma a alguém, pode-se apenas auxiliá-lo a descobrir
por si mesmo".
Galileu Galilei
Nas atividades que serão desenvolvidas, poderá ser observado que os conceitos trabalhados
são comuns nas atividades cotidianas e a partir desta constatação será possível empregá-los
com maior consciência na resolução de novos problemas.
IMPORTANTE!
Não esqueça que para participar no Curso você precisará:
- Ter acesso a Computador e Internet diariamente;
- Ter disponibilidade para os encontros presenciais.
Ambiente e Softwares
_____________________________________________________
Neste Módulo você encontrará uma a
disponibilizadas as aulas e todo material
softwares que serão utilizados para
______________________________________________________________________
O Ambiente de Colaboração
aprendizagem por meio da Internet e de dispositivos móveis” (GOMES, 2013).
A Plataforma tem como foco
aprendizagem, no qual professores
conteúdos (textos, imagens, vídeos, apresentações, aplicativos, outros
1
Realizei o cadastro Ambiente. E agora?
Figura 1: REDU
Figura 2: Tela de início.
Ambiente e Softwares
_____________________________________________________
você encontrará uma apresentação do Ambiente de Colaboração
e todo material acerca do conteúdo abordado. Também conhecerá
softwares que serão utilizados para o desenvolvimento do Curso.
______________________________________________________________________
O Ambiente de Colaboração
A Rede Social Educacional (REDU) foi
desenvolvida no Centro de Informática (CIn)
da Universidade Federal de Pernambuco
(UFPE) e lançada em Fevereiro de 2010.
“Trata-se de um ambiente para professores e
alunos que permite criar situações de
aprendizagem por meio da Internet e de dispositivos móveis” (GOMES, 2013).
foco ensino e possibilita um novo espaço de ambiente virtual de
aprendizagem, no qual professores e alunos podem criar interagir, compartilhar e discutir
conteúdos (textos, imagens, vídeos, apresentações, aplicativos, outros).
Realizei o cadastro no . E agora?
REDU.
Tela de início.
8
Ambiente e Softwares
_____________________________________________________
presentação do Ambiente de Colaboração onde serão
Também conhecerá os
______________________________________________________________________
A Rede Social Educacional (REDU) foi
desenvolvida no Centro de Informática (CIn)
Universidade Federal de Pernambuco
(UFPE) e lançada em Fevereiro de 2010.
se de um ambiente para professores e
alunos que permite criar situações de
aprendizagem por meio da Internet e de dispositivos móveis” (GOMES, 2013).
possibilita um novo espaço de ambiente virtual de
criar interagir, compartilhar e discutir
Após a realização de seu cadastro na
você irá procurar pelo Curso
matricular (Figura 3).
A opção destacada na Figura 3
pesquisar pelo Curso de
encontrado clique para prosseguir.
Figura 3:
Após a realização de seu cadastro na Plataforma você será direcionado a sua página. E
Curso, Introdução à Programação – UPE Garanhuns, no
Figura 3 indica a barra de pesquisa do ambiente, nela será possível
de Introdução à Programação – UPE Garanhuns
encontrado clique para prosseguir.
Uma vez encontrado o Curso clique na opção
(Figura 4) para se tornar aluno. Nesse momento você já terá
acesso a todo o material, informações, discussões, webquests,
fóruns, entre outros.
Como faço para me matricular no Curso?
Figura 3: Pesquisar por o Curso de Introdução à Programação.
9
será direcionado a sua página. Então,
UPE Garanhuns, no qual irá se
indica a barra de pesquisa do ambiente, nela será possível
UPE Garanhuns, uma vez
clique na opção Matricular-se
Nesse momento você já terá
informações, discussões, webquests,
matricular no
Pesquisar por o Curso de Introdução à Programação.
As disciplinas são divididas em Módulos
conjuntos de aulas com conteúdos
dos módulos é possível visualizar
referentes ao Curso Introdução à Programação
Conteúdo (Figura 5) localizada dentro das disciplinas
Onde encontro os conteúdos disponíveis para o Curso?
Figura 4: Matrícula no Curso.
10
são divididas em Módulos, que são
conteúdos em comum. Dentro
é possível visualizar os conteúdos
Programação na opção
localizada dentro das disciplinas.
Onde encontro os conteúdos disponíveis
No Mural da Disciplina
esclarecimento de dúvidas sobre as aulas
Nele est
criação de aulas
colegas e aprender
Onde irei debater e esclarecer dúvidas das aulas?
Figura
Mural da Disciplina (Figura 6), que é um espaço
esclarecimento de dúvidas sobre as aulas com professores
estão todas as atualizações realizadas na Disciplina, o que inclui a
criação de aulas e comentários, sendo possível ainda
colegas e aprender de um jeito dinâmico.
Onde irei debater e esclarecer dúvidas das aulas?
Figura 5: Conteúdo disponível para cada módulo.
11
spaço aberto para debates e
professores e outros alunos.
Disciplina, o que inclui a
ainda pedir auxílio aos
Sim!
perfil, está
Você também visualiza todas as atualizações realizadas no ambiente.
Tenho espaço para minhas próprias postagens?
Sim! O espaço Meu Mural (Figura 7) disponível logo abaixo do
perfil, está aberto a todos os seus próprios comentários e postagens.
Você também visualiza todas as atualizações realizadas no ambiente.
Tenho espaço para minhas próprias postagens?
Figura 6: Ferramenta Mural de Discussão.
12
isponível logo abaixo do
aberto a todos os seus próprios comentários e postagens.
Você também visualiza todas as atualizações realizadas no ambiente.
Claro que sim! A Plataforma conta com a ferramenta
(Figura 8), localizada abaixo do Perfil de
possível o envio de mensagens instantâneas para discutir
com os envolvidos, os assuntos o
adicionar os tutores e demais alunos do
comunicar-se por bate papo.
Posso me comunicar por bate-papo?
Figura 7: Meu Mural.
13
conta com a ferramenta Chat
localizada abaixo do Perfil de Usuário. Nela é
o envio de mensagens instantâneas para discutir,
o Curso. Lembre-se de
adicionar os tutores e demais alunos do Curso para
papo?
Para mais informações sobre o Ambiente acesse os links abaixo.
Para mais informações sobre o Ambiente acesse os links abaixo.
Redu: http://ajuda.redu.com.br/
Guia Básico: http://ajuda.redu.com.br/guia-
Guia do Aluno: http://ajuda.redu.com.br/guia
Figura 8: Ferramenta Chat.
14
Para mais informações sobre o Ambiente
-basico
http://ajuda.redu.com.br/guia-do-aluno
Softwares
Durante o desenvolvimento do
Programação, vamos conhecê
com os tutoriais.
Jogo light-Bot
Neste jogo online você poderá controlar um robô através
de diversas ações para que ele alcance o objetivo
proposto e acenda a luz em sua cabeça.
Fique atento! Existe uma quantidade limitada de ações
que ele pode realizar.
ACESSO AO JOGO: http://clickjogos.uol.com.br/Jogos
DOWLOAD DO SOFTWAR
Scratch
Um programa que permite criar animações, histórias
interativas e até mesmo jogos por meio de uma linguagem
de programação simples.
MAIS INFORMAÇÕES :
Figura 10: RoboMIND.
Durante o desenvolvimento do Curso você utilizará alguns softwares para
Programação, vamos conhecê-los? Para aprender a utilizar esse softwares veja o módulo 5
você poderá controlar um robô através
de diversas ações para que ele alcance o objetivo
proposto e acenda a luz em sua cabeça.
Existe uma quantidade limitada de ações
http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light
RoboMIND
Um ambiente para programação de robôs, que permite
conhecer conceitos básicos de programação de
computadores. Através do RoboMIND
um robô que anda, vê, pega objetos e pinta, sendo possível
realizar diversos experimentos.
DOWLOAD DO SOFTWAR E: http://www.baixaki.com.br/download/
programa que permite criar animações, histórias
interativas e até mesmo jogos por meio de uma linguagem
: http://scratch.mit.edu/
Figura
Figura
15
você utilizará alguns softwares para auxiliar o estudo da
Para aprender a utilizar esse softwares veja o módulo 5
online/Puzzle/Light-Bot/
ambiente para programação de robôs, que permite
conhecer conceitos básicos de programação de
RoboMIND você pode programar
um robô que anda, vê, pega objetos e pinta, sendo possível
http://www.baixaki.com.br/download/RoboMIND.htm
Figura 9: light-Bot.
Figura 11: Schatch.
16
Conceitos Básicos
_____________________________________________________
Seja bem vindo ao módulo de Conceitos Básicos! Nele será possível encontrar uma visão
geral dos conceitos tratados durante este curso, embora alguns sejam considerados novos para
você. Mesmo assim, será possível observar, de maneira simples, que você já lida com alguns
deles no cotidiano.
_______________________________________________________________
Você sabe o que é lógica?
“Mas é lógico que eu sei!”
Você já ouviu falar em Lógica? Não? Mas, com certeza já ouviu
a expressão anterior “mas é lógico que eu sei” ou “é lógico que
isso não daria certo”. Não é? (ARAÚJO, p. 13, 2009)
Pensando assim estamos tendo pensamento lógico? Você sabe
dizer o que é lógica?
A palavra lógica vem de um termo grego e foi criada pelo filósofo grego Aristóteles, no
século IV a. C., para estudar o pensamento humano e diferenciar interferências e argumentos
certos e errados.
Podemos defini-la como:
Ciência das formas do pensamento. A Lógica estuda a correção do raciocínio, visto que ele é a forma mais complexa do pensamento. Podemos dizer que a Lógica visa à ordem da razão, isto é, a razão pode funcionar desordenadamente e a Lógica estuda e ensina a colocar ordem no pensamento (ARAÚJO, p. 15, 2009).
2
Figura 12.
Sempre que estamos pensando, a lógica ou a ilógica (não ter lógica
ou ser contrário a
escrevemos, estamos expressando nossos pensamentos, logo,
precisamos usar a lógica nessas atividades para organizar as ideias.
Podemos perceber a importância da lógica na nossa vida, não
apenas na teoria, mas princip
queremos pensar, falar, escrever ou agir corretamente,
pensamento, isto é, utilizar lógica.
Exemplos
1- A gaveta está fechada;
A caneta está dentro da gaveta;
Precisamos primeiro abrir a gaveta
caneta.
Figura 14.
Sempre que estamos pensando, a lógica ou a ilógica (não ter lógica
ou ser contrário a ela), nos acompanham. Quando falamos ou
escrevemos, estamos expressando nossos pensamentos, logo,
precisamos usar a lógica nessas atividades para organizar as ideias.
Podemos perceber a importância da lógica na nossa vida, não
apenas na teoria, mas principalmente na prática, já que, quando
queremos pensar, falar, escrever ou agir corretamente, precisamos colocar ordem no
pensamento, isto é, utilizar lógica.
A gaveta está fechada;
A caneta está dentro da gaveta;
Precisamos primeiro abrir a gaveta para depois pegar a
2- Anacleto é mais velho que Felisberto;
Felisberto é mais velho que Marinaldo;
Logo, Anacleto é mais velho que Marinaldo.
Existe Lógica no dia a dia?
17
Sempre que estamos pensando, a lógica ou a ilógica (não ter lógica
ela), nos acompanham. Quando falamos ou
escrevemos, estamos expressando nossos pensamentos, logo,
precisamos usar a lógica nessas atividades para organizar as ideias.
Podemos perceber a importância da lógica na nossa vida, não
almente na prática, já que, quando
precisamos colocar ordem no
Anacleto é mais velho que Felisberto;
Felisberto é mais velho que Marinaldo;
Logo, Anacleto é mais velho que Marinaldo.
Figura 13.
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.
instruções.
Mas, o que é uma instrução?
A lógica na programação consiste em: dado um problema e fornecidos os dados de entrada,
identificar uma sequência de instruções tal que, por meio da execução desta sequência
alcancemos como saída à solução do problema.
Lógica, dados, sequência, instruções,
programação?
Instrução pode ser considerada um conjunto de regras ou normas definidas para a realização de uma tarefa (ARAÚJO, p. 19, 2009).
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.
Lógica na Programação de Computadores
Quando falamos em lógica na programação de
computadores, sempre nos remetemos à sequências de
Mas, o que é uma instrução?
A lógica na programação consiste em: dado um problema e fornecidos os dados de entrada,
identificar uma sequência de instruções tal que, por meio da execução desta sequência
solução do problema.
Lógica, dados, sequência, instruções, saída, solução de problemas? O que isso tem haver com
Instrução pode ser considerada um conjunto de regras ou normas definidas para a realização de uma tarefa (ARAÚJO, p. 19, 2009).
Mas o que isso tem haver com programação?
Figura
18
na Programação de Computadores
na programação de
, sempre nos remetemos à sequências de
A lógica na programação consiste em: dado um problema e fornecidos os dados de entrada,
identificar uma sequência de instruções tal que, por meio da execução desta sequência
saída, solução de problemas? O que isso tem haver com
Instrução pode ser considerada um conjunto de regras ou normas definidas para a
Mas o que isso tem
Figura 15.
Com certeza ao falar em computação ou programação você já ouviu falar em algoritmo,
prossiga sua leitura e descubra essa relação.
Algoritmo ! O que é isso?
Embora a palavra seja estranha
associam apenas a Computação
apenas a esta área e também não surgiu junto com os computadores.
O termo é bastante utilizado em outras áreas, como Engenharia,
Administração, Matemática, entre outras.
Mas afinal o que é um algoritmo?
Algoritmo, nada mais é do que um
execução de uma tarefa.
Então, quer dizer que
eu uso algoritmos no
meu dia-a-dia?
Com certeza ao falar em computação ou programação você já ouviu falar em algoritmo,
e descubra essa relação.
! O que é isso?
seja estranha para algumas pessoas, muitas
omputação. O termo algoritmo não é restrito
a área e também não surgiu junto com os computadores.
tilizado em outras áreas, como Engenharia,
tica, entre outras.
Mas afinal o que é um algoritmo?
Algoritmo, nada mais é do que uma sequência lógica de instruções,
quer dizer que
eu uso algoritmos no
19
Com certeza ao falar em computação ou programação você já ouviu falar em algoritmo,
passo a passo, para a
Figura 17.
20
EXATO! Um exemplo clássico de algoritmos é a receita culinária. Relembre a definição de
instrução vista anteriormente.
Um problema: Quero bolo de chocolate!
Dados de entrada: Ingredientes.
Uma sequência de instruções: Modo de preparo.
Saída e/ou solução do problema: Um bolo de chocolate.
Veja outros exemplos de algoritmos que você pode observar no cotidiano.
Esses exemplos têm todas as características de um algoritmo.
� Uma tarefa a ser realizada.
� Uma sequência detalhada de passos.
� E também podemos identificar entradas e saídas.
Vamos jogar um pouco...
Usando o ligth-Bot, jogo apresentado no Módulo I (Introdução) observe que estamos criando
algoritmos, pois, temos:
• Resolver uma operação matemática seguindo passos até chegar ao resultado final.
• Ligar o forno de micro-ondas seguindo as etapas de conectar a energia, apertar determinados botões, sequencialmente, até que a máquina seja ligada;
• Tomar medicamentos seguindo orientação médica.
Figura 18.
Figura 19.
21
� Uma tarefa para ser realizada (levar o robô até o local indicado);
� Uma sequência detalhada de passos (as instruções dadas ao robô);
� Uma entrada (local onde o robô se encontra) e uma saída (passar para a próxima fase).
Vá até o Módulo V e veja o tutorial de como jogar.
Agora que você já conhece o ambiente, tente resolver o desafio abaixo:
� Crie os obstáculos a seguir e atribua os comandos necessários para que o robô alcance
o quadrado azul e acenda a luz nele.
� Preste atenção em todos os comandos que serão necessários.
Porque é importante construir um algoritmo?
Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica
de programação e, dessa forma, permite-nos abstrair de uma série de detalhes computacionais,
que podem ser acrescentados mais tarde. Assim, podemos focalizar nossa atenção naquilo que
é mais importante: a lógica da construção de algoritmos.
Figura 20.
22
Por que a palavra algoritmo ficou tão
associada à computação?
Para compreender melhor os motivos, sinta-se convidado
a viajar conosco no mundo dos computadores e entender
melhor o funcionamento deles.
Como funciona um computador? O computador é composto, basicamente, de duas partes: a parte física, chamada de hardware,
e a parte lógica, chamada de software.
Hardware
A parte física é formada basicamente por uma Unidade Central de Processamento (UCP), pela
memória e pelos dispositivos de entrada e saída (Veja um exemplo na Figura 22).
UCP – Unidade Central de
Processamento
Dispositivos Entrada/Saída
Memória
Teclado Mouse Monitor Impressora Etc...
Conexões externas
BARRAMENTO
Figura 21.
Figura 22: Arquitetura simplificada de um computador.
23
A UCP (ou processador) contém um conjunto relativamente pequeno de instruções que é
capaz de executar. Cada processador contém um conjunto diferente de instruções, apesar de
similares entre si.
Tomando esse conceito que parece complicado para a vida cotidiana, imagine que essas
instruções são contidas em um manual. Se você comprar dois celulares de marcas diferentes,
seus manuais podem ter instruções de uso semelhantes, porém algumas são diferentes.
As instruções que o processador executa são buscadas na memória. Essas instruções podem
ser desde operações matemáticas a interações com dispositivos de entrada e saída.
Software ou Programas de Computador
Chamamos de programa de computador um conjunto de instruções que será executado pelo
processador em uma determinada sequência. 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 programação.
Vamos jogar um pouco...
Usando novamente o jogo que já conhecemos ligth-Bot, observe que estamos inserindo um
conjunto de instruções, onde você determina a sequência em que estas devem ser executadas,
e que o nosso “computador” (representado pelo robô) está executando essas tarefas.
Tente resolver os desafios abaixo.
Figura 23. Figura 24.
24
Desafio 1:
� Crie os obstáculos a seguir, agora mais complexos, atribua os comandos necessários
para que o robô alcance o quadrado azul e acenda a luz nele.
� Preste atenção em todos os comandos que serão necessários.
Desafio 2:
� Crie os obstáculos a seguir, agora perceba que será necessária uma função para que o
robô alcance o quadrado azul e acenda a luz nele.
� Preste atenção em todos os comandos que serão necessários.
Figura 25.
Figura 26.
25
Dados e Informação
Dados
Podemos definir dado, como qualquer elemento identificado em sua forma bruta que, por si
só, não conduz a uma compreensão de determinado fato ou situação. Os dados podem ser
considerados a unidade básica da informação. Sem dados, não temos informações, pois estas
são criadas a partir dos dados.
Para simplificar... Vamos pensar em uma empresa!
No relatório 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 não diz que a empresa obteve
ou não lucro com estas vendas.
Informação
É o resultado do processamento dos dados. Os dados foram analisados e interpretados sob
determinada ótica, e a partir dessa análise se torna possível qualificar esses dados. Por tanto,
informações são dados com algum significado ou relevância. A informação é a compreensão
dos dados.
Lembra-se do exemplo anterior da Loja?
Vamos transformar os dados sobre as vendas da
empresa em informação. 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, funcionários etc.
Fazendo o processamento dos dados, obtemos a informação de que a empresa não obteve o
volume de vendas necessário à manutenção de suas atividades.
Figura 27.
Figura 28.
26
Entrada e Saída
Um sistema/programa é composto de entrada, processamento e saída, como mostra a figura
abaixo.
As linguagens de programação estão preparadas para receber entradas e apresentar saídas
(Lembra-se do Bolo? Ele recebeu os ingredientes e a saída foi um bolo de chocolate!).
Desta forma, durante a execução de um programa, um usuário poderá informar valores
(entrada) para que estes sejam processados pelo computador (processamento) que, por sua
vez, retornará o resultado do processamento (saída). Existem muitos meios de entrada e saída
em um computador. Como dispositivos de entrada, podemos citar o teclado, o mouse, o
scanner etc. como saída, temos vídeo, impressora etc..
Processamento
O processamento de dados consiste em realizar um processo sobre qualquer dado de entrada
com o objetivo de gerar uma saída aceitável ou próxima disso (O Modo de Preparo do Bolo!).
Vamos ver como isso acontece no computador!
Figura 29.
Capturar: Buscar os dados onde
Manipular: Tratar os dados de forma que possam ser organizados e ganhar sentido
(transformando-se em informação).
Armazenar: Guardar os dados de maneira organizada.
Recuperar: Buscar os dados que foram armazenados de forma organiz
Apresentar: Mostrar os dados de forma compreensível.
Transmitir: Enviar e receber dados de outros locais.
Neste Módulo você � O que é Lógica � O que é algoritmo� O que é um programa de computador� O que são Dados e o que são Informações� Como um programa de computador funciona (Entrada, processamento e
saída)
Prossiga nos seus estudos, ainda temos muito a aprender...
Buscar os dados onde eles existem e trazê-los.
Tratar os dados de forma que possam ser organizados e ganhar sentido
se em informação).
Guardar os dados de maneira organizada.
Buscar os dados que foram armazenados de forma organizada.
Mostrar os dados de forma compreensível.
Enviar e receber dados de outros locais.
Neste Módulo você pôde aprender...
O que é algoritmo O que é um programa de computador O que são Dados e o que são Informações Como um programa de computador funciona (Entrada, processamento e
Prossiga nos seus estudos, ainda temos muito a aprender...
Figura 30.
27
Tratar os dados de forma que possam ser organizados e ganhar sentido
ada.
Como um programa de computador funciona (Entrada, processamento e
Prossiga nos seus estudos, ainda temos muito a aprender...
Representações de Dados
_____________________________________________________
Caro Aluno, neste módulo
programação e exemplos do nosso cotidiano
É importante que ao final deste módulo você possa compreender como algoritmos
parecidos com os programas interpretados po
Bom Estudo!
___________________________________________________________
Tipos primitivos de dadosO que são
São os tipos básicos de qualquer linguagem de programação, sendo
usados também por uma linguagem
Como assim?
A seguir são apresentados os tipos de dados
das linguagens de programação.
3
Figura 32: Zero
Figura 31.
Representações de Dados
_____________________________________________________
este módulo você conhecerá alguns conceitos básicos de linguagem de
programação e exemplos do nosso cotidiano relacionados a esses conceitos
É importante que ao final deste módulo você possa compreender como algoritmos
parecidos com os programas interpretados por computadores.
___________________________________________________________
Tipos primitivos de dados O que são?
São os tipos básicos de qualquer linguagem de programação, sendo
usados também por uma linguagem algorítmica.
A seguir são apresentados os tipos de dados primitivos mais comuns encontrados na maioria
das linguagens de programação.
Zero Figura 33: 1+1=2
28
Representações de Dados
_____________________________________________________
alguns conceitos básicos de linguagem de
relacionados a esses conceitos.
É importante que ao final deste módulo você possa compreender como algoritmos são muito
___________________________________________________________________________
São os tipos básicos de qualquer linguagem de programação, sendo
mais comuns encontrados na maioria
Figura 34: Letras
29
Inteiro
É uma representação dos números inteiros da
matemática nos computadores. Podem ser positivos,
negativos ou nulos. Não possuem parte fracionária.
Por Exemplo:
2 laranjas, sapato tamanho 42, 65535 grãos, 0
pessoas na fila, multa de -2 pontos no campeonato .
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 frações de um inteiro.
• Digamos que um veículo percorreu uma distância entre duas
cidades, que foi de 150,3 km. Neste caso, precisamos de valores após a casa decimal para
efetuar cálculos, e novamente a melhor escolha parece ser o tipo Real.
Caractere
É uma representação das letras, dígitos e símbolos nos
computadores. Podendo ser numéricos, alfabéticos e
especiais.
Figura 35.
Figura 36.
Figura 37.
Por Exemplo:
Numéricos: 2, 4, 0. Alfabéticos: a, B, z. Especiais: @,
Representação: pessoas = {Maria, João, José, Ana,...}
� Operações: comer, dormir, andar, beber
Lógico ou Booleano
Só podem assumir dois valores: verdadeiro ou falso
Servem como uma representação lógica de algo.
Estes valores também podem ser entendidos como:
ligado/desligado, 1/0, alto/baixo, fechado/aberto, etc.
Exemplos de informações que podem ser
representadas utilizando o tipo lógico são:
Variáveis São valores que podem sofrer alteração no decorrer do tempo.
Figura 39: A Lâmpada está acessa.
Numéricos: 2, 4, 0. Alfabéticos: a, B, z. Especiais: @, #, &
= {Maria, João, José, Ana,...} conjunto de cadeias de caracteres.
Operações: comer, dormir, andar, beber.
valores: verdadeiro ou falso.
Servem como uma representação lógica de algo.
Estes valores também podem ser entendidos como:
ligado/desligado, 1/0, alto/baixo, fechado/aberto, etc.
de informações que podem ser
s utilizando o tipo lógico são:
São valores que podem sofrer alteração no decorrer do tempo.
Figura 40: A Lâmpada está apagada.
30
o de cadeias de caracteres.
Figura 38.
A Lâmpada
31
Quais valores variam no nosso dia a dia?
Ao criarmos nossos algoritmos, precisamos guardar dados referentes ao problema, como um
nome, um número ou mesmo o resultado de uma operação. Mas, para armazenar esses dados,
precisamos pedir ao computador que ele reserve uma parte da memória para nosso uso. A
forma de solicitar ao computador que reserve memória é chamada de declaração de
variáveis.
Na Prática:
Figura 41: Dinheiro na Carteira
Figura 43: Preço da gasolina
Figura 42: O Peso de uma
pessoa
Variável: Tipo de Variável
notaMedia, salario: real
Contador: inteiro
Achou: Lógico (booleano)
Sexo: caractere
Variável = Conteúdo da Variável
NOME = "JOSE"
IDADE = 50
Por que declarar variáveis e como nomeá
Quando pedimos que o computador reserve espaço de memória,
temos de informar como vamos nos referir a essa parte da memória
reservada, ou seja,
Assim, toda variável tem um nome através do qual é referenciada.
Pois sempre que criamos uma variável, nós o fazemos com o
objetivo de armazenar algum tipo de valor específico.
Assim, o nome da variável deve deixar claro o objetivo da mesma, ou se
nomes sugestivos. A seguir serão apresentadas algumas regras para variáveis
Por que declarar variáveis e como nomeá
Quando pedimos que o computador reserve espaço de memória,
temos de informar como vamos nos referir a essa parte da memória
reservada, ou seja, qual nome daremos a esse espaço de
Assim, toda variável tem um nome através do qual é referenciada.
Pois sempre que criamos uma variável, nós o fazemos com o
objetivo de armazenar algum tipo de valor específico.
variável deve deixar claro o objetivo da mesma, ou se
A seguir serão apresentadas algumas regras para variáveis
A palavra var é utilizada para indicar que
estamos declarando uma variável.
Precisamos informar o tipo de dados que armazenaremos
na variável para que o computador saiba o tamanho do
espaço de memória que reservará.
32
Por que declarar variáveis e como nomeá-las?
Quando pedimos que o computador reserve espaço de memória,
temos de informar como vamos nos referir a essa parte da memória
daremos a esse espaço de memória.
Assim, toda variável tem um nome através do qual é referenciada.
Pois sempre que criamos uma variável, nós o fazemos com o
variável deve deixar claro o objetivo da mesma, ou seja, devemos utilizar
A seguir serão apresentadas algumas regras para variáveis:
é utilizada para indicar que
que armazenaremos
na variável para que o computador saiba o tamanho do
33
Vamos ver alguns exemplos das regras, o que é permitido e não permitido
na declaração de variáveis:
• Inicie sempre por um caractere alfabético, nunca por um número.
• “Não utilize caracteres especiais como “,( ) /*; +.
• Não coloque espaços em Branco ou hífen entre nomes.
• Utiliza, se necessário, _ underline.
Figura 44.
REGRAS
34
Constantes
São valores que não sofrem nenhuma variação no decorrer do tempo.
O que pode representar uma constante no nosso dia a dia?
Na Prática:
Observação: Declarar as
constantes antes
das variáveis.
Figura 47: PI Figura 46:
Significado do sinal de Vermelho no Transito
Figura 45: Placa Pare
PI = 3.1416;
MAX = 10;
OK = V;
OPCAO = ‘A’;
CONSTANTES
Segue asexceto que são escritas com letras maiúsculas.
Segue as mesmas regras das variáveis, exceto que são escritas com letras maiúsculas.
REGRAS
A palavra CONST é utilizada para indicar que
estamos declarando uma constante.
O nome da constante
do qual vamos nos referir à constante.
Apenas para ficar diferente das
aconselha-se que todas as letras
nomes das constantes sejam
Valor é o valor assumido pela constante
35
é utilizada para indicar que
O nome da constante. É o nome através
do qual vamos nos referir à constante.
para ficar diferente das variáveis,
se que todas as letras dos
constantes sejam maiúsculas.
é o valor assumido pela constante.
O que é permitido e não permitido para as constantes?
Saiba Mais…
Em: http://www.siban.com.br/destaque/21_carta.pdf
http://www.youtube.com/watch?v=MksHE_lbRb0
ATENÇÃO! As Variáveisvalor 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 pão na padaria então neste caso o valor da sua variável passaria de R$ 100,00 reais para R$ 90,00.
ATENÇÃO! Já as Constantes são criadas possuindo um 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.
O que é permitido e não permitido para as constantes?
Saiba Mais…
http://www.siban.com.br/destaque/21_carta.pdf
http://www.youtube.com/watch?v=MksHE_lbRb0
Figura 48.
Variáveis possuem um valor inicial, mas podem mudar de a qualquer momento.
Digamos que você tenha na sua carteira R$ 100,00 reais e que você compre R$ 10,00 reais de pão na padaria então neste caso o valor da sua variável passaria de R$ 100,00 reais para R$ 90,00.
Já as Constantes são criadas possuindo um valor e esse valor
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
a faixa de perdestes, pois ela possui um significado (valor) que nunca
36
mudar de
Digamos que você tenha na sua carteira R$ 100,00 reais e que você compre R$ 10,00 reais de pão na padaria então neste caso o valor da sua variável
e esse valor
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
a faixa de perdestes, pois ela possui um significado (valor) que nunca
37
Expressões Aritméticas e Lógicas
Os operadores aritméticos são símbolos que representam as operações matemáticas básicas.
Fáceis de utilizar parecem muito com um cálculo realizado em uma calculadora comum.
Abaixo uma tabela com os operadores básicos aritméticos que utilizaremos neste curso.
Os operadores aritméticos serão utilizados para formar expressões aritméticas. Já as
expressões aritméticas por sua vez são formadas por operadores aritméticos que agem sobre
operandos. Os operandos podem ser variáveis ou constantes do tipo numérico, inteiros ou
reais.
Abaixo temos duas expressões aritméticas:
Figura 49: Operadores Básicos Aritméticos.
Nota/2
x*2+y/2
ATENÇÃO! Criaremos um operador aritmético especial para obter o resto de uma
divisão, chamaremos este operador de resto.
Como assim?
Digamos que você divida 10 por 3. O resultado dá 3 e sobra 1. Então, se utilizarmos o
operador de resto da divisão (também conhecido como módulo) para esse mesmo
cálculo, o resultado será 1. Se fizéssemos 20 % 3 o resultado seria 2 ou seja, o resto da
divisão de 20 por 3.
38
Na resolução de expressões aritméticas deve-se utilizar a seguinte ordem de precedência entre
os operadores:
Além da ordem de prioridades definida acima, podemos utilizar parênteses. Assim,
resolvemos primeiro as expressões contidas nos parênteses mais internos, seguindo a ordem
de precedência entre operadores, passando depois para os parênteses mais externos.
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 execução de expressões aritméticas é sempre um
valor numérico (inteiro ou real) que pode então ser atribuído a uma variável numérica através
do uso do comando de atribuição estudado anteriormente.
PRIORIDADE OPERADOR OPERAÇÃO
1ª
* / %
Multiplicação,
divisão,
resto da divisão.
2ª
+ - Adição, subtração
Tabela 1: Ordem de Precedência entre Operadores Aritméticos.
Nota 1 + (nota2 + nota3) / 2
Para entendermos as expressões lógicas, primeiro precisamos conhecer os op
e relacionais, pois as expressões lógicas são formadas a partir da utilização desses operadores.
Operadores RelacionaisOs operadores relacionais são utilizados para realizar comparações entre dois valores de um
mesmo tipo: Quando queremos fazer comparações entre valores, ou entre expressões (tanto
matemáticas como lógicas), precisamos utilizar os operadores relacionais que são:
A uma comparação realizada utilizando um operador relacional se dá
resultado obtido de uma relação é sempre um valor lógico,
Na tabela abaixo temos exemplos de relações e seus resultados. Para tais exemplos, considere
duas variáveis inteiras, A e
expressões lógicas, primeiro precisamos conhecer os op
relacionais, pois as expressões lógicas são formadas a partir da utilização desses operadores.
Operadores Relacionais relacionais são utilizados para realizar comparações entre dois valores de um
mesmo tipo: Quando queremos fazer comparações entre valores, ou entre expressões (tanto
matemáticas como lógicas), precisamos utilizar os operadores relacionais que são:
Comparações Operadores
Igual =
Diferente <>
Maior >
Menor <
Maior ou igual >=
Menor ou igual <=
A uma comparação realizada utilizando um operador relacional se dá
resultado obtido de uma relação é sempre um valor lógico, verdadeiro ou
Na tabela abaixo temos exemplos de relações e seus resultados. Para tais exemplos, considere
e B onde A=5 e B=8:
Tabela 2: Operadores Relacionais.
Simplificando... • Expressões aritméticas: uma conta a ser feita • Operadores aritméticos: os sinais + • Operandos aritméticos: constantes ou variáveis (inteiras ou reais), ou outra expressão aritmética • Precedência na ordem dos cálculos: a mesma da matemática, podendo haver vários níveiparênteses; não há colchetes [ ] ou chaves { }.
39
expressões lógicas, primeiro precisamos conhecer os operadores lógicos
relacionais, pois as expressões lógicas são formadas a partir da utilização desses operadores.
relacionais são utilizados para realizar comparações entre dois valores de um
mesmo tipo: Quando queremos fazer comparações entre valores, ou entre expressões (tanto
matemáticas como lógicas), precisamos utilizar os operadores relacionais que são:
o nome de relação. O
ou falso.
Na tabela abaixo temos exemplos de relações e seus resultados. Para tais exemplos, considere
xpressões aritméticas: uma conta a ser feita.
aritméticos: os sinais + - * / %
nstantes ou variáveis ou reais), ou outra expressão aritmética.
ordem dos cálculos: a mesma da matemática, podendo haver vários níveis de
[ ] ou chaves { }.
40
RELAÇÃO
RESULTADO
A=B Falso
A < B Verdadeiro
A>=B Falso
B!= 6 Verdadeiro
A >= 5 Verdadeiro
O resultado de uma relação é sempre um valor lógico (verdadeiro ou falso).
Vejamos outros exemplos:
Operadores Lógicos Os operadores lógicos retornam verdadeiro ou falso de acordo com seus operandos. Os
operadores lógicos mais comuns são listados na tabela abaixo:
OPERADORES LÓGICOS
E
OU
NÃO
Figura 3: Exemplos de Relações
Tabela4: Operadores Lógicos
a) 2 + 5 = 3 + 2
7 = 5
Resultado: F (falso)
b) 3 * 5<> 2 * 3
15 <> 6 Resultado: V (Verdadeiro)
41
Os resultados das operações lógicas são sempre valores lógicos (verdadeiro ou falso).
Para trabalharmos adequadamente com operadores lógicos, temos que conhecer a tabela
verdade para cada um dos operadores. Uma tabela verdade é o conjunto de todas as
possibilidades combinatórias entre os valores das variáveis lógicas, conforme apresentado a
seguir.
A B AeB
F
F
V
V
F
V
F
V
F
F
F
V
A B AouB
F
F
V
V
F
V
F
V
F
V
V
V
A Não A
F
V
V
F
Tabela5: Tabela Verdade Operador E
Tabela 7: Tabela Verdade Operador Não
Tabela 6: Tabela Verdade Operador OU
Comandos de AtribuiçãoDefine ou redefine o valor armazenado no local de armazenamento
de variável.
Representações textuais comuns do operador de atribuição incluem um
classificam o operador de atribuição como um operador infixo.
A instrução de atribuição muitas vezes permite que o mesmo nome de variável possa conter
valores diferentes em momentos diferentes durante a execução do programa.
Vejamos a seguinte situação:
Saiba Mais…
Em:http://pt.wikipedia.org/wiki/Atribui%C3%A7%C3%A3o_(computa%C3%A7%C3
%A3o)
e Atribuição efine ou redefine o valor armazenado no local de armazenamento indicado por um nome
Representações textuais comuns do operador de atribuição incluem um sinal de igual
classificam o operador de atribuição como um operador infixo.
A instrução de atribuição muitas vezes permite que o mesmo nome de variável possa conter
valores diferentes em momentos diferentes durante a execução do programa.
Vejamos a seguinte situação:
int x =10; real y; x =23; y =32.4;
Saiba Mais…
http://pt.wikipedia.org/wiki/Atribui%C3%A7%C3%A3o_(computa%C3%A7%C3
Para atribuímos um valor a variavel1
escreve-se o seguinte:
variavel1 = 2
O valor 2 será armazenado na variável cujo
nome é variavel1.
42
indicado por um nome
sinal de igual ("=") e
A instrução de atribuição muitas vezes permite que o mesmo nome de variável possa conter
valores diferentes em momentos diferentes durante a execução do programa.
http://pt.wikipedia.org/wiki/Atribui%C3%A7%C3%A3o_(computa%C3%A7%C3
variavel1
será armazenado na variável cujo
43
Neste exemplo, a variável x é primeiramente declarada como um tipo de dado inteiro, e
depois lhe é atribuído o valor 10. Observe que a declaração e a atribuição ocorrem no mesmo
momento. Na segunda linha, y é declarada sem uma atribuição como um real. Na terceira
linha, a variável x é atribuído o valor de 23. Finalmente, a variável y é atribuído o valor de
32,4.
Comandos de Entrada e Saída Comandos de saída são aqueles que permitem ao programador enviar dados para dispositivos
periféricos de saída de dados (o monitor e a impressora, por exemplo) ou de armazenamento
(tais como disquetes e discos rígidos).
Quando se deseja trabalhar com grandes quantidades de dados, o melhor é armazená-los numa
unidade de memória secundaria, ou seja, em arquivos NO HD OU HARDDISK DO
COMPUTADOR... Um programa pode gerar tantos dados que todos eles não caberiam na tela
de uma só vez, e ainda seriam perdidos ao finalizar o programa.
Os dados salvos em arquivos podem ser usados pelo próprio programa ou exportados para
serem processados de outra forma. Arquivos de leitura economizam um tempo precioso para
o usuário do programa, pois ele não vai precisar enviar dados via teclado, e com arquivos
milhares de dados podem ser lidos em segundos.
Figura 50.
44
Contextualizando:
Campo 1 (nome) Campo 2 (aniversario) Campo 3 (Salário)
Jose Maria de Almeida 28/12/1998 220,00
Maria da silva 01/01/1977 220,00
Jose de Almeida 01/05/1972 320,00
No nosso exemplo cada linha é um registro de dados. Cada registro é composto por 3 campos,
nome, data aniversario e salário.
ARQUIVO - Local ou pasta de trabalho onde serão gravados dados no HD do computador.
Um arquivo é composto por diversos registros de dados.
REGISTRO – Pode ser definida em termos didáticos como uma linha de dados gravada dentro
do arquivo no computador. Um registro pode ser composto de 1 ou vários campos de dados
CAMPOS - Um "campo" é uma sucessão de caracteres, que representa alguma informação, tal
como “universidade federal da Bahia”.
Tabela 8: Arquivo – Cadastro de Funcionários.
45
Estruturas de Controle,
Seleção e Repetição
________________________________________________________
Caro Estudante, seja bem vindo ao Módulo 4! Estamos chegando ao final do nosso curso,
neste módulo você conhecerá os conceitos de estrutura de controle, estrutura de seleção e
estrutura de repetição, encontrará situações problemas onde utilizará essas estruturas, por
meio de diversas atividades.
________________________________________________________
Estrutura Sequencial
Estrutura sequencial refere-se aquela na
qual uma instrução segue uma após a
outra. As tarefas se sucedem de tal modo
que a saída de uma tarefa é à entrada da
tarefa seguinte.
Quando pensamos em fazer uma ligação, pegamos o celular, ligamos o
celular, digitamos o número, e assim por diante até o termino da
ligação.
O exemplo acima, ilustra uma estrutura sequencial cujos comandos são executados na ordem
em que aparecem, formando assim, um algoritmo.
4
Figura 51.
Figura 52.
Como assim?
Para um algoritmo poder funcionar, você deve dizer
chamamos isto de comandos de um algoritmo.
Na estrutura sequencial esses
determinar de cima para baixo, e assim, c
anterior.
E para que o computador saiba onde começar e onde terminar essa lista de comandos, eles são
delimitados pelas palavras reservadas
Na estrutura apresentada, o “comando
fim do “comando-1” ou <pegue o celular>
execução do “comando-2” e
Vejamos outras situações semelhantes...
Palavras Reservadas?
São palavras que, foram selecionadas para ddeterminada linguagem de programação.
Voltemos a pensar no conjunto de passos para realizar uma
ligação no celular
Para um algoritmo poder funcionar, você deve dizer claramente o que ele deve fazer
de comandos de um algoritmo.
Na estrutura sequencial esses comandos serão executados na ordem em que você os
determinar de cima para baixo, e assim, cada comando é executado após o fim
E para que o computador saiba onde começar e onde terminar essa lista de comandos, eles são
reservadas Inicio e Fim.
o “comando-2” ou <ligue o celular> será executado somente após o
<pegue o celular> e o “comando-3” <digite o número
2” e assim sucessivamente.
Vejamos outras situações semelhantes...
Inicio
<pegue o celular> <ligue o celular> <digite o número> <inicie a chamada> <espere ser atendido> <fale ao telefone> <finalize a ligação> Fimalgoritmo.
São palavras que, foram selecionadas para definir termos específicos de uma determinada linguagem de programação.
Voltemos a pensar no conjunto de passos para realizar uma
ligação no celular e vejamos como funciona essa estrutura.
Inicio
<Comando - 1>< Comando - 2>< Comando - 3>. . . < Comando - n> Fimalgoritmo.
claramente o que ele deve fazer,
comandos serão executados na ordem em que você os
executado após o fim do comando
E para que o computador saiba onde começar e onde terminar essa lista de comandos, eles são
será executado somente após o
digite o número> após a
finir termos específicos de uma
Voltemos a pensar no conjunto de passos para realizar uma
e vejamos como funciona essa estrutura.
1> 2> 3>
n>
Fimalgoritmo.
A Loja Magazine está vendendo
conjunto de passos que você
prestações.
Lembra do Software R
Vamos utilizá-lo para ver essa estrutura?
Pense que você esta precisando pintar um caminho e o
robô pelo Mapa até o caminho branco e pinte todo o caminho de preto. Lembre
dos obstáculos do caminho!
Mapa Utilizadodefault.map
Figura 53.
Figura
vendendo seus produtos em 2 (duas) prestações sem juro. Faça
você faria para olhar o valor da compra e contabilizar
Lembra do Software RoboMIND? Apresentado no Módulo 1
lo para ver essa estrutura?
Pense que você esta precisando pintar um caminho e o robô vai te ajudar, então movimente o
pelo Mapa até o caminho branco e pinte todo o caminho de preto. Lembre
obstáculos do caminho!
Utilizadodefault.map
RESPOSTA:
Figura 54.
1. Pegue os produtos;
2. Olhe o preço dos produtos;
3. Some os preços dos produtos;
4. Divida o resultado da soma dos produtos por dois
5. O resultado da divisão é o valor da prestação.
as) prestações sem juro. Faça o
contabilizar o valor das
oboMIND? Apresentado no Módulo 1?
vai te ajudar, então movimente o
pelo Mapa até o caminho branco e pinte todo o caminho de preto. Lembre-se de desviar
Divida o resultado da soma dos produtos por dois;
O resultado da divisão é o valor da prestação.
virarDireita
andarFrente(8)
pintarPreto
andarFrente(1)
virarEsquerda
andarFrente(1)
virarDireita
andarFrente(2)
virarEsquerda
andarFrente(6)
virarEsquerda
andarFrente(8)
virarDireita
andarFrente(2)
pararPintar
Comandos de DecisãoOs comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem
estruturas de programas que não são totalmente sequenciais. Com as instruções de
DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de a
com as decisões lógicas tomadas em função dos dados ou resultados anteriores.
As principais estruturas de decisão são:
Se Então A estrutura de decisão SE
determinada condição for satisfeita pelo comando então execute determinado
Imagine um algoritmo que
aprovado se sua média for maior ou igual a 6
INÍCIO
Se
media >= 6.0
então
Aluno Aprovado
FIM
Comandos de Decisão Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem
programas que não são totalmente sequenciais. Com as instruções de
se fazer com que o programa proceda de uma ou outra maneira, de a
com as decisões lógicas tomadas em função dos dados ou resultados anteriores.
As principais estruturas de decisão são: se então, senão e caso selecione.
SE ENTÃO normalmente vem acompanhada de um comando,
determinada condição for satisfeita pelo comando então execute determinado
verifique a aprovação do aluno, determinado aluno somente estará
sua média for maior ou igual a 6.0, veja no exemplo abaixo de como se
Saiba mais em sobre este assunto em
http://www.youtube.com/watch?v=71OV3St
Figura
Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem as
programas que não são totalmente sequenciais. Com as instruções de SALTO ou
se fazer com que o programa proceda de uma ou outra maneira, de acordo
com as decisões lógicas tomadas em função dos dados ou resultados anteriores.
senão e caso selecione.
ompanhada de um comando, se
determinada condição for satisfeita pelo comando então execute determinado ação.
determinado aluno somente estará
abaixo de como seria.
sobre este assunto em:
http://www.youtube.com/watch?v=71OV3St-Fxs
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 condição SE ENTÃO, poderíamos escrever o código da seguinte maneira:
Resposta Senão
A estrutura de decisão SENÃO, funciona exatamente como a estrutura SE ENTÃO, com
apenas uma diferença, caso a condição do SE ENTÃO seja falsa a estrutura SENÃO é
automaticamente executada.
Imagine que você está esperando um ônibus. Veja como seria o algoritmo para essa situação:
Se o ônibus for ao destino desejado entre, senão espere novamente até passar o ônibus que
fará o percurso desejado.
Figura 56.
virarDireita
andarFrente(8)
se(brancoFrente){
pintarPreto
andarFrente(1)
virarEsquerda
andarFrente(1)
virarDireita
andarFrente(2)
virarEsquerda
andarFrente(6)
virarEsquerda
andarFrente(8)
virarDireita
}
INÍCIO
1. Esperar ônibus
2. Se ônibus certo então
3. Entrar no ônibus
4. Se não esperar o ônibus
FIM
Vamos fazer o robô pegar um objeto no mapa abaixo:
Use o seguinte código:
Conseguiu pegar o objeto? Se não conseguiu faça as mudanças necessárias
para que ele pegue.
Caso
A estrutura de decisão CASO é utilizada para testar uma única expressão, caso a primeira
opção seja verdadeira, as outras opções não serão testadas.
Vejamos uma situação dessa estrutura:
O dono de uma Loja precisa pagar seus funcionários, o salário pago esta de acordo com a
função 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 funcionário o dono da loja deve selecionar a opção e realizar o
pagamento.
Figura 57.
andarTrás(2)
virarDireita
se(temObjetoFrente){
pegar
}senão{
andarFrente(2)
}
Vamos utilizar as estruturas de decisão em estruturas maiores!
Estruturas de Seleção Simples
A estrutura de seleção simples é utilizada quando há a necessidade de testar uma condição
antes da execução de um ou mais comandos.
Você consegue cumprir a missão do Robô?
Utilizando o RoboMINDtente concluir a seguinte missão:
Estando no mapa copyLine1.map
utilizando os comandos se(...) então{...}.
Inicio
1. Verificar a função do funcionário
2. Caso funcionário operador de caixa pague 200
3.Caso funcionário vendedor pague 500
4.Caso funcionário gerente pague 1000
5. Pagamento Realizado
Fim
Vamos utilizar as estruturas de decisão em estruturas maiores!
Estruturas de Seleção Simples
A estrutura de seleção simples é utilizada quando há a necessidade de testar uma condição
antes da execução de um ou mais comandos.
Quando testamos algo, que nesse caso é se está chovendo ou não,
nos será retornado como resposta: Verdadeiro
Você consegue cumprir a missão do Robô?
RoboMINDtente concluir a seguinte missão:
copyLine1.map você precisa pegar a mina que está do lado direito do mapa,
utilizando os comandos se(...) então{...}.
Veja como é simples!
Figura
1. Verificar a função do funcionário
2. Caso funcionário operador de caixa pague 200
endedor pague 500
4.Caso funcionário gerente pague 1000
Início
Se estiver sol então
Passo filtro solar!
Fim do Se
Vamos utilizar as estruturas de decisão em estruturas maiores!
A estrutura de seleção simples é utilizada quando há a necessidade de testar uma condição
Quando testamos algo, que nesse caso é se está chovendo ou não,
Verdadeiro ou Falso.
sa pegar a mina que está do lado direito do mapa,
Figura 58.
Quais os passos para esse algoritmo?
Estrutura de Seleção Composta
A condição que vimos até agora é única, mas algumas situações precisam usar condições mais
elaboradas. A estrutura de seleção composta é utilizada quando há duas alternativas que
dependem da mesma condição, uma da condição verdadeira e a outra da condição falsa.
Quando testamos algo, nesse caso, se está chovendo ou não, nos será retornado como
resposta: Verdadeiro ou Falso
Figura
Quais os passos para esse algoritmo?
Mapa Utilizado: copyLine1.map
Resposta:
Estrutura de Seleção Composta
A condição que vimos até agora é única, mas algumas situações precisam usar condições mais
elaboradas. A estrutura de seleção composta é utilizada quando há duas alternativas que
dição, uma da condição verdadeira e a outra da condição falsa.
Quando testamos algo, nesse caso, se está chovendo ou não, nos será retornado como
Falso, e a partir da resposta decidir ir ou não a praia.
Como funciona isso?
andarFrente(1)
virarDireita()
andarFrente(9)
se(temObstáculoFrente()){
pegar()
}
Figura 59.
Início
Se estiver sol então
Eu vou à praia!
Senão
Fico em casa!
Fim do Se
Mapa Utilizado: copyLine1.map
A condição que vimos até agora é única, mas algumas situações precisam usar condições mais
elaboradas. A estrutura de seleção composta é utilizada quando há duas alternativas que
dição, uma da condição verdadeira e a outra da condição falsa.
Quando testamos algo, nesse caso, se está chovendo ou não, nos será retornado como
, e a partir da resposta decidir ir ou não a praia.
se(temObstáculoFrente()){
Sua próxima missão será:
No mapa copyLine1.map você precisa pegar a mina que está na parte inferior do mapa do
lado esquerdo, utilizando os comandos se(...){...} senão{...}. Você consegue cumprir mais
essa missão?
Quais os passos para esse algoritmo?
Mapa Utilizado: copyLine1.map
Resposta:
Estruturas de Seleção Encadeada
Se o seu algoritmo precisa testar mais de uma condição, então você pode criar uma estrutura
de seleção encadeada e múltipla.
Figura 59.
virarEsquerda()
virarEsquerda()
andarFrente(4)
se(temObjetoEsquerda()){
virarEsquerda()
andarFrente(8)
pegar()
}senão{
temObjetoDireita()
virarDireita()
andarFrente(5)
pegar()
}
Lembra-se do exemplo anterior
Observe que tínhamos uma condição para ir à
estiver com dinheiro. Essa é uma estrutura simples encadeada.
Veremos que em alguns algoritmos precisaremos de mais de uma condição ao mesmo tempo.
Estrutura de Repetição
As estruturas de repetição possibilit
algorítmicas venha a ser
envolvida, para que haja a resolução de problemas.
Veja que os passos se repetiram para poder executar a tarefa de aumentar o
tipo de estrutura chamamos de estrutura de repetição. Essas estruturas permitem que uma ou
Início
Se estiver sol então
Se tiver dinheiro
Eu vou à praia!
Fim do Se
Fim do Se
Senão
Fico em casa.
Fim do Se
Figura 62.
se do exemplo anterior da chuva? Vejamos como ficaria:
Observe que tínhamos uma condição 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 condição ao mesmo tempo.
Estrutura de Repetição
As estruturas de repetição possibilitam que o processamento de algumas instruções
executadas repetidas vezes, segundo a necessidade da lógica
envolvida, para que haja a resolução de problemas.
Quando pensamos nos passos que realizamos para
aumentar o volume da televisão, logo nos deparamos com
os seguintes passos: pegue o controle, encontre o botão
de aumentar o volume, clique, clique, clique, até o
volume ser aumentado.
Veja que os passos se repetiram para poder executar a tarefa de aumentar o
mamos de estrutura de repetição. Essas estruturas permitem que uma ou
tiver dinheiro então
Eu vou à praia!
Figura 60.
praia e agora temos duas, se estiver sol e se
Veremos que em alguns algoritmos precisaremos de mais de uma condição ao mesmo tempo.
am que o processamento de algumas instruções
executadas repetidas vezes, segundo a necessidade da lógica
Quando pensamos nos passos que realizamos para
visão, logo nos deparamos com
pegue o controle, encontre o botão
de aumentar o volume, clique, clique, clique, até o
Veja que os passos se repetiram para poder executar a tarefa de aumentar o volume. A este
mamos de estrutura de repetição. Essas estruturas permitem que uma ou
mais instruções sejam executadas um número definido de vezes, ou enquanto uma
determinada condição não é satisfeita.
Vamos tomar um café?
Primeiro precisamos prepará
Este poderia ser reescrito, de forma melhorada, como segue abaixo:
Figura 63.
1. Colocar o açúcar na xícara;
2. Colocar o café na xícara;
3. Colocar água quente;
Repita (até ficar doce);
4. Mexer;
FimRepita
5. Tomar o café.
mais instruções sejam executadas um número definido de vezes, ou enquanto uma
determinada condição não é satisfeita.
Vamos tomar um café?
Primeiro precisamos prepará-lo!
Quais seriam os passos desse algoritmo?
poderia ser reescrito, de forma melhorada, como segue abaixo:
Vejamos como essa estrutura funciona.
1.Colocar o açúcar na xícara
2.Colocar o café na xícara
3. Colocar a água quente
4. Mexer
5. Mexer
6. Mexer
7. Mexer
8. Mexer
9. Mexer
10. Prove se doce
11.Tomar o café
Colocar o açúcar na xícara;
Colocar o café na xícara;
Colocar água quente;
(até ficar doce);
mais instruções sejam executadas um número definido de vezes, ou enquanto uma
Quais seriam os passos desse algoritmo?
poderia ser reescrito, de forma melhorada, como segue abaixo:
Vejamos como essa estrutura funciona.
1.Colocar o açúcar na xícara
2.Colocar o café na xícara
na xícara
Em algoritmos e programas
valor uma única vez, não é sufi
utilizar uma Estrutura de R
Tipos de estrutura de repetição
A estrutura CondicionalA estrutura condicional repete um ou mais comandos até satisfazer a condição de repetição.
Estas são utilizadas quando não se sabe de antemão quantas vezes deve
instruções do bloco de repetição.
� Estrutura condicional com teste de repetição no inicio
� Estrutura condicional com teste de repetição no final
Estrutura condicional Enquanto/Faça
O que seria essa estrutura
Os comandos se repetem enquan
Imagine que você precisa entrar no banco, e a porta está fechada, você precisa pressionar o
botão que abre a porta, para ela abrir e você entrar.
algoritmos e programas muitas vezes existem situações em que o processamento de
valor uma única vez, não é suficiente para resolver o problema. Quando isto ocorre,
Repetição.
Tipos de estrutura de repetição
A estrutura Condicional A estrutura condicional repete um ou mais comandos até satisfazer a condição de repetição.
Estas são utilizadas quando não se sabe de antemão quantas vezes deve
instruções do bloco de repetição.
Estrutura condicional com teste de repetição no inicio ENQUANTO/FAÇA
Estrutura condicional com teste de repetição no final REPITA/ATÉ
Estrutura condicional Enquanto/Faça
ria essa estrutura?
enquanto a condição não se torna falsa.
gine que você precisa entrar no banco, e a porta está fechada, você precisa pressionar o
botão que abre a porta, para ela abrir e você entrar.
Vejamos como essa estrutura
funciona.
que o processamento de um
Quando isto ocorre, deve-se
A estrutura condicional repete um ou mais comandos até satisfazer a condição de repetição.
Estas são utilizadas quando não se sabe de antemão quantas vezes deve-se executar as
ENQUANTO/FAÇA
REPITA/ATÉ
gine que você precisa entrar no banco, e a porta está fechada, você precisa pressionar o
Vejamos o algoritmo para entrar:
O comando 2 é repetido indefinidamente até o a porta ser aberta. Quando nos deparamos com
tal situação, a qual não sabe o número de vezes que repetiremos um determinado comando,
utilizamos a estrutura de repetição condicional.
Observe que a pessoa só entra no banco, após o valor fornecido corresponder a porta aberta,
ou seja, enquanto o usuário não apertar o botão tempo suficiente a porta estará fechada e será
solicitado que ele continue com o botão pressionado. Essa é uma das características desse
comando, pois, a condição que testa se o usuário realizou a ação esperada acontece no inicio,
neste caso seria a condição, Enquanto (porta fechada) faça, aperte o botão. Enquanto essa
condição não for alcançada 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ô faça com que
ele passe as minas para o outro
lado do mapa, até que quando não
haja mais minas no caminho.
Mapa utilizadochangeBelt12.map
1. Vá até a porta;
2. Pressione o botão que abre a porto
3. Enquanto a porta não estiver aberta faça pressione o botão
4. Quando a porta estiver aberta, entre.
Figura 64.
Figura 65.
Resposta:
Estrutura condicional
O que seria essa estrutura?
A diferença entre a estrutura
os comandos serão repetidos pelo menos uma vez, já que a condição se encontra no final.
João está com a porta de casa quebrada e precisa concertá
isso, precisa apertar um parafuso
Veja que nesta condição você repete o comando “apertar parafuso” até que a condição seja
verdadeira, no caso, até “parafuso apertado”.
Utilizando o software ROBOMIND
repetirEnquanto (tem objeto) {pegar andarSul(0) soltar andarLeste(1) andarNorte(0) }
andarSul(0)
Figura
Estrutura condicional Repita/Até
O que seria essa estrutura?
A diferença entre a estrutura ENQUANTO e a estrutura REPITA é que na estrutura REPITA
os comandos serão repetidos pelo menos uma vez, já que a condição se encontra no final.
João está com a porta de casa quebrada e precisa concertá
isso, precisa apertar um parafuso.
Veja que nesta condição você repete o comando “apertar parafuso” até que a condição seja
verdadeira, no caso, até “parafuso apertado”.
Utilizando o software ROBOMIND.
repetirEnquanto (tem objeto) {
Vejamos como essa estrutura
funciona.
1. Pegar o parafuso
2. Colocar parafuso na porta
3. Repita
4. Apertar parafuso
5. Até que parafuso apertado
6. Porta concertada
Figura 66.
é que na estrutura REPITA
os comandos serão repetidos pelo menos uma vez, já que a condição se encontra no final.
João está com a porta de casa quebrada e precisa concertá-la, para
Veja que nesta condição você repete o comando “apertar parafuso” até que a condição seja
Vejamos como essa estrutura
Figura 67.
Você precisa fazer com que o Robô encontre o
repita{...}, se não houver
direita e andar para trás, se não o robô deve
Mapa utilizado findspot.irobo
Estrutura de Repetição
A estrutura “contada” repete
mesmas são utilizadas quando se sabe
instruções do bloco de repetição.
Estrutura contada Para/Faça
O que seria essa estrutura
Quando pretende se repetir uma determinada condição uma quantidad
utiliza-se este tipo de estrutura.
Figura 68.
fazer com que o Robô encontre o local branco. Para isso, utilize o comando
obstáculos a esquerda e não estiver branco, o robô deve virar a
direita e andar para trás, se não o robô deve andar para frente.
Mapa utilizado findspot.irobo
Estrutura de Repetição Contada
A estrutura “contada” repete um número contado (pré-definido) de vezes os comandos
as quando se sabe previamente quantas vezes devem
do bloco de repetição.
Para/Faça
ria essa estrutura?
Quando pretende se repetir uma determinada condição uma quantidade de vezes
se este tipo de estrutura.
repetir{ se(não temObstáculoEsquerda e brancoEsquerda){ virarDireita andarTrás(1) fim } senão{ andarFrente(1) } }
Vejamos como essa estrutura
funciona.
local branco. Para isso, utilize o comando
branco, o robô deve virar a
vezes os comandos. As
previamente quantas vezes devem-se executar as
e de vezes determinada,
Vejamos como essa estrutura
Flávio quer um algoritmo que escreve a frase “sou brasileiro” cinco vezes.
Observe que nessa estrutura sabe
operação, no caso 5. E temos uma variável para contar quantas vezes aquela operação esta
sendo repetida, no caso “Variável Contadora”. Então quando sabemos a quantidade de
que iremos repetir um determinado comando utilizamos a
Você consegue realizar mais uma missão?
Você precisa delimitar uma área em forma de quadrado, com
construa a área em forma de quadrado
Figura 69.
Figura 70.
Flávio quer um algoritmo que escreve a frase “sou brasileiro” cinco vezes.
Inicie a Variável Contadora em 1, ela fará o controle de quantas
vezes o bloco de instrução será repetido, no caso,
Para Variável Contadora recebendo 1 até repetir
"sou brasileiro"
Quando a variável contadora chegar a cinco, termine o processo,
o qual saíra cinco vezes o nome "sou brasileiro
Observe que nessa estrutura sabe-se a quantidade de vezes que pretendemos repetir a
. E temos uma variável para contar quantas vezes aquela operação esta
sendo repetida, no caso “Variável Contadora”. Então quando sabemos a quantidade de
que iremos repetir um determinado comando utilizamos a estrutura de repetição contadora
Você consegue realizar mais uma missão?
Você precisa delimitar uma área em forma de quadrado, com o comando repita
em forma de quadrado com as bordas brancas utilizando o pincel.
Mapa utilizado default.map
Resposta:
pintarBranco
repetir(4) {
andarFrente(2)
virarDireita
}
pararPintar
Flávio quer um algoritmo que escreve a frase “sou brasileiro” cinco vezes.
fará o controle de quantas
repetido, no caso, 5 vezes.
1 até repetir 5 vezes faça
ntadora chegar a cinco, termine o processo,
co vezes o nome "sou brasileiro".
se a quantidade de vezes que pretendemos repetir a
. E temos uma variável para contar quantas vezes aquela operação esta
sendo repetida, no caso “Variável Contadora”. Então quando sabemos a quantidade de vezes
estrutura de repetição contadora.
o comando repita(..){...},
com as bordas brancas utilizando o pincel.
Mapa utilizado default.map
Resposta:
pintarBranco
andarFrente(2)
_____________________________________________________
light-Bot
Jogo online no qual você pode
alcance o objetivo proposto e acenda a luz em sua cabeça. Para isso, é necessário um conjunto
de passos para que o robô chegue ao destino final e acenda sua luz.
Para controlar o robô atribua os mo
conceito de algoritmo dado que ele tem u
sequência detalhada de passos
5 Jogos e Softwares
_____________________________________________________
no qual você pode controlar um robô através de diversas ações para que ele
alcance o objetivo proposto e acenda a luz em sua cabeça. Para isso, é necessário um conjunto
de passos para que o robô chegue ao destino final e acenda sua luz.
Para controlar o robô atribua os movimentos que serão executados por ele.
conceito de algoritmo dado que ele tem uma tarefa a ser realizada
sequência detalhada de passos para tal.
Figura 71.
Softwares
_____________________________________________________
controlar um robô através de diversas ações para que ele
alcance o objetivo proposto e acenda a luz em sua cabeça. Para isso, é necessário um conjunto
vimentos que serão executados por ele. Use a lógica e o
tarefa a ser realizada e necessita de uma
Conhecendo o Jogo
Atenção! Existe uma quantidade limitada de ações que ele pode realizar.
Nível Editor para criar desafios para o robô.
Tutoriais para conhecer como funciona o jogo.
Ícone Apresentar Pontuação
Figura 72:Tela início jogo Light-bot.
Desafie sua mente descobrindo os passos que o robô necessita para chegar ao seu objetivo no Ícone Níveis de Usuário. É possível acessar os mais diversos níveis do jogo.
1. Principais funções
2.Utilizando Função nos desafios mais complexos
Aqui se coloca os comandos para o robô andar e chegar até ao quadrado azul e acender a luz.
Perceba que ele necessitou de três passos para acender a luz.
Como os comandos são limitados, a função é usada quando o robô executa comandos repetidos.
A função é colocada aqui, pois, têm disponíveis apenas 16 comandos e são muitos passos necessários para o robô alcançar todos os pontos apontados.
Figura 73: Exemplo atividade Nível Básico.
Figura 74: Exemplo atividade Nível Básico
Figura 75:Exemplo atividade Nível Básico
Você está preparado para criar seu jogo?
2. Nível Editor
Figura 76: Nível Editor
Ferramenta para adicionar os obstáculos ao caminho do robô.
Ferramenta para colocar o local de chegada do robô para acender.
Ferramenta para testar o
jogo construído.
Ferramenta para limpar os obstáculos.
Após salvar o jogo criado é possível carregar o mesmo por meio desta ferramenta.
Espaço para os comandos necessários à realização da tarefa.
Scratch
É uma linguagem de programação desenvolvida por LifelongKindergartenGroup no Media
Lab, MIT(com financiamento da National Science Foundation, Intel Foundation, Nokia e do
consórcio de pesquisa do MIT Media Lab). Este aplicativo possibilita a criação de estórias
interativas, jogos e animações bem como o compartilhamento das criações na Web. Tudo
pode ser feito a partir de comandos que devem ser agrupados de modo lógico.
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 programação, (B) uma área edição que
possibilita a criação do projeto, ou a programação de eventos (ou “scripts”), (C) uma área de
definição dos objetos (ou “sprites”) e cenários (ou “palcos”) que integram um dado projeto,
(D) uma área que lista miniaturas dos “sprites” utilizados no projeto, (E) uma área de
apresentação, que viabiliza a execução do projeto criado. Assim a criação de um projeto no
Scratch requer a escolha de comandos da linguagem de programação, a edição de um projeto
que envolve a programação utilizando elementos gráficos para compor o “palco” da estória, a
definição de scripts ou “rotinas de ações” a partir do uso de comandos, especificação de
parâmetros, sprites (objetos), trajes e sons.
Figura 77.
Nomesdoscampos da Tela Inicial
Vamos conhecer agora os nomes dos campos, abas, botões 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 utilização de alguns comandos desta linguagem de
programação.
Figura 78.
1) Categoria de comandos: Movimento, Aparência, Som, Caneta, Controle, Sensores,
Operadores, Variáveis;
2) Bloco de comandos: ao escolher uma categoria de comando temos várias opções de
comandos;
3) Botões de atalho: selecionar idioma, salvar este projeto e compartilhar este projeto;
4) Abas para opções comandos, trajes e sons;
5) Área de edição (depende da aba selecionada – item anterior (4));
6) Botões para editar o objeto no palco: Duplicar, Apagar, Crescer objeto e Encolher objeto.
7) Botão para alterar o tamanho de visualização do palco;
8) Botões para iniciar(bandeira verde) e parar o script(circulo vermelho);
9) Palco: local onde visualizamos o Sprite ;
10) Área que disponibiliza a seleção/criação 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 opção 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 Edição (campo 5). Clique e segure com o botão esquerdo
do mouse no comando . Arraste para o Campo (5) – Área de Edição.
Solte o botão direito. Você obterá a seguinte imagem:
Figura 79.
Para executar este comando clique duas vezes com o botão esquerdo domouse sob o botão
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 parâmetro utilizado no comando “mova” foi o número 10.
Experimente também outros comandos da categoria “movimento” que consideram as
coordenadas cartesianas para referenciar a posição e o deslocamento de objetos na tela.
Outros comandos da categoria “movimento” permitem GIRAR os objetos na tela a partir da
especificação de parâmetros que variam de 0 a 360 graus, sentido horário e anti-horário.
Experimente!
Figura 80.
Figura 81.
Descrição dos Blocos de Comandos do Scratch
Os blocos de comandos do Scratch estão dispostos em oito categorias (Movimento,
Aparência, Som, Caneta, Controle, Sensores, Operadores, Variáveis), cada uma com sua cor
específica.
Figura 82.
Figura 83.
Figura 84.
Figura 85.
Figura 86.
Figura 87.
Figura 88.
Figura 89.
Figura 90.
Figura 91.
Saiba Mais…
Em: http://portalsme.prefeitura.sp.gov.br/Projetos/ie/Documentos/scratch.pdf
Saiba Mais…
http://portalsme.prefeitura.sp.gov.br/Projetos/ie/Documentos/scratch.pdf
Figura 92.
Figura 93.
http://portalsme.prefeitura.sp.gov.br/Projetos/ie/Documentos/scratch.pdf
RoboMIND
RoboMIND é uma excelente ferramenta para a introdução à lógica de programação, ciência
da computação, pensamento computacional e robótica.
facilmente ajustadas para se relacionar com os desafios encontrados no cotidiano e na
indústria. Ele foidesenvolvido com a
O ambiente de programação oferece alguns fundamentos da lógica e da ciência da
computação que permitem simular e criar soluções para praticamente qualquer desafio
software, você controla um pequeno robô utilizando linhas de comando, baseadas em uma
linguagem de programação própria do software, bem simplificada
Figura 95.
é uma excelente ferramenta para a introdução à lógica de programação, ciência
da computação, pensamento computacional e robótica. Exercícios e mapas podem ser
facilmente ajustadas para se relacionar com os desafios encontrados no cotidiano e na
volvido com a ideia de ligar a teoria com aplicações.
O ambiente de programação oferece alguns fundamentos da lógica e da ciência da
computação que permitem simular e criar soluções para praticamente qualquer desafio
controla um pequeno robô utilizando linhas de comando, baseadas em uma
linguagem de programação própria do software, bem simplificada.
Olá! Sou o RoboMIND !
Estou pronto para executar todas as instruções que me forem solicitadas.
Então! Vamos aprender como me passar essas instruções?
Figura 94.
é uma excelente ferramenta para a introdução à lógica de programação, ciência
Exercícios e mapas podem ser
facilmente ajustadas para se relacionar com os desafios encontrados no cotidiano e na
de ligar a teoria com aplicações.
O ambiente de programação oferece alguns fundamentos da lógica e da ciência da
computação que permitem simular e criar soluções para praticamente qualquer desafio. No
controla um pequeno robô utilizando linhas de comando, baseadas em uma
!
Estou pronto para executar todas as instruções
aprender como me passar essas
Conhecendo o Ambiente
Menu de arquivos
Painel de escrita
Painel Correr
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.
Painel Correr
Depois de ter decidido qual instruções orobôdeve executar, é neste ícone que você deve clicar para o robô começar a andar. Também é possível ajustar a velocidade na qual o robô opera
Mensagem do painel
Em caso, do script “linha de código” não ser reconhecido pelo programa, você receberá erros de compilação aqui. É também o lugar onde o robô pode notificar determinados eventos.
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.
Figura 96.
Ícones de EDITAR (Desfazer, Refazer, Colar, Recortar, Copiar, Selecionar tudo).
Ícone (Localizar e substituir)
Os ícones DESFAZER e
REFAZER permite que o
usuário desfaça ou refaça
sua linha de código.
COLAR – Cola o texto no
código fonte;
RECORTAR – Recorta o
código fonte selecionado;
COPIAR – Copia o código
fonte selecionado;
SELECIONAR TUDO
Seleciona todo o código
fonte;
LOCALIZAR – Localiza um texto no código fonte;
SUBISTITUIR – Substitui um texto no código fonte;
Figura 97.
Figura 98.
Ícones de EXIBIR (Mostrar grade, Mostrar Radar, Acompanha Robô, Captura tela).
Ícones (Executar, Avançar, Pausar, Parar)
MOSTRAR GRADE – Mostra uma
grade para orientar a localização do
robô;
MOSTRAR RADAR – Mostra um
pequeno mapa do mundo;
ACOMPANHA ROBÔ – A câmera
acompanha o robô no mapa;
CAPTURA TELA– Cria uma cópia da
tela atual;
EXECUTAR - Executando script;
AVANÇAR – Executa o próximo comando;
PAUSAR – Interrompe a execução do script, possibilitando a continuação;
PARAR -Interrompe a execução do script, não possibilitando a continuação.
Figura 99.
Figura 100.
Ícone de Mapas
Alguns ambientes disponíveis no RoboMIND
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á vários ambientes diferentes, clique no
ambiente desejado, e o robô mudará o ambiente.
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.
.
Instruções Básicas
O robô pode executar um conjunto de instruções que lhe permite escrever um script e
programar para que ele possa realizar diferentes tarefas. As instruções básicas dos robôs são:
Mover
Pintar
andarFrente (n) – Andar n passos para frente
andarTrás (n) - Andar n passos para trás
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
pintarBranco - Pega o pincel e pinta o chão de branco
pintatPreto - Pegar o pincel e pintar o chão de preto
pararPintar - Para de pintar e esconde o pincel
Figura 109.
Pegar
Ver
E no programa, onde posso encontrar essas instruções, para movimentar o robô?
Pegar-Pega o objeto em frente do robô
Soltar-Solta o objeto em rente ao robô
Instruções Avançadas
Além dos comandos básicos do robô, você pode utilizar algumas instruções que permitem a
você programar um comportamento mais sofisticado para seu robô. Vejam, quais são as
instruções:
Clique no ícone
INSERIR, MOVER, e
escolha a instrução
que você deseja que
o robô execute!
Condições
Se ( ) { }
Se ( ) { } senão { }
Se ( ) { } senão se ( ) { }
Se ( ) { } senão se ( ) { }senão{ }
Figura 110.
.
Figura 111.
Laços
repetir (3) { }
repetir { }
repetirEnquanto ( ){ }
sair
Figura 112.
Referências
_____________________________________________________
ARAÚJO, E. C. Lógica de Programação. Cuiabá: EdUFMT, 2009. Blog do Redu. Disponível em: <http://ticseinformacao.blogspot.com.br/2011/04/rede-social-educacional.html>. Acesso em: 10 de Setembro de 2013. Estrutura de Controle. Disponível em: <http://cae.ucb.br/conteudo/programar/algoritmobsi/new_estruturadecontrolebsi.html>. Acesso em: 10 set. 2013. Estrutura de repetição. Disponível em: <http://www.slideshare.net/edvanmateo10/50978145-algoritmosexerciciosresolvidos>. Acesso em 10 set. 2013. Estrutura Sequencial. Disponível em: <http://pt.scribd.com/doc/50982387/18/Estrutura-Sequencial>. Acesso em: 10 set. 2013. FARRER, H. et al., Algoritmos Estruturados, Editora Guanabara, 1989. FORBELLONE, A. L. V., EBERSPÄCHER, H. F.; Lógica de Programação – A Construção de Algoritmos e Estrutura de Dados, Makron Books, 2000. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação: a construção de algoritmos e estruturas de dados. 3 ed. São Paulo: Pearson/Prentice, 2005. Light-Bot. Disponível em: <http://clickjogos.uol.com.br/Jogos-online/Puzzle/Light-Bot/>. Acesso em: 02 de Outubro de 2013. MALAGUTTI, P. L. A. Inteligência Artificial no Ensino: construção de computadores que se comportam como humanos. São Carlos: EdUFSCar, 2008. McCONNELL, S., Code Complete – A Pratical Handbook of Software Construction, Microsoft Press, 1993. MEDINA, M. Algoritmos e Programação: teoria e prática. São Paulo: Novatec Editora, 2006. O que é o RoboMIND FURB. Disponível 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. Introdução à Programação: do algoritmo às linguagens atuais. Rio de Janeiro: Ciência Moderna, 2008. Rede Social Educacional: Redu. Disponível em: <http://blog.redu.com.br/>. Acesso em: 10 de Setembro de 2013. RoboMIND. Disponível 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.
Referências 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-de-programacao.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-de-estresse/
Figura 18: http://pt.dreamstime.com/foto-de-stock-royalty-free-ingredientes-doces-para-o-bolo-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 Programação: teoria e prática. São Paulo: Novatec Editora, 2006. Figura 23: http://www.hypeness.com.br/2012/02/video-mostra-o-melhor-manual-de-celular-ja-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.jpg
Figura 30: MEDINA, M. Algoritmos e Programação: teoria e prática. São 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-desenhos-animados-de-uma-compra-da-mulher-image20089476
Figura 54: Mapa do RoboMinddefault.map
Figura 55: http://emjoaodedeus.blogspot.com.br/2012/02/alunos-aprovados-colegios-federais.html
Figura 56: http://pt.clipartlogo.com/premium/detail/lot-of-children-going-up-on-the_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%A9-11591820.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-felipe-15078.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