• Nenhum resultado encontrado

tutorialLogoCompleto(5)

N/A
N/A
Protected

Academic year: 2021

Share "tutorialLogoCompleto(5)"

Copied!
215
0
0

Texto

(1)

Construtores

01

Palavra 02

Sintaxe: palavra palavra1 palavra2 pal palavra1 palavra2

Descrição: retorna uma palavra composta pela concatenação de palavra1 e

palavra2.

Obs.: se houver mais de dois parâmetros de entrada, deve-se usar parênteses.

Exemplo: >esc pal “LO “GO LOGO

>esc (pal “a “pren “der) aprender

>

Lista 03

Sintaxe : lista objeto1 objeto2

(lista objeto1 objeto2...objeton)

Descrição : retorna uma lista constituída por objeto1 e objeto2.

Obs.: se houver mais de dois parâmetros de entrada deve-se usar parênteses.

Exemplo : >mostre lista “a “b [a b]

>col [a b] “letras

>col lista :letras “c “letras >mostre :letras

[[a b] c]

>mostre (lista “l “o “g “o) [l o g o]

>mostre lista [1 2 3] [a b c] [[1 2 3][a b c]]

(2)

Sentença 04

Sintaxe : sentença objeto1 objeto2 sn objeto1 objeto2

Descrição : retorna uma lista formada pela concatenação de objeto1 e objeto2. Obs.: se houver mais de dois parâmetros de entrada deve-se usar parênteses.

Exemplo : >mostre sn “cachorro “quente [cachorro quente]

>coloque (sn [criar] “com “LOGO) “frase >esc :frase

criar com LOGO >

Juntenoinício 05

Sintaxe : juntenoinício objeto lista ji objeto lista

Descrição : retorna a lista do parâmetro de entrada acrescida do objeto no seu início. Exemplo : >esc ji “l [o g o] l o g o >mostre ji “1 [2 3 4] [1 2 3 4] > Juntenofim 06

Sintaxe : juntenofim objeto lista jf objeto lista

Descrição : retorna a lista do parâmetro de entrada acrescida do objeto no seu final.

Exemplo: >coloque jf “u [a e i o] “vogais >esc :vogais

a e i o u

>mostre jf “5[1 2 3 4] [1 2 3 4 5]

(3)

Vetor 07

Sintaxe : vetor número

(vetor número1 número2)

Descrição: retorna um vetor de n elementos. O primeiro parâmetro é um número inteiro e positivo que corresponde ao tamanho do vetor. Uma vez definido um vetor, seus elementos são listas vazias até que sejam substituídos por outros elementos através do comando atribuaelvetor. O segundo parâmetro é um número inteiro que corresponde ao valor de origem do vetor. A partir deste valor serão indexadas todas as demais posições do vetor. O primeiro elemento do vetor é o elemento1, a menos que a origem seja dada na entrada (segundo parâmetro); neste caso, o primeiro elemento do vetor terá este número como índice (geralmente 0 é usado como origem).

Exemplo: >atribua “meuvetor (vetor 3 0) >mostre :meuvetor {[] [] []} >atribuaelvetor 2 :meuvetor 1 >atribuaelvetor 1 :meuvetor 2 >atribuaelvetor 0 :meuvetor 3 >mostre :meuvetor {3 2 1}

Uma outra forma de inicializar o vetor do Exemplo acima (utilizando o símbolo @) é: >atr “meuvetor {3 2 1}@0 >mostre :meuvetor {3 2 1} > Matriz 08

Sintaxe: matriz lista

(matriz lista número)

Descrição: Retorna uma matriz (vetor multi-dimensional). O primeiro parâmetro é uma lista formada de um ou mais números inteiros positivos que definem o tamanho desta matriz. Para uma matriz bidimensional, o primeiro elemento da lista refere-se ao número de linhas e o segundo elemento refere-se ao número de colunas. O segundo parâmetro é um número inteiro que corresponde ao valor de origem da matriz. A partir deste valor serão indexadas todas as demais posições da matriz. Caso osegundo parâmetro seja omitido, o primeiro elemento da matriz bidimensional será o elemento [1 1].

(4)

Exemplo: >atribua “jogo (matriz [2 3]0) >atribuaelmatriz [0 0] :jogo 1 >atribuaelmatriz [0 1] :jogo 2 >atribuaelmatriz [0 2] :jogo 3 >atribuaelmatriz [1 0] :jogo 4 >atribuaelmatriz [1 1] :jogo 5 >atribuaelmatriz [1 2] :jogo 6 >mostre :jogo {{1 2 3}{4 5 6}}

Outra forma de se definir uma matriz atribuindo valor: >atribua “jogo {{o x x}{x o x}{x o o}}@0 >mostre :jogo

{{o x x}{x o x}{x o o}} >

Listaparavetor 09

Sintaxe: listaparavetor lista lpv lista

(listaparavetor lista número)

(lpv lista número)

Descrição: Retorna um vetor de mesmo tamanho e com os mesmos elementos da

lista dada como parâmetro de entrada. O segundo parâmetro é um número inteiro que corresponde ao valor de origem do vetor a partir do

qual todas as demais posições serão indexadas. Caso o segundo parâmetro seja omitido, o primeiro elemento do vetor será o elemento 1.

Exemplo: >mostre listaparavetor [1 2 3] {1 2 3}

>

Vetorparalista 10

Sintaxe: vetorparalista vetor

vpl vetor

Descrição: retorna uma lista formada pelos mesmos elementos do vetor dado como parâmetro de entrada.

Exemplo: >mostre vetorparalista {1 2 3} [1 2 3]

>mostre vetorparalista {azul amarelo verde} [azul amarelo verde]

(5)

combine 11

Sintaxe: combine objeto1 objeto2

Descrição: Se o segundo parâmetro for uma palavra, retorna o mesmo resultado da operação palavra. Se o segundo parâmetro for uma lista, retorna o mesmo resultado da operação juntenoinicio.

Exemplo: >esc combine “a “b ab

>mostre combine “a [b] [a b]

>esc combine “12 “34 1234

>mostre combine [a] [12 34] [[a] 12 34]

>

Inverte 12

Sintaxe: inverte objeto

Descrição: Retorna uma lista invertida ou seja, uma lista com os mesmos elementos do objeto de entrada, porém em ordem invertida.

Exemplo: >mostre inverte[1 2 3] [3 2 1]

>mostre inverte “abc [c b a]

(6)

Gerenome 13

Sintaxe: gerenome gn

Descrição: retorna nomes de G1 a Gn dependendo do número de vezes que é executado

Exemplo: >atribua gerenome 1 >mostre :g1

1

>atribua gerenome “olá >mostre :g2 olá >

Selecionadores

14

Primeiro 15

Sintaxe : primeiro objeto pri objeto

Descrição : retorna o primeiro elemento de objeto. Se objeto for uma palavra, retorna o primeiro caracter da palavra. Se objeto for uma lista, retorna o primeiro elemento da lista. Se objeto for um vetor, retorna a origem do vetor (isto é, o índice do primeiro elemento do vetor).

Exemplo: >esc pri [a b c d] a

>esc pri “LOGO L

>esc pri [[L][O][G][O]] L >esc pri {a b c} 1 >esc pri {a b c}@0 0 >

(7)

Primeiros 16

Sintaxe: primeiros [ lista1 lista2 ... listan] pris [lista1 lista2 ... listan]

Descrição: Retorna uma lista contendo o primeiro elemento de cada lista de entrada (lista1, lista2,..., listan). Se algum elemento das listas de entrada for vazio, retornará erro.

Exemplo: >mostre primeiros [[1 2 3][a b c ]] [1 a]

>

Último 17

Sintaxe : último objeto ult objeto

Descrição : retorna o último elemento do objeto. Se objeto for uma palavra, retorna o último caracter da palavra. Se objeto for uma lista, retorna o último elemento da lista.

Exemplo : >esc último [1 2 3] 3

>esc ult “aqui i

>

Semprimeiro 18

Sintaxe : semprimeiro objeto

sp objeto

Descrição : retorna objeto sem seu primeiro elemento.

Exemplo : >esc sp “LOGO OGO

>coloque [1 2 3] “x >esc sp :x

2 3 >

(8)

Semprimeiros 19

Sintaxe: semprimeiros lista1 lista2 .... listan sps lista1 lista2 .... listan

Descrição: retorna uma lista contendo as listas de entrada sem seus primeiros elementos. Se algum dos parâmetros de entrada for vazio, retornará uma mensagem de erro.

Exemplo: >mostre sps [[1 2 3][a b c]] [[2 3][b c]

>mostre sps [[abc][51 43]][[][43]] >

Semúltimo 20

Sintaxe : semúltimo objeto su objeto

Descrição : retorna objeto sem seu último elemento.

Exemplo: >esc su “LOGO LOG >coloque [1 2 3] “x >esc su :x 1 2 > Elemento 21

Sintaxe : elemento número objeto elem número objeto

Descrição: retorna o elemento de posição número no objeto. Se objeto for uma palavra, retorna o caracter que está na posição número da palavra. Se

objeto for uma lista, retorna o elemento que está na posição número da

lista. Se objeto for um vetor, retorna o elemento que está na posição

número do vetor. O número inicial para listas e palavras é 1; o número

(9)

Exemplo : >esc elemento 4 “praia i

>esc elemento 3 [rosa cravo violeta] violeta

>atr “x [azul verde] >esc elemento 2 :x verde

>esc elemento 2 {janeiro fevereiro março}@0 março

>

Elementomatriz 22

Sintaxe: elementomatriz lista matriz elmatriz lista matriz

Descrição: retorna o elemento do primeiro parâmetro, o qual deve ser uma lista formada de um ou mais números inteiros positivos, onde o primeiro elemento da lista indica a linha e o segundo elemento da lista indica a coluna. O segundo parâmetro é a definição de uma matriz multi-dimensional, onde o elemento será pesquisado.

Exemplo: >mostre elementomatriz [2 2] {{0 1} {2 3}} 3

>mostre elementomatriz [2] {{0 1} {2 3}} {2 3} >{2 3}

>

Sorteieelemento 23

Sintaxe: sorteieelemento objeto sortel objeto

Descrição: retorna aleatoriamente um elemento de um parâmetro dado, o qual pode ser uma lista ou uma palavra.

(10)

Exemplo: >mostre sorteieelemento [1 2 3] 2

>mostre sorteieelemento [1 2 3] 3

>mostre sortel “cola o

>mostre sortel “cola l

>

retire 24

Sintaxe: retire objeto1 objeto2

Descrição: retorna objeto2 após retirar o objeto1 especificado, sem distinção de letras maiúsculas e/ou minúsculas.

Exemplo: >mostre retire “b [a b c b] [a c]

>

retiredup 25

Sintaxe: retiredup objeto

Descrição: retorna o parâmetro dado após retirar a(s) repetição(ões) do(s) elemento(s) duplicado(s), sem distinção de letras maiúsculas e/ou minúsculas. O elemento duplicado que permanece na saída da operação é sempre o que estiver ocupando a posição mais à direita do parâmetro.

Exemplo: >mostre retiredup [a b c b] [a c b]

>mostre retiredup [a b c c b] [a c b]

>mostre retiredup “baab ab

(11)

Qualtipo 26

Sintaxe: qualtipo objeto

Descrição: retorna o parâmetro dado exibindo sua natureza, isto é, se o parâmetro for uma palavra, a operação retorna a mesma precedida de aspas; se for um número, retorna o mesmo também precedido por aspas (por se tratar de uma palavra tratada de forma especial pelo LOGO); se for uma lista, retorna a lista mantendo seus colchetes.

Exemplo: >mostre qualtipo “123 “123 >mostre qualtipo 123 “123 >mostre qualtipo [a b c] [a b c] >

modificadores

27

atribuaelvetor 28

Sintaxe: atribuaelvetor elemento vetor valor aev elemento vetor valor

Descrição: comando que atribui o novo valor ao elemento do vetor.

Obs.: valor não pode ser uma lista ou um vetor que contém vetor.

Exemplo: >atribua “meuvetor (vetor 3 0) >atribuaelvetor 2 :meuvetor 1 >atribuaelvetor 1 :meuvetor 2 >atribuaelvetor 0 :meuvetor 3 >mostre :meuvetor {3 2 1 } >

(12)

atribuaelmatriz 29

Sintaxe: atribuaelmatriz lista matriz valor aem lista matriz valor

Descrição: atribui o novo valor ao elemento da matriz definido em lista.

Exemplo: >atribua “minhamatriz (matriz [2 3]0) >atribuaelmatriz [0 0] :minhamatriz 1 >atribuaelmatriz [0 1] :minhamatriz 2 >atribuaelmatriz [0 2] :minhamatriz 3 >atribuaelmatriz [1 0] :minhamatriz 4 >atribuaelmatriz [1 1] :minhamatriz 5 >atribuaelmatriz [1 2] :minhamatriz 6 >mostre :minhamatriz {{1 2 3}{4 5 6}} > inserepilha 33

Sintaxe: inserepilha pilha objeto ip pilha objeto

Descrição: insere o objeto na pilha. A pilha deve ser uma lista cujo valor inicial é vazio. Os novos objetos são incluídos no topo da lista. Para retirar o último objeto colocado na lista use o comando retirepilha.

Exemplo: >atribua “minhapilha [] >inserepilha “minhapilha 8 >inserepilha “minhapilha 6 >mostre :minhapilha

[6 8]

>mostre retirepilha “minhapilha 6

>mostre :minhapilha [8]

(13)

retirepilha 34

Sintaxe: retirepilha pilha

rp pilha

Descrição: retira e retorna o objeto mais recente inserido na pilha através do comando inserepilha.

Exemplo: >atribua “minhapilha [] >inserepilha “minhapilha 4 >inserepilha “minhapilha 7 >mostre :minhapilha

[7 4]

>mostre retirepilha “minhapilha 7

>mostre :minhapilha [4]

>mostre retirepilha “minhapilha 4

>mostre :minhapilha []

>

inserefila 35

Sintaxe: inserefila fila objeto if fila objeto

Descrição: insere o objeto na fila. A fila deve ser uma lista cujo valor inicial é vazio. Os novos objetos são incluídos no final da lista. Para retirar o objeto mais antigo colocado na fila use o comando retirelista.

Exemplo: >atribua “minhafila [] >inserefila “minhafila 1 >inserefila “minhafila 3 >mostre :minhafila

[1 3]

>mostre retirefila “minhafila 1

>mostre :minhafila [3]

(14)

retirefila 36

Sintaxe: retirefila fila

rf fila

Descrição: retira e retorna o objeto mais antigo inserido na fila através do comando inserefila.

Exemplo: >atribua “minhafila [] >inserefila “minhafila 5 >inserefila “minhafila 9 >mostre :minhafila

[5 9]

>mostre retirefila “minhafila 5

>mostre “minhafila [9]

>mostre retirefila “minhafila 9 >mostre “minhafila [] >

predicados (dados)

37

épalavra 38

Sintaxe: épalavra objetoe épal objetoe

Descrição: retorna a palavra verd sempre que o objeto for uma palavra. Caso contrário, retorna a palavra falso.

Exemplo: >esc épalavra “casa verd

>coloque [tartaruga] “animal >esc épal :animal

falso >

(15)

élista 39

Sintaxe: élista objetoe

Descrição: retorna a palavra verd sempre que o objeto for uma lista. Caso contrário, retorna a palavra falso.

Exemplo: >coloque [a b c d] “letras >esc élista :letras

verd

>coloque 2 “num >esc élista :num falso

>

évetor 40

Sintaxe: évetor objeto

Descrição: retorna a palavra verd sempre que o objeto for um vetor. Caso contrário, retorna a palavra falso.

Exemplo: >mostre évetor “casa falso

>mostre évetor {azul amarelo verde} verd

>

évazia 41

Sintaxe: évazia objetoe evazia objetoe

Descrição: retorna a palavra verd sempre que o objeto de entrada for vazio. Caso contrário, retorna a palavra falso.

Exemplo: >coloque [azul] “cor >esc évazia sp :cor verd

>coloque “ “vazia >esc évazia :vazia verd

(16)

sãoiguais 42

Sintaxe: sãoiguais objeto1 objeto2 saoiguais objeto1 objeto2

Descrição: retorna a palavra verd se o objeto1 for igual ao objeto2. Caso contrário, retorna a palavra falso.

Exemplo: >esc sãoiguais 1 1 verd >atr “a 1 >atr “b 1 >esc sãoiguais :a :b verd > éanterior 43

Sintaxe: éanterior palavra1 palavra2 éant palavra1 palavra2

Descrição: retorna a palavra verd se palavra1 vem antes de palavra2, conforme a tabela ASCII (ordem alfabética). Caso contrário, retorna a palavra falso. Obs.: a comparação é feita caracter a caracter.

Exemplo: >mostre éanterior “abc “abd verd

>mostre éanterior “abd “abc falso

>mostre éanterior “3 “123 falso

(17)

éelemento 45

Sintaxe: éelemento objeto1 objeto2 éelem objeto1 objeto2

Descrição: se objeto2 for uma lista ou um vetor, retorna a palavra verd se objeto1 for igual a um membro ou a um elemento de objeto2; caso contrário, retorna a palavra falso. Se objeto2 for uma palavra, retorna verd se

objeto1 estiver contido em objeto2; caso contrário, retorna falso. Exemplo: >mostre éelemento 1 [1 2 3]

verd

>mostre éelemento 4 [1 2 3] falso

>

énúmero 46

Sintaxe: énúmero objeto énum objeto

Descrição: retorna a palavra verd sempre que o objeto for um número. Caso contrário, retorna a palavra falso.

Exemplo: >esc énúmero [1 2] falso >esc énúmero 3 verd >

operações

48

numelem 49

Sintaxe: numelem objetoe nel objetoe

Descrição: retorna o número de elementos que compõem objeto. Se objeto for uma palavra, retorna o número de caracteres da palavra; se objeto for uma lista ou um vetor, retorna o número de elementos da lista ou vetor.

Exemplo: >esc numelem [renato e alice] 3

>esc nel “flávio 6

(18)

ascii 50

Sintaxe: ascii “caractere

Descrição: retorna o valor correspondente ao caractere de entrada na tabela ASCII. O caractere pode ser uma letra, um número ou um caractere especial. O valor retornado é um número inteiro entre 0 e 255.

Exemplo: >esc ascii “A 65

>esc ascii “1 49

>esc ascii “a 97

>

caractere 51

Sintaxe: caractere número car número

Descrição: retorna o caractere correspondente a número na tabela ASCII. O parâmetro de entrada deve variar entre 0 e 255.

Exemplo: >esc car 65 A

>esc car 91 [

>

retireaté 52

Sintaxe: retireaté objeto1 objeto2

Descrição: retorna o objeto2 a partir da primeira ocorrência do objeto1. Se nâo existir objeto1 em objeto2, retorna uma lista vazia.

Obs.: objeto2 não pode ser vetor.

Exemplo: >mostre retireaté “b [a b c d] [b c d]

>mostre retireaté “c [a b c d] [c d]

(19)

minúscula 53

Sintaxe: minúscula palavra minus palavra

Descrição: retorna uma cópia da palavra de entrada com todas as letras maiúsculas alteradas para letras minúsculas. Algumas letras precedidas de “\” não serão convertidas. Exemplo: \n, o qual é interpretado como caracter de fim de linha.

Exemplo: >mostre minúscula “Casa casa

>mostre minúscula “PROJETO projeto

>

maiúscula 54

Sintaxe: maiúscula palavra maius palavra

Descrição: retorna uma cópia da palavra de entrada com todas as letras maiúsculas alteradas para minúsculas. Algumas letras precedidas de “\” não serão convertidas. Exemplo: \n, o qual é interpretado como caracter de fim de linha.

Exemplo: >mostre maiúscula “Casa CASA

>mostre maiúscula “projeto PROJETO

>

diahora 58

Sintaxe: diahora dh

Descrição: retorna o dia e a hora corrente do sistema no formato de lista. Obs.: retornará na língua do país que estiver definido no Windows.

Exemplo: >mostre diahora

[qua jul 14 23:34:08 1993]

(20)

comunicação

59

transmissores

60

Comunicação

Descrição geral sobre transmissores.

Obs: se existir uma variável denominada profundidadelimitedeimpressão com um valor inteiro não negativo, então listas complexas e estrututras de vetores vão ser impressas apenas até a profundidade permitida. Isto é, membros de membros de ...de membros vão se exibidos apenas até certa distância. Os elementos ou membros omitidos porque eles estão em uma profundidade além da limite são indicados por uma reticências para cada um, assim uma lista com profundidade acima do limite de dois elementos será escrita como [... ...].

Se existir uma variável denominada tamanholimitedeimpressão com um valor inteiro não negativo, então apenas um certo número de elementos ou membros de qualquer vetor ou lista serão impressos a partir do início. Uma única reticências substitui todos os objetos ausentes da estrutura. O tamanho limite também se aplica ao número de caracteres impressos em uma palavra, contudo um tamanholimitedeimpressão entre 0 e 9 será sempre tratado como se fosse 10 quando aplicado a palavras. Esse limite se aplica não apenas ao objeto impresso de nível mais alto mas a qualquer sub-estrutura dentro dele.

Escreva 61

Sintaxe : escreva objeto esc objeto

Descrição : mostra na janela de comandos o objeto e posiciona o cursor no início da linha seguinte.

Obs.: se o objeto for uma lista, os colchetes mais externos não serão mostrados. Se o objeto for um vetor, as chaves externas serão mantidas.

Exemplo: >esc “LOGO LOGO

>atr “a [lista de objetos] >esc :a

lista de objetos

>esc [criar [com] LOGO] criar [com] LOGO

>esc {pêra laranja uva} {pêra laranja uva}

(21)

mostre 63

Sintaxe : mostre objeto mo objeto

Descrição : mostra na janela de comandos o objeto, conservando os colchetes externos se o objeto for uma lista ou as chaves, se o objeto for um vetor.

Exemplo : >mostre “LOGO LOGO

>mostre [aprendendo com LOGO] [aprendendo com LOGO]

>mostre leial

(digite: LOGO e clique Ok) [LOGO]

>mostre {sol terra mar} {sol terra mar}

>

recebedores

64

leialista 65

Sintaxe : leialista leial

Descrição : permite a entrada de caractere, palavra, frase ou arquivo via teclado, retornando uma lista. Se a entrada for um arquivo, o retorno da leitura de fim de arquivo será uma palavra vazia (e não uma lista vazia). Se a entrada contém barra invertida ( \ ), barra vertical ( | ) ou til ( ~), esses caracteres não farão parte da lista de saída pois eles serão tratados no seu uso efetivo. O ponto-e-vírgula ( ; ) não será tratado como comentário.

Exemplo: >mostre leialista

(digite: LOGO teste e clique Ok) [LOGO teste]

>coloque leialista “a (digite: casa bela e clique Ok) >mostre :a

[casa bela] >

(22)

leiapalavra 66

Sintaxe: leiapalavra leiap

Descrição: permite a entrada de um caracter, palavra, frase ou arquivo via teclado, retornando uma palavra. Se a entrada for um arquivo, o retorno da leitura de fim de arquivo será uma lista vazia (e não uma palavra vazia).

Nos casos em que o til ( ~ ) for usado para continuação de linha, a palavra de retorno incluirá o til ( ~ ) e os caracteres da nova linha, mostrando exatamente o que o usuário entrou. Barras verticais também serão preservadas na saída, mas o caracter seguinte à barra invertida terá 128 somado a sua representação.

Exemplo: >mostre leiapalavra

(digite: casa bela e clique Ok) casa bela

>coloque leiapalavra “a

(digite: LOGO teste e clique Ok) >mostre :a LOGO teste > leiacaractere 67 Sintaxe : leiacaractere leiac

Descrição : permite a entrada de um caractere via teclado, retornando uma palavra. Se a entrada for um arquivo, o retorno da leitura de fim de arquivo será uma lista vazia. Os caracteres barra invertida ( \ ), barra vertical ( | ) e til ( ~ ) não tem significado especial para este comando.

Exemplo : >esc leiacaractere

(O LOGO espera a entrada de um caractere qualquer.) (Digite a e clique Ok)

a

>coloque leiacaractere “letra

(O LOGO espera a entrada de um caractere qualquer.) (Digite 2 e clique Ok)

>esc :letra 2

>

(23)

acesso a arquivos

70

abraparaler 71

Sintaxe: abraparaler arquivo abler arquivo

Descrição: abre o arquivo para leitura apontando para o início do arquivo.

Exemplo: >abraparaescrever “nomes.dat >mudeescrita “nomes.dat >escreva “marcos >escreva “paulo >mudeescrita [] >fechearq “nomes.dat >abraparaler “nomes.dat >mudeleitura “nomes.dat >repita 2 [mostre leialista] [marcos] [paulo] >mudeleitura [] >fechearq “nomes.dat > abraparaescrever 72

Sintaxe: abraparaescrever arquivo

abesc arquivo

Descrição: abre o arquivo para escrita. Se o arquivo já existe, ele será deletado e um novo arquivo vazio será criado.

Exemplo: >abraparaescrever “cores.dat >mudeescrita “cores.dat >escreva “vermelho >escreva “azul >mudeescrita [] >fechearq “cores.dat >abraparaler “cores.dat >mudeleitura “cores.dat >repita 2 [mostre leialista] [vermelho]

(24)

>mudeleitura [] >fechearq “cores.dat >

(25)

abraparaadicionar 73

Sintaxe: abraparaadicionar arquivo

abadi arquivo

Descrição: abre o arquivo para adicionar novos dados. Se o arquivo já existe, ele será mantido e os novos dados serão colocados no final do arquivo.

Exemplo: >abraparaescrever “semana.dat >mudeescrita “semana.dat >escreva “segunda >escreva “terça >mudeescrita [] >fechearq “semana.dat >abraparaadicionar “semana.dat >mudeescrita “semana.dat >escreva “quarta >escreva “quinta >mudeescrita [] >fechearq “semana.dat >abraparaler “semana.dat >mudeleitura “semana.dat >repita 4 [mostre leialista] [segunda] [terça] [quarta] [quinta] >mudeleitura [] >fechearq “semana.dat > abraparaatualizar 74

Sintaxe: abraparaatualizar arquivo

abatu arquivo

Descrição: abre o arquivo para leitura e escrita apontando para o final do arquivo. Obs.:cada arquivo aberto tem somente uma posição, a qual serve para

leitura e escrita ao mesmo tempo, portanto todos os comandos que operam com arquivos terão seus conteúdos alterados.

Exemplo: >abraparaescrever “frutas.dat >mudeescrita “frutas.dat

(26)

>escreva “banana >mudeescrita []

>fechearq “frutas.dat

>abraparaatualizar “frutas.dat >mudeleitura “frutas.dat

>repita 2 [mostre leialista] [uva] [banana] >mudeescrita “frutas.dat >mudeposescrita 4 >escreva “laranja >mudeescrita [] >mudeleitura “frutas.dat >mudeposleitura 0

>repita 3 [mostre leialista] [uva] [banana] [laranja] >fechearq “frutas.dat > fechearq 75

Sintaxe: fechearq arquivo

Descrição: fecha o arquivo especificado.

Exemplo: >abraparaescrever “estações.dat >mudeescrita “estações.dat >escreva “primavera >escreva “verão >escreva “outono >escreva “inverno >mudeescrita [] >fechearq “estações.dat >abraparaler “estações.dat >mudeleitura “estações.dat >repita 4 [mostre leialista] [primavera]

[verão] [outono] [inverno]

(27)

>fechearq “estações.dat >

(28)

arqabertos 76

Sintaxe: arqabertos

Descrição: retorna uma lista cujos elementos membros são os nomes dos arquivos

abertos.

Exemplo: >abraparaescrever “semana.dat >abraparaescrever “meses.dat >mostre arqabertos [meses.dat semana.dat] > fechetodosarq 77 Sintaxe: fechetodosarq

Descrição: fecha todos os arquivos abertos.

Exemplo: >fechetodosarq >abraparaescrever “nomes.dat >abraparaescrever “cidades.dat >mostre arqabertos [cidades.dat nomes.dat] >fechetodosarq >mostre arqabertos [] > eliminearq 78

Sintaxe: eliminearq arquivo

Descrição: elimina o arquivo especificado, o qual não poderá estar aberto.

Exemplo: >abraparaescrever “cores.dat >mudeescrita “cores.dat >escreva “azul >escreva “amarelo >mudeescrita [] >fechearq “cores.dat >abraparaler “cores.dat >mudeleitura “cores.dat >repita 2 [mostre leialista] [azul]

(29)

>mudeleitura [] >fechearq “cores.dat >eliminearq “cores.dat >abraparaler “cores.dat

erro: arquivo não encontrado >

registre 79

Sintaxe: registre arquivo

Descrição: cria um novo arquivo de entrada e registra neste arquivo todas as coisas que são lidas através do teclado ou escritas no vídeo. O objetivo é criar uma cópia de uma sessão LOGO, que contém caracteres, prompt e instruções.

Exemplo: >registre “comandos.dat >pf 100

>pd 90

>nãoregistre

>abraparaler “comandos.dat >mudeleitura “comandos.dat >repita 3 [mostre leialista] [pf 100] [pd 90] [nãoregistre] >mudeleitura [] >fechearq “comandos.dat > nãoregistre 80 Sintaxe: nãoregistre

Descrição: pára de registrar informações no arquivo definindo com registre e fecha este arquivo.

Exemplo: >registre “comandos.dat >pf 100

>pd 90

>nãoregistre

>abraparaler “comandos.dat >mudeleitura “comandos.dat >repita 3 [mostre leialista] [pf 100]

[pd 90]

[nãoregistre] >mudeleitura []

(30)
(31)

mudeleitura 81

Sintaxe: mudeleitura arquivo mudelei arquivo

Descrição: ativa o arquivo para leitura de dados, o qual será usado por leialista, etc. É necessário que o arquivo tenha sido anteriormente aberto com abraparaler ou abraparaatualizar .

Se no lugar do arquivo for especificado uma lista vazia, a leitura de dados será através do teclado.

Exemplo: >abraparaescrever “meses.dat >mudeescrita “meses.dat >escreva “janeiro >escreva “fevereiro >mudeescrita [] >fechearq “meses.dat >abraparaler “meses.dat >mudeleitura “meses.dat >repita 2 [mostre leialista] [janeiro] [fevereiro] >mudeleitura [] >fechearq “meses.dat > mudeescrita 82

Sintaxe: mudeescrita arquivo mudeesc arquivo

Descrição: ativa o arquivo para gravação de dados, o qual será usado por escreva, etc... É necessário que o arquivo tenha sido anteriormente aberto com abraparaescrever, abraparaadicionar ou abraparaatualizar. Se no lugar do arquivo for especificada uma lista vazia, os dados serão mostrados no vídeo.

Exemplo: >abraparaescrever “tarefas.dat >mudeescrita “tarefas.dat >escreva “estudar >escreva “lavar >mudeescrita [] >fechearq “tarefas.dat >abraparaler “tarefas.dat >mudeleitura “tarefas.dat >repita 2 [mostre leialista] [estudar]

(32)

[lavar] >mudeleitura [] >fechearq “tarefas.dat > arqleitura 83 Sintaxe: arqleitura

Descrição: retorna o nome do arquivo ativo para leitura. Se o retorno for uma lista vazia, a leitura de dados será feita através do teclado.

Exemplo: >abraparaler “semana.dat >mudeleitura “semana.dat >mostre arqleitura semana.dat >fechearq “semana.dat > arqescrita 84 Sintaxe: arqescrita

Descrição: retorna o nome do arquivo ativo para gravação.Se o retorno for uma lista vazia, os dados serão mostrados no vídeo.

Exemplo: >abraparaescrever “semana.dat >mudeescrita “semana.dat

>mostre arqescrita semana.dat

>

mudeposleitura 85

Sintaxe: mudeposleitura número

Descrição: modifica o ponteiro do arquivo de leitura. O próximo leialista (ou comando similar) começará a partir da posição definida em número. Por

Exemplo, mudeposleitura 0 começará a ler no início do arquivo. Este

comando não tem sentido se a leitura de dados estiver sendo feita através do teclado.

Exemplo: >abraparaescrever “cores.dat >mudeescrita “cores.dat

(33)

>escreva “vermelha >mudeescrita [] >fechearq “cores.dat >abraparaler “cores.dat >mudeleitura “cores.dat >mostre leialista [verde] >mudeposleitura 0 >mostre leialista [verde] >mudeleitura [] >fechearq “cores.dat > mudeposescrita 86

Sintaxe: mudeposescrita número

Descrição: modifica o ponteiro do arquivo de saída. O próximo escreva (ou comando similar) começará a partir da posição definida em número. Por

Exemplo, mudeposescrita 0 começará a escrever no início do arquivo.

Este comando não tem sentido se a saída estiver sendo feita através do vídeo.

Exemplo: >abraparaescrever “jogos.dat >mudeescrita “jogos.dat >escreva “peteca >mudeposescrita 0 >escreva “bon >mudeescrita [] >fechearq “jogos.dat >abraparaler “jogos.dat >mudeleitura “jogos.dat >mostre leialista [bon] >mostre leialista [a] >mudeleitura [] >fechearq “jogos.dat >

(34)

posleitura 87

Sintaxe: posleitura

Descrição: retorna a posição do arquivo de leitura de dados.

Exemplo: >abraparaescrever “animal.dat >mudeescrita “animal.dat >escreva “cavalo >escreva “gato >mudeescrita [] >fechearq “animal.dat >abraparaler “animal.dat >mudeleitura “animal.dat

>repita 2 [mostre posleitura mostre leialista] 0 [cavalo] 8 [gato] >mudeleitura [] >fechearq “animal.dat > posescrita 88 Sintaxe: posescrita

Descrição: retorna a posição do arquivo de gravação de dados.

Exemplo: >abraparaescrever “esportes.dat >mudeescrita “esportes.dat

>atribua “pontos []

>atribua “pontos jf posescrita :pontos >escreva “natação

>atribua “pontos jf posescrita :pontos >escreva “corrida

>atribua “pontos jf posescrita :pontos >mudeescrita []

>fechearq “esportes.dat >mostre :pontos

[0 9 18] >

(35)

éfimarq 89

Sintaxe: éfimarq

Descrição: retorna verd se não há mais caracteres para serem lidos do arquivo de entrada; retorna falso caso contrário.

Exemplo: >abraparaescrever “cores.dat >mudeescrita “cores.dat >escreva “vermelho >escreva “amarelo >mudeescrita [] >fechearq “cores.dat >abraparaler “cores.dat >mudeleitura “cores.dat

>repita 2 [mostre leialista mostre éfimarq ] [vermelho] falso [amarelo] verd >mudeleitura [] >fechearq “cores.dat >

comunicação

90

abraporta 91

Sintaxe: abraporta palavra

Descrição: usado para obter acesso às portas seriais e paralelas do computador. Uma vez que a porta desejada estiver aberta, você pode ler (leiavetorporta, leiacaractereporta) ou gravar (escrevavetorporta, escrevacaractereporta).

As características da porta podem ser modificadas com mudemodoporta.

Apenas uma porta pode ser aberta por vez. Uma vez encerrado o uso de uma porta, esta deverá ser fechada com fecheporta. Não confundir este comando com portaentrada e portasaída, que são para portas de comunicação com o hardware.

Obs: em palavra deverá ser definida a porta a ser aberta: com1-com4 e lpt1- lpt3.

Exemplo: >abraporta “com1 >fecheporta

(36)

fecheporta 92

Sintaxe: fecheporta

Descrição: fecha uma porta que foi aberta com o comando abreporta.

Exemplo: >abraporta “com1 >fecheporta

>

descarregueporta 93

Sintaxe: descarregueporta número

Decsrição: descarrega as filas para as porta de entrada ou saída.

Obs.:em número deverá ser especificado a fila a ser descarregada: 0 (saída) ou 1 (entrada).

Exemplo: >abraporta “com1 >descarregueporta 1 >fecheporta

>

mudemodoporta 94

Sintaxe: mudemodoporta palavra

mudemp palavra

Descrição: usado para modificar as características (velocidade, paridade, data bits e stop bits) da porta, as quais também podem ser modificadas pelo ícone PORTAS do Painel de Controle do Windows.

Obs: em palavra deve ser definido o que se quer modificar (“com: velocidade, paridade, data, stop) no mesmo formato do comando MODE do DOS.

Exemplo: >abraporta “com1

>mudemodoporta “com1:9600,n,8,1 >fecheporta

(37)

leiavetorporta 95

Sintaxe: leiavetorporta número1 número2 leiavp número1 número2

Decsrição: lê a porta que está aberta e armazena os dados em um vetor de buffer definido em numero2. O comando tentará ler tantos caracteres quanto for o valor de número2, (se estiverem disponíveis), e devolverá o atual número de bytes lidos.

número1: é o número de caracteres a serem lidos pela porta. Você pode

usar um número maior que o tamanho do vetor apenas para preenche-lo.

número2:é um vetor de buffer para onde os dados serão transferidos. saída: é o número de bytes lidos de porta.

Exemplo: >abraporta “com1

>escreva sentença [Enviando...] escrevavetorporta 3 listaparavetor map [ascii ?] vetorparalista listaparavetor “at

Enviando 2

>atribua “y escrevacaractereporta 13 >espere 60

>atribua “buff {0 0 0 0 0 0 0 0 0 0}

>escreva sentença [Recebendo...] leiavetorporta 10 :buff

Recebendo 9

>escreva sentença [Data Rx...] map [car] retire [] vetorparalista :buff Data RX...at|| ok | >fecheporta > leiacaractereporta 96 Sintaxe: leiacaractereporta leiacp

Descrição: lê um byte da porta que está aberta e o devolve como um inteiro. O comando retornará “-1” se nenhum caractere estiver disponível.

(38)

Exemplo: >abraporta “com1

>atribua “y escrevacaractereporta ascii “a >atribua “y escrevacaractereporta ascii “f >atribua “y escrevacaractereporta 13

>espere 60

>escreva “lendo... lendo...

>repita 10 [atribua “x leiacaractereporta se não :x=-1 [escreva car :x]]

>escreva “ at || ok | >fecheporta > ecsrevavetorporta 97

Sintaxe: escrevavetorporta número1 número2

escvp número1 número2

Descrição: envia um dado vetor de buffer para a porta que está aberta. Este comando devolve o número atual de bytes enviados.

número1: é o número de caracteres a serem escritos.

número2:é um vetor de buffer onde os dados de saída serão lidos. saída: é o número de bytes escritos na porta.

Exemplo: >abraporta “com1

>escreva sentença [Enviando...] escrevavetorporta 3 listaparavetor map [ascii ?] vetorparalista listaparavetor “at

Enviando 2

>atribua “y escrevacaractereporta 13 >espere 60

>atribua “buff {0 0 0 0 0 0 0 0 0 0}

>escreva sentença [Recebendo...] leiavetorporta 10 :buff

Recebendo 9

>escreva sentença [Data Rx...] map [car] retire [] vetorparalista :buff

Data RX...at|| ok |

>fecheporta >

(39)

escrevacaractereporta 98

Sintaxe: escrevacaractereporta número

esccp número

Descrição: envia um byte para a porta que está aberta e retorna o número de bytes enviados (0 ou 1).

número: é o byte que será enviado para a porta. saída: é o número de bytes escritos (0 ou 1).

Exemplo: >abraporta “com1

>atribua “y escrevacaractereporta ascii “a >atribua “y escrevacaractereporta ascii “f >atribua “y escrevacaractereporta 13

>espere 60

>escreva “lendo... lendo...

>repita 10 [atribua “x leiacaractereporta se não :x=-1 [escreva car :x]]

>escreva “ at ||

ok |

>fecheporta >

acesso ao mouse e terminal

103

temarq 104

Sintaxe: temarq

Descrição: retorna verd se houver caracteres esperando para serem lidos. Se a entrada for um arquivo, este comando é equivalente a éfimarq. Se a entrada for o teclado, então o echo é desligado e o terminal é colocado em modo cbreak (um caracter por vez ao invés de uma linha por vez). Ela permanece nesse modo até que alguma leitura de modo-de-linha seja registrada (ex: leialista).

Ativetecla 105

Sintaxe: ativetecla tecla

Descrição: Habilita a rastrear diretamente os eventos do teclado. Para saber qual tecla está envolvida utilize asctecla em seu procedimento.

Obs.: a janela para onde o foco foi direcionado, deve ter o foco (não o comando) para interceptar os eventos da tecla. Isto pode ser forçado usando mudefoco [SLOGO para Windows] quando você dispara este comando.

(40)

Exemplo: >ativetecla [escreva car asctecla] >mudefoco [SLOGO para Windows] (digite: a) a (digite: b) b >desativetecla > desativetecla 106 Sintaxe: desativetecla

Descrição: Desabilita o rastreamento de eventos do teclado.

Exemplo: >ativetecla [escreva car asctecla] >mudefoco [SLOGO para Windows] (digite: a) a (digite: b) b >desativetecla > asctecla 107 Sintaxe: asctecla

Descrição: retorna o valor (em ascii) da última tecla pressionada ou liberada.

Exemplo: >ativetecla [escreva car asctecla] >mudefoco [SLOGO para Windows] (digite: a) a (digite: b) b >desativetecla >

(41)

ativemouse 108

Sintaxe: ativemouse lista1 lista2 lista3 lista4 lista5

Descrição: Habilita o controle direto dos eventos do mouse. Para saber onde se encontrava o mouse quando um botão foi apertado ou quando foi movido use posmouse no seu procedimento de botão ou movimentação. Observe que a janela “screen” (não a janela de comando). Deve ter o focus para interceptar comandos do mouse.

lista1.: é uma lista de comandos LOGO (ou um nome de procedimento)

a serem executados quando o botão esquerdo do mouse for pressionado.

lista2.: é uma lista de comandos LOGO (ou um nome de procedimento)

a serem executados quando o botão esquerdo do mouse for liberado.

lista3.: é uma lista de comandos LOGO (ou um nome de procedimento)

a serem executados quando o botão direito do mouse for pressionado.

lista4.: é uma lista de comandos LOGO (ou um nome de procedimento)

a serem executados quando o botão direito do mouse for liberado.

lista5.: é uma lista de comandos LOGO (ou um nome de procedimento)

a serem executados quando o mouse é movimentado.

Exemplo: >un

>ativemouse [mudepos posmouse ul][un][][][mudepos posmouse]

=> mova o mouse na janela [SLOGO para Windows] e pressione o botão esquerdo para desenhar. >desativemouse

>

desativemouse 109

Sintaxe: desativemouse

Descrição: desabilita o controle dos eventos do mouse.

Exemplo: >un

>ativemouse [mudepos posmouse ul][un][][][mudepos posmouse]

=> mova o mouse na janela [SLOGO para Windows] e pressione o botão esquerdo para desenhar. >desativemouse

(42)

posmouse 110

Sintaxe: posmouse

Descrição: retorna a posição do mouse no último evento do mouse.

Exemplo: >un

>ativemouse [mudepos posmouse ul][un][][][mudepos posmouse]

=> mova o mouse na janela [SLOGO para Windows] e pressione o botão esquerdo para desenhar. >desativemouse

>

limpejanelacomandos 111

Sintaxe: limpejanelacomandos ljc

Descrição: apaga a janela de comandos da tela.

Exemplo: >escreva “teste teste >ljc >

aritmética

115

operações numéricas

116

soma 117

Sintaxe : soma número1 número2

(soma número1 número2...númeron)

Descrição : retorna o valor da soma dos números especificados

Exemplo : >esc soma 200 300 500

>pf soma 50 30 >

(43)
(44)

diferença 118

Sintaxe : diferença número1 número2 dif número1 número2

Descrição: retorna o resultado da diferença entre número1 e número2.

Exemplo: >esc diferença 50 10 40

>

oposto 119

Sintaxe: oposto número

Descrição: retorna o valor oposto do resultado de expressão do parâmetro dado.

Exemplo: >mostre oposto -3 3 >mostre oposto 3 + 4 (significa - (3+4)= -(7)= -7) -7 >mostre oposto -3 + 4 -1 > produto 120

Sintaxe : produto número1 número2 prod número1 número2

(produto número1 número2...númeron) (prod número1 número2...númeron)

Descrição : retorna o produto dos números especificados.

Exemplo : >esc produto 300 2 600 >coloque 5 “n1 >coloque 6 “n2 >esc produto :n1 :n2 30 >

(45)

quociente 121

Sintaxe : quociente número1 número2 quoc número1 número2

Descrição : retorna o quociente da divisão inteira de número1 por número2.

Exemplo : >esc quociente 1000 2 500

>coloque 50 “n1 >coloque 25 “n2

>esc quociente :n1 :n2 2

>esc quociente 100 quociente 10 2 20

>

resto 122

Sintaxe : resto número1 número2

Descrição : retorna o valor do resto da divisão inteira de número1 por número2.

Exemplo : >esc resto 10 3 1 >atribua “a 5 >atribua “b 3 >esc resto :a :b 2 > inteiro 123

Sintaxe : inteiro número int número

Descrição : retorna a parte inteira de número.

Exemplo : >esc int 2.345 2

>esc int 8.678 8

(46)
(47)

arredonde 124

Sintaxe : arredonde número arre número

Descrição : retorna número, arredondado para o inteiro mais próximo.

Exemplo : >esc arredonde 2.45 2

>esc arredonde 2.5 3

>

raizq 125

Sintaxe : raizq número

Descrição : retorna a raiz quadrada de número.

Exemplo : >esc raizq 2 1.41

>

potência 126

Sintaxe: potência número1 número2

Descrição: retorna número1 (base) elevado à potência de número2 (expoente). Se

nùmero1 for negativo, então número2 precisa ser inteiro Exemplo: >mostre potência 2 3

8 >mostre potência 2 -3 0,125 >mostre potência 9 0 1 >mostre potência -2 3 -8 >

(48)

exponencial 127

Sintaxe: exponencial número

exp número

Descrição: retorna e(2.718281828+) elevado à potência de número.

Exemplo: >mostre exponencial 2 7.38905609...

>

log10 128

Sintaxe: log10 número

Descrição: retorna o logaritmo comum de número.

Exemplo: >mostre log10 1 0 >mostre log10 100 2 > ln 129 Sintaxe: ln número

Descrição: retorna o logaritmo natural de número.

Exemplo: >mostre ln 1 0 >mostre ln exp 2 2 > sem 130

Sintaxe: sen número

(49)

Exemplo: >esc sen 0 0.00 >esc sen 90 1 > senrd 131

Sintaxe: senrd radianos

Descrição: retorna o seno do valor dado em radianos.

Exemplo: >atribua “pi 4 * arctanrd 1 >mostre senrd 0

0

>mostre senrd :pi 1.2e -16

>

cos 132

Sintaxe : cos número

Descrição : retorna o cosseno do ângulo especificado por número em graus. Exemplo : >esc cos 45

0.707... >esc cos 90 0 >esc cos 180 -1 > cosrd 133

Sintaxe: cosrd radianos

Descrição: retorna o cosseno do valor dado em radianos.

Exemplo: >atribua “pi 4 * arctanrd 1 >mostre cosrd 0

1

>mostre cosrd :pi -1

(50)

arctan 134

Sintaxe : arctan número

Descrição : retorna o arcotangente, em graus, de número. Com 2 entradas (x y), retorna o arcotangente de y/x, se x for diferente de zero, ou 90 ou -90 dependendo do sinal de y, se x = zero.

Exemplo : >esc arctan 1 45

>esc arctan 0 0.00

>

arctanrd 135

Sintaxe: arctanrd número

(arctanrd número1 número2)

Descrição: retorna o arcotangente, em radianos. Com 2 entradas (x,y), retorna o

arcotangente de y/x, se x for diferente de zero, ou pi/2 ou -pi/2

dependendo do sinal de y, se x for igual a zero.

Exemplo: >mostre arctanrd 1 0.785398163397448 >

predicados (aritmeticos)

136

émenor 137

Sintaxe: émenor número1 número2

Descrição: retorna verd se número1 for menor que número2. Caso contrário, retorna falso.

Exemplo: >mostre émenor 4 3 falso

>mostre émenor 7 9 >verd

(51)

émaior 138

Sintaxe: émaior número1 número2

Descrição: retorna verd se número1 for maior que número2. Caso contrário, retorna falso.

Exemplo: >mostre émaior 5 6 falso >mostre émaior 8 3 >verd >

números randômicos

139

sorteienúmero 140

Sintaxe: sorteienúmero número sortnum número

Descrição: retorna um número aleatório inteiro e positivo entre 0 (zero) e o número especificado.

Exemplo: >esc sorteienúmero 40

(Será gerado um número aleatoriamente) >esc sorteienúmero 40

(Será gerado um número aleatoriamente) >esc sorteienúmero 40

(Será gerado um número aleatoriamente) >

resorteienúmero 141

Sintaxe: (resorteienúmero número) (resortnum número)

Descrição: reproduz o resultado do comando sorteienúmero. Originalmente a sequência dos números randômicos é diferente para cada vez que o LOGO é usado. Se for necessário que a mesma sequência seja repetida, use resorteienúmero antes da primeira chamada do sorteienúmero. Se for necessário mais de uma sequência de repetição, resorteienúmero deve ser seguido de um número inteiro; cada entrada possível seleciona uma sequência única de números.

(52)

Exemplo: >(resorteienúmero 1234)

>repita 2 [mostre sorteienúmero 10] 6

3

>(resorteienúmero 1234)

>repita 2 [mostre sorteienúmero 10] 6 3 >

formatação de impressão

142

form 143

Sintaxe: form número1 número2 número3

Descrição: retorna uma palavra contendo uma representação numérica de número1, possivelmente precedida por espaços, com a quantidade de caracter definida em número2, incluindo exatamente o número de dígitos indicado em número3 depois do ponto decimal. Se número3 (precisão) for 0, então não existirá casas decimais.

Exemplo: >mostre form 5.124 6 2 > 5.12

>

operações bitwise

144

bite 145

Sintaxe: bite número1 número2

(bite número1 número2 número3...)

Descrição: retorna o bitwise e das entradas, os quais devem ser números inteiros.

Exemplo: >mostre bite 5 2 o

>mostre bite 5 1 1

(53)

bitou 146

Sintaxe: bitou número1 número2

(bitou número1 número2 número3...)

Descrição: retorna o bitwise ou das entradas, as quais devem ser números inteiros.

Exemplo: >mostre bitou 5 2 7

>mostre bitou 5 1 5

>

bitxou 147

Sintaxe: bitxou número1 número2

(bitxou número1 número2 número3...)

Descrição: retorna o bitwise ou exclusivo das entradas, as quais devem ser números inteiros.

Exemplo: >mostre bitxou 5 2 7

>mostre bitxou 5 1 4

>

bitnão 148

Sintaxe: bitnão num

Descrição: retorna o bitwise não das entradas, as quais devem ser números inteiros.

Exemplo: >mostre bitnão 1 -2

>mostre bitnão 5 -6

(54)

operações lógicas

151

& 152

Sintaxe : & predicado1 predicado2

(& predicado1 predicado2...predicadon)

Descrição: retorna a palavra verd se os parâmetros de entrada forem verdadeiros. Caso contrário, retorna a palavra falso.

Exemplo : >esc & 2=2 4<5 verd >esc & 2=2 4>5 falso > ou 153

Sintaxe: ou predicado1 predicado2

(ou predicado1 predicado2 ... predicadon)

Descrição: retorna a palavra verd se uma das entradas for verdadeira. Caso contrário retorna falso. Exemplo: >mostre ou 2=2 4<5 verd >mostre ou 2=3 4>5 falso > não 154

Sintaxe: não predicado

Descrição: retorna a palavra verd se o predicado for falso. Caso contrário, retorna a palavra falso.

Exemplo: >esc não 4=5 verd

>esc não 5=5 falso

(55)

gráficos

155

movimentos da tartaruga 156

parafrente 157

Sintaxe : parafrente número pf número

Descrição : movimenta a tartaruga para frente o número de passos, ou seja, desloca a tartaruga no sentido em que ela estiver apontando.

Exemplo : >tat >pf 50 >

paratrás 158

Sintaxe: paratrás número pt número

Descrição: movimenta a tartaruga para trás o número de passos, ou seja, desloca a tartaruga no sentido oposto ao que ela estiver apontando.

Exemplo: >tat >pt 50

(56)

paraesquerda 159

Sintaxe : paraesquerda número pe número

Descrição: gira a tartaruga para a esquerda o número especificado em graus.

Exemplo : >tat >pe 60

paradireita 160

Sintaxe: paradireita número pd número

Descrição: gira a tartaruga para a direita o número especificado em graus.

Exemplo: >tat >pd 45 >

mudeposição 161

Sintaxe: mudeposição lista mudepos lista

Descrição: movimenta a tartaruga para uma posição absoluta da tela. O argumento é uma lista de dois números, onde número1 representa a coordenada X e número2 representa a coordenada Y.

(57)

Exemplo: >tat >mudepos [0 100] >mudepos [100 100] >mudepos 100 0] >mudepos [0 0] > mudexy 162

Sintaxe: mudexy número1 número2

Descrição: movimenta a tartaruga para uma posição absoluta de tela. O argumento são dois números onde número1 representa a coordenada X e número2 representa a coordenada Y. Exemplo: >tat >mudexy 0 100 >mudexy 100 100 >mudexy 100 0 >mudexy 0 0 > mudex 163

Sintaxe: mudex número

Descrição: movimenta a tartaruga até o ponto com coordenada X especificado por número, o qual representa a coordenada X, mantendo inalteradas sua coordenada Y e sua direção.

Exemplo: >tat

>mudex 300 >

(58)

mudey 164

Sintaxe: mudey número

Descrição: movimenta a tartaruga para o ponto especificado por número, o qual representa a coordenada Y, mantendo inalteradas sua coordenada X e sua direção. Exemplo: >tat >pd 90 pf 290 >mudey 180 > paracentro 165 Sintaxe: paracentro pc

Descrição: movimenta a tartaruga para o centro da tela (posição [0 0]), sem alterar sua direção.

Exemplo: antes depois

>tat >pc

>pf 100 pd 90 >

(59)

mudedç 166

Sintaxe : mudedç número md número

Descrição : muda a direção da tartaruga para o número correspondente a graus. A direção 0 corresponde ao Norte, 90 corresponde a Leste, 180 ao Sul e 270 ao Oeste .

Exemplo : antes depois

>tat pd 80 pf 100 >mudedç 90 pf 100

arco 167

Sintaxe: arco número1 número2

Descrição: a tartaruga não se movimenta neste comando, ela apenas desenha um arco (parte de um círculo) baseado na direção apontada pela tartaruga, na posição da tartaruga e argumentos dados, onde número1 especifica a medida do ângulo e número2 especifica o tamanho do raio. A posição corrente da tartaruga será o centro do arco.

Exemplo: >arco 360 100 >arco 360 50 >arco 180 70

>

queries para movimentação da tartaruga

168

posição 169

Sintaxe: posição pos

(60)

Descrição: retorna uma lista composta de dois números referentes à posição atual (coordenadas [X,Y]) da tartaruga.

(61)

Exemplo: >tat >pd 45 pf 200 >esc pos 141.42 141.42 coorx 170 Sintaxe : coorx

Descrição : retorna o valor da coordenada cartesiana X da posição atual da tartaruga. No estado inicial do LOGO a coordenada X da tartaruga é 0.

Exemplo : >tat pd 90 pf 100 pe 90 pf 100 >esc coorx

99.999...

coory 171

Sintaxe : coory

Descrição : retorna o valor da coordenada cartesiana Y da posição atual da tartaruga. No estado inicial do LOGO a coordenada Y da tartaruga é 0.

Exemplo : >tat pe 90 pf 100 pd 90 pf 100 >esc coory

99.999... >

Referências

Documentos relacionados

FMV_UNITO  lunga tradizione di collaborazione e cooperazione con Università/Istituzioni di ricerca nei PVS/Paesi emergenti; numerosi laureati della Scuola veterinaria torinese

No Navegador de políticas, você pode criar um grupo de usuários chamado VPN de site à nuvem e adicioná-lo às ações da regra de política. Esse recurso de nome de grupo só

O candidato somente poderá retirar-se da sala de aplicação da prova objetiva depois de transcorridos 60 (sessenta) minutos do seu início. O candidato não

Tom Moralizante (mostrar o quanto as pessoas estão se perdendo, inclusive religiosamente, ou seja, fazer o bem para conseguir ir para.. GÊNERO DRAMÁTICO Teatro de Gil Vicente.

Esta amplitude de avaliações produzem um perfil da memória operacional da criança capaz, por exemplo, de distinguir entre os déficits nucleares de memória operacional -

As sessões de treinamento realizadas no grupo 2 (intervenção n=20) foram aplicadas cinco vezes por semana durante seis semanas e incluiu exercícios de fortalecimento da

Mais recentemente, Pereira, Faro, Stotlar, e Fonseca (2013) estudaram o percurso das 67 atletas de ginástica feminina que representaram a seleção nacional portuguesa

A imagem superior é o tiro migrado com os parâmetros de anisotropia corretos e a imagem inferior é o tiro migrado com os parâmetros de anisotropia estimados 133 Figura 70: