Licenciatura em Engenharia Informática e de Computadores
Fundamentos de Programação
Trabalho para casa
21 de Setembro de 2009
Este trabalho corresponde à instalação, no seu computador, do interpretador da linguagem de programação utilizada na disciplina e na realização de pequenos exercícios
relativamente à utilização dessa linguagem. O enunciado começa com as instruções para
a instalação.
1
Instalação do Scheme
A versão do Scheme utilizada na disciplina (DrScheme) é um programa de domínio
público, produzido pela “Rice University" e que pode ser obtida em:
http://download.plt-scheme.org/drscheme/
A última versão disponível do Scheme é a 4.2.1, no entanto, não será esta a versão usada
na disciplina. A versão oficial utilizada nesta disciplina – instalada nos laboratórios –
e que todos os alunos deverão usar é a versão 372. Existem alterações significativas na
versão 4, pelo que os programas escritos na versão 4 poderão não funcionar na versão
372. O projecto da disciplina será avaliado única e exclusivamente sobre a versão 372.
Para instalar o Scheme, a partir da página correspondente ao endereço mencionado (Figura 1) deverá ser seleccionada a opção Other Versions, e na janela seguinte (Figura 2)
deverá ser escolhida a versão 372. Após a selecção da versão, carregue no botão Go.
Após a escolha da versão, deverá ser escolhido o sistema operativo a utilizar (Figura 3).
Seleccione o sistema operativo do seu computador e carregue no botão Download.
Figure 1: Janela de carregamento do DrScheme.
Pág. 2 de 7
Figure 2: Escolha da versão a utilizar.
Figure 3: Escolha do sistema operativo a utilizar.
Pág. 3 de 7
Figure 4: Instruções de instalação e local de carregamento.
Após esta escolha, será apresentada uma janela em que se mostram as instruções de instalação e o local de onde será feito o carregamento (Figura 4). Escolha um dos locais
de carregamento, a Bélgica, por exemplo. O código do DrScheme será carregado no seu
computador.
Terminado o carregamento, execute as instruções que lhe foram apresentadas na janela
da Figura 4 para instalar o DrScheme no seu computador (Installation instructions).
2
Configuração da linguagem
Após a instalação, inicie o programa DrScheme. Deverá aparecer uma janela semelhante
à apresentada na Figura 5. Antes de poder utilizar o Scheme deverá configurar o nível
da linguagem. O primeiro passo a executar é a escolha do nível da linguagem a usar. Por
esta razão, antes de iniciar qualquer interacção com o Scheme, o nível de linguagem deve ser
escolhido. Nesta disciplina utilizamos o nível “Graphical (MrEd, includes MzScheme)".
No topo do écran em que aparece a janela mostrada na Figura 5 aparece uma barra de
menus, cujo aspecto depende do sistema operativo em utilização, e que se assemelha à da
Figura 6. Para configurar a linguagem, utiliza-se a entrada Language na barra de menus,
escolhendo-se a opção Choose Language....
Esta opção gera uma janela semelhante à apresentada na Figura 7, na qual se deve escolher a alternativa Graphical (MrEd, includes MzScheme).
Após escolhida a linguagem, carregue no botão Run (
rior direito da janela do Scheme.
) que aparece no canto supe-
Depois da escolha da linguagem apropriada1 , está em condições de começar a trabalhar
com o Scheme.
1
O que apenas deverá ser feito uma vez, na primeira interacção com o Scheme após o seu carregamento,
sendo esta informação registada de modo persistente pelo Scheme.
Pág. 4 de 7
Figure 5: Janela do Scheme.
Figure 6: Barra de menus e opção para a escolha do nível da linguagem.
Pág. 5 de 7
Figure 7: Escolha da opção Graphical (MrEd, includes MzScheme).
3
A janela do Scheme
A comunicação com o Scheme é feita utilizando a janela que se mostra na Figura 5:
• Na parte inferior desta janela, chamada janela de interacção, comunicamos com o
avaliador do Scheme.
Nesta janela, encontramo-nos permanentemente no ciclo lê-avalia-escreve, no qual
o Scheme lê formas, avalia-as e apresenta o resultado da avaliação.
Escrevendo nesta janela, podemos, por exemplo, gerar a interacção apresentada na
Figura 8. Nesta figura, é importante observar que uma forma pode ocupar mais do
que uma linha, tal como acontece com a forma
(+ (* 6 123)
987)
caso em que o Scheme nos mostra a forma que está a ser introduzida recorrendo à
impressão elegante.
Um dos erros típicos de principiantes corresponde ao esquecimento de fechar algum parêntesis numa forma fornecida ao avaliador, o que gera uma interacção em
que se carrega múltiplas vezes na tecla “return" e em que o Scheme não reage.
É também importante notar que, sempre que se fecha um parêntesis, o Scheme
indica qual o parêntesis a que este corresponde, realçando a forma correspondente
(última linha da Figura 8 – a qual corresponde a uma forma ainda não terminada).
A informação contida na janela de interacção pode ser guardada em ficheiros ou
impressa, utilizando as entradas adequadas do menu File da barra de menus.
• Na parte superior desta janela, chamada janela de definições, escrevemos os nossos
programas.
Nesta janela, o Scheme está activo, no sentido em que verifica o que estamos a
escrever, indicando as fronteiras de cada forma e utilizando a impressão elegante,
mas não avalia as formas que escrevemos.
Pág. 6 de 7
Figure 8: Exemplo de interacção.
A informação contida na janela de definições pode ser guardada em ficheiros, carregada de ficheiros ou impressa, utilizando as entradas adequadas do menu File da
barra de menus.
4
Trabalho a realizar
Neste primeiro trabalho de casa, deverá realizar o seguinte:
1. Instalar o Scheme no seu computador seguindo as instruções apresentadas nas
secções 1 e 2.
2. Na janela de interacção executar as seguintes acções:
(a) Avaliar a constante inteira correspondente ao seu número de aluno.
(b) Avaliar a cadeia de caracteres correspondente ao seu nome completo.
(c) Calcular a diferença entre 2009 e o seu ano de nascimento.
(d) Calcular o perímetro de um círculo com diâmetro 12, utilizando 3.14 para valor
de π.
(e) Calcular a razão entre o perímetro de um quadrado com 12 de lado e o perímetro
de um círculo com diâmetro 12.
(f) Traduzir a expressão (5 + 41) ∗ 3/2 + 1 para notação prefixa e avaliar a forma
correspondente.
(g) Traduzir a expressão 1 + 3 ∗ 2/4 − 35 ∗ 6/(7 + 89) para notação prefixa e avaliar
a forma correspondente.
3. Usando o procedimento primitivo remainder em Scheme, calcule o resto da divisão inteira do seu número de aluno por 7. O procedimento primitivo remainder
recebe 2 argumentos x e n, e devolve o resto da divisão inteira de x por n.
4. O cálculo da alínea anterior vai devolver um número entre 0 e 6. De acordo com o
número obtido, traduza para notação prefixa e avalie a expressão correspondente:
0: ((12 ∗ 5 + 2) + 7)/(5 − 3)
1: (12 ∗ 5 + 2 + 4/5 − 6)/2
Pág. 7 de 7
2: ((7 + 9 − 3 ∗ 5) ∗ 16 + 6)/8
3: (15 + 34 ∗ 10)/10 + 22
4: ((2 − 1) ∗ 88 − 2) + 6/3
5: (4 − 2 ∗ 5 ∗ (4 − 3) + 32) ∗ 2
6: 5 ∗ (3 + 5) − 19/(2 − 1) + 1
Nota: deverá avaliar apenas a expressão correspondente. Se avaliar mais de uma
expressão será penalizado.
5. Imprimir o resultado da janela de interacção contendo o seu trabalho (usando uma
fonte "monospace"). Identificar o seu trabalho, no canto superior direito, com o
seu nome e número (a não identificação correcta do trabalho corresponde a uma
penalização de 2 valores). Entregar o seu trabalho na secretaria do Departamento
de Engenharia Informática no dia 6 de Outubro, dentro do horário normal de funcionamento e antes das 15:00. Para além disso deve gerar um pdf ou um ficheiro
de texto com o resultado da janela de interacção e submeter esse ficheiro usando o
sistema fénix até dentro do prazo indicado atrás".
Boa sorte! A realização deste trabalho pode custar um bocadinho, mas vai ver que é giro.
Download

TPC1