Wook.pt - Programação em Scheme

Programação em Scheme

introdução à programação utilizando múltiplos paradigmas

de Maria dos Remédios Cravo e João Pavão Martins 

25,23€
10%
Portes
Grátis
em stock
10% de desconto em CARTÃO
Em stock - Envio imediato
portes grátis
Sinopse

O livro está muito bem redigido, é de leitura agradável, tem um bom ritmo de introdução das matérias e uma boa cobertura de conceitos. Há a preocupação de apresentar os assuntos com precisão mas sem excessivo formalismo. (...) É um texto de qualidade para o ensino da programação com base no paradigma funcional, que pode também ser útil a um programador que desconheça este paradigma ou a linguagem Scheme.

Luís Monteiro
Professor Catedrático da Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa

ÍNDICE


PREFÁCIO xv

1 NOÇÕES BÁSICAS 1

1.1 Algoritmos 5

1.2 O Desenvolvimento de Programas 8

1.3 Programas em Scheme 11

1.3.1 Sintaxe e semântica 13

1.3.2 Construção de formas 15

1.4 Expressões 16

1.4.1 Constantes 16

1.4.2 Combinações 18

1.5 Avaliação de Expressões - Primeira Abordagem 23

1.6 Nomes 31

1.7 Formas Especiais 34

1.8 Resumo 35

1.8.1 Conceitos apresentados 36

1.8.2 Primitivas apresentadas 37

1.9 Exercícios 37

2 PROCEDIMENTOS COMPOSTOS 39

2.1 A Definição e Utilização de Procedimentos 41

2.1.1 Definição de procedimentos em Scheme 43

2.1.2 Aplicação de procedimentos em Scheme 44

2.1.3 Nomeação de procedimentos 45

2.1.4 Procedimentos e abstracção 46

2.2 Avaliação de Expressões - Segunda Abordagem 48

2.3 Expressões Condicionais 50

2.4 Exemplos 55

2.4.1 Cálculo de potências 55

2.4.2 Cálculo do máximo divisor comum 57

2.4.3 Cálculo do arco de tangente 60

2.5 Nomes Locais 64

2.6 Estrutura de Blocos 70

2.6.1 Nomes globais, livres e locais 77

2.7 Resumo 80

2.7.1 Conceitos apresentados 80

2.7.2 Primitivas apresentadas 80

2.8 Exercícios 81

3 PROCESSOS GERADOS POR PROCEDIMENTOS 87

3.1 Recursão Linear 89

3.1.1 Cálculo de potências 90

3.1.2 Cálculo de factoriais 91

3.1.3 Cálculo da divisão inteira 92

3.1.4 Caracterização de um processo recursivo linear 93

3.2 Iteração Linear 94

3.2.1 Cálculo de potências 94

3.2.2 Cálculo de factoriais 96

3.2.3 Cálculo da divisão inteira 97

3.2.4 Caracterização de um processo iterativo linear 98

3.3 Recursão em Processos e em Procedimentos 99

3.4 Recursão em Árvore 99

3.4.1 Os números de Fibonacci 99

3.4.2 A Torre de Hanói 105

3.5 Sequenciação 109

3.6 Ordens de Crescimento 110

3.6.1 Potência rápida 114

3.7 Resumo 115

3.7.1 Conceitos apresentados 115

3.7.2 Primitivas apresentadas 115

3.8 Exercícios 115

4 PROCEDIMENTOS DE ORDEM SUPERIOR 119

4.1 Procedimentos Como Parâmetros 122

4.1.1 Procedimentos como métodos gerais 127

4.2 Procedimentos Produzidos Por Procedimentos 130

4.2.1 Cálculo de derivadas 130

4.2.2 Raízes pelo método de Newton 132

4.3 Resumo 134

4.3.1 Conceitos apresentados 135

4.4 Exercícios 135

5 ABSTRACÇÃO DE DADOS 139

5.1 Aritmética dos Números Complexos 143

5.1.1 Complexos como procedimentos 146

5.1.2 Essência da abstracção de dados 148

5.1.3 O tipo par 149

5.1.4 Complexos como pares 154

5.2 Tipos Abstractos de Informação 155

5.2.1 Identificação das operações básicas 156

5.2.2 Axiomatização 158

5.2.3 Escolha da representação 158

5.2.4 Realização das operações básicas 158

5.2.5 Barreiras de abstracção 161

5.3 A Lista Como Tipo Abstracto 164

5.3.1 Listas simplificadas 165

5.3.2 Exemplos de utilização de listas 171

5.3.3 Listas completas 174

5.4 Funcionais Sobre Listas 179

5.5 A Árvore Como Tipo Abstracto 181

5.5.1 Operações básicas para árvores 183

5.5.2 Axiomatização 185

5.5.3 Representação de árvores 186

5.5.4 Realização das operações básicas sobre árvores 186

5.6 Ordenação Por árvore 189

5.7 Número Arbitrário de Argumentos 193

5.8 O Tipo Símbolo 195

5.9 Resumo 198

5.9.1 Conceitos apresentados 198

5.9.2 Primitivas apresentadas 199

5.10 Exercícios 199

6 O DESENVOLVIMENTO DE PROGRAMAS 209

6.1 A Análise do Problema 213

6.2 O Desenvolvimento da Solução 214

6.3 A Programação da Solução 216

6.3.1 A depuração 217

6.3.2 A finalização da documentação 219

6.4 A Fase de Testes 221

6.5 A Manutenção 223

6.6 Sumário 224

6.6.1 Conceitos apresentados 225

6.7 Exercícios 225

7 PROGRAMAÇÃO IMPERATIVA 227

7.1 Operador de Atribuição 230

7.2 O Tipo Caixa 233

7.3 Caixas Face a Variáveis 236

7.4 Métodos de Passagem de Parâmetros 236

7.4.1 Passagem por valor 237

7.4.2 Passagem por referência 237

7.5 Ordem de Execução de Instruções 239

7.6 Procedimentos Com Estado Interno 240

7.7 O Tipo Vector 242

7.8 Aplicações de Vectores 244

7.8.1 Procura 244

7.8.2 Ordenação 246

7.9 Resumo 250

7.9.1 Conceitos apresentados 251

7.9.2 Primitivas apresentadas 252

7.10 Exercícios 252

8 AVALIAÇÃO BASEADA EM AMBIENTES 257

8.1 A Noção de Ambiente 259

8.2 Criação de Procedimentos 263

8.3 Aplicação de Procedimentos 264

8.3.1 Avaliação de procedimentos simples 265

8.3.2 Avaliação com variáveis locais 270

8.3.3 Avaliação com definições internas 274

8.4 Mecanismo de Avaliação 280

8.5 Resumo 282

8.5.1 Conceitos apresentados 282

8.6 Exercícios 283

9 ESTRUTURAS MUTÁVEIS 285

9.1 Filas 287

9.1.1 Operações básicas para filas 287

9.1.2 Axiomatização 290

9.1.3 Representação de filas como listas 290

9.1.4 Realização das operações básicas 291

9.1.5 Problemas com a representação escolhida 293

9.1.6 Modificadores para pares 294

9.1.7 Filas com indicação do início e do fim 295

9.2 Pilhas 301

9.2.1 Operações básicas para pilhas 301

9.2.2 Axiomatização 304

9.2.3 Representação de pilhas 304

9.2.4 Realização das operaçoes básicas sobre pilhas 305

9.2.5 Utilização de pilhas 307

9.3 Ponteiros 310

9.4 Gestão de Memória 314

9.5 Resumo 315

9.5.1 Conceitos apresentados 316

9.5.2 Primitivas apresentadas 316

9.6 Exercícios 316

10 PROGRAMAÇÃO COM OBJECTOS 321

10.1 O Conceito de Objecto 329

10.2 Classes e Instãncias 330

10.2.1 Identidade e igualdade 331

10.3 Classes, Subclasses e Herança 333

10.4 Herança Múltipla 339

10.5 Pilhas Como Objectos 342

10.6 Resumo 345

10.6.1 Conceitos apresentados 345

10.6.2 Primitivas apresentadas 345

10.7 Exercícios 346

11 EPÍLOGO 349

11.1 Programas 352

11.1.1 Algoritmos 352

11.1.2 Linguagens 354

11.1.3 Construção de abstracções 357

11.2 Programação 360

11.2.1 Arquitectura de programas 360

11.2.2 Paradigmas de programação 361

11.2.3 Técnicas usadas em programação 365

11.2.4 Sistemas operativos 369

11.3 Notas Finais 371

A MANUAL DE SOBREVIVÊNCIA EM SCHEME 373

A.1 Obtenção do Scheme 375

A.2 Janelas e Menus 376

A.2.1 Janela de interacção 378

A.2.2 Janela de definições 379

A.2.3 Ligação entre as janelas 380

A.3 Auxílio na Depuração 380

A.3.1 Detecção da origem de erros 380

A.3.2 Rastreio de procedimentos 382

A.3.3 Interrupção da execução 385

A.4 Avaliação Por Passos 385

A.5 Informação de Ajuda 387

B ESTUDO DE UM CASO 389

B.1 Análise do Problema 391

B.1.1 O conceito de polinómio 391

B.1.2 Polinómios reduzidos 392

B.1.3 Operações a realizar 393

B.1.4 Planeamento do projecto 394

B.2 Desenvolvimento da Solução 395

B.2.1 Tipos abstractos de informação 395

B.2.2 Algoritmos 402

B.3 Programação da Solução 411

B.3.1 Representação interna dos tipos 411

B.3.2 Programa 412

B.4 Manual do Utilizador 441

B.4.1 Carregamento 441

B.4.2 Comandos disponíveis 442

B.4.3 Exemplo de interacção 443

B.4.4 Limitações 443

B.5 Testes 444

B.5.1 Testes de módulos 444

B.5.2 Testes para operações 447

C SOLUÇOES DE EXERCÍCIOS SELECCIONADOS 451

C.1 Exercícios do Capítulo 1 453

C.2 Exercícios do Capítulo 2 453

C.3 Exercícios do Capítulo 3 455

C.4 Exercícios do Capítulo 4 457

C.5 Exercícios do Capítulo 5 459

C.6 Exercícios do Capítulo 7 464

C.7 Exercícios do Capítulo 9 479

D EXEMPLOS DE PROJECTOS 487

D.1 Manipulação de Figuras Geométricas 489

D.1.1 Principais objectivos 489

D.1.2 Tipos a implementar 489

D.1.3 Duas representações para as figuras 496

D.1.4 Organização do código do projecto 497

D.1.5 Relatório 497

D.1.6 Trabalho a desenvolver 498

D.1.7 Código disponibilizado 499

D.2 Robot Explorador 502

D.2.1 Descrição do problema 502

D.2.2 Características do ambiente 502

D.2.3 Capacidades do robot 504

D.2.4 Tipos a implementar 505

D.2.5 Campeonato de robots 509

D.2.6 Relatório 510

D.2.7 Trabalho a desenvolver 510

D.3 Bases de Dados Dedutivas 510

D.3.1 Projecto 512

D.3.2 Passos a seguir 514

D.3.3 Interrogações com variáveis 515

D.3.4 Dados para teste do programa 520

REFERÊNCIAS BIBLIOGRÁFICAS 521

ÍNDICE REMISSIVO 527

Programação em Scheme
ISBN: 9789728469320Edição ou reimpressão: Editor: IST - Instituto Superior TécnicoIdioma: PortuguêsDimensões: 170 x 235 x 35 mmPáginas: 528Tipo de Produto: Livro Classificação Temática: Livros em Português > Informática > Programação
X
Coloque aqui o seu comentário
Programação em Scheme
a sua avaliação:
X
Obrigado pela sua contribuição!

O seu comentário foi enviado para validação.

Nota:
A WOOK reserva-se ao direito de não validar textos que não se foquem na análise do conteúdo do livro ou produto. Caso pretenda colocar alguma questão sobre o artigo deverá fazê-lo através do Centro de Contacto.
X
imagem
X
wook deve saber
Promoção válida para o dia 24-05-2017

Saiba mais sobre preços e promoções consultando as nossas condições gerais de venda.
X
recomendar
Programação em Scheme de Maria dos Remédios Cravo e João Pavão Martins 
Para recomendar esta obra a um amigo basta preencher o seu nome e email, bem como o nome e email da pessoa a quem pretende fazer a sugestão. Se quiser pode ainda acrescentar um pequeno comentário, de seguida clique em enviar o pedido. A sua recomendação será imediatamente enviada em seu nome, para o email da pessoa a quem pretende fazer a recomendação.

A sua identificação:

A identificação da pessoa a quem quer recomendar este titulo:

Se pretende enviar esta recomendação para mais de um endereço de e-mail, separe na caixa anterior os endereços com ",". Ex: abc@abc.pt,xyz@xyz.pt

X
A sua recomendação foi enviada com sucesso!
X
Ocorreu um erro a obter a informação! Por favor tente mais tarde.
X
alerta de artigo novamente disponível

De momento, este produto não se encontra disponível no fornecedor. Caso o mesmo volte a ficar disponível, poderemos notifica-lo, bastando para tal que nos indique o seu endereço de email.

X
O seu pedido foi registado com sucesso.
Caso este produto fique disponível, será alertado por email
X
wook deve saber
Este eBook pode ser lido em qualquer dispositivo com browser, sem necessidade de fazer o download de qualquer software ou de possuir qualquer tipo de equipamento específico de leitura.
Após a compra, o eBook é disponibilizado de imediato na sua Biblioteca Wook, onde poderá ler e organizar todos os seus eBooks e à qual poderá aceder a partir do site WOOK ou da nossa aplicação (APP).
A versão web da Biblioteca Wook está otimizada para as versões mais recentes dos browsers Google Chrome, Internet Explorer, Safari, Firefox e Edge.
Para otimizar o acesso à sua Biblioteca Wook e ter acesso à opção de leitura em modo offline (sem ligação à internet) deverá instalar a nossa APP de leitura:
X
wook deve saber
Este eBook está encriptado com DRM (Digital rights management) da Adobe e é aberto na aplicação de leitura Adobe Digital Editions (ADE) ou em outras aplicações compatíveis.
Após a compra, o eBook é de imediato disponibilizado na sua área de cliente para efetuar o download.

Para ler este eBook num computador instale a aplicação Adobe Digital Editions.
Antes de instalar o Adobe Digital Editions, veja aqui o vídeo de ajuda:
Para ler este eBook em tablet e smartphone instale a aplicação Adobe Digital Editions para IOS ou Android.
X
wook deve saber
O PDF é um formato de arquivo digital desenvolvido pela Adobe e que disponibiliza uma imagem estática das páginas do livro e, independentemente do dispositivo de leitura, não redimensiona o texto ao tamanho do ecrã do dispositivo.
X
wook deve saber
O ePUB é um formato que proporciona uma excelente experiência de leitura dado que permite o redimensionamento do texto ao ecrã do dispositivo de leitura, aumentar ou diminuir o tamanho do texto, alterar o tipo de fonte, entre outras funcionalidades
X
não encontrou wook procura?
Nós procuramos por si!

A sua identificação:

A identificação do livro que procura:

O seu pedido foi enviado com sucesso!
X
envie esta lista aos seus amigos
lista de desejos

A identificação da pessoa a quem quer enviar esta lista:

X
A sua lista de compras foi enviada com sucesso para .
X
selecione o livro adotado:
X
wook deve saber


Oferta de portes, ou devolução do valor em cartão, para Portugal continental em CTT Expresso Clássico ou Rede Pickup. 30% de desconto, ou devolução em cartão, nos envios para as ilhas dos Açores e Madeira, em CTT Expresso Clássico. Tipos de envio disponíveis para encomendas até 10 kg.

Promoção válida para encomendas de livros não escolares registadas até 31/12/2017. Descontos ou vantagens não acumuláveis com outras promoções.
X
wook deve saber


A devolução do valor dos portes de envio, em cartão Wookmais, será efetuada 18 dias após a faturação. Oferta válida para uma encomenda com entrega em Portugal.
X
wook deve saber


EM STOCK – ENVIO IMEDIATO
Se a sua encomenda for constituída apenas por produtos com esta disponibilidade e for paga até às 16 horas de um dia útil, será processada de imediato e enviada para o correio no próprio dia. Encomendas pagas após as 16 horas passarão para o processamento do dia útil seguinte. Esta disponibilidade apenas é garantida para uma unidade de cada produto e até 15 minutos após o registo da encomenda.

ENVIO ATÉ X DIAS
Esta disponibilidade indica que o produto não se encontra em stock e que demorará x dias úteis a chegar do fornecedor. Estes produtos, especialmente as edições mais antigas, estão sujeitos à confirmação de preço e disponibilidade de stock no fornecedor.

PRÉLANÇAMENTO
Os produtos com esta disponibilidade têm envio previsto a partir da data de lançamento.

DISPONIBILIDADE IMEDIATA
Tipo de disponibilidade associada aos eBooks, que são disponibilizados de imediato, após o pagamento da encomenda, na sua biblioteca.

Para calcular o tempo de entrega de uma encomenda deverá somar à disponibilidade mais elevada dos artigos que está a encomendar o tempo de entrega associado ao tipo de envio escolhido.

X
a sua lista de desejos encontra-se vazia
Adicione à sua lista de desejos todos os produtos que deseja comprar mais tarde, envie-a aos seus amigos antes do seu aniversário, Natal ou outras datas especiais - quem sabe se eles o surpreendem!
Seja informado sobre promoções destes produtos
X
Ocorreu um erro
Por favor tente novamente mais tarde.
X
atingiu o limite máximo de dispositivos autorizados
Por favor, aceda à area de cliente para gerir os dispositivos ativos.
X
Temos pena de o ver partir!
Pode voltar a subscrever as nossas newsletters a qualquer momento, na sua área de cliente em "Newsletters".
Junte-se à comunidade wook nas redes sociais:
X
wook deve saber


WOOK É O CHECKOUT EXPRESSO?
Esta modalidade de checkout permite-lhe comprar em dois cliques, seguindo diretamente para a confirmação de encomenda.

COMO FUNCIONA?
A encomenda é pré-preenchida com os dados que habitualmente utiliza - morada faturação, morada de entrega, forma de envio e tipo de pagamento. Para finalizar o processo, necessita apenas de confirmar os dados.

POSSO UTILIZAR OS MEUS VALES?
Vales e outros descontos que se encontrem no prazo de validade, serão igualmente considerados automaticamente na encomenda.

CONSIGO ALTERAR OS DADOS DA ENCOMENDA?
Sim. Antes de confirmar, tem ainda a possibilidade de alterar todos os dados e opções de compra.

EXCEÇÕES
O botão do Checkout Expresso só será visível se:
  • Selecionar previamente, na Área Cliente, as moradas habituais de envio e de faturação;
  • Associar uma conta wallet, quando a morada de envio selecionada é no estrangeiro;
  • Não incluir artigos escolares na encomenda.