Table Of Content3ª edição
Fundamentos da
PROGRAMAÇÃO de
COMPUTADORES
ALGORITMOS, PASCAL, C/C++ (PADRÃO ANSI) E JAVA
00 asc0711_iniciais BR.indd 1 4/26/12 1:29 PM
00 asc0711_iniciais BR.indd 2 4/26/12 1:29 PM
Ana Fernanda Gomes Ascencio
Edilene Aparecida Veneruchi de Campos
3ª edição
Fundamentos da
PROGRAMAÇÃO de
COMPUTADORES
ALGORITMOS, PASCAL, C/C++ (PADRÃO ANSI) E JAVA
São Paulo
Brasil Argentina Colômbia Costa Rica Chile Espanha
Guatemala México Peru Porto Rico Venezuela
00 asc0711_iniciais BR.indd 3 11/01/2013 12:02:09
©2012 by Ana Fernanda Gomes Ascencio e Edilene Aparecida Veneruchi.
Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou transmitida
de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, incluindo fotocópia,
gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de informação,
sem prévia autorização, por escrito, da Pearson Education do Brasil.
Diretor editorial: Roger Trimer
Gerente editorial: Sabrina Cairo
Editor de aquisição: Brunno Barreto
Coordenadora de produção editorial: Thelma Babaoka
Editora de texto: Sabrina Levensteinas
Preparação: Maria Alice da Costa
Revisão: Luciane Gomide
Capa: Alexandre Mieda
Diagramação: Globaltec Editorial & Marketing
Dados Internacionais de Catalogação na Publicação (CIP)
(Câmara Brasileira do Livro, SP, Brasil)
Ascencio, Ana Fernanda Gomes
Fundamentos da programação de computadores : algoritmos,
PASCAL, C/C++ (padrão ANSI) e JAVA / Ana Fernanda Gomes
Ascencio e Edilene Aparecida Veneruchi de Campos . -- 3. ed. -- São
Paulo : Pearson Education do Brasil, 2012.
Bibliografia
ISBN 978-85-64574-16-8
1. Algoritmos 2. Programação (Computadores eletrônicos) I.
Campos, Edilene Aparecida Veneruchi de. II. Título.
11-11938 CDD-005.1
Índices para catálogo sistemático:
1. Computadores : Programação 005.1
2. Programação de computadores :
Processamento de dados 005.1
31aa rreeiimmpprreessssããoo –– jjaanneeiirroo 22001134
DDiirreeiittooss eexxcclluussiivvooss ppaarraa aa llíínngguuaa ppoorrttuugguueessaa cceeddiiddooss àà
PPeeaarrssoonn EEdduuccaattiioonn ddoo BBrraassiill LLttddaa..,,
uummaa eemmpprreessaa ddoo ggrruuppoo PPeeaarrssoonn EEdduuccaattiioonn
RRuuaa NNeellssoonn FFrraanncciissccoo,, 2266
CCEEPP 0022771122--110000 –– SSããoo PPaauulloo –– SSPP –– BBrraassiill
FoFneo:n (e1: 11)1 2 2117788--88668866 –– FFaaxx:: 1(111 2)1 27187-886-886888
e-mvaieln: dvaens@dapse@arpseoanr.scoonm.com
00 asc0711_iniciais BR.indd 4 11/01/2013 12:02:56
Aos meus filhos, Eduardo e Pedro, amores eternos.
Ana Fernanda Gomes Ascencio
À família maravilhosa que consegui construir:
Vanderlei, Yanko e Juliana.
Edilene A.Veneruchi de Campos
00 asc0711_iniciais BR.indd 5 4/26/12 1:29 PM
00 asc0711_iniciais BR.indd 6 4/26/12 1:29 PM
00010000000000010100011011000001001011000100010000000000010100011011000001001011
0001000100000000000101000110110000010010110001000100000000000101000110110000010
0101100010001000000000001010001101100000100101100010001000000000001010001101100
0001001011000100010000000000010100011011000001001011000100010000000000010100011
0110000010010110001000100000000000101000110110000010010110001000100000000000101
Sumário
0001101100000100101100010001000000000001010001101100000100101100010001000000000
0010100011011000001001011000100010000000000010100011011000001001011000100010000
0000000101000110110000010010110001000100000000000101000110110000010010110001000
1000000000001010001101100000100101100010001000000000001010001101100000100101100
01000100000000000101000110110000010010110001000100000000000101000110110000010010
11000100010000000000010100011011000001001011000100010000000000010100011011000001
00101100010010110001000100000000001010001101100000100101100010010110001000100000
00000010100011011000001100010010110001000100000000000100010010110001000100000000
Capítulo 1
Conceitos básicos ..........................................................................................................................................1
1.1 Conceito de algoritmo .............................................................................................................1
1.2 Método para a construção de algoritmos ................................................................................3
1.3 Tipos de algoritmos .................................................................................................................3
1.4 Exemplos de algoritmos ..........................................................................................................4
1.5 Conceito de variável ................................................................................................................7
1.6 Tipos de dados ........................................................................................................................8
1.7 Formação de identificadores ................................................................................................... 9
1.8 Exemplos de identificadores .................................................................................................10
1.9 Linguagem PASCAL ..............................................................................................................10
1.10 Linguagem C/C++ ...............................................................................................................10
1.11 Linguagem JAVA ................................................................................................................11
Capítulo 2
Paradigmas de programação ....................................................................................................................12
Capítulo 3
Estrutura sequencial ...................................................................................................................................19
3.1 Estrutura sequencial em algoritmos ....................................................................................19
3.2 Estrutura sequencial em PASCAL ........................................................................................20
3.3 Estrutura sequencial em C/C++ ..........................................................................................25
3.4 Estrutura sequencial em JAVA ............................................................................................31
Capítulo 4
Estrutura condicional ..................................................................................................................................53
4.1 Estrutura condicional em algoritmos ...................................................................................53
4.2 Estrutura condicional em PASCAL ......................................................................................54
4.3 Estrutura condicional em C/C++ .........................................................................................56
4.4 Estrutura condicional em JAVA ..........................................................................................58
00 asc0711_iniciais BR.indd 7 4/26/12 1:29 PM
viii | Fundamentos da programação de computadores
Capítulo 5
Estrutura de repetição ............................................................................................................................... 95
5.1 Estrutura de repetição em algoritmo....................................................................................95
5.2 Estrutura de repetição em PASCAL ...................................................................................100
5.3 Estrutura de repetição em C/C++.......................................................................................105
5.4 Estrutura de repetição em JAVA........................................................................................111
Capítulo 6
Vetor.............................................................................................................................................................. 151
6.1 Vetor em algoritmos ..........................................................................................................151
6.2 Vetor em PASCAL.............................................................................................................152
6.3 Vetor em C/C++ ................................................................................................................155
6.4 Vetor em JAVA .................................................................................................................156
Capítulo 7
Matriz ............................................................................................................................................................194
7.1 Matriz em algoritmos ........................................................................................................194
7.2 Matriz em PASCAL ...........................................................................................................201
7.3 Matriz em C/C++ ..............................................................................................................207
7.4 Matriz em JAVA ...............................................................................................................212
Capítulo 8
Sub-rotina ....................................................................................................................................................252
8.1 Sub-rotinas (programação modularizada) .........................................................................252
8.2 Sub-rotinas em PASCAL (procedures, functions e units) ....................................................255
8.3 Sub-rotinas em C/C++ (funções) ........................................................................................262
8.4 Sub-rotinas em JAVA (métodos)........................................................................................271
Capítulo 9
Manipulando cadeias de caracteres .....................................................................................................301
9.1 Manipulando cadeias de caracteres em PASCAL ...............................................................301
9.2 Manipulando cadeias de caracteres em C/C++...................................................................304
9.3 Manipulando cadeias de caracteres em JAVA....................................................................311
Capítulo 10
Registro ........................................................................................................................................................333
10.1 Definição de registros ......................................................................................................333
10.2 Declaração de registros em algoritmos ..............................................................................333
10.3 Declaração de registros em PASCAL .................................................................................335
10.4 Declaração de registros em C/C++ .................................................................................338
10.5 Declaração de registros em JAVA ......................................................................................342
00 asc0711_iniciais BR.indd 8 4/26/12 1:29 PM
Sumário | ix
Capítulo 11
Arquivo .........................................................................................................................................................418
11.1 Definição de arquivos em algoritmo ..................................................................................418
11.2 Trabalhando com arquivos em PASCAL ...........................................................................418
11.3 Trabalhando com arquivos em C/C++ ...............................................................................422
11.4 Trabalhando com arquivos em JAVA ................................................................................434
Capítulo 12
Introdução à programação orientada a objetos ................................................................................468
12.1 Classe ..................................................................................................................................468
12.2 Objeto .................................................................................................................................471
12.3 Encapsulamento ..................................................................................................................478
12.4 Herança ..............................................................................................................................483
12.5 Polimorfismo .......................................................................................................................495
Capítulo 13
Desafios .......................................................................................................................................................547
13.1 Desafio 1 .............................................................................................................................547
13.2 Desafio 2 .............................................................................................................................548
13.3 Desafio 3 .............................................................................................................................548
13.4 Desafio 4 .............................................................................................................................548
13.5 Desafio 5 .............................................................................................................................549
13.6 Desafio 6 .............................................................................................................................549
13.7 Desafio 7 ............................................................................................................................549
13.8 Desafio 8 .............................................................................................................................550
13.9 Desafio 9 .............................................................................................................................550
13.10 Desafio 10 .........................................................................................................................550
13.11 Desafio 11 .........................................................................................................................551
13.12 Desafio 12 .........................................................................................................................551
13.13 Desafio 13 .........................................................................................................................552
13.14 Desafio 14 .........................................................................................................................552
13.15 Desafio 15 .........................................................................................................................552
13.16 Desafio 16 .........................................................................................................................552
13.17 Desafio 17 .........................................................................................................................553
13.18 Desafio 18 .........................................................................................................................553
13.19 Desafio 19 .........................................................................................................................554
13.20 Desafio 20 .........................................................................................................................554
13.21 Desafio 21 .........................................................................................................................555
13.22 Desafio 22 .........................................................................................................................557
00 asc0711_iniciais BR.indd 9 4/26/12 1:29 PM