Professional Documents
Culture Documents
Processamento da Informao
Introduo Programao de Computadores
Introduo Programao de
Computadores Parte I
Componentes Bsicos do Computador
e de um Programa
Prof. Edson Pinheiro Pimentel
Centro de Matemtica, Computao e Cognio
Objetivos
Compreender os componentes bsicos de um
programa ...
Objetivos
Compreender os componentes bsicos de um
programa ...
Conhecer a arquitetura bsica de um
computador
Pra comear...
Pra comear...
Um dos objetivos especficos da Disciplina:
Aprender e praticar a escrita de PROGRAMAS
de computador para resolver problemas
Pra comear...
Um dos objetivos especficos da Disciplina:
Aprender e praticar a escrita de PROGRAMAS
Variveis
Entrada de Dados
Processamento
Sada
Variveis
Entrada de Dados
Processamento
Sada
O COMPUTADOR E SEUS
COMPONENTES BSICOS
HARDWARE
I - Unidade de Entrada e
Sada de Dados;
II - Memria;
IV Unidade de Controle
A Unidade Central de
Processamento (UCP)
engloba a UC e a ULA.
SOFTWARE
Tipos de Software
Software de sistema, ou sistema operacional
Windows, Linux, etc.
Tipos de Software
Software de sistema, ou sistema operacional
Windows, Linux, etc.
Software aplicativo
Tipos de Software
Software de sistema, ou sistema operacional
Windows, Linux, etc.
Software aplicativo
Tipos de Software
Software de sistema, ou sistema operacional
Windows, Linux, etc.
Software aplicativo
SOFTWARE
PROGRAMA
O PROGRAMA E SEUS
COMPONENTES BSICOS
Definio de Programa
uma sequncia de instrues (comandos) que, a partir de
dados inseridos, obtm um resultado que ser disponibilizado
por algum dispositivo de sada
Entrada
de Dados
Processamento
dos comandos de
um programa
Sada de
Dados
Definio de Programa
uma sequncia de instrues (comandos) que, a partir de
dados inseridos, obtm um resultado que ser disponibilizado
por algum dispositivo de sada
Entrada
de Dados
2+5
Processamento
dos comandos de
um programa
Sada de
Dados
Linguagens de programao
so utilizadas para a construo de
programas em computadores
Linguagem Assembler
Compilador ou
interpretador
Linguagem
de Mquina
Compilador ou
interpretador
Linguagem
de Mquina
RESUMINDO ....
Introduo Programao de
Computadores Parte II
Algoritmos do Dia-a-Dia e
Tcnica de Interpretao de Enunciado
Objetivos
Aprender a redigir rotinas comuns do dia-a-dia
forma de algoritmos
Conhecer uma tcnica para a construo de
algoritmos computacionais
Relembrando ...
O funcionamento de qualquer computador
est baseado nessa arquitetura bsica:
APRENDENDO A PROGRAMAR
COMPUTADORES:
POR ONDE COMEAR ?
ALGORITMOS
Definio de ALGORITMO
uma sequncia finita de instrues, ordenada de
forma lgica para a resoluo de uma determinada
tarefa ou problema.
O que LGICA?
No dia-a-dia dizemos que algo que
coerente, bvio, correto.
Lgica Logos
Razo
o oposto de
Isso no tem Lgica
Ica
Cincia
Silogismo - Aristteles
Um silogismo representa um argumento composto de
duas premissas e uma concluso. E estabelece uma
concluso, que pode ser vlida ou no.
Todos os peixes vivem na gua. (premissa1)
Golfinhos so peixes. (premissa 2)
.. Golfinhos vivem na gua. (concluso)
LGICA DE
PROGRAMAO
Lgica de Programao
Como pensar como um
programador ?
Falar em lgica de programao significa contextualizar
a lgica na construo de programas.
Soluo de Problemas
A habilidade mais importante para um cientista
da computao a soluo de problemas;
A soluo de problemas a habilidade de
formular questes, pensar criativamente sobre
solues possveis e expressar uma soluo de
forma clara e precisa;
E aprender a programar uma excelente
oportunidade de praticar as habilidades da
soluo de problemas.
Exemplo de Problemas
Diagnosticar a doena de um paciente a partir da
descrio dos sintomas, e medic-lo.
Criar um sistema de informao que permita gerir as
entradas/sadas (cargas/descargas) de navios em um
porto martimo.
Desenvolver um programa para controle da
movimentao de um rob.
Algoritmo
Um algoritmo uma forma de representar a
soluo de um problema por meio de uma
sequncia de passos.
So exemplos de algoritmos:
Receitas de bolos
Manuais tcnicos
Guias de montagem
Programas de computadores
EXEMPLO DE CONSTRUO
DE ALGORITMO
Problema
Sada
Sada
Passos
Passos
Dados de Entrada
Ingredientes:
5 ovos.
Passos
Processamento
Modo de Preparo
OUTRO EXEMPLO DE
ALGORITMO
Algoritmo
Quais os passos para realizar a troca de uma lmpada ?
???
???
???
???
???
???
???
Algoritmo
Quais os passos para realizar a troca de uma lmpada ?
Algoritmo
E se a lmpada no estiver queimada?
1. ???
2. ???
3. ???
Algoritmo
E se a lmpada no estiver queimada?
1.
2.
Acionar o interruptor.
Se a lmpada no acender, ento:
Pegar uma escada.
Posicionar a escada embaixo da lmpada.
Buscar uma lmpada nova.
Subir na escada.
Retirar a lmpada queimada.
Colocar a lmpada nova.
O desenvolvimento
de algoritmos um
exerccio de
Criatividade
Experincia
Entretanto, deve-se
procurar desenvolver
algoritmos que resolvam o
problema com menos
esforo e maior
objetividade.
ESCREVENDO
ALGORITMOS
Pseudolinguagem
Formalizar a
escrita de
algoritmos.
Problema
Pseudo
linguagem
se...
ento...
seno...
Escrita na
forma de
pseudocdigo.
Linguagem
de
programao
Java, C,
Pascal, etc
Linguagem
de mquina
Zeros e
uns...
Pseudolinguagem
Uma linguagem (ou pseudolinguagem) possui duas
caractersticas:
Sintaxe - como escrever os comandos e seus componentes;
Semntica - o significado de cada comando e conceito.
A sintaxe e a semntica de uma linguagem de
programao englobam vrias aes, como, por exemplo:
Declaraes de Variveis;
Operadores;
Comandos de entrada e de sada;
Comandos de seleo, repetio etc.
Bloco de Execuo
Bloco de execuo um conjunto de aes que possui
uma funo bem definida.
O incio de um bloco marcado pela palavra incio.
O fim de um bloco marcado pela palavra fim.
incio
<declarao de variveis>
<comandos>
fim
Bloco de Execuo
O prprio algoritmo um bloco de execuo. A
sintaxe da definio do bloco de um algoritmo :
Algoritmo <NomeDoAlgoritmo>
incio
<declarao de variveis>
<comandos>
fimalgoritmo.
TCNICA PARA A
CONSTRUO DE
ALGORITMOS
O que
preciso?
(Entrada)
Como chegar ao
que quero?
(Processamento)
O que
quero?
(Sada)
O que
preciso?
(Entrada)
Como chegar ao
que quero?
(Processamento)
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer.
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer.
Identificar os resultados que devem ser gerados na soluo
(sada de dados)
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer
Identificar os resultados que devem ser gerados na soluo
(sada de dados)
O resultado da soma
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer
Identificar no enunciado os dados a
serem fornecidos para o algoritmo (entrada de dados)
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer.
Identificar no enunciado os dados a
serem fornecidos para o algoritmo (entrada de dados).
Os dois nmeros.
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer.
Determinar o que deve ser feito para transformar as
entradas nas sadas desejadas (processamento).
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer.
ALGORITMO EXEMPLO
Escreva um algoritmo para somar dois nmeros quaisquer.
1.
2.
3.
4.
Leia o
Leia o
Some X
Mostre
nmero X
nmero Y
e Y
o resultado da soma
Entrada
Processamento
Sada
Nmero X
Nmero Y
Somar X e Y
Resultado
da soma
Leituras Sugeridas
FORBELLONE, A. L. V.; EBERSPACHER, H. F., Lgica de
Programao A Construo de Algoritmos e Estruturas
de Dados, Prentice Hall, 2005
CAPTULO 1 Introduo a Lgica de Programao
RESUMINDO...
EXERCCIOS DE
LGICA
Exerccio 1
Um lobo, uma cabra e uma couve tm de atravessar um rio
em um barco que transporta um de cada vez, incluindo o
barqueiro. Como o barqueiro os levar para o outro lado de
forma que a cabra no coma a couve e o lobo no coma a
cabra?
Exerccio 2
Dois homens seguiam por um caminho. Um levava 8 litros de
vinho em um garrafo e o outro levava 8 litros de vinho em
dois garrafes, um com cinco litros e um com trs.
Eles beberam o vinho do garrafo maior, de 8 litros, e agora
querem dividir os 8 litros de vinho restante igualmente, para
nenhum dos dois carregar mais peso que o outro. Entretanto,
eles s podem usar como medida, os prprios garrafes: um
de 8 litros, um de 5 e um de 3. Como fazer?
EXERCCIOS DE
ALGORITMOS
Exerccio 1
Descreva a sequncia de passos necessria para:
Exerccio 2
Descreva a sequncia de passos necessria para: