Aula 2
O que é um computador ?
Uma máquina programável.
O que é um algoritmo?
É um modo de resolver um problema.
O que é um programa?
Um programa é uma tradução para uma linguagem
de computador de um algoritmo que permite a resolução de
um problema. Um programa é, também, um conjunto de instruções,
escritas numa linguagem que o computador é capaz de "interpretar"
. Nestas linguagens não há ambiguidades (ao contrário
das linguagens naturais como o Português, Inglês, etc.). É necessário
expressar o programa de acordo com todas as regras da linguagem.
Como programar um computador?
Através de instruções numa linguagem de programação
(no nosso caso C++).
Como escrever o programa e ordenar ao computador que o execute?
Para escrever o programa necessitamos apenas de um editor de texto.
Para executar um programa necessitamos de um compilador da linguagem que
estamos a usar. Todas estas ferramentas estão incluídas no
ambiente de desenvolvimento que vamos usar (Visual C++).
O que é um compilador?
Um compilador é um programa que permite traduzir as instruções
na linguagem que estamos a usar para uma linguagem "executável"
pelo computador. A esta linguagem é costume chamar "linguagem-de-máquina"
ou "código-de-máquina". O código-de-máquina
é (para quase toda a gente) uma sequência ininteligível
de zeros e uns.
Como resolver um problema usando um computador?
O que é um ambiente de desenvolvimento?
Um ambiente de desenvolvimento é um programa que nos permite
criar, compilar, executar e verificar os erros do programa que estamos
a desenvolver. O ambiente de desenvolvimento que vamos usar nas aulas práticas
é o Visual C++.
Como iniciar o ambiente de desenvolvimento Visual C++?
(menu windows) Start/Programs/~MocrosoftVisualC++5.0/MicrosoftVisualC++5.0
Como escrever um programa no ambiente de desenvolvimento Visual C++?
(menu) File/New (ou clic no icone New)
(seleccionar a pasta) Files
(seleccionar a opção) C++ Source File
escrever o programa na janela de edição (não usar
acentos na escrita do programa)
(menu) File/Save (ou Ctrl-S ou clic no icone Save) - atenção: o
programa só pode ser gravado na drive H:
Como compilar um programa no ambiente de desenvolvimento Visual C++?
(menu) Build/Compile (ou Ctrl-F7)
Atenção : quando o computador perguntar se queremos
criar um projecto por defeito (em americano: "default project")
escolher "Yes".
Atenção : Nunca devem ser ignoradas
as mensagens de compilação. Uma compilação
só está correcta quando aparece a mensagem : Warnings:
0 - Errors: 0.
Como criar um executável de um programa no ambiente de desenvolvimento
Visual C++?
(menu) Build/Build (ou F7)
Como executar um programa no ambiente de desenvolvimento C++?
(menu) Build/Execute (ou Ctrl-F5 ou clic no botão assinalado
com um ´!´)
Quando é executado um programa aparece uma janela onde o programa
escreve as mensagens e de onde o programa lê os valores que necessita
para efectuar os cálculos. Em certos casos esta janela encontra-se
minimizada (i.e. aparece apenas na Toolbar no fundo do ecrã).
Modo de correcção de programas (em americano: "debug")
O modo de correcção de programas permite correr o programa
linha a linha (traçado, ou em americano: "trace") e
verificar a evolução do valor das variáveis. Esta
ferramenta é essencial para o desenvolvimento e correcção
de programas.
Como fazer iniciar o traçado do programa (i.e.executá-lo
instrução a instrução)?
Há várias maneira, a mais fácil para já
é : (menu)Build/StepOver (ou F10)
Outros comandos de interesse no modo de debug (disponíveis no menu Debug ou na Toolbar correspondente) :
Atenção : quando é executada uma instrução de entrada de dados (como por exemplo cin >> n >> m;) pode ser necessário maximizar a janela onde o programa está a correr para inserir os dados necessários para que este continue.
Atenção : quando o cursor chega à última instrução deve fazer F5 para terminar a execução do programa e voltar ao modo de edição.
Janela de vizualização das variaveis:
Quando está em modo de debug, no fundo do seu ecrã
tem uma janela onde pode acompanhar a evolução do valor de
cada uma das variáveis do programa. Esta janela é muito importante
para a compreensão do funcionamento do seu programa.
Exercicio resolvido :
// Este programa calcula o máximo divisor comum entre dois números #include <iostream> using namespace std; int main(void) { int m, n, divisor; cout << "Cálculo do máximo divisor comum de dois números" << endl; cout << "Introduza dois inteiros positivos: "; cin >> m >> n; // Assume-se que m e n são positivos! // Como um divisor é sempre menor ou igual a um número, escolhe-se // o mínimo dos dois! if(n > m) divisor = m; else divisor = n; // Neste momento sabemos que divisor >= mdc(m,n). */ while(m % divisor != 0 || n % divisor != 0) { // Se o ciclo não parou, então divisor não divide m e n, logo, // divisor != mdc(m,n) e divisor >= mdc(m,n). Ou seja, // divisor > mdc(m,n). divisor--; // Progressão. Afinal, queremos que isto acabe, não? // Neste momento, divisor >= mdc(m,n) outra vez! É o invariante do // ciclo! } // Sabemos que divisor >= mdc(m,n) (invariante do ciclo) e que // divisor divide m e n (saímos do ciclo, não foi?), mas então temos de // concluir que divisor=mdc(m,n)! cout << "O máximo divisor comum de " << m << " e " << n << " é " << divisor
<< endl; return EXIT_SUCCESS; }
1 a) Passe para o editor o programa que se encontra acima (exemplo resolvido). Ignore os comentários (um comentário é qualquer linha que começe com "//").
1.b) Compile e corra o programa.
1.c) Corra o programa linha a linha em modo de debug vendo atentamente a evolução do valor das variáveis.
1.d) Experimente fazer as seguintes alterações
Após cada alteração tente compilar e correr o programa e interprete os resultados.