Académique Documents
Professionnel Documents
Culture Documents
ALGORIMTOS
E
TCNICAS
DE
PROGRAMAO
ndice
NDICE ..............................................................................................................................................................2
1. O COMPUTADOR: HARDWARE/SOFTWARE.....................................................................................3
1.1. HARDWARE ..............................................................................................................................................3
1.1.1. Introduo .......................................................................................................................................3
1.1.2. Representao das Informaes ......................................................................................................3
1.1.3. Componentes do Hardware .............................................................................................................4
1.2. SOFTWARE ...............................................................................................................................................7
1.2.1. Introduo .......................................................................................................................................7
1.2.2. Linguagens de Programao...........................................................................................................7
1.2.3. Categorias de Software ...................................................................................................................8
2. SISTEMAS DE NUMERAO ..................................................................................................................9
2.1. INTRODUO............................................................................................................................................9
2.2. O SISTEMA BINRIO DE NUMERAO ......................................................................................................9
2.3. O SISTEMA HEXADECIMAL DE NUMERAO ..........................................................................................10
3. DESENVOLVIMENTO DE PROGRAMAS............................................................................................11
3.1. FASES PARA A SOLUO DE UM PROBLEMA:...........................................................................................11
3.2. ALGORITMOS .........................................................................................................................................11
3.2.1. Definio de Algoritmos................................................................................................................11
3.2.2. Por que precisamos de algoritmos? ..............................................................................................12
3.2.3. Caracterstica................................................................................................................................13
4. PORTUGOL................................................................................................................................................14
4.1. ESTRUTURA SEQENCIAL ......................................................................................................................14
4.2. CONSTANTES ..........................................................................................................................................14
4.3. VARIVEIS .............................................................................................................................................14
4.3.1. Identificadores...............................................................................................................................15
4.3.2. Tipos de dados...............................................................................................................................15
4.3.3. Declarao de variveis................................................................................................................16
4.3.4. Declarao de constantes..............................................................................................................16
4.4. OPERAES BSICAS .............................................................................................................................16
4.4.1. Operadores aritmticos .................................................................................................................17
4.4.2. Operadores relacionais .................................................................................................................18
4.4.3. Operadores relacionais .................................................................................................................18
4.4.3. Funes .........................................................................................................................................19
4.4.5. Prioridade de operadores..............................................................................................................19
4.5. COMANDOS DE ENTRADA E SADA .........................................................................................................20
4.5.1. Comando de entrada de dados ......................................................................................................20
4.5.2. Comando de sada de dados ..........................................................................................................21
4.6. COMANDO DE ATRIBUIO ....................................................................................................................22
4.7. ESTRUTURA CONDICIONAL ....................................................................................................................22
4.7.1. Alternativa Simples........................................................................................................................23
4.7.2. Alternativa Composta ....................................................................................................................23
4.8. ESTRUTURA DE REPETIO ....................................................................................................................24
4.9. REGRAS PRTICAS PARA A CONSTRUO DE ALGORITMOS LEGVEIS ...................................................24
4.10. EXEMPLOS DE ALGORITMOS ................................................................................................................24
1. O Computador: Hardware/Software
1.1. Hardware
1.1.1. Introduo
O computador eletrnico um recurso formado por duas partes: uma
poro fsica e uma poro lgica.
O nome tcnico que se d poro fsica do computador hardware e a
sua poro lgica software.
(lgica)
1 B..
1024 B...
1024 KB.
1024 MB
1024 GB...
1024 TB.......
1b
210B
220B
230B
240B
250B
_________________________________________________________________________
3
_________________________________________________________________________
4
Memrias
Conceitualmente, a memria um componente muito simples: um
depsito onde so guardados certos elementos para serem usados quando
desejado.
Perifricos
Os perifricos so um conjunto de elementos acessrios ao fluxo de
processamento de dados.
Perifricos de Entrada
_________________________________________________________________________
6
Perifricos de Sada
1.2. Software
1.2.1. Introduo
Praticamente de nada adianta a existncia apenas do hardware. O
hardware tem de ser encarado com um potencial de recursos a serem extrados
na medida das necessidades de seu usurio. Para que seja possvel usufruir
desse potencial necessria a parte lgica do computador: o software.
O software a parte lgica que dota o equipamento fsico de capacidade
para realizar todo tipo de trabalho. Por trs do software esto as linguagens de
programao, que so regras bsicas que permitem a melhor integrao e
buscam o timo relacionamento entre o software, o hardware e tambm o
peopleware.
_________________________________________________________________________
7
_________________________________________________________________________
8
2. Sistemas de Numerao
2.1. Introduo
O homem, atravs dos tempos, sentiu a necessidade da utilizao de
sistemas numricos.
Existem vrios sistemas numricos, dentre os quais se destacam: o sistema
decimal, o binrio, o octal e o hexadecimal.
O sistema decimal utilizado por ns no dia-a-dia e , sem dvida, o mais
importante dos sistemas numricos. Trata-se de um sistema que possui dez
algarismos, com os quais podemos formar qualquer nmero atravs da lei de
formao. Os outros sistemas, em especial o binrio e o hexadecimal, so muito
importantes nas reas de tcnicas digitais e informtica.
1 x 1000 + 5 x 100 + 2 x 10 + 4
1 x 103 + 5 x 102 + 2 x 101 + 4 x100
_________________________________________________________________________
9
3. Desenvolvimento de Programas
3.1. Fases para a soluo de um problema:
1. Definio do problema: a descrio e a delimitao adequada do
problema a ser resolvido, caracterizando-o de maneira clara e completa.
2. Desenvolvimento de um algoritmo: a descrio, geralmente dividida
em etapas, de diversas operaes que devem ser realizadas pelo
computador para resolver o problema e obter os resultados desejados.
3. Transcrio do algoritmo para uma linguagem de programao: a
codificao do algoritmo, obtendo-se um programa equivalente, de acordo
com as regras e recursos oferecidos pela linguagem.
4. Processamento do programa pelo computador: Seguindo as instrues
de um programa denominado compilador, o computador verifica a correo
sinttica do programa e o traduz para outra linguagem (linguagem de
mquina) que, em seguida, passa a controlar o computador atravs de suas
instrues, executando a resoluo do problema e obtendo os resultados
desejados.
5. Anlise dos resultados: Os resultados obtidos pelas primeiras execues
de um programa devem ser analisados, pois podem estar comprometidos
com erros de lgica.
3.2. Algoritmos
3.2.1. Definio de Algoritmos
A palavra algoritmo, primeira vista, parece-nos estranha. Embora possua
designao desconhecida, fazemos uso constantemente de algoritmos em nosso
cotidiano: a maneira como uma pessoa toma banho um algoritmo.
Definimos algoritmo como a seqncia de passos que visam atingir um
objetivo bem definido.
Os algoritmos so utilizados no dia-a-dia para a soluo dos mais diversos
problemas. Outros algoritmos freqentemente encontrados so:
instrues para utilizar um aparelho eletrodomstico;
uma receita para preparo de algum prato;
a maneira como as contas de gua, luz e telefone so calculados
mensalmente, etc.
_________________________________________________________________________
11
_________________________________________________________________________
12
3.2.3. Caracterstica
Todo algoritmo deve apresentar algumas caractersticas bsicas:
ter fim;
no dar margem dupla interpretao (no ambguo);
capacidade de receber dado(s) de entrada do mundo exterior;
poder gerar informaes de sada para o mundo externo ao do
ambiente algoritmo;
ser efetivo (todas as etapas especificadas no algoritmo devem ser
alcanveis em um tempo finito).
_________________________________________________________________________
13
4. Portugol
Durante nosso curso iremos aprender a desenvolver nossos algoritmos em
uma pseudo-linguagem conhecida como Portugol ou Portugus Estruturado.
Portugol derivado da aglutinao de Portugus + Algol. Algol o nome
de uma linguagem de programao estruturada usada no final da dcada de 50.
4.2. Constantes
Constantes so endereos de memria destinados a armazenar informaes
fixas, inalterveis durante a execuo do algoritmo.
Conforme seu tipo, a constante classificada como numrica, literal ou
lgica.
Exemplo:
4.3. Variveis
Uma varivel uma posio de memria, representada por um nome
simblico, atribudo pelo usurio, a qual contm, em um determinado momento um
valor de um determinado tipo.
O nome de uma varivel representado por um identificador.
_________________________________________________________________________
14
4.3.1. Identificadores
Representam os nomes escolhidos para rotular as variveis, constantes, novos
tipos, procedimentos, funes e conjuntos. Tudo o que pode ser nomeado em um
algoritmo deve obedecer s seguintes regras:
_________________________________________________________________________
15
_________________________________________________________________________
16
Ao
Adio
Multiplicao
Subtrao ou inversor do sinal
Diviso
Exponenciao
Operadores Especiais
div: Retorna o valor inteiro que resulta da diviso entre 2 nmeros inteiros.
mod: Retorna o resto da diviso entre 2 nmeros inteiros.
Exemplo:
Linearizao de Expresses
Para a construo de algoritmos todas as expresses aritmticas devem
ser linearizadas, ou seja, colocadas em linhas.
importante tambm ressalvar o uso dos operadores correspondentes da
aritmtica tradicional para a computacional.
Exemplo:
+
(
5
3
)
3
+1 =
Expresso Matemtica Tradicional
(2/3+(5-3))+1=
Expresso Computacional
Exemplos de prioridades:
Comparao
Maior que
Menor que
Maior ou igual
Menor ou igual
Igual
Diferente
Ao
Inverte o valor, de verdadeiro para falso e vice-versa
Retorna verdadeiro se ambas as partes forem verdadeiras
Basta que um valor seja verdadeiro para retornar verdadeiro
Tabela Verdade:
P
V
V
F
F
Q
V
F
V
F
no P
F
F
V
V
P e Q
V
F
F
F
P ou Q
V
V
V
F
Exemplos:
(2 + 5 7) e (3 3) = falso
(10+8/2=14) ou (30 - 7<10) = verdadeiro
(2+5 7) e (no(3 3)) = verdadeiro
_________________________________________________________________________
18
4.4.3. Funes
Uma funo um instrumento (subalgoritmo) que tem como objetivo
retornar um valor ou uma informao. A chamada de uma funo feita atravs
da citao do seu nome seguido opcionalmente de seu argumento inicial entre
parnteses.
As funes podem ser predefinidas pela linguagem ou criadas pelo
programador de acordo com o seu interesse.
Bibliotecas de funes armazenam um conjunto de funes que podem ser
usadas pelos programas.
_________________________________________________________________________
19
_________________________________________________________________________
20
- Se houver mais de uma varivel que queiramos exibir seu contedo devemos
usar o comando imprima da seguinte forma:
imprima(variavel1, varivel2, ..., variveln);
onde: as variveis devero vir separadas por vrgula.
- Se quisermos exibir um texto qualquer:
imprima(texto qualquer);
onde: o texto que ser exibido sempre deve vir entre aspas.
- Se quisermos exibir um texto e o contedo de uma varivel juntos, devemos usar
o comando imprima da seguinte forma:
imprima(texto , variavel);
- Se quisermos exibir o resultado do processamento de uma expresso lgica ou
aritmtica, devemos usar o comando imprima da seguinte forma:
imprima(12,5 3);
_________________________________________________________________________
21
_________________________________________________________________________
22
_________________________________________________________________________
23
_________________________________________________________________________
24
_________________________________________________________________________
25