Introdução a Programação de Jogos  
Aula 02 – Algoritmos e Ciclo de  
Desenvolvimento  
Edirlei Soares de Lima  
<elima@inf.puc-rio.br>  
Modelo de um Computador  
Linguagem de Máquina  
•
•
Um processador executa instruções de máquina  
Instruções de máquina são muito simples, mas são executadas  
em altíssima velocidade  
•
Um conjunto típico de instruções inclui operações aritméticas,  
lógicas e de desvio  
•
Exemplo de seqüência típica de instruções:  
1
. Carregue o conteúdo da posição de memória 40 no  
registrador 1 (R1);  
2. Carregue o valor 100 no registrador 2 (R2);  
3
. Se o conteúdo de R1 for maior do que o conteúdo de R2  
prossiga com a instrução armazenada na posição de  
memória 240;  
Linguagem de Máquina  
•
•
Instruções de máquina são representadas por  
seqüências de dígitos binários  
Exemplo:  
Adicionar R1 e R2 e armazenar  
o resultado em R6  
Desviar para a instrução  
armazenada no endereço de  
memória 1024  
Linguagens de Alto-Nível  
•
•
Programar em linguagem máquina é uma tarefa  
entediante e propensa a erros  
A partir de meados dos anos 50 várias linguagens de  
alto nível foram criadas  
•
•
Possuem nível de abstração relativamente elevados  
Elas são mais próximas das linguagens utilizadas pelos  
seres humanos  
Linguagens de Alto-Nível  
•
Exemplos de linguagens de alto-nivel:  
–
–
–
–
–
–
FORTRAN (1957)  
COBOL (1960)  
PASCAL (1970)  
C (1972)  
C++ (1983)  
JAVA (1995)  
Exemplo de Programa em C  
#
include <stdio.h>  
int main(void)  
{
int numero1, numero2, resultado;  
printf(“Digite o primeiro numero: “);  
scanf(“%d”, &numero1);  
printf(“Digite o segundo numero: “);  
scanf(“%d”, &numero2);  
resultado = numero1 + numero2;  
printf(“Resultado da soma é %d”, resultado);  
return 0;  
}
Compilação  
•
•
•
•
Programas escritos em linguagens de alto nível não são  
executados diretamente pelo processador  
Antes de executá-lo é preciso traduzir os comandos de  
alto-nível para instruções de máquina  
Esta tarefa (compilação) é realizada por um programa  
chamado de compilador.  
Linguagem Compilada X Linguagem Interpretada  
Ciclo de Desenvolvimento  
Algoritmos  
•
•
•
•
Lógica de Programação é a técnica de criar sequências  
lógicas de ações para atingir determinados objetivos.  
Sequências Lógicas são instruções executadas para  
atingir um objetivo ou solução de um problema.  
Instruções são uma forma de indicar ao computador  
uma ação elementar a executar.  
Um Algoritmo é formalmente uma sequência finita de  
instruções que levam a execução de uma tarefa.  
Algoritmos  
•
Até mesmo tarefas simples, podem ser descritas por  
sequências lógicas:  
“
Chupar uma bala”  
“Somar dois números”  
1) Escreva o primeiro número no  
retângulo A.  
1
2
3
4
) Pegar a bala;  
) Retirar o papel;  
) Chupar a bala;  
) Jogar o papel no lixo;  
2
3
) Escreva o segundo número no  
retângulo B.  
) Some o número do retângulo A  
com número do retângulo B e  
coloque o resultado no retângulo C.  
Escrevendo Algoritmos  
•
Os algoritmos podem ser escritos diretamente em uma  
linguagem de programação ou simplesmente descritos  
em pseudocódigo.  
•
•
Pseudocódigo é uma forma genérica de escrever um  
algoritmo.  
Linguagens de programação são formas padronizadas  
de comunicar instruções para o computador. São  
conjuntos de regras sintáticas e semânticas usadas para  
definir um programa de computador.  
Escrevendo Algoritmos  
Processo Geral de um Algoritmo  
Entrada  
Processamento  
Saída  
•
•
Entrada: O algoritmo recebe os dados de entrada.  
Processamento: Os procedimentos para se chegar ao  
resultado final são executados.  
•
Saída: O resultado final é mostrado.  
Escrevendo Algoritmos  
•
Exemplo: “Ler duas notas e calcular a média”  
Pseudocódigo:  
Algoritmo descritivo:  
variáveis  
nota1, nota2, media : real;  
Leia a primeira nota e armazene  
ela em nota1;  
Leia a segunda nota e armazene  
ela em nota2;  
Some a nota1 com a nota2 e divida  
o resultado por 2;  
início  
escreva(“Digite a nota 1”);  
leia(nota1);  
escreva(“Digite a nota 2”);  
leia(nota2);  
Mostre o resultado;  
media = (nota1 + nota2)/2;  
escreva(media);  
fim  
Exercício  
1
) Crie um programa que faça a multiplicação  
dois números digitados pelo usuário  
a) Escreva o algoritmo de forma descritiva  
b) Escreva o algoritmo em pseudocódigo  
Exercício  
2
) Crie um programa que calcule a área de um  
triângulo  
ꢄ ∗ ℎ  
ꢁꢂꢃ =  
ꢀ
2
a) Escreva o algoritmo de forma descritiva  
b) Escreva o algoritmo em pseudocódigo