Sie sind auf Seite 1von 27

Departamento de Engenharia Rural Centro de Cincias Agrrias

Lgica e Tcnica de Programao

Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br

Aula 01
Programao de computadores
Conceitos de lgica de programao Lgica Instrues Sequncia lgica Modularizao Organizao de um computador Exerccios

Programao de computadores
Processo de:
Anlise de um problema; Projeto, escrita e teste de um

conjunto de instrues organizadas logicamente, que quando executadas produzem uma soluo para o problema analisado. O resultado da programao , adotando uma viso simplista, uma especificao de instrues denominada programa (ou software).

Programao de computadores
O programa pode ser escrito em uma linguagem

de programao (Pascal, C, Cobol, Fortran, Visual Basic, etc), embora seja possvel, com alguma dificuldade, escrev-lo diretamente em linguagem de mquina. De qualquer forma, para que o programa possa ser executado em um computador real, as instrues devem estar codificadas em linguagem de mquina (binria).

Raciocnio Lgico
Lgica a tcnica de encadear pensamentos para atingir determinado objetivo. A lgica de programao necessria para

pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequncia lgica para o desenvolvimento.

Instrues e sequncia lgica


Instrues Na linguagem comum, entendese por instrues um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Sequncia Lgica Conjunto de passos executados at atingir um objetivo ou soluo de um problema.

Lgica e Algoritmo
Assim, utilizamos a lgica de programao para

desenvolver nossas solues e os algoritmos para apresentar essas solues ao mundo. Algoritmo
Descrio das etapas de resoluo de um problema ou

a indicao ordenada de uma sequncia de aes bem definidas

Modularizao
Estratgia modular Subdiviso do problema em diversos mdulos (subproblemas), para poder analisar melhor cada rotina (separadamente) visando, assim, soluo geral da questo proposta.

Rotina 01 Bloco principal Rotina 03

Rotina 02

Rotina 04

Organizao de um computador
...1

Fonte: Wikipedia - <http://upload.wikimedia.org/wikipedia/commons/9/95/Arquiteturavn.png> Acesso em 09/08/2010

Organizao de um computador
...2

Elementos do sistema computacional


CPU Central Processing Unit Unidade Central

de Processamento. Costuma-se descrever duas unidades constituintes da CPU:


ULA Unidade Lgica e Aritmtica:

onde as operaes matemticas e avaliaes lgicas so realizadas tem por funes a busca, interpretao e controle de execuo das instrues, e o controle dos demais componentes do computador

UC Unidade de Controle:

Elementos do sistema computacional


Dispositivos de entrada e de sada: So os dispositivos (o hardware) responsveis por fornecer dados ao sistema computacional (entradas), sadas (resultados) e alguns so simultaneamente dispositivos de entrada e sada.

Exemplos

Entrada: mouse, teclado, scanner, microfone. Sada: impressora, monitor, caixas de som.

Memria Principal: Tambm chamadas de memria real, so memrias que o processador pode enderear diretamente, sem as quais o computador no pode funcionar. Estas fornecem geralmente uma ponte para as secundrias, mas a sua funo principal a de conter a informao necessria para o processador num determinado momento; esta informao pode ser, por exemplo, os programas em execuo. Nesta categoria insere-se a memria RAM (voltil), memria ROM (no voltil), registradores e memrias cache.

Elementos do sistema computacional


Memria secundria: Memrias que no podem ser endereadas diretamente, a informao precisa ser carregada em memria principal antes de poder ser tratada pelo processador. No so estritamente necessrias para a operao do computador. So geralmente novolteis, permitindo guardar os dados permanentemente. Incluem-se, nesta categoria, os discos rgidos, CDs, DVDs e disquetes.

Operaes bsicas do computador


a) operaes de entrada e sada: Ler dados do teclado e escrever dados na tela so exemplos destas operaes. Elas servem para introduzir dados na memria do nosso computador e exibir os dados que j estejam l armazenados;
b) operaes aritmticas: So utilizadas na realizao de operaes matemticas (adio, subtrao, multiplicao e diviso);

Operaes bsicas do computador


c) operaes lgicas e relacionais: Tm aplicabilidade em comparaes, testes de condies lgicas (2 > 6?; X = Y?; E, OU, NO); d) movimentao de dados entre os vrios

componentes:
Operaes aritmticas so executadas na Unidade

Lgica e Aritmtica, necessitando da transferncia dos dados para essa unidade e da volta do resultado final para ser guardado na memria.

Processamento
O computador uma ferramenta que permite a

realizao do processamento automtico (ou eletrnico) de dados. Define-se por Processamento de Dados qualquer atividade que, utilizando informaes (ou dados), efetua transformaes para obter novas informaes (ou dados) como resultado.

Processamento
Entretanto, o computador uma mquina capaz

de executar processos de acordo com regras precisamente definidas, sendo que:


Existe um repertrio finito de instrues elementares que

o computador entende e capaz de executar. Os elementos desse repertrio finito podem ser agrupados (ou programados) de modo a dar origem a um nmero infinito de combinaes.

Processamento
Exemplos de situaes semelhantes: Msica (composta pela combinao das 12 notas musicais) Representao decimal de nmeros reais (a partir de dgitos de 0 a 9)

Processamento
A tarefa desempenhada pelos computadores

apenas parte do processo de soluo de problemas, sendo todo esse processo descrito pelas seguintes etapas:
Entendimento do problema; ii. Criao de uma sequncia de operaes (ou aes) que, quando executadas, produzem a soluo para o problema; iii. Execuo desta sequncia de operaes. iv. Verificao da adequao da soluo.
i.

Processamento
As etapas de entendimento do problema, criao

de sequncia de aes e verificao da adequao da soluo so tarefas desempenhadas por pessoas. A execuo das operaes pode ser desempenhada por computadores.

Processamento
Os computadores tm a capacidade de executar

processos complicados e com grande quantidade de informaes com rapidez e confiabilidade. Utilizando recursos e estratgias adequados possvel resolver vrios tipos de problemas que vo desde simples aplicaes pessoais a sistemas cientficos complexos.

Programao Estruturada
Diversos fatores impunham dificuldades

programao:
Sofisticao e aumento da complexidade das

aplicaes; A falta de padronizao e de disciplina no estabelecimento e explicitao da lgica da soluo

Fonte de erros para os programadores

Outros fatores
Alta liberdade Cunho pessoal para cada programa Uso indiscriminado de controles de desvios no fluxo de execuo das instrues

Programao Estruturada
Na programao estruturada, os pesquisadores

argumentam que apenas trs estruturas so suficientes para explicitar a soluo de qualquer problema:
Sequncia (Estrutura Sequencial) Seleo (Deciso) Repetio (Iterao)

Oportunamente estudaremos como representar

tais estruturas em diferentes notaes para a especificao de algoritmos.

Exerccios
1) Crie uma sequncia lgica para cozinhar batatas. 2) H trs suspeitos de um crime: o cozinheiro, a governanta e o mordomo. Sabe-se que o crime foi efetivamente cometido por um ou por mais de um deles, j que podem ter agido individualmente ou no. Sabe-se, ainda que:

se o cozinheiro inocente, ento a governanta culpada; ou o mordomo culpado ou a governanta culpada, mas no os dois; o mordomo no inocente.

Logo: a) a governanta e o mordomo so os culpados b) o cozinheiro e o mordomo so os culpados c) somente a governanta culpada d) somente o cozinheiro inocente e) somente o mordomo culpado.

Exerccios
3) Qual o nmero que completa a sequncia: 1, 3, 6, 10, ...
a) 13 b) 15 c) 12 d) 11 e) 18

4) Faa a sequncia lgica para somar dois nmeros e multiplicar o

resultado pelo primeiro nmero. 5) Qual o nmero que completa a sequncia: 1, 1, 2, 3, 5, ...
a) 5 b) 6 c) 7 d) 8 e) 9

Exerccios
3) Descreva com detalhes a sequncia lgica para trocar um pneu de um

carro. 7) Num concurso de saltos, Maria foi, simultaneamente, a 13 melhor e 13 pior. Quantas pessoas estavam em competio?
a) 13
b) 25 c) 26 d) 27 e) 28

8) Bruno mais alto que Joaquim. Renato mais baixo que o Bruno.

Ento, Joaquim o mais alto dos trs.


( ) Verdadeiro ( ) Falso

9) Faa um algoritmo para trocar uma lmpada.

Referncias
FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Algoritmos estruturados. 3ed, Ed.

LTC, 1999. ISBN: 9788521611806. GUIMARES, A. M.; LAGES, N. A. C.; Algoritmos e estruturas de dados. 1ed, Ed. LTC, 1994. ISBN: 9788521603788. FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Pascal estruturado. 3ed, Ed. LTC, 1999. ISBN: 9788521611745. Velloso, F. C.; Informtica: Conceitos Bsicos. 7ed, Ed. Campus, 2004. ISBN: 9788535215366.

Das könnte Ihnen auch gefallen