You are on page 1of 29

PROGRAMA DE FORMAO/CERTIFICAO EM

FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


OS COMPUTADORES
E A RESOLUO DE
PROBLEMAS
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Etapas de desenvolvimento de um programa:
Criao do programa-fonte (texto)
Compilao desse programa (traduo para cdigo
executvel)
Execuo do cdigo produzido
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Criao do programa
A criao dos programas-fonte se faz com o auxlio
de um editor de texto genrico.
Em geral, os arquivos de texto produzidos devero ter uma
extenso padro.
Por exemplo: .pas para serem reconhecidos automaticamente
pelo compilador como arquivos contendo cdigo fonte Pascal.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Compilao
feita pela invocao de um compilador.
Em um ambiente integrado de desenvolvimento (como o
Dev-Pascal), existe no menu um comando prprio para a
compilao.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Compilao
feita pela invocao de um compilador.
Em um ambiente integrado de desenvolvimento (como o
Dev-Pascal), existe no menu um comando prprio para a
compilao.

Se houver erros sintticos no cdigo fonte, o compilador ir


detect-los e indicar a sua localizao junto com uma breve
descrio do erro.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Compilao
feita pela invocao de um compilador.
Em um ambiente integrado de desenvolvimento (como o
Dev-Pascal), existe no menu um comando prprio para a
compilao.

Se houver erros sintticos no cdigo fonte, o compilador ir


detect-los e indicar a sua localizao junto com uma breve
descrio do erro.
Erros sintticos
so aqueles que violam
as regras de composio
(gramtica) da
linguagem
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Compilao
feita pela invocao de um compilador.
Em um ambiente integrado de desenvolvimento (como o
Dev-Pascal), existe no menu um comando prprio para a
compilao.

Se houver erros sintticos no cdigo fonte, o compilador ir


detect-los e indicar a sua localizao junto com uma breve
descrio do erro.

Erros lgicos em muitos casos s sero detectados durante a


execuo do programa.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Exemplo com erros de sintaxe:
program Soma2Numeros;
var
N1 N2, Soma: real
begin
writeln('Fornea dois nmeros');
readln(N1, N2);
Soma := N1+N2;
write('A soma entre os nmeros : ', Soma);
end;
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Exemplo com erros de sintaxe:
program Soma2Numeros;
var
N1 N2, Soma: real
begin
writeln('Fornea dois nmeros');
readln(N1, N2);
Soma := N1+N2;
write('A soma entre os nmeros : ', Soma);
end;

falta uma vrgula separando as variveis N1 e N2


PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Exemplo com erros de sintaxe:
program Soma2Numeros;
var
N1 N2, Soma: real
begin
writeln('Fornea dois nmeros');
readln(N1, N2);
Soma := N1+N2;
write('A soma entre os nmeros : ', Soma);
end;

falta uma vrgula separando as variveis N1 e N2


falta um ponto-e-vrgula depois da palavra real
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Exemplo com erros de sintaxe:
program Soma2Numeros;
var
N1 N2, Soma: real
begin
writeln('Fornea dois nmeros');
readln(N1, N2);
Soma := N1+N2;
write('A soma entre os nmeros : ', Soma);
end;

falta uma vrgula separando as variveis N1 e N2


falta um ponto-e-vrgula depois da palavra real

na ltima linha h ponto-e-vrgula no lugar do ponto final


PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


O programa sintaticamente correto seria...
program Soma2Numeros;
var
N1, N2, Soma: real;
begin
writeln('Fornea dois nmeros');
readln(N1, N2);
Soma := N1+N2;
write('A soma entre os nmeros : ', Soma);
end.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Exemplo de erro lgico...
...
readln(N1, N2);
Soma := N1*N2;
...

Ao invs da soma, o programa calcularia (e forneceria) o


produto...
Esse tipo de erro, o compilador no poderia detectar. Somente no
teste do programa, o mesmo poderia ser percebido.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Execuo do programa
Se todas essas etapas ocorrerem bem, um programa executvel
ser produzido. A execuo desse programa faz-se simplesmente
invocando-o como se fosse um comando do sistema operacional.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Execuo do programa
Se todas essas etapas ocorrerem bem, um programa executvel
ser produzido. A execuo desse programa faz-se simplesmente
invocando-o como se fosse um comando do sistema operacional.

No caso de deteco de erros, deve-se voltar edio do


programa-fonte para corrigi-los, efetuar nova compilao, e assim
sucessivamente.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


ALGORITMOS: A SOLUO DE UM PROBLEMA
POR UM CONJUNTO DE ETAPAS.

Um algoritmo um conjunto predeterminado e bem


definido de instrues (ou comandos) destinados
soluo de um problema.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


ALGORITMOS: A SOLUO DE UM PROBLEMA
POR UM CONJUNTO DE ETAPAS.

Um algoritmo um conjunto predeterminado e bem


definido de instrues (ou comandos) destinados
soluo de um problema.

segundo essa lgica que so construdos os


programas de computador.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Fazer um programa computacional , portanto, dar instrues
a uma mquina para que ela execute uma tarefa.

Isso semelhante a escrever uma receita de bolo, ou


instrues para qualquer outra coisa: montar um mvel,
instalar um equipamento eltrico, etc.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Vejamos um exemplo...
MASSA DE PIZZA
1. Dissolva 50g. de fermento em litro de gua;
2. Adicione 1 colher (sopa) de acar;
3. Adicione 1 colher (sobremesa) de sal e copo de leo;
4. Misture bem, acrescentando farinha aos poucos (1 kg
aproximadamente), at obter uma massa enxuta e macia.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Vejamos um exemplo...
MASSA DE PIZZA
1. Dissolva 50g. de fermento em litro de gua;
2. Adicione 1 colher (sopa) de acar;
3. Adicione 1 colher (sobremesa) de sal e copo de leo;
4. Misture bem, acrescentando farinha aos poucos (1 kg
aproximadamente), at obter uma massa enxuta e macia.

Para que algum consiga resolver o problema (fazer a massa),


deve executar corretamente e na seqncia especificada
as instrues dadas por um programador...
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Fazer um programa de computador algo semelhante.
Dado certo problema, definimos sua resoluo em um
conjunto de passos que possam ser expressos em comandos
de uma certa linguagem de programao.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Fazer um programa de computador algo semelhante.
Dado certo problema, definimos sua resoluo em um
conjunto de passos que possam ser expressos em comandos
de uma certa linguagem de programao.

A principal diferena o tipo de problema a ser resolvido e as


operaes de que podemos dispor.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Fazer um programa de computador algo semelhante.
Dado certo problema, definimos sua resoluo em um
conjunto de passos que possam ser expressos em comandos
de uma certa linguagem de programao.

A principal diferena o tipo de problema a ser resolvido e as


operaes de que podemos dispor.

Em geral, resolvemos problemas em computador aplicando


operaes aritmticas e lgicas nos dados de entrada para
produzir os dados de sada.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS


Pseudocdigo

Prof. Benedito Ferreira - UFPA


Forma simplificada, para fins didticos, de se descrever um
algoritmo.
Assemelha-se bastante a uma linguagem de programao mas
mais flexvel nas regras sintticas. Ex:
algoritmo Soma2Numeros
var
N1, N2, Soma: real
inicio
escreva(Fornea dois nmeros)
leia(N1, N2)
Soma N1+N2
escreva(A soma dos nmeros : , Soma)
fim
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS


Pseudocdigo

Prof. Benedito Ferreira - UFPA


Forma simplificada, para fins didticos, de se descrever um
algoritmo.
Assemelha-se bastante a uma linguagem de programao mas
mais flexvel nas regras sintticas. Ex:
algoritmo Soma2Numeros
var
N1, N2, Soma: real
inicio
escreva(Fornea dois nmeros)
leia(N1, N2)
Soma N1+N2
escreva(A soma dos nmeros : , Soma)
fim

Note que, alm de estar em portugus, no h uma


exigncia rgida de pontuao...
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


OBS:
Muitas vezes, h certa confuso entre o significado de
algoritmo e sua expresso em pseudocdigo.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


OBS:
Muitas vezes, h certa confuso entre o significado de
algoritmo e sua expresso em pseudocdigo.

Algorimo uma sequncia de comandos voltados a resolver certo


problema, independentemente da linguagem que usada para
express-la.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


OBS:
Muitas vezes, h certa confuso entre o significado de
algoritmo e sua expresso em pseudocdigo.

Algorimo uma sequncia de comandos voltados a resolver certo


problema, independentemente da linguagem que usada para
express-la.

Assim, um algoritmo poderia ser expresso em Pascal, em C, em


pseudocdigo ou at mesmo em fluxograma.
PROGRAMA DE FORMAO/CERTIFICAO EM
FUNDAMENTOS DE PROGRAMAO IMPERATIVA

OS COMPUTADORES E A RESOLUO DE PROBLEMAS

Prof. Benedito Ferreira - UFPA


Desenvolvido com software livre.

You might also like