aprenda 228
Sintaxe : aprenda nome ap nome
Descrição : inicia a definição de um procedimento nome. É usado no modo Editor do LOGO. O nome escolhido para o procedimento deve iniciar com uma letra, e caso tenha mais que 15 caracteres serão considerados somente os 15 primeiros.
Exemplo : >ap andar >tat andar
>pf 50 >
>fim
fim 229
Sintaxe : fim
Descrição : finaliza a definição de um procedimento.
Exemplo : >aprenda casa >esc “casa >fim
defina 230
Sintaxe: defina nome lista
Descrição: define um procedimento com nome e um texto com lista. Se já existe um procedimento com nome, esta nova definição substitui a anterior. Em
lista deve ser definido uma lista cujos elementos são sub-listas. O
primeiro elemento deve ser uma sub-lista de entradas, ou seja, palavras para os nomes das entradas requeridas. As demais sub-listas deverão ser parte do corpo do procedimento onde cada sub-lista é uma linha do corpo do procedimento.
Exemplo: >defina “tarefa [[a b][escreva :a][escreva :b]] >tarefa “música “dança
música dança >
texto 231
Sintaxe: texto nome
Descrição: retorna a lista do procedimento nome na forma esperada por defina: uma lista de listas, onde a primeira sub-lista é o nome do procedimento e o resto são sub-listas do corpo do procedimento. O texto não reflete informações dos formatos usados quando o procedimento foi definido, tal como linhas de continuação e espaços extras.
Exemplo: >defina “tarefa [[a b][escreva :a][escreva :b] >tarefa “música “dança
música dança
>mostre texto “tarefa
[[a b][escreva :a][escreva :b]] >
todotexto 232
Sintaxe: todotexto nome
Descrição: retorna uma representação do procedimento especificado por nome em que são preservadas as informações de formatação. Se o procedimento foi definido com aprenda, edite ou carregue, então a saída será uma lista de palavras. Cada palavra representa uma linha inteira da definição na forma retornada por leiapalavra, incluindo espaços extras e continuações de linhas. O último elemento da saída representa o final da linha. Se o procedimento foi definido com defina, então a saída será uma lista de listas. Se estas listas forem impressas, uma por linha, o resultado vai parecer com a definição usando aprenda. Nota: a saída de todotexto não é adequada para ser usada como entrada de defina.
Exemplo: >defina “nom [[a b][esc :a][esc :b]] >nom “maria “aparecida
>maria >aparecida
>mostre todotexto “nom
[[aprenda nom :a :b][esc :a][esc :b]fim] >
copie 233
Sintaxe: copie nome1 nome2
Descrição: faz de nome1 um procedimento idêntico a nome2.
nome2: deve ser uma primitiva e, se o nome1 já tiver sido definido, sua
definição anterior será perdida.
Exemplo: >aprenda chegada >escreva “Olá >fim
>chegada Olá
>copie “resposta “chegada >resposta Olá >
definição de variáveis
234
atribua 235Sintaxe : atribua palavra objeto atr palavra objeto
Descrição: define uma variável designada por palavra e com conteúdo objeto.
Exemplo : >atr “cão [boxer pastor] >mostre :cão
[boxer pastor] >atr “nome “carmen >esc :nome
carmen >
coloque
236
Sintaxe: coloque objeto palavra col objeto palavra
Descrição : define uma variável denominada por palavra com conteúdo objeto.
Esse comando é análogo à primitiva atribua.
Exemplo: >coloque “teresa “nome
>col [azul branco verde ] “cores >esc :nome
teresa
>mostre :cores
[azul branco verde] >
local 237
Sintaxe: local objeto
(local objeto1 objeto2...)
Descrição: aceita como entrada uma ou mais palavras, ou uma lista de palavras. Uma variável é criada para cada uma dessas palavras, com a própria palavra como nome. As variáveis são locais para o procedimento correntemente executado; uma variável que é local para um procedimento é válida para qualquer sub-procedimento invocado por este procedimento. As variáveis criadas por local não tem valor inicial; deve- se atribuir a elas um valor (usando atribua) antes que o procedimento faça uma tentativa de ler seus valores.
Exemplo: >aprenda inicia
>atribua “contador 1 >escreva :contador >fim >inicia 1 >mostre :contador 1 >aprenda inicia2 >local “soma >atribua “soma 10 >escreva :soma >fim >inicia2 10 >mostre :soma
=>soma não tem valor >
conteúdo 238
Sintaxe : conteúdo palavra
Descrição : retorna o conteúdo da variável especificada por palavra.
Exemplo : >coloque [maria helena] “mulher >mostre conteúdo “mulher
[maria helena] >
listas de propriedades
239
coloqueprop 240
Sintaxe: coloqueprop palavra1 palavra2 número
Descrição: adiciona uma propriedade para a lista de propriedades definida em
palavra1 com o nome definido em palavra2 e conteúdo definido em número.
Exemplo: >coloqueprop “lista1 “p1 1 >coloqueprop “lista1 “p2 2 >coloqueprop “lista2 “p1 10 >coloqueprop “lista2 “p2 20 >mostre prop “lista1 “p2 2
>mostre prop “lista1 “p1 1
>mostre prop “lista2 “p1 10
>mostre prop “lista2 “p2 20
>
propriedade 241
Sintaxe: propriedade palavra1 palavra2 prop palavra1 palavra2
Descrição: retorna o valor da propriedade palavra2 na lista de propriedades palavra1, ou uma lista vazia caso não exista tal propriedade.
Exemplo: >coloqueprop “lista1 “p1 1 >coloqueprop “lista1 “p2 2 >coloqueprop “lista2 “p1 10 >coloqueprop “lista2 “p2 20 >mostre prop “lista1 “p2 2
>mostre prop “lista1 “p1 1
>mostre prop “lista2 “p1 10
>mostre prop “lista2 “p2 20
>
retireprop 242
Sintaxe: retireprop palavra1 palavra2
Descrição: remove a propriedade palavra2 da lista de propriedades palavra1.
Exemplo: >coloqueprop “lista1 “p1 1 >coloqueprop “lista1 “p2 2 >mostre listaprop “lista1 [p2 2 p1 1]
>retireprop “lista1 “p1 >mostre listaprop “lista1 [p2 2]
>
listaprop 243
Sintaxe: listaprop palavra
Decsrição: retorna uma lista cujos elementos ímpares são nomes e os elementos pares são valores da lista de propriedades palavra.
Exemplo: >coloqueprop “lista1 “p1 1 >coloqueprop “lista1 “p2 2 >mostre listaprop “lista1 [p1 1 p2 2]
predicados
244
éprocedimento 245
Sintaxe : éprocedimento objetoe éproc objetoe
Descrição : retorna a palavra verd sempre que o objeto for um procedimento na área de trabalho. Caso contrário, retorna a palavra falso.
Exemplo: >esc éprocedimento “casa
verd (caso a área de trabalho contenha um procedimento denominado casa)
>
éprimitiva 246
Sintaxe : éprimitiva objetoe éprim objetoe
Descrição : retorna a palavra verd sempre que o objeto for uma primitiva LOGO. Caso contrário, retorna a palavra falso.
Exemplo: >esc éprimitiva “espere verd
>coloque “tat “apelido >esc éprim :apelido verd
>esc éprim 6 falso
>
édefinido 247
Sintaxe: édefinido objetoe édef objetoe
Descrição: retorna verd se objeto for um procedimento definido pelo usuário através do comando defina.
Exemplo: >defina “abc [[a b][esc :a][esc :b]] >mostre édefinido “cab
falso
>mostre édefinido “abc verd
énome 248
Sintaxe : énome objeto
Descrição : retorna verd se a entrada definida em objeto for o nome de uma variável. Caso contrário, retorna falso.
Exemplo : >coloque [Henrique] “pessoa >esc énome “pessoa
verd
>defina “abc [[a b][esc :a][esc :b]] >esc énome “abc
falso >
questões
249
desenterrados 250
Sintaxe: desenterrados
Descrição: retorna uma lista com três sublistas contendo os nomes de procedimentos, variáveis e listas de propriedades respectivamente. Esta lista inclui todos os ítens desenterrados que estão na área de trabalho.
Exemplo: >eltudo >aprenda processo >fim >atribua “nome1 1 >coloqueprop “propriedade1 “p1 1 >mostre desenterrados [[processo][nome1][propriedade1]] > enterrados 251 Sintaxe: enterrados
Descrição: retorna uma lista com três sub-listas contendo os nomes de procedimentos, variáveis e listas de propriedades respectivamente. Esta lista inclui todos os ítens enterrados que estão na área de trabalho.
Exemplo: >mots
>mostre enterrados [[mots][][]]
Obs.: poderá retornar outros ítens
dependendo do que já foi retornado.
procedimentos 252
Sintaxe: procedimentos proc
Descrição: retorna uma lista com os nomes de todos os procedimentos desenterrados e definidos pelo usuário que estão na área de trabalho. Note que isto é uma lista de nomes, não uma lista de conteúdo. Procedimentos que requerem uma lista de conteúdo como entrada aceitam esta lista.
Exemplo: >eltudo >aprenda rotina >fim >aprenda programa >fim >mostre procedimentos [programa rotina] > nomes 253 Sintaxe: nomes
Descrição: retorna uma lista que contém a primeira sub-lista vazia (sem nenhum nome de procedimento), seguida de uma sub-lista de todos os nomes de variáveis desenterradas que estão na área de trabalho.
Exemplo: >eltudo >atribua “nota2 20 >atribua “nota1 10 >mostre nomes [[][nota1 nota2]] > listaprops 254 Sintaxe: listaprops
Descrição: retorna uma lista que contém duas sub-listas vazias (sem indicar procedimentos e/ou variáveis) seguida de uma sub-lista de todas as listas de propriedades desenterradas que estão na área de trabalho.
Exemplo: >coloqueprop “lista1 “p1 1 >mostre listaprops
listanomes 255
Sintaxe: listanomes objetoe lnomes objetoe
Descrição: retorna uma lista que contém a primeira sub-lista vazia seguida de uma sub-lista com o(s) nome(s) na ordem de entrada. Isto é útil em conjunto com procedimentos de controle da área de trabalho que requerem uma lista de nomes como entrada.
Exemplo: >mostre listanomes [nota2 nota1] [[][nota2 nota1]]
>
listalistaprops 256
Sintaxe: listalistaprops objetoe llistaprops objetoe
Descrição: retorna uma lista que contém duas sub-listas vazias seguidas por uma sub-lista com o(s) nome(s) definidos como entrada. Isto é útil em conjunto com procedimentos de controle da área de trabalho que requerem uma lista de listas de procedimentos como entrada.
Exemplo: >mostre listalistaprops [gato vaca] [[][][gato vaca]]
>
inspeção
257
motudo 259
Sintaxe : motudo
Descrição : exibe na tela todas as definições que estão na área de trabalho.
Exemplo : >eltudo >aprenda semana1 >escreva “segunda >fim >motudo aprenda semana1 escreva “segunda fim >
mops 260
Sintaxe : mops
Descrição : retorna todas as definições dos procedimentos desenterrados que estão na área de trabalho. (mops: abreviatura de mo procedimentos).
Exemplo : >eltudo >aprenda semana2 >escreva “terça >fim >mops aprenda semana2 escreva “terça fim > mons 261 Sintaxe : mons
Descrição: exibe na tela todas as definições dos nomes de variáveis desenterradas que estão na área de trabalho. (mons: abreviatura de mo nomes).
Exemplo: >atribua “nota3 3 >mons
atribua “nota3 3 >
molprops 262
Sintaxe: molprops
Descrição: exibe na tela todas as definições das listas de propriedades desenterradas que estão na área de trabalho. (molprops: abreviatura de mo listaprops).
Exemplo: >coloqueprop “lista3 “p3 3 >molprops
coloqueprop “lista3 “p3 3 >
mon 263
Sintaxe: mon objeto
Descrição: exibe na tela a(s) definição(ões) do(s) nome(s) da(s) variável(eis) especificada(s) em objeto. Objeto pode ser uma lista ou uma palavra.
Exemplo: >atribua “nota1 10 >atribua “nota2 20 >mon [nota1 nota2] atribua “nota1 10 atribua “nota2 20 >
molprop 264
Sintaxe: molprop objeto
Descrição: exibe na tela a(s) definição(ões) da(s) lista(s) de propriedade(s) especificada(s) em objeto, o qual pode ser uma lista ou uma palavra..
Exemplo: >coloqueprop “lista1 “p1 1 >molprop [lista1]
coloqueprop “lista1 “p1 1 >
mot 265
Sintaxe: mot objeto
Descrição: exibe na tela as linhas de título dos procedimentos e as definições das variáveis e lista de propriedades especificadas em objeto. Objeto pode ser desenterrados, enterrados, procedimentos, nomes ou listaprops.
Exemplo: >eltudo >aprenda curso >fim >mot procedimentos aprenda curso >
mots 266
Sintaxe : mots
Descrição : exibe na tela todos os títulos dos procedimentos desenterrados existentes na área de trabalho. Exemplo : >eltudo >aprenda curso1 >fim >mots aprenda curso1 >
controle de espaço de trabalho
267
elimine 268
Sintaxe : elimine objeto el objeto
Descrição : elimina da área de trabalho o procedimento especificado em objeto, o
qual pode ser um nome ou uma lista.
Exemplo: >eltudo >aprenda quadrado >fim >aprenda janela >fim >mops aprenda janela fim aprenda quadrado fim >elimine [janela] >mops aprenda quadrado fim >
eltudo 269
Sintaxe : eltudo
Descrição: elimina todos os procedimentos, variáveis ou propriedades definidas na área de trabalho. (eltudo: abreviatura de elimine tudo).
Exemplo : >eltudo >aprenda janela >fim >aprenda bola >fim >mops aprenda bola fim aprenda janela fim >eltudo >mops > elps 270 Sintaxe : elps
Descrição: elimina todos os procedimentos definidos na área de trabalho. (elps: abreviatura de elimine procedimentos).
Exemplo : >eltudo >aprenda quadrado >fim >aprenda triângulo >fim >mots aprenda quadrado aprenda triangulo >elps >mots > elns 271 Sintaxe : elns
Descrição: elimina todos os nomes (variáveis) existentes na área de trabalho. (elns: abreviatura de elimine nomes).
Exemplo : >coloque 1 “n1 >coloque 2 “n2 >elns
>esc :n1
n1 não tem valor >esc :n2
n2 não tem valor >
ellprops 272
Sintaxe: ellprops
Sintaxe: elimina todas as listas de propriedades da área de trabalho que não foram enterradas. (ellprops: abreviatura de elimine listas de propriedades).
Exemplo: >coloqueprop “listap1 “p1 1 >molprops coloqueprop “listap1 “p1 1 >ellprops >molprops > eln 273
Sintaxe : eln objeto
Descrição: elimina o nome (variável) definido em objeto da área de trabalho. (eln: abreviatura de elimine nome).
Exemplo : >coloque 1 “n1 >coloque 2 “n2 >esc :n1 1 >eln “n1 >esc :n1
n1 não tem valor >
Ellprop 274
Sintaxe: ellprop objeto
Descrição: elimina da área de trabalho as listas de propriedades definidas em objeto. (ellp: abreviatura de elimine lista de propriedade).
Exemplo: >coloqueprop “listap1 “p1 1 >coloqueprop “listap2 “p1 2 >molprops coloqueprop “listap1... coloqueprop “listap2... >ellprop [listap2] >molprops coloqueprop “listap1... > enterre 275
Sintaxe: enterre objeto
Descrição: enterra os procedimentos, variáveis e listas de propriedade definidos en
objeto na lista. Um ítem enterrado não é incluído nas listas de retorno
conteúdos, procedimentos,variáveis e listas de propriedades, mas é incluído na lista de retorno enterrados. Portanto, ítens enterrados não são impressos por motudo ou gravados por salve.
Exemplo: >aprenda tempo
>escreva [o dia está sol] >fim
>aprenda semana
>escreva [domingo é dia de festa] >fim >mots aprenda semana aprenda tempo >enterre “tempo >mots aprenda semana >tempo
o dia está sol >
enterretudo 276
Sintaxe: enterretudo
Descrição: enterra todos os procedimentos, variáveis e listas de propriedades definidos na área de trabalho.
Exemplo: >eltudo
>aprenda casa
>escreva [A casa é amarela] >fim
>aprenda escola
>escreva [A escola é verde] >fim >mots aprenda casa aprenda escola >enterretudo >mots >casa A casa é amarela >escola A escola é verde > enterrenome 277
Sintaxe: enterrenome objeto
Descrição: enterra a variável definida em objeto.
Exemplo: >atribua “x 10 >atribua “y 20 >mons atribua “x 10 atribua “y 20 >enterrenome [x] >mons atribua “y 20 >mostre :x 10 >mostre :y
20 >
desenterre 278
Sintaxe: desenterre lista
des lista
Descrição: desenterra os procedimentos, variáveis e listas de propriedade especificadas em objeto. Isso implica que os ítens especificados volatarão a ser vistos em conteúdo, etc.
Obs.: o parâmetro lista é formado de sub-listas onde a primeira sub- lista representa procedimentos; a segunda sub-lista representa variáveis e a terceira sub-lista representa lista de propriedade.
Exemplo: >eltudo >atribua “nota1 10 >atribua “nota2 20 >mons atribua “nota1 10 atribua “nota2 20 >enterrenome “nota1 >mons atribua “nota2 20 >des [[][nota1][]] >mons atribua “nota1 10 atribua “nota2 20 > destudo 279 Sintaxe: destudo
Descrição: desenterra todos os procedimentos, variáveis e listas de propriedades que foram enterradas. Exemplo: >eltudo >atribua “Carlos 10 >atribua “Paulo 20 >mons atribua “carlos 10 atribua “Paulo 20 >enterrenome “Carlos >mons atribua “Paulo 20 >destudo >mons atribua “Carlos 10 atribua “Paulo 20 >
desnome 280
Sintaxe: desnome objeto
Descrição: desenterra todos os nomes (variáveis) especificadas em objeto que foram enterradas através do comando enterrenome.
Exemplo: >eltudo >atribua “meninas 10 >atribua “meninos 12 >mons atribua “meninas 10 atribua “meninos 12 >enterrenome [meninas] >mons atribua “meninos 12 >desnome [meninas] >mons atribua “meninas 10 atribua “meninos 12 > rastreie 281
Sintaxe: rastreie objeto
Descrição: marca os ítens especificados para rastrear. Sempre que um procedimento rastreado é executado uma mensagem é impressa, dando os valores atuais de entrada. Uma mensagem é impressa sempre que um valor é associado a uma variável rastreada (usando atribua) ou sempre que uma nova propriedade é atribuída a uma lista de propriedades rastreada.
Exemplo: >aprenda meuprog :a >escreva :a >fim >meuprog “saldo saldo >rastreie “meuprog >meuprog “saldo (meuprog “saldo) saldo meuprog parado >nãorastreie “meuprog >meuprog “saldo saldo
nãorastreie 282
Sintaxe: nãorastreie objeto
Descrição: desliga o rastreamento para os objetos especificados.
Exemplo: >aprenda rotina :a >escreva :a >fim >rotina “saldo saldo >rastreie “rotina >rotina “saldo
retorna mensagem: (rotina “saldo) saldo >nãorastreie “rotina >rotina “saldo saldo > passoapasso 283
Sintaxe: passoapasso objeto
Descrição: marca o objeto especificado para visualização passo-a-passo. Sempre que um procedimento com passoapasso é chamado, cada linha de instrução do procedimento é impressa antes de ser executada e o LOGO espera o usuário pressionar a tecla <enter> para prosseguir com a execução.
Exemplo: >aprenda rot >pf 50 >pd 90 >pt 50 >pe 90 >fim >rot >passoapasso “rot >rot
=>cada linha a ser executada será mostrada e aguardará <enter> para executar a próxima linha.
>nãopassoapasso “rot >rot
nãopassoapasso 284
Sintaxe: nãopassoapasso objeto
Descrição: desliga passoapasso para os objetos especificados.
Exemplo: >aprenda roti >pf 50 >pd 90 >pt 50 >pe 90 >fim >roti >passoapasso “roti
=>cada linha a ser executada será mostrada e aguardará <enter> para executar a próxima linha. >roti >nãopassoapasso “roti >roti > edite 285
Sintaxe: edite objeto ed objeto
Descrição: edita a definição do objeto especificado usando o editor do LOGO.
Exemplo: >aprenda quadra >tat
>repita 4 [pf 180 pd 190] >fim
>quadra
>edite “quadra
=>mude 190 por 90 e finalize edição >quadra
>
edtudo 286
Descrição: edita todo o conteúdo da área de trabalho.
Exemplo: >aprenda desenho >atribua “x “círculo >tat repita 4 [pf 100 pd 90] >pd 45 un pf 30 rotule :x ul >fim >desenho >edtudo
=>troque “círculo por “quadrado e finalize edição.
>desenho >
edps 287
Sintaxe: edps
Descrição: edita todos os procedimentos da área de trabalho. (edps: abreviatura de: edite procedimentos).
Exemplo: >eltudo
>aprenda tempo
>escreva [dia de sol] >fim >aprenda semana >escreva “segunda >fim >tempo dia de sol >semana segunda >edps
=>troque sol por chuva
=>troque segunda por domingo =>finalize edição
>tempo
dia de chuva >semana
edns 288
Sintaxe: edns
Descrição: edita todos os nomes da área de trabalho. (edns: abreviatura de: edite nomes).
Exemplo: >aprenda tri
>tat repita 3 [pf 300 pd 120] >pd 150 un pf 50 rotule :x ul >fim >atribua “x “quadrado >tri >edns
=>mude quadrado por triângulo e finalize edição
>tri >
edlprops 289
Sintaxe: edlprops
Descrição: edita todas as listas de propriedades da área de trabalho. (edlprops: abreviatura de: edite lista de propopriedades).
Edn 290
Sintaxe: edn objeto
Descrição: edita o nome definido em objeto. (edn: abreviatura de: edite nome).
Exemplo: >aprenda cores >escreva :cor >fim
>atribua “cor “amarelo >cores
amarelo >edn “cor
=>mude amarelo por vermelho e finalize edição.
vermelho >
edlprop 291
Sintaxe: edlprop objeto
Descrição: edita a lista de propriedade definida em objeto. (edlprop: abreviatura de: edite lista de propriedade).
Salve 292
Sintaxe: salve nome-arquivo
Descrição: salva as definições de todos procedimentos, variáveis e listas de propriedade não enterrados no nome-arquivo especificado.
Exemplo: >eltudo >aprenda aula >escreva “matemática >fim >aprenda esporte >escreva “natação >fim >mots aprenda aula aprenda esporte >salve “programas.lg >eltudo >mots >carregue “programas.lg >mots aprenda aula aprenda esporte > salvelista 293
Sintaxe: salvelista lista nome-arquivo salvel lista nome-arquivo
Descrição: salva em nome-arquivo as definições dos procedimentos, variáveis e listas de propriedade de acordo com os parâmetros da lista. Esta lista contém 3 sub-listas onde na primeira sub-lista são especificados os procedimentos, na segunda sub-lista são especificados as variáveis e na terceira sub-lista são especificadas as listas de propriedades.
Exemplo: >eltudo >aprenda rotina1 >escreva “primeiro >fim >aprenda rotina2 >escreva “segundo >fim >mots aprenda rotina1 aprenda rotina2
>salvel [[rotina1][][]] “rots.lg >eltudo >mots >carregue “rots.lg >mots aprenda rotina1 > carregue 294
Sintaxe : carregue nome-arquivo
Descrição : carrega nome-arquivo do disco para a área de trabalho.
Obs.: O usuário deve indicar o caminho do arquivo, ou seja, o drive em que se localiza o disco de trabalho.
Exemplo : >eltudo