mercurio
mercurio
mercurio
.mercurio
equipada com Linux, distribuição Caixa Mágica.Os alunos no final desta aula deverão ser capazes de:
Caso os alunos sintam que os objectivos não foram atingidos na totalidade deverão repetir a aula autonomamente ou recorrer aos horários de dúvidas.
ctrl-alt-del
(todas ao mesmo tempo).annnnn
,
onde nnnnn
é o seu número) e
a senha do Windows NT, atribuída pelo CIISCTE (Centro de Informática do
ISCTE). Domain
deve estar ALUNOS
.ip-iscte
do
Yahoo! (http://iscte.pt/programacao/p1/metodologia.html#O
grupo ip-iscte do Yahoo).mercurio
X-Win32
em Start/Programs/Telnet
e Outros/X-Win32/X-Win32
.mercurio
(mercurio.students.intranet
ou mercurio.iscte.pt
).Terminal
no Painel
(em baixo à esquerda, ícone é um ecrã).passwd
e prima tecla <enter>
.<enter>
.mercurio
e no Windows NT! Simplifica transferência de ficheiros
entre sistemas! Ver Acedendo aos ficheiros na
área de trabalho Linux a partir do Windows NT.mercurio
/bin/tcsh
(tcsh 6.10)K
: menu principal.Mostrar o Ecrã
: ver o espaço de trabalho sob as janelas.A Minha Área
(ícone com casa): acesso à sua pasta pessoal.Terminal
(ícone com ecrã): consola de comandos.XEmacs
(ícone com um gnu): editor de texto.Enunciados
: para ver enunciados das aulas.Programação
: para editar programas com XEmacs.Execução
: para testar programas no Terminal.Trancar o ecrã
: não o faça!Sair
: para sair da área.Casa
: equivalente ao botão A Minha Área
do Painel.Lixo:
repositório de ficheiros apagados. Esvazie-o frequentemente.IP
: páginas de Introdução à Programação.Execução
do Painel.
Surge novo ecrã virtual. Prima botão direito do rato a mini-janela
do Terminal
(ou Konsole
) na Lista de mini-janelas. Escolha
opção Para
o ecrã actual
. O Terminal
passa
para este ecrã virtual. O ecrã Enunciados
fica disponível para
enunciados das aulas. Pode pôr uma janela em cada ecrã virtual evitando
a sua sobreposição.
IP
com sub-pastas para cada aula (por exemplo, IP/Aula1
).
Cada sub-pasta contém ficheiros necessários à aula respectiva. Mantenha
a
organização existente, gravando resoluções de exercícios na
pasta da aula correspondente.
No início é mais fácil usar botões, mas é mais eficaz usar atalhos: aprenda-os.
Alguns atalhos (não os experimente agora!):
<crtl-c> <c>
: Pressionar tecla Ctrl
e tecla c
ao mesmo tempo, largar ambas as teclas e pressionar c
de novo.<crtl-x> <ctrl-f>
: Pressionar tecla Ctrl
e
tecla x
ao mesmo tempo, largar tecla x
e pressionar tecla f
sem largar Ctrl
.XEmacs
).Open
do XEmacs (ou <
ctrl-x>
<ctrl-f>,
ou menu File/Open
) e digite/complete o nome
do ficheiro com o caminho (path) completo ("~"
no caminho significa "a minha casa", e é equivalente
a /home/annnnn
). Caminho completo do ficheiro pode ser
~/IP/Aula1/nome.C
.Save
do XEmacs (ou <
ctrl-x>
<ctrl-s>,
ou menu File/Save
)..C
(o 'c' é maiúsculo), que significa "programa na linguagem
C++".Wrote : /home/annnnn/IP/nome.C
.File/Delete Buffer
(ou <
ctrl-x>
<k>
).File/Exit
(ou <
ctrl-x>
<ctrl-c>
).Quando algo correr mal, verifique se há mensagens no mini-buffer.
Atalho <ctrl-g>
cancela comando em execução. Se algo ficar
estranho, pressione <ctrl-g>
várias vezes seguidas.
ola.C
(pasta IP/Aula1
)
e copie para ele o seguinte programa C++:
Compile o programa: seleccione botão
#include <iostream>
using namespace std;
int main()
{
cout << "Olá mundo!" << endl;
}
Compile
(ou
pressione <ctrl-c> <c>
). Aparece numa caixa de
diálogo ou no mini-buffer:
Pressione
make -k 'ola'
<enter>
no mini-buffer ou o botão Compile
na caixa de diálogo.
Aparece outra janela com resultado da compilação (compilação é tradução do programa da linguagem C++ para linguagem máquina, que é a língua nativa do computador). Resultado da compilação pode incluir erros de compilação. Quando isso acontece o programa tem "pontapés na gramática" da linguagem C++. Neste caso não há erros e o resultado é
Criou o seu primeiro programa executável! Abra um
Compilation finished at ...
Terminal
e escreva:
Executou o seu primeiro programa!
cd ~/IP/Aula1
./ola
O ficheiro onde escreveu o código C++ era ola.C
e o ficheiro
executável é apenas ola
.
Percebeu para que serve a instrução cout
<< "Olá mundo!" << endl;
?
Sempre que se altera o programa C++ é necessário recompilar (antes de executar o ficheiro executável).
man
comando
num Terminal
para obter ajuda sobre comando comando
(exemplo: man
cp
).Use K/Ajuda/Centro
de ajuda para obter ajuda em
ambiente gráfico. Explore Páginas de manual Unix
e Manual
do Utilizador do KDE
.
O cartão de referência do XEmacs está disponível em PostScript e em PDF.
Use
o tutorial do XEmacs! Dentro do XEmacs, escolha no menu Help/Basics/Tutorials/English
.
Para sair da sua área Linux deve:
Sair
no Painel.Consulte as Perguntas Frequentes dos alunos de Introdução à Programação.
Em Windows NT tem acesso aos ficheiros na mercurio
. Clique
sobre o ícone Network Neighborhood
e escolha a máquina mercurio
(ou Mercurio
).
Escolha o directório com o seu nome de
utilizador. Surgem os seus ficheiros na mercurio
.
Se não funcionar garanta primeiro que a sua senha é idêntica no Windows NT e no Linux. Se continuar a não funcionar chame um docente. (Faça figas.)
ex1.C
,
que pode ser encontrado no directório ~/IP/Aula1
. Compile o
programa da seguinte forma:
Programação
.XEmacs
).Open
para abrir um ficheiro.~/IP/Aula1/ex1.C
).
Pode usar a tecla <tab>
para o XEmacs completar automaticamente
o nome do ficheiro (caso não haja outro ficheiro que comece com
as mesmas letras). Pode também usar o rato para seleccionar
os directórios seguindo o caminho até ao ponto onde se encontra
o ficheiro. Note que para seleccionar uma opção nas
janelas do XEmacs deve usar o botão do meio do rato ou, caso este
não exista, pressionar ambos os botões do rato em simultâneo.Compile
(ou pressione <crtl-c> <c>
).Compile
da caixa de diálogo que
apareceu no ecrã (ou <enter>
na janela de mensagens
do XEmacs se usou o atalho <ctrl-c> <c>
).<ctrl-c>
<
c>
e editar a
linha que surgirá na janela de mensagens.)
c++
é o compilador (programa que traduz de linguagem C++
para linguagem máquina).-Wall
é uma opção passada ao compilador que
indica que deve fazer todos os avisos possíveis acerca de possíveis
erros (Warnings all).-ansi
indica ao compilador que deve verificar se o código cumpre a norma ISO/ANSI (falaremos disso mais tarde).-pedantic
acrescentada à opção -ansi
, torna a
verificação ainda mais pedante.-g
prepara o programa em
linguagem máquina (executável) para ser executado instrução
a instrução pelo programa depurador.ex1.C
é o nome do seu ficheiro fonte, que contém
o código C++.-o ex1
indica o nome do ficheiro executável (programa em linguagem máquina).Compilation finished at ...
Para executar um programa, pode ir ao Terminal
, mudar para a pasta em que este se encontra (para isso use
o comando cd ~/IP/Aula1
) e depois escrever ./ex1
.
Pode também seleccionar o botão Debug
do XEmacs (falaremos
mais tarde em maior pormenor do modo de depuração), seleccionar
a pasta e o ficheiro que pretende executar e, quando a nova janela apresentar
a prompt (gdb)
, escrever run
. Para seleccionar
uma pasta no modo de Debug
do XEmacs deve usar o botão do
meio do seu rato, ou, caso este não exista, os dois botões
do rato em simultâneo. Opcionalmente pode pôr o cursor
em cima da pasta e pressionar <enter>
.
int m, n;
int m, n
if(n > m)
if(n > m
--divisor;
--divisor
cout << "Cálculo do .... números"
<< endl;
cout << "Cálculo do .... números
<< endl;
while(m % divisor != 0 or n % divisor !=
0)
while((m % divisor != 0 or n % divisor !=
0)
}
#include <iostream>
//#include<iostream>
cout << "Cálculo do .... números"
<< endl;
cout << "Cálculo do .... números";
Quando detecta um erro de compilação posicione o cursor
em cima da mensagem de erro e seleccione usando o botão do meio
(ou ambos os botões do rato em simultâneo). O cursor
irá saltar para o programa e posicionar-se na linha em que o compilador
detectou o erro . Normalmente não é a mesma linha em que
se encontra de facto o erro, esta é uma das coisas importantes a
notar neste exercício. Outra coisa importante é começar
a perceber que tipo de mensagem de erro é gerada quando, por exemplo,
se esquece de um ponto e virgula (;
) no fim de uma linha em que
este é necessário, e comparar o sítio onde se encontra
o erro com o local onde o compilador acha que o erro acontece.
Pode também posicionar o cursor em cima da mensagem de erro e
pressionar <enter>
para saltar para linha do programa correspondente.
Na janela do XEmacs, existe uma barra onde, entre outras informações,
pode ver em que linha do programa se encontra. Se estiver na linha 12,
por exemplo, aparecerá, sensivelmente a meio da barra um L (de Line)
seguido do número 12 (L12
).