Logo - Guia Rápido

Logo - Introdução

Logo é uma linguagem de programação muito simples e fácil de aprender. É usado para ensinar alunos e crianças a programar um computador.

Por que devemos aprender a linguagem Logo?

  • Porque é divertido, muito divertido.
  • Melhora o senso lógico das crianças.
  • Desenvolve habilidades de programação.
  • É uma verdadeira ciência da computação.

Logo é uma linguagem de programação muito fácil e interessante para aprender. Tem profundidade suficiente para praticamente fazer qualquer coisa, o que pode ser feito em qualquer outra linguagem de programação de computador.

Como baixar e instalar o MSW Logo Software?

Se o Software de programação de logotipo não estiver instalado no computador, podemos obtê-lo gratuitamente no seguinte link -

www.softronix.com/mswlogo.html

Após a instalação, ele coloca um ícone de logotipo na área de trabalho do seu computador.

Logo Icon

A tela Logo MSW possui duas partes -

  • Uma janela de desenho acima com uma TARTARUGA em forma de triângulo no centro.
  • Uma janela do Commander, conforme mostrado na captura de tela a seguir.
Tela do logotipo MSW

Escreveremos comandos na linha de comando, ou seja, na caixa de texto na parte inferior da janela do comandante. Para executar ou executar esses comandos, pressione Enter ou clique no botão Executar. Também podemos escrever e executar mais de um comando online de cada vez.

O histórico do comando aparecerá na caixa cinza. Clique em uma linha no histórico para fazê-la ir para a respectiva linha de comando, para que possamos fazer alterações (se necessário). Feito isso, pressione Enter ou clique no botão Executar.

Logo - Turtle

Os simples comandos de desenho de logotipo movem a tartaruga para frente e para trás e também a giram para a direita ou para a esquerda. Os comandos e suas abreviações são dados abaixo -

  • fd - encaminhar
  • bk - para trás
  • rt - direita
  • lt - esquerda
  • cs - tela clara

Qualquer versão desses comandos pode ser usada. Exceto o comando cs, cada um desses comandos deve ser seguido por um valor chamado como argumento. Os argumentos para fd e bk são unidades; os de rt e lt são ângulos que podem ser qualquer número inteiro. Uma rotação em 360 é uma rotação completa; portanto, uma rotação em 375 graus é igual a 1/15 graus.

  • encaminhar 60 ou fd 60 significa avançar 60 etapas

  • direita 90 ou rt 90 significa virar à direita 90 graus

  • esquerda 90 ou lt 90 significa virar à esquerda 90 graus

  • voltar 60 ou bk 60 significa voltar 60 passos

  • clearscreen ou cs significa apagar todos os desenhos. Isso define a tartaruga no centro

A janela de desenho possui um sistema de coordenadas. Os valores das duas coordenadas (normalmente chamados xey) no centro são 0, 0. No canto nordeste, eles são 250, 250; no canto sudeste, são 250, -250. No canto sudoeste, eles são -250, -250; etc. Se a tartaruga tentar andar para um lado da tela, ela se enrola. O lado direito envolve o lado esquerdo e o topo envolve o fundo.

Muitos sistemas de programação trabalham no mesmo tipo de plano de coordenadas 'xy' de dois eixos, com o qual trabalhamos também na álgebra.

Tartaruga

Aqui, '0 0' é o centro ou a origem (sem vírgula ou parênteses aqui!). Em seu estado centralizado, zoom- "normal", a tela de desenho do Logo mostra uma área de cerca de 150 pontos para cima ou para baixo e 300 pontos para a direita ou esquerda do centro.

A tartaruga pode ser direcionada com títulos que correspondem a uma rosa dos ventos, com 0 ou 360 graus apontando para cima, 90 graus para a direita e assim por diante. Você pode definir uma variável para um número entre 0 e 360 e seguir esse caminho.

Comandos da tartaruga

Agora vamos tentar alguns comandos. Os comandos serão emitidos um por linha, seguido de um retorno de carro. Vários desses comandos podem ser digitados sucessivamente em uma janela de comando seguida por um retorno de carro. O efeito sobre a tartaruga é o mesmo. No entanto, se você digitar um comando, que exija uma ou mais entradas e forneça as entradas ausentes na próxima linha, o Logo mostrará um erro.

A seguir, é apresentado um comando de prática, que mostra os resultados desejados à direita.

Comandos da tartaruga

Os comandos - fd 50 rt 120 fd 50 rt 120 fd 50 rt 120 , fazem com que a tartaruga desenhe um triângulo, como você pode ver experimentando-os.

Esses comandos são lidos da esquerda para a direita. Como o comando fd requer um argumento, ele é considerado o próximo valor. Da mesma forma, rt também aceita um argumento. Portanto, o Logo pode dar um significado inequívoco a cada uma dessas cadeias de caracteres. Para alguns comandos do logotipo, são necessários separadores.

A seguir, são apresentados alguns comandos de prática com os resultados desejados à direita.

Prática 2

Prática 2

Prática 2

Prática 2

A seguir, é apresentado um exercício para verificar sua aptidão com o que você aprendeu até agora neste capítulo.

Exercício

Logo - Controlando a tartaruga e a caneta

O logotipo possui vários outros comandos de desenho, alguns dos quais são apresentados abaixo.

  • pu - penup

  • pd - pendown

  • ht - hideturtle

  • dt - showturtle

  • compensar

Os comandos pendown e penup dizem à tartaruga para deixar tinta na tela enquanto se move ou não para deixar tinta, respectivamente. Os comandos hideturtle e showturtle ocultam ou mostram a tartaruga, mas não afetam sua capacidade de deixar tinta à medida que ela se move. O comando home faz com que a tartaruga retorne ao centro da tela. Pode deixar a tinta para trás, quando a tartaruga retornar ao centro da tela. O comando setpensize decide o tamanho da caneta de desenho.

  • penup ou pu significa pegar a caneta, para que você possa mover a tartaruga sem deixar rastros.

  • pendown ou pd significa pegar a caneta para baixo, para que você possa mover a tartaruga e deixar rastros.
  • hideturtle ou ht significa esconder a tartaruga, para que você possa admirar seu desenho.

  • showturtle ou st significa mostrar a tartaruga, para que você possa continuar seu desenho.

  • setpensize significa que pode tornar a caneta maior e mais fácil de ver. O tamanho padrão da caneta é - [1 1].

A seguir, são apresentados alguns comandos de prática com os resultados desejados à direita.

Comando de Prática 1

Comando de Prática 2

Comando de Prática 3

Logo - Turtle World

O logotipo possui vários outros comandos de desenho adicionais, alguns deles são apresentados abaixo.

  • casa
  • texto não criptografado ou ct
  • rótulo
  • setxy

O comando label usa uma única palavra como uma string entre aspas (por exemplo, “a_string”) ou como uma lista de palavras entre colchetes [] sem aspas (por exemplo, [uma sequência de letras]) e as imprime na janela de desenho no local da tartaruga . Vamos considerar o seguinte código.

Comandante

O comando setxy usa dois argumentos, trata o primeiro como o valor da abscissa (eixo horizontal) e o segundo como um valor da ordenada (eixo vertical). Ele coloca a tartaruga nessas coordenadas, possivelmente deixando tinta ao alcançá-las. Nas três figuras a seguir, mostramos como o comando setxy pode ser usado.

Figura 1

Figura 2

Figura 3

O comando cleartext, abreviado ct , limpa a região de texto da janela de comando.

Comando de texto não criptografado

Exercício

A seguir, é apresentado um exercício para verificar sua aptidão com o que você aprendeu até agora neste capítulo.

Que tipo de figura produz a seguinte sequência de comandos?

cs pu setxy -60 60 pd home rt 45 fd 85 lt 135 fd 120

Interprete esses comandos enquanto os lê da esquerda para a direita. Tente descobrir o resultado.

A seguir, é apresentado um resumo da tabela de comandos.

Nome do comando Objetivo
setx 100

Define a coordenada x da tartaruga para +100

Move 100 pontos para a direita do centro

Nenhuma alteração vertical

setx -200

Move a tartaruga 200 pontos para a esquerda do centro

Nenhuma alteração vertical

sety 150

Define a coordenada y da tartaruga como 150

Move 150 pontos acima do centro

Nenhuma mudança horizontal

sety - 50

Move a tartaruga 50 pontos abaixo do centro

Nenhuma mudança horizontal

setxy 100 100

Move a tartaruga para a coordenada xy 100 100

mostre xcor

mostre ycor

Informa a coordenada x da tartaruga

Informa a coordenada y da tartaruga

setheading 0

seth 0

Aponta a tartaruga para cima, "meio dia"

seth 120

Move a tartaruga 120 graus para apontar para a posição de quatro horas

A captura de tela a seguir é uma demonstração prática de alguns dos comandos acima.

Demonstração prática

Logo - Variáveis

Uma variável é o nome de um local de memória que pode conter um valor. Em um computador, cada local de memória possui um endereço inteiro. Como seria difícil lembrar o endereço de cada local que contém um valor usado por um programa, os cientistas da computação descobriram maneiras de atribuir nomes simbólicos a esses locais. Uma vez que uma variável tenha um nome, podemos usá-la e manipulá-la.

As variáveis recebem nomes que são cadeias de letras. Um nome de variável pode conter alfabetos (sem distinção entre maiúsculas e minúsculas), dígitos e sublinhado. Um nome de variável pode ser acessado em um cálculo usando ':' antes dele. Vamos considerar o seguinte exemplo na captura de tela.

Variáveis

No exemplo acima, definimos duas variáveis first_name, 100_last_name_200 e as inicializamos com os valores Amal e Das usando as seguintes instruções -

  • faça "first_name" Amal
  • faça "100_last_name_200" Das

Além disso, imprimimos essas duas variáveis com as instruções print: first_name e print: 100_last_name_200.

O exemplo a seguir mostra como definir variáveis numéricas -

Variáveis numéricas

Aqui, definimos duas variáveis numéricas val1 e val2 . Também realizamos adição e subtração usando-os.

Logo - Operações Aritméticas

O logotipo fornece as operações aritméticas usuais de adição, subtração, multiplicação e divisão, denotadas pelos símbolos +, -, *, /. Cada uma dessas operações produz um resultado. Se você não fizer algo com o resultado, como imprimi-lo, o Logo mostrará um erro.

Com o comando print, o resultado de uma operação aritmética pode ser usado e impresso na janela de comando. Os exemplos fornecidos na captura de tela a seguir demonstram o mesmo.

Operadores aritméticos

Outros comandos úteis são -

  • sqrt - pega um argumento não negativo e retorna sua raiz quadrada.

  • potência - são necessários dois argumentos, os chamam de 'a' e 'b' e gera a à potência b.

  • ln - É necessário um argumento e retorna seu logaritmo natural.

  • exp - É necessário um argumento e calcula e para esse poder, e é o número natural 2,718281828.

  • log10 - Leva o logaritmo para basear 10 de seu único argumento.

A captura de tela a seguir mostra um exemplo dos comandos acima com suas respectivas saídas.

Comandos úteis

Os operadores aritméticos têm uma precedência que determina a ordem com que são avaliados.

Nota - imprima 60 * sqrt 2 e imprima sqrt 2 * 60 produzem respostas diferentes. Aqui, o operador * tem precedência sobre o operador sqrt. Assim, * será feito antes do sqrt, se houver uma opção, como no segundo caso.

Por esse motivo, a primeira instrução imprime o valor de 60 vezes a raiz quadrada de 2, enquanto a segunda instrução imprime a raiz quadrada de 120, conforme mostrado na captura de tela a seguir.

A instrução imprime o valor

Logo - Repetição

Muitas vezes repetimos uma sequência de comandos. Programas de computador geralmente executam tarefas repetitivas. Quase todos os sistemas de programação têm uma maneira de realizar essa repetição ou iteração, como os cientistas da computação chamam. Vamos considerar o seguinte exemplo -

Vamos supor que queremos desenhar um quadrado com lados de comprimento 100, podemos fazer isso com o seguinte programa -

fd 100
rt 90
fd 100
rt 90
fd 100
rt 90
fd 100
rt 90

Observamos que os dois comandos - fd 100 e rt 90 são repetidos quatro vezes. Não será mais fácil dizer ao computador que ele deve apenas repetir esses dois comandos quatro vezes em vez de escrevê-los quatro vezes seguidas? Podemos fazer exatamente isso, usando o seguinte comando -

Prática de Repetição 1

Isso economiza nosso tempo de digitação para formar um quadrado. A forma geral é: repita o número [comandos] . Devemos usar a palavra-chave - repeat, seguida por um número e, em seguida, uma sequência de comandos entre [colchetes].

Muitas vezes, talvez tenhamos que repetir repetidamente. Isso é chamado de aninhamento . Vejamos alguns exemplos disso.

Prática de Repetição 2

Prática de Repetição 3

A seguir, é apresentado um exercício para verificar sua aptidão com o que você aprendeu até agora neste capítulo.

Exercício de Repetição

Logo - Randomização

Às vezes, é divertido ter um resultado imprevisível de uma computação. O logotipo fornece um procedimento aleatório para gerar um número aleatório. Ele tem um argumento e produz um valor inteiro escolhido uniformemente aleatoriamente, que é maior ou igual a 0 e menor que o valor de seu argumento. Portanto, se você deseja um ângulo aleatório entre 0 e 359 graus, pode usar o comando random 360 para produzi-lo. Lembre-se de que o Logo irá mostrar um erro, a menos que você faça algo com o resultado, como imprimir.

Vejamos o exemplo a seguir -

Exemplo de randomização

Emitimos o comando - imprima o aleatório 360 várias vezes na janela de comando acima e, se você perceber, sempre que gerar uma saída aleatória.

A seguir, são apresentados alguns comandos de prática com os resultados desejados à direita.

Prática de Randomização1

Prática de Randomização2

Logo - Procedimentos

Os procedimentos fornecem uma maneira de encapsular uma coleção de comandos. Depois que um procedimento é criado, ele pode ser usado da mesma maneira que um comando interno é usado. O "significado" de um procedimento é o significado de seus comandos individuais.

Um procedimento sem argumentos tem a palavra 'to' (uma palavra reservada) e o nome do procedimento na primeira linha. (As palavras reservadas no Logo não podem ser usadas como variáveis e têm um significado e uso bem definidos.) Possui a palavra reservada 'end' na última linha.

Um subprograma é uma sequência de etapas nomeada para outro programa executar. Outros nomes para subprogramas são procedimentos e funções. No Logo, você diz ao computador como fazer algo - por exemplo -

to square
repeat 4 [fd 100 rt 90]
end

Depois de descrevermos nosso procedimento para o Logo, podemos inserir seu nome na linha de comando, assim como faríamos com qualquer uma das coisas internas. Nesse caso, digitaríamos 'quadrado' na linha de comando e o Logo pesquisará os comandos para formar um quadrado.

Clique no botão que diz Edall (para editar tudo) para abrir o editor embutido do Logo. (Se o seu logotipo não tiver um botão Edall, digite 'edall' na linha de comando). O seguinte bloco de código possui a estrutura necessária do subprograma.

to procedurename
steps of your procedure here
end

O procedimento ou subprograma deve começar com a palavra 'to', seguida de um nome em que pensamos. O próximo passo é digitar todos os mesmos passos que escreveríamos na linha de comando. O procedimento deve terminar com a palavra 'final'. Todas as linhas de comentário ou observação devem ser precedidas por ponto e vírgula (;).

A seguir está a demonstração prática do exemplo acima -

Demonstração prática

Agora, na linha de comando, execute o procedimento usando o nome "square", como mostrado abaixo -

Quadrado

Os procedimentos não podem conter apenas comandos internos, mas também podem conter outros procedimentos.

No exemplo a seguir, um procedimento 'flower' está chamando nosso procedimento predefinido 'square' de seu corpo.

Procedimento Predefinido

A captura de tela a seguir mostra a saída quando o procedimento "flor" é chamado -

Flor

Não queremos que cada quadrado tenha o mesmo tamanho - queremos variedade. No Logo, criamos variáveis cujos valores podemos alterar. Usaremos o mesmo procedimento quadrado com uma pequena alteração no exemplo a seguir.

to square :n
repeat 4 [fd :n rt 90]
end

Atribuímos ao Logo um valor de substituição para ': n' na linha de comando, como mostrado abaixo.

square 50
square 75
square 100

Aqui está a demonstração prática do exemplo acima -

Linha de comando

Agora vamos discutir como passar dois argumentos para um procedimento. A captura de tela a seguir é uma demonstração prática do mesmo.

Passe dois argumentos

Logo - Procedimentos Recursivos

Em um procedimento recursivo, haverá uma chamada de recorrência do procedimento dentro do procedimento. Vamos considerar o seguinte código -

to spiral_recur :n
   if :n < 1 [stop]
   fd :n
   rt 20
   spiral_recur 0.95 * :n
end

O procedimento spiral_recur foi chamado do próprio corpo do procedimento. A captura de tela a seguir mostra a execução e a saída do código.

Procedimentos Recursivos

Logo - Tomada de Decisão

A tomada de decisão e as variáveis andam juntas. Um programa precisa poder mudar de rumo, dependendo da situação. Aqui, por exemplo, há uma estrutura para desenhar uma espiral. Tem um loop, uma variação na repetição mostrada anteriormente e o corpo do loop é para preenchermos.

to spiral
   make "n 1
   while [:n < 100] [
      make "n :n + 5
      fd :n rt 90
   ]
end

O código acima mostra vários novos recursos da sintaxe do logotipo MSW. Definimos uma variável para um novo valor digitando 'make'; o nome da variável é precedido por aspas duplas "em vez de dois pontos ':', como mostrado abaixo.

make "n 1

No entanto, usamos uma variável com dois pontos ':' na frente do nome.

while [:n < 100]

O código entre colchetes após a execução de 'while [condition]', enquanto a condição for verdadeira. Quando não é mais verdade, porque (nesse caso) o valor de ': n' cresce maior que 100, o código após o colchete é executado.

A captura de tela a seguir mostra a execução e a saída do código acima.

Tomando uma decisão

Agora, discutiremos o uso de 'instruções', que possuem um código que será executado apenas quando uma determinada condição for verdadeira.

Ele também mostra um logotipo interno que gera números aleatórios. A instrução aleatória 3 gera qualquer número 0 ou 1 ou 2 arbitrariamente em uma sequência aleatória. O procedimento então decide qual caminho seguir "aleatoriamente". O número aleatório gerado será mantido em 'r' e, posteriormente, dependendo do valor da variável 'r', uma das instruções if será executada, o que satisfará a condição. Assim, se o -

  • O valor de 'r' é 0, então [fd 20] será executado.
  • O valor de 'r' é 1, então [rt 90 fd 20] será executado.
  • O valor de 'r' é 2, então [lt 90 fd 20] será executado.

A captura de tela a seguir mostra a execução e a saída da discussão acima.

Sequência aleatória

Logo - Strings

Qualquer sequência de caracteres alfanuméricos, por exemplo - "america", "emp1234" etc. são exemplos de uma sequência. Contar os caracteres é o mais básico de todos os processos de cadeia. A resposta para a pergunta stringlength "abc12ef é dada pelo seguinte procedimento -

to stringlength :s
   make "inputstring :s
   make "count 0
   while [not emptyp :s] [
      make "count :count + 1
      print first :s
      make "s butfirst :s
   ]
   print (sentence :inputstring "has :count "letters)
end

No procedimento acima, 'é' a variável que contém a sequência de entrada. A sequência de entrada variável contém a cópia da sequência de entrada. A contagem variável é inicializada com 0. No loop while, a condição verifica se a sequência ficou vazia ou não. Em cada contagem de loop, uma variável está sendo aumentada em 1 para manter a contagem de comprimento. A instrução imprime primeiro: s , imprime apenas o primeiro caractere da string armazenada em 's'.

A instrução make "s butfirst: s , recupera a sub-string excluindo o primeiro caractere. Após sair do loop while, imprimimos a contagem de caracteres ou o comprimento da string de entrada. A seguir, é apresentada a execução e a saída do código .

Cordas

Logo - Color

As telas de computador funcionam com componentes vermelhos, verdes e azuis da luz, por isso são chamadas de telas RGB .

No menu Definir do logotipo, podemos definir a cor de três elementos da tela -

  • A caneta da tartaruga
  • O preenchimento da tartaruga (como um balde de tinta para compartimentos)
  • O plano de fundo da tela
Cor da caneta

Definimos uma cor movendo esses três controles deslizantes para a esquerda e para a direita. Lembre-se de que preto é a ausência de todas as cores e branco é todas as cores juntas. Misturar luz não é como misturar tinta. Como exemplo, se você misturar tinta vermelha e verde, obtém uma cor lamacenta. Como este é um computador, todas as cores têm uma representação numérica interna.

No lado esquerdo da escala móvel é zero (0). No lado direito está o 255, que é como 99 para um computador (são 2 8 - 1). Assim, preto é [0 0 0], vermelho é [255 0 0], verde é [0 255 0], azul é [0 0 255]. Você pode fazer qualquer coisa entre essas cores e, em todas elas, existem 256 * 256 * 256 cores possíveis. São 2 8 * 2 8 * 2 8 , ou 24 bits de cor - 24 dígitos binários dentro da máquina.

Os seguintes comandos fornecerão uma caneta grande e vermelha -

setpensize [5 5]
setpencolor [255 0 0]

Quando encontrar uma cor que você gosta de usar os controles deslizantes, você pode perguntar ao Logo o que é: escolha a cor da caneta e, na janela de comando, digite o seguinte comando.

show pencolor

A captura de tela a seguir mostra a execução e a saída do código acima.

Seleção de cores da caneta

Você pode fazer um quadrado colorido usando as seguintes etapas -

Etapa 1 - desenhe o quadrado com comprimento lateral 40 usando o seguinte comando.

repeat 4 [fd 40 rt 90]

Etapa 2 - Coloque a caneta usando o seguinte comando.

pu

Etapa 3 - Vá para um ponto dentro do quadrado. Por exemplo, coloque a tartaruga na coordenada (20, 20) usando o seguinte comando.

setxy 20 20

Etapa 4 - Preencha o quadrado com a cor da inundação definida. Por exemplo, para definir a cor da inundação como azul, use o seguinte comando.

setfloodcolor [0 0 255]

A tabela a seguir lista mais alguns comandos relacionados a cores e caneta.

Comando Cor e Caneta Objetivo do comando

setpencolor [rgb]

setpc [rgb]

Define a cor da caneta da tartaruga

rgb são números no intervalo [0, 255]

setfloodcolor [rgb]

setfc [rgb]

Define a cor para uma área endossada

setscreencolor [rgb]

setsc [rgb]

Define a cor do plano de fundo

show pencolor

mostre a cor da inundação

show screencolor

Especifica os valores atuais para [rgb] de um item nomeado

Preencher

Despeja um balde de cor de inundação atual na localização do cursor

Preencher

Despeja um balde de cor de inundação atual na localização do cursor

Tente executar o seguinte conjunto de comandos -

  • cs - Para limpar a tela.

  • casa - Para trazer a tartaruga para o local de origem.

  • setpensize [5 5] - Configurando o tamanho da caneta.

  • setpencolor [255 0 0] - Configurando a cor da caneta para vermelho.

  • setfloodcolor [0 0 255] - Configurando a cor da inundação para azul.

  • setscreencolor [0 255 0] - Configurando a cor da tela para verde.

  • repita 4 [fd 40 rt 90] - Desenhe um quadrado com o comprimento lateral 40.

  • pu - Caneta para cima.

  • setxy 20 20 - Coloque a tartaruga na coordenada (20, 20).

  • Preencher - Preencha o quadrado com o conjunto floodcolor blue.

  • ht - Esconder tartaruga.

Você deve receber a seguinte saída na execução dos comandos acima.

Conjunto de comandos