• Nenhum resultado encontrado

definição de procedimento

No documento tutorialLogoCompleto(5) (páginas 80-112)

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 235

Sintaxe : 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

No documento tutorialLogoCompleto(5) (páginas 80-112)

Documentos relacionados