os computadores e a resoluÇÃo de problemas · fundamentos de programaÇÃo imperativa os...

29
PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EM FUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS Prof. Benedito Ferreira - UFPA OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Upload: phamhanh

Post on 20-Jan-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

OS COMPUTADORES E A RESOLUÇÃO DE

PROBLEMAS

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Etapas de desenvolvimento de um programa: Criação do programa-fonte (texto) Compilação desse programa (tradução para código executável) Execução do código produzido

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Criação do programa

A criação dos programas-fonte se faz com o auxílio de um editor de texto genérico.

Em geral, os arquivos de texto produzidos deverão ter uma extensão padrão.

Por exemplo: .pas para serem reconhecidos automaticamente pelo compilador como arquivos contendo código fonte Pascal.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Compilação

É feita pela invocação de um compilador.

Em um ambiente integrado de desenvolvimento (como o Dev-Pascal), existe no menu um comando próprio para a compilação.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Compilação

É feita pela invocação de um compilador.

Em um ambiente integrado de desenvolvimento (como o Dev-Pascal), existe no menu um comando próprio para a compilação.

Se houver erros sintáticos no código fonte, o compilador irá detectá-los e indicará a sua localização junto com uma breve descrição do erro.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Compilação

É feita pela invocação de um compilador.

Em um ambiente integrado de desenvolvimento (como o Dev-Pascal), existe no menu um comando próprio para a compilação.

Se houver erros sintáticos no código fonte, o compilador irá detectá-los e indicará a sua localização junto com uma breve descrição do erro.

Erros sintáticossão aqueles que violam as regras de composição

(gramática) da linguagem

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Compilação

É feita pela invocação de um compilador.

Em um ambiente integrado de desenvolvimento (como o Dev-Pascal), existe no menu um comando próprio para a compilação.

Se houver erros sintáticos no código fonte, o compilador irá detectá-los e indicará a sua localização junto com uma breve descrição do erro.

Erros lógicos em muitos casos só serão detectados durante a execução do programa.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Exemplo com erros de sintaxe: program Soma2Numeros;var N1 N2, Soma: realbegin writeln('Forneça dois números'); readln(N1, N2); Soma := N1+N2; write('A soma entre os números é: ', Soma);end;

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

falta uma vírgula separando as variáveis N1 e N2

Exemplo com erros de sintaxe: program Soma2Numeros;var N1 N2, Soma: realbegin writeln('Forneça dois números'); readln(N1, N2); Soma := N1+N2; write('A soma entre os números é: ', Soma);end;

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

falta uma vírgula separando as variáveis N1 e N2 falta um ponto-e-vírgula depois da palavra real

Exemplo com erros de sintaxe: program Soma2Numeros;var N1 N2, Soma: realbegin writeln('Forneça dois números'); readln(N1, N2); Soma := N1+N2; write('A soma entre os números é: ', Soma);end;

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Exemplo com erros de sintaxe: program Soma2Numeros;var N1 N2, Soma: realbegin writeln('Forneça dois números'); readln(N1, N2); Soma := N1+N2; write('A soma entre os números é: ', Soma);end;

falta uma vírgula separando as variáveis N1 e N2 falta um ponto-e-vírgula depois da palavra real na última linha há ponto-e-vírgula no lugar do ponto final

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

O programa sintaticamente correto seria... program Soma2Numeros;var N1, N2, Soma: real;begin writeln('Forneça dois números'); readln(N1, N2); Soma := N1+N2; write('A soma entre os números é: ', Soma);end.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Exemplo de erro lógico...

...

readln(N1, N2);

Soma := N1*N2;

...

Ao invés da soma, o programa calcularia (e forneceria) o produto...

Esse tipo de erro, o compilador não poderia detectar. Somente no teste do programa, o mesmo poderia ser percebido.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Execução do programa

Se todas essas etapas ocorrerem bem, um programa executável será produzido. A execução desse programa faz-se simplesmente invocando-o como se fosse um comando do sistema operacional.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Execução do programa

Se todas essas etapas ocorrerem bem, um programa executável será produzido. A execução desse programa faz-se simplesmente invocando-o como se fosse um comando do sistema operacional.

No caso de detecção de erros, deve-se voltar à edição do programa-fonte para corrigi-los, efetuar nova compilação, e assim sucessivamente.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

ALGORITMOS: A SOLUÇÃO DE UM PROBLEMA POR UM CONJUNTO DE ETAPAS.

Um algoritmo é um conjunto predeterminado e bem definido de instruções (ou comandos) destinados à solução de um problema.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

ALGORITMOS: A SOLUÇÃO DE UM PROBLEMA POR UM CONJUNTO DE ETAPAS.

Um algoritmo é um conjunto predeterminado e bem definido de instruções (ou comandos) destinados à solução de um problema.

É segundo essa lógica que são construídos os programas de computador.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Fazer um programa computacional é, portanto, dar instruções a uma máquina para que ela execute uma tarefa.

Isso é semelhante a escrever uma receita de bolo, ou instruções para qualquer outra coisa: montar um móvel, instalar um equipamento elétrico, etc.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

MASSA DE PIZZA

1. Dissolva 50g. de fermento em ½ litro de água;

2. Adicione 1 colher (sopa) de açúcar;

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.

Vejamos um exemplo...

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

MASSA DE PIZZA

1. Dissolva 50g. de fermento em ½ litro de água;

2. Adicione 1 colher (sopa) de açúcar;

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.

Vejamos um exemplo...

Para que alguém consiga resolver o problema (fazer a massa), deve executar corretamente — e na seqüência especificada — as instruções dadas por um “programador”...

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Fazer um programa de computador é algo semelhante.

Dado certo problema, definimos sua resolução em um conjunto de passos que possam ser expressos em comandos de uma certa linguagem de programação.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Fazer um programa de computador é algo semelhante.

Dado certo problema, definimos sua resolução em um conjunto de passos que possam ser expressos em comandos de uma certa linguagem de programação.

A principal diferença é o tipo de problema a ser resolvido e as operações de que podemos dispor.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Fazer um programa de computador é algo semelhante.

Dado certo problema, definimos sua resolução em um conjunto de passos que possam ser expressos em comandos de uma certa linguagem de programação.

A principal diferença é o tipo de problema a ser resolvido e as operações de que podemos dispor.

Em geral, resolvemos problemas em computador aplicando operações aritméticas e lógicas nos dados de entrada para produzir os dados de saída.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

APseudocódigo

Forma simplificada, para fins didáticos, de se descrever um algoritmo.

Assemelha-se bastante a uma linguagem de programação mas é mais flexível nas regras sintáticas. Ex:

algoritmo Soma2Numerosvar N1, N2, Soma: realinicio escreva(´Forneça dois números´) leia(N1, N2) Soma ← N1+N2 escreva(´A soma dos números é: ´, Soma)fim

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

APseudocódigo

Forma simplificada, para fins didáticos, de se descrever um algoritmo.

Assemelha-se bastante a uma linguagem de programação mas é mais flexível nas regras sintáticas. Ex:

algoritmo Soma2Numerosvar N1, N2, Soma: realinicio escreva(´Forneça dois números´) leia(N1, N2) Soma ← N1+N2 escreva(´A soma dos números é: ´, Soma)fim

Note que, além de estar em português, não há uma exigência rígida de pontuação...

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

OBS:

Muitas vezes, há certa confusão entre o significado de ”algoritmo” e sua expressão em pseudocódigo.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

OBS:

Muitas vezes, há certa confusão entre o significado de ”algoritmo” e sua expressão em pseudocódigo.

Algorimo é uma sequência de comandos voltados a resolver certo problema, independentemente da linguagem que é usada para expressá-la.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

OBS:

Muitas vezes, há certa confusão entre o significado de ”algoritmo” e sua expressão em pseudocódigo.

Assim, um algoritmo poderia ser expresso em Pascal, em C, em pseudocódigo ou até mesmo em fluxograma.

Algorimo é uma sequência de comandos voltados a resolver certo problema, independentemente da linguagem que é usada para expressá-la.

PROGRAMA DE FORMAÇÃO/CERTIFICAÇÃO EMFUNDAMENTOS DE PROGRAMAÇÃO IMPERATIVA

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Pro

f. B

ened

ito F

err

eira

- U

FP

A

Desenvolvido com software livre.