Introdução a Algoritmo
Por: dehgraf • 13/10/2016 • Projeto de pesquisa • 18.293 Palavras (74 Páginas) • 259 Visualizações
INTRODUÇÃO A ALGORITMOS E
PROGRAMAÇÃO
FABRICIO FERRARI
fabricio@ferrari.pro.br
CRISTIAN CECHINEL
contato@cristiancechinel.pro.br
VERSÃO 2.2
Sumário
I Conceitos Preliminares 10
1 O Computador 11
1.1 Histórico dos Computadores . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Arquitetura Básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1 Unidade Central de Processamento (UCP). . . . . . . . . . . . . . 13
1.2.2 Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.3 Dispositivos de Entrada e de Saída . . . . . . . . . . . . . . . . . . 14
2 Algoritmos 15
2.1 Conceito de Algortimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Partes de Um Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Representações de um Algoritmo . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1 Fluxograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Programas de Computador . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Linguagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1 Linguagem Natural . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.2 Linguagem de Máquina e Assembler . . . . . . . . . . . . . . . . 20
2.5.3 Linguagens de Programação . . . . . . . . . . . . . . . . . . . . . 21
2.5.4 Pseudocódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
II Dados 25
3 Representação de Dados 26
3.1 Representação Interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Tipos Primitivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Constantes e Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4 Manipulação de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2
SUMÁRIO 3
3.4.1 Identificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.2 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4.3 Atribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4 Expressões 34
4.1 Expressões Aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.1.1 Precedência Geral dos Operadores Aritméticos . . . . . . . . . . . 34
4.1.2 Escrita de Operações Aritméticas . . . . . . . . . . . . . . . . . . . 36
4.1.3 Exceções em Expressões Aritméticas . . . . . . . . . . . . . . . . . 36
4.1.4 Simplificação de Expressões Aritméticas . . . . . . . . . . . . . . 37
4.2 Expressões Lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.1 Operadores Relacionais . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.2 Operadores Lógicos . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5 Comandos de Entrada e Saída 41
5.1 Saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
III Estruturas de Controle 44
6 Estruturas de Condição 45
6.1 Estrutura de Condição Simples: se-então. . . . . . . . . . . . . . . . . . . 46
6.2 Estrutura de Condição Composta: se-então-senão . . . . . . . . . . . . . . 47
6.3 Estruturas de Condição Encadeadas . . . . . . . . . . . . . . . . . . . . . 49
6.4 Estrutura de Condição caso seja . . . . . . . . . . . . . . . . . . . . . . . 50
7 Estruturas de Repetição 53
7.1 Teste no Início: enquanto-faça. . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2 Teste no Fim: faça-enquanto . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.3 Repetição com Controle: faça-para . . . . . . . . . . . . . . . . . . . . . . 55
7.4 Contadores e Acumuladores . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.4.1 Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.4.2 Acumuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
SUMÁRIO 4
IV Estrutura de Dados e Modularização 59
8 Variáveis Compostas Homogêneas 60
8.1 Vetores Unidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
8.2 Vetores Bidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8.3 Vetores Multidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9 Módulos 63
9.1 Modularização . . . . . . . . . . . . . . . . . . . . . . .
...