Baixe o app para aproveitar ainda mais
Prévia do material em texto
Bases Computacionais da Ciência (BC-0005) Lógica de Programação: Estruturas Sequenciais David Correa Martins Jr david.martins@ufabc.edu.br Centro de Matemática, Computação e Cognição (CMCC) Universidade Federal do ABC (UFABC) Introdução Programa é uma sequência de ordens (comandos, instruções) dadas a um computador que, a partir de dados inseridos, obtêm um resultado que será disponibilizado por algum dispositivo de saída Entrada de Dados Processamento dos comandos de um programa Saída de Dados 2+5 10 Introdução Uma instrução é a informação que indica a um computador uma ação elementar Para a construção de um programa é necessário um conjunto de instruções colocadas em ordem sequencial lógica: Algoritmo Algoritmo: Sequência lógica de passos executados até atingir um objetivo ou solução de um problema Exemplos de situações onde uma sequência lógica de passos é necessária: Fazer um bolo Construir um robô para explorar um local desconhecido Trocar uma lâmpada Objetivos Objetivo da aula: Como atribuir instruções a um computador, de maneira que ele possa nos auxiliar a resolver problemas Para isto precisamos de dois ingredientes: Linguagem Lógica Utilização do RoboMind O conceito de Instrução As instruções diferem de acordo com as funcionalidades que o equipamento é capaz de oferecer: Uma única função: a de ser tocada Operações aritméticas de SOMA, SUBTRAÇÃO, MULTIPLICAÇÃO e DIVISÃO Avançar/Retroceder o canal, aumentar/diminuir o volume e liga/desliga Campainha Calculadora Simples Aparelho de Televisão Linguagens de programação Python Linguagens de programação RoboMind RoboMind Integrated Development Environment (IDE) que oferece uma linguagem de programação simples: Movimentação de um robô em um mundo bidimensional (2D) Familiarizar os alunos com a Lógica de Programação criando os seus próprios robôs http://www.robomind.net RoboMind O objetivo do RoboMind é criar um programa para que o robô virtual execute alguma tarefa. O robô tem algumas instruções básicas como: Observar o ambiente Mover-se Pegar um objeto Marcar o chão beacons = balizas RoboMind Sequência de Instruções Sequência de Instruções Coordenadas relativas: Coordenadas absolutas: andarFrente(1) virarEsquerda() andarFrente(1) virarEsquerda() andarFrente(1) virarEsquerda() andarFrente(1) virarEsquerda() andarNorte(1) andarOeste(1) andarSul(1) andarLeste(1) (*) Precisa de um ponto de referência Sequência de Instruções Lista de instruções básicas Atividade em Aula Exercício 1 Crie um mapa 11 X 7 através de um editor de texto (ex: bloco de notas) Exercício 1 Salve o arquivo com extensão .map dentro da pasta maps do Robomind e carregue o arquivo (Arquivo->Abrir mapa) Exercício 1 Se tudo correr bem, o mapa abaixo será exibido Exercício 1 No mapa do slide anterior, dê a sequência de comandos para que o robô passe pelos pontos abaixo na ordem P0, P1, P2, P3 pintando de preto todo o trajeto Exercício 1 No mapa do slide anterior, dê a sequência de comandos para que o robô passe pelos pontos abaixo na ordem P0, P1, P2, P3 pintando de preto todo o trajeto pintarPreto() virarDireita() andarFrente(3) virarDireita() andarFrente(2) virarEsquerda() andarFrente(2) virarEsquerda() andarFrente(4) virarEsquerda() andarFrente(3) Exercício 2 Crie um programa para pintar um triangulo no mapa (default.map) Exercício 2 Crie um programa para pintar um triangulo no mapa (default.map) pintarBranco andarFrente(1) virarDireita andarFrente(1) virarEsquerda andarFrente(1) virarDireita andarFrente(1) virarEsquerda andarFrente(1) virarDireita andarFrente(1) virarDireita andarFrente(3) virarDireita andarFrente(3) virarDireita Exercício 3 Crie um programa para pintar de preto o objeto marcado abaixo. Após pintar, o robô deve voltar a posição inicial (default.map) Exercício 3 Crie um programa para pintar de preto o objeto marcado abaixo. Após pintar, o robô deve voltar a posição inicial (default.map) andarFrente(3) pintarPreto virarDireita andarFrente(1) virarEsquerda andarFrente(4) virarEsquerda andarFrente(1) virarDireita andarFrente(1) virarEsquerda andarFrente(4) virarEsquerda andarFrente(4) virarEsquerda andarFrente(1) virarDireita andarFrente(1) virarEsquerda andarFrente(3) pararPintar virarDireita andarFrente(3) Exercício 4 Crie um programa para pegar a baliza mais próxima e soltá-la no ponto de inicio (default.map) Exercício 4 Crie um programa para pegar a baliza mais próxima e soltá-la no ponto de inicio (default.map) virarDireita() andarFrente(3) virarDireita() andarFrente(1) pegar() virarDireita() andarFrente(3) virarDireita() soltar() Exercício 5 Crie um programa para pegar a baliza mais distante e deixá-la ao lado da outra baliza Exercício 5 Crie um programa para pegar a baliza mais distante e deixá-la ao lado da outra baliza virarDireita() andarFrente(3) virarEsquerda() andarFrente(6) virarDireita() andarFrente(10) virarEsquerda() andarFrente(2) pegar() andarTrás(1) virarEsquerda() andarFrente(10) virarEsquerda() andarFrente(7) soltar() Exercício 04 Exercício 6 Faça o robô pintar uma linha preta sobre a branca (default.map) Exercício 6 Faça o robô pintar uma linha preta sobre a branca (default.map) virarDireita() andarFrente(8) pintarPreto() andarFrente(1) virarEsquerda() andarFrente(1) virarDireita() andarFrente(2) virarEsquerda() andarFrente(6) virarEsquerda() andarFrente(8) virarDireita() andarFrente(2) Exercício 7 Abrir o mapa maze1.map Crie um programa para que o robô se movimente no labirinto e recolha a baliza. Atividades para Casa Exercícios Propostos (1) Escreva um programa para o robô escrever no chão a palavra UFABC, sendo a primeira letra em cor branca, a segunda letra em cor preta e assim intercaladamente. (2) Carregue o mapa hugemap.map e escreva um programa para que o robô desenhe um “alvo”, isto é, pinte “círculos” (aqui na verdade quadrados) concêntricos em preto e branco alternadamente. Faça de tal modo que a “mosca” (centro) seja um ponto preto e que haja seis quadrados à sua volta. Atividades para casa ● Capítulo 6 do livro – Slides da aula 5 (referentes ao capítulo 6 do livro) ● Tidia, seção Repositório – Estudar e fazer os exercícios ● Capítulo 7 do livro – Slides da aula 6 (referentes ao capítulo 7 do livro) ● Tidia, seção Repositório – Estudar e fazer os exercícios Slide 1 Introdução Introdução Objetivos Delegando Tarefas – O Conceito de Instrução Slide 6 Slide 7 Slide 8 RoboMind Seqüência de Instruções Seqüência de Instruções Slide 12 Seqüência de Instruções Seqüência de Instruções Slide 15 Slide 16 Sequência de Instruções Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Atividades em Aula – Exercícios Propostos Slide 36
Compartilhar