Escolar Documentos
Profissional Documentos
Cultura Documentos
CONCEITOS BSICOS DE
SOLUO DE PROBLEMAS
SUMRIO
Sistemas de numerao
Sistemas computacionais
Estrutura de um computador
Sistemas operacionais
Algoritmo Introduo
Formas de representao de algoritmos
SISTEMAS
DE NUMERAO
SISTEMAS
DE
NUMERAO
BASE
NOTAO POSICIONAL
o nome dado notao usada por alguns
sistemas numricos, onde cada algarismo
tem, alm do seu valor absoluto, um valor
de posio dentro de cada nmero desse
sistema em que ele aparece.
Por exemplo, no sistema decimal:
SISTEMA
DECIMAL OU DE BASE
10
SISTEMA HEXADECIMAL
OU DE
BASE 16
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.
CONVERSO
DE
BASE
CONVERSO
DE
BASE
CONVERSO
DE BASE
CONVERSO
DE BASE
CONVERSO
BINRIO
DE
BASE
HEXADECIMAL
CONVERSO
DE
BASE
RESUMO
SISTEMAS
COMPUTACIONAIS
SISTEMAS COMPUTACIONAIS
ESTRUTURA
DE UM COMPUTADOR
ESTRUTURA
DE UM
COMPUTADOR
PROCESSADOR
Tambm chamada de microprocessador ou
unidade de processamento central (UPC ou
CPU) e responsvel pelo gerenciamento de
todas as funes do sistema.
A CPU distingue somente dois estados
fsicos, representados pelos nmeros 0 e 1
dgitos binrios.
dividida em:
MEMRIA PRINCIPAL
(RAM RANDOM ACCESS MEMORY)
a unidade encarregada de armazenar os
programas e dados ( recebidos das unidades de
entrada) para imediato processamento pela CPU.
Aps a execuo de cada instruo do programa,
a CPU armazena o resultado gerado na memria
principal.
MEMRIA PRINCIPAL
CONCEITOS: BIT, BYTE
WORD
Palavra (Word)
MEMRIA PRINCIPAL
UNIDADES DE MEDIDA
LINGUAGENS
DE
PROGRAMAO
TRADUTOR
Os computadores s podem
executar diretamente os
algoritmos expressos em
linguagem de mquina
(que um conjunto de
instrues capazes de ativar
diretamente os dispositivos
eletrnicos do computador).
Um tradutor um
programa que traduz um
algoritmo que est escrito
em uma determinada
linguagem de programao
em linguagem de mquina.
PROCESSO
DE
TRADUO
Exemplo de comando: Y = 3 + X;
Ordena que a constante 3 seja somado ao valor da
varivel X e que o resultado seja armazenado como
novo valor da varivel Y.
Obs.: Fortran e C so consideradas linguagens de
mdio nvel.
SISTEMAS
OPERACIONAIS
ALGORITMOS
ALGORITMO
O uso de algoritmos surgiu como uma forma
de indicar o caminho para a soluo dos
mais variados problemas.
Dado um problema, as principais funes de
um programador so:
ALGORITMOS
COMO
ESTUDAR
ALGORITMOS
O aprendizado de algoritmos no se
consegue a no ser atravs de muitos
exerccios.
Algoritmos no se aprendem:
Copiando algoritmos
Estudando algoritmos
Algoritmos s se aprendem:
Construindo algoritmos
Testando algoritmos
ALGORITMOS - CONCEITOS
ALGORITMOS - CONCEITOS
ALGORITMOS - CONCEITOS
ALGORITMOS - CONCEITOS
Padro de Comportamento: em todo o
evento pode-se reconhecer um padro de
comportamento, isto , cada vez que o
padro de comportamento seguido, o
evento ocorre.
Ex.: seja a seguinte descrio de uma donade-casa descasca as batatas para o jantar:
ALGORITMOS - CONCEITOS
Essa descrio pode ser usada para
descrever eventos distintos (dias diferentes,
batatas diferentes etc.).
Isso s possvel porque os eventos
possuem o mesmo padro de
comportamento.
O efeito de um evento fica totalmente
determinado pelo padro de comportamento
e eventualmente pelo estado inicial.
ALGORITMOS - CONCEITOS
ALGORITMOS - CONCEITOS
ALGORITMOS - CONCEITOS
ALGORITMOS FORMAS DE
REPRESENTAO
DESCRIO NARRATIVA
DESCRIO NARRATIVA
FLUXOGRAMA
Representao grfica de algoritmos onde
formas geomtricas diferentes implicam
aes (instrues, comandos) distintos.
Tal propriedade facilita o entendimento das
ideias contidas nos algoritmos.
FLUXOGRAMA
FLUXOGRAMA
FLUXOGRAMA
Incio
N1, N2
Mdia:=
(N1+N2)/2
Mdia
>=7
Aprovado
Reprovado
Fim
PSEUDOLINGUAGEM
PSEUDOLINGUAGEM
principal
{
<declarao_de_variveis>
<comandos>
}
PSEUDOLINGUAGEM
A seguir mostrado a representao do
algoritmo de clculo da mdia de um aluno na
forma de um pseudocdigo
principal
{
real n1, n2, media;
leia(n1, n2);
media (n1 + n2)/2;
se (media >= 7)
{
imprima(Aprovado);
}
seno
{
imprima(Reprovado);
}
}
PRXIMA AULA
Construo de programas em C
Variveis
Tipos de dados
Entrada e sada de dados
...
Windows
Dev-C++
Code::Blocks
Linux
Code::Blocks
PRXIMA AULA
P/ instalar Dev-C++
http://sourceforge.net/projects/devcpp/files/Binaries/
devcpp-4.9.9.2_setup.exe
http://sourceforge.net/projects/orwelldevcpp/file
s/Setup%20Releases/
Dev-Cpp 5.7.1 TDM-GCC x64 4.8.1 Setup.exe
Dev-Cpp 5.7.1 MinGW 4.8.1 Setup.exe
P/ instalar Code::Blocks
http://www.codeblocks.org/
linux: sudo apt-get install codeblocks
Eclipse / NetBeans