Introdução à Programação  
Aula 02 Algoritmos e Ciclo de  
Desenvolvimento  
Edirlei Soares de Lima  
<edirlei@iprj.uerj.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  
Linguagem de Programação de Alto-Nível  
Programar em linguagem máquina é uma tarefa entediante e  
propensa a erros. Para facilitar esse processo, foram criadas  
várias linguagens de alto nível (a partir dos anos 50).  
Uma linguagem de programação serve como meio de  
comunicação entre o indivíduo que deseja resolver um  
determinado problema e o computador.  
A linguagem de programação deve fazer a ligação entre o  
pensamento humano (muitas vezes de natureza não  
estruturada) e a precisão requerida para o processamento  
pelo computador.  
Exemplos de Linguagens de Programação  
Exemplo de Programa em C  
int main(void)  
{
int a = 3, b = 7, c;  
c = a + b;  
if (c%2 == 0)  
printf("o resultado e par\n");  
else  
printf("o resultado e impar\n");  
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.  
Linguagens Compiladas  
Linguagens Interpretadas  
Ciclo de Desenvolvimento  
Programa  
de computador  
(solução)  
Resultados  
Problema  
Ciclo de Desenvolvimento  
Uma linguagem de programação auxilia o programador no  
processo de desenvolvimento de software:  
Projeto;  
Implementação;  
Teste;  
Verificação;  
Manutenção do software;  
Ciclo de Desenvolvimento  
Qual linguagem de programação escolher?  
Escolha da linguagem de programação depende da aplicação  
que será desenvolvida.  
A escolha da linguagem C nesta disciplina está relacionada a:  
Eficiência  
Facilidade de uso  
Base para muitas outras linguagens  
Apesar de antiga, ainda é muito usada  
Ciclo de Desenvolvimento  
Definição de Problemas  
Problema: Andando pelo campus do IPRJ,  
alguém lhe pergunta:  
Como faço para ir ao centro da cidade?”  
O que você responde?  
Definição de Problemas  
Faltam detalhes:  
meio de transporte  
envolve tempo e dinheiro  
endereço específico  
quando?  
envolve trajeto devido a engarrafamento  
número de pessoas  
Fica difícil responder sem saber as reais necessidades  
de quem perguntou.  
Solução de Problemas  
Objetivo: encontrar uma sequência de passos que permitam que o  
problema possa ser resolvido de maneira automática e repetitiva  
Descrição da solução (como fazer)  
Clara e não ambígua;  
Sequencial;  
Atores envolvidos  
Criador da solução;  
Executor da solução;  
Usuário da solução;  
A linguagem utilizada na solução deve ser compreendida pelo executor da  
solução.  
Solução de Problemas  
Definir o objetivo do problema  
Entender a proposta do problema  
Levantar dados sobre a situação que ele descreve  
Gerar alternativas para a solução (ideias)  
Avaliar as alternativas e chegar à solução  
Refletir acerca dessa solução  
Fazer com que ela seja entendida e aceita  
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