DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela...

20
2 a EDIÇÃO DILERMANDO PIVA J R ANGELA DE MENDONÇA ENGELBRECHT GILBERTO SHIGUEO NAKAMITI F RANCISCO BIANCHI ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES

Transcript of DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela...

Page 1: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

PIVA | E

NGELBRECHT | N

AKAMITI | B

IANCHI

Consulte nosso catálogo completo e últimos lançamentos em www.elsevier.com.br

DILERMANDO PIVA JR.Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente é professor e pesquisador junto às Faculdades de Tecnologia de Itu e Indaiatuba (Unidades do Centro Paula Souza).

ANGELA DE MENDONÇA ENGELBRECHT Graduada e Mestre em Ciência da Compu-tação pela USP e doutora em Engenharia Elétrica pela Unicamp. Atualmente é Professora Titular da Pontifícia Universida-de Católica de Campinas (PUC-Campinas).

GILBERTO S. NAKAMITIGraduado em Ciência da Computação pela Unicamp, com mestrado e doutorado em Engenharia Elétrica, na área de Engenharia de Computação, também pela Unicamp. Atualmente é professor titular da Universidade Paulista (Unip) e da Pontifícia Universidade Católica de Campinas (PUC-Campinas).

FRANCISCO BIANCHIGraduado em Ciências Econômicas, Mestre em Ciência da Informação e Mestre em Informática, pela PUC-Campi-nas. Especialista em Gestão da Seguran-ça da Informação. Analista de Sistemas formado pelo Centro Educacional da IBM-SP. Professor das Faculdades de Tecnologia de Itu e Sorocaba (Unidades do Centro Paula Souza).

Capa

: Vin

iciu

s Di

as |

imag

ens:

royy

imzy

@is

tock

.com

www.elsevier.com.br

ALGORITMOS E PROGRAM

AÇÃO DE COMPUTADORES

Esta obra, em sua 2ª edição revisada e ampliada, trata, com linguagem acessível, dos assuntos relacionados aos temas de algoritmos e do ensino de linguagens de programação de computadores, do básico ao complexo. Além disso, tomando como base metodologias mais ativas e voltadas ao público adulto, cada capítulo ou tema é trabalhado partindo-se de uma situação problema, passando pela resolução, ampliação do foco do tema, conceituação, reflexo nas linguagens e exercícios.

O conteúdo é pertinente a todos os cursos da área de computação e informática (cursos superiores e de nível técnico).

O livro é resultado de anos de experiência didática na área da disciplina (e lecionando a disciplina em grandes instituições).

A linguagem utilizada é direcionada a estudantes que ingressam nos cursos superiores ou alunos de cursos técnicos, ressaltando o contexto imagético que os alunos estão acostumados.

O livro sintetiza e direciona o foco de vários livros existentes no mercado podendo ser utilizado por uma gama maior de Instituições e profissionais da área de computação.

As aplicações são apresentadas em 5 linguagens de programação: Algo-ritmo, Pascal, C, Java e PHP.

A não limitação a uma linguagem específica permite que professores e estudantes extrapolem as barreiras de tempo e espaço e consigam um maior aprofundamento no processo de ensino-aprendizagem.

Esta obra trata do primeiro contato dos estudantes dos cursos de computação com a área de programação de computadores. Com uma linguagem fácil e acessível, e um ritmo de estudo adaptável, esta obra possibilita sua adoção nos mais diversos cursos da área de computação e informática, principalmente por tratar das aplicações computacionais em cinco linguagens distintas: Algoritmo, Pascal, C, Java e PHP. Além disso, a estruturação em 16 capítulos possibilita a adoção de um capítulo por semana nos mais diversos cursos técnicos e de graduação.

2a EDIÇÃO

DILERMANDO PIVA JR

ANGELA DE MENDONÇA ENGELBRECHT

GILBERTO SHIGUEO NAKAMITI

FRANCISCO BIANCHI

ALGORITMOS EPROGRAMAÇÃODE COMPUTADORES

Page 2: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

ALGORITMOS EPROGRAMAÇÃODE COMPUTADORES

C0090.indd iC0090.indd i 31/01/19 10:17 AM31/01/19 10:17 AM

Page 3: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

C0090.indd iiC0090.indd ii 31/01/19 10:17 AM31/01/19 10:17 AM

Page 4: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

2a EDIÇÃO

DILERMANDO PIVA JR

ANGELA DE MENDONÇA ENGELBRECHT

GILBERTO SHIGUEO NAKAMITI

FRANCISCO BIANCHI

ALGORITMOS EPROGRAMAÇÃODE COMPUTADORES

Page 5: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

© 2019, Elsevier Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. Nenhuma parte deste livro, sem autorização prévia por escrito da editora, poderá ser reproduzida ou transmitida sejam quais forem os meios empregados: eletrônicos, mecânicos, fotográfi cos, gravação ou quaisquer outros.

ISBN: 978-85-352-9248-0 ISBN (versão digital): 978-85-352-9249-7

Revisão tipográfi ca: Hugo de Lima Corrêa Editoração Eletrônica: Th omson Digital

Elsevier Editora Ltda. Conhecimento sem Fronteiras

Rua  da Assembleia, n° 100 – 6° andar – Sala 601 20011-904 – Centro – Rio de Janeiro – RJ

Av. Dr. Chucri Zaidan, n° 296 – 23° andar 04583-110 – Brooklin – São Paulo – SP

Serviço de Atendimento ao Cliente 0800 026 53 40 [email protected]

Consulte nosso catálogo completo, os últimos lançamentos e os serviços exclusivos no site www.elsevier.com.br

Nota

Muito zelo e técnica foram empregados na edição desta obra. No entanto, podem ocorrer erros de digitação, impressão ou dúvida conceitual. Em qualquer das hipóteses, solicitamos a comunicação ao nosso serviço de Atendimento ao Cliente para que possamos esclarecer ou encaminhar a questão.

Para todos os efeitos legais, a Editora, os autores, os editores ou colaboradores relacionados a esta obra não assumem responsabilidade por qualquer dano/ou prejuízo causado a pessoas ou pro-priedades envolvendo responsabilidade pelo produto, negligência ou outros, ou advindos de qualquer uso ou aplicação de quaisquer métodos, produtos, instruções ou ideias contidos no conteúdo aqui publicado.

A Editora

CIP-BRASIL. CATALOGAÇÃO NA PUBLICAÇÃOSINDICATO NACIONAL DOS EDITORES DE LIVROS, RJ

A3852. ed.

Algoritmos e programação de computadores / Dilermando Piva Jr ... [et al.]. - 2. ed. -Rio de Janeiro : Elsevier, 2019. 528 p. ; 24 cm.

Inclui glossário ISBN 9788535292480

1. Algoritmos. 2. Estruturas de dados (Programação). 3. Programação(Computadores). I. Piva Jr, Dilermando.

19-54953 CDD: 005.1 CDU: 004.421

Meri Gleice Rodrigues de Souza - Bibliotecária CRB-7/643930/01/2019 04/02/2019

C0095.indd ivC0095.indd iv 07/02/19 6:54 PM07/02/19 6:54 PM

Page 6: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

Esta obra é dedicada às nossas famílias e às pessoas que se dedicam à democratização do saber científi co e do cotidiano e à disseminação de novos métodos de ensino-aprendizado.

C0100.indd vC0100.indd v 29/01/19 4:59 PM29/01/19 4:59 PM

Page 7: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

C0100.indd viC0100.indd vi 29/01/19 4:59 PM29/01/19 4:59 PM

Page 8: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

Agradecemos às nossas famílias, que sempre nos apoiaram incondicio-nalmente.

Aos mestres, que nos instigam, e aos estudantes, que nos ofertam a pos-sibilidade de crescimento pessoal na busca contínua do conhecimento.

Agradecimentos

C0105.indd viiC0105.indd vii 29/01/19 5:00 PM29/01/19 5:00 PM

Page 9: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

C0105.indd viiiC0105.indd viii 29/01/19 5:00 PM29/01/19 5:00 PM

Page 10: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

Este livro tem como objetivo ser o primeiro contato do estudante de cursos de computação com a área de programação. Sem trabalhar receitas prontas, o conteúdo instiga o aluno a pensar em ações e formas de estruturar soluções computacionais.

As aplicações computacionais são apresentadas em linguagem algorítmi-ca, bem como em quatro linguagens de programação: Pascal, C, Java e PHP. Este leque de opções permitirá que os professores escolham a linguagem mais conveniente ao curso.

Por estar centrado em tecnologias muito dinâmicas, conteúdo adicional atualizado poderá ser encontrado no site www.elsevier.com.br/apc. Exercí-cios, desafi os, temas para discussão e indicações de aprofundamento pos-sibilitarão a participação ativa dos leitores, promovendo, assim, a atualização constante do livro.

Boa leitura!

Nota dos autores

C0110.indd ixC0110.indd ix 29/01/19 5:01 PM29/01/19 5:01 PM

Page 11: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

C0110.indd xC0110.indd x 29/01/19 5:01 PM29/01/19 5:01 PM

Page 12: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

Prefácio

Mesmo quando não é percebido, o conhecimento está implícito nas pequenas tarefas do cotidiano. Quando se trata da demanda do educador, entende-se a

necessidade de um exercício permanente a fi m de romper barreiras para criar um ambiente favorável à construção do conhecimento na sala de aula. De nada adianta o discurso competente do educador, se este não estiver permeável às mudanças que ocorrem no âmbito da tecnologia e na maneira como os estudantes compreendem esse universo.

Em cursos de informática, a maior difi culdade encontrada por estudantes continua sendo o primeiro contato com a programação de computadores. A razão principal é que, pela primeira vez, o estudante será solicitado a pensar de forma detalhada sobre quais os passos necessários para a solução de um problema e, ainda, construir uma abstração que represente estes passos de forma que possa ser processado por um computador.

Assim, o desafi o de “ensinar” programação não é pequeno. Não pela complexidade do assunto, mas pela difi culdade em apresentá-lo de forma que sua “aprendizagem” ocorra de forma satisfatória.

É neste contexto que se insere este livro. A preocupação dos autores está focada tanto na organização dos capítulos, que podem ser facilmente associados às aulas num curso de graduação, quanto na forma de apresentação do conteúdo.

A sequência de capítulos proposta corresponde exatamente ao conteúdo abordado numa disciplina introdutória de programação. Organizado em dezesseis capítulos, cada unidade pode ser explorada num conjunto de aulas normalmente verifi cado numa semana dentro do período letivo.

Porém, a grande contribuição deste livro consiste principalmente na apresentação do conteúdo. Usando conceitos de linguagem dialógica, os autores procuram estabe-lecer um diálogo com o leitor e, ao iniciar cada capítulo com uma refl exão, oferecem um convite estimulante à leitura. Na sequência, apresentam de forma bastante explícita

C0115.indd xiC0115.indd xi 29/01/19 5:02 PM29/01/19 5:02 PM

Page 13: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

xii Algoritmos e programação de computadores

os objetivos de aprendizagem, informando ao leitor quais capacidades/habilidades serão desenvolvidas.

Em seguida, a proposição de um problema permite ao leitor contextualizar o assunto antes de conhecer os conceitos envolvidos. Dessa forma, o leitor assimila com maior facilidade os conceitos explorados, uma vez que já entendeu o contexto de aplicação. Dicas e conceitos são apresentados de forma destacada, o que facilita a leitura e fi xação do conteúdo. Depois que os conceitos foram apresentados, aborda-se a programação em si. Neste ponto, um destaque importante é que os problemas são resolvidos usando: uma linguagem algorítmica (VisuAlg), linguagem Pascal, linguagem C, linguagem Java e linguagem PHP. Essa variedade permite que o livro possa ser usado para o aprendizado, não apenas de lógica de programação, mas também das diferentes linguagens mencionadas. O capítulo continua com a proposta de exercícios e indicativos de material complementar ao estudo realizado. Por fi m, tem-se uma sinalização do que será visto no próximo capítulo, o que instiga o leitor à continuidade da leitura.

Com estrutura didática e contribuições signifi cativas, este livro aproxima-se do leitor para tornar o processo de aprendizagem de programação de computadores menos traumático, tornando a tarefa até mesmo prazerosa.

Prof. Dr. Ricardo Luis de Freitas Diretor do Centro de Ciências Exatas, Ambientais e de Tecnologias (CEATEC)

da Pontifícia Universidade Católica (PUC) de Campinas. Doutor em Engenharia Elétrica – Sistemas Eletrônicos pela Escola Politécnica da USP

C0115.indd xiiC0115.indd xii 29/01/19 5:02 PM29/01/19 5:02 PM

Page 14: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

Nossa viagem começa pelo Capítulo 1, onde é apresentado ao leitor o que é lógica e qual a sua relação com a construção de algoritmos. São apresentadas as

características dos algoritmos e a sequência de passos necessária para a construção de soluções algorítmicas. Por fi m, os diversos ambientes de desenvolvimento, específi cos de cada linguagem de programação que será utilizada ao longo deste livro, são ilus-trados e mostrados os passos para instalá-los e utilizá-los.

No Capítulo 2 são mostrados os passos e as ferramentas utilizadas para a resolução de problemas. Este capítulo mostra uma das ferramentas mais usadas para ilustrar a resolução de problemas: o fl uxograma. Por fi m, é ilustrada a relação existente entre fl uxograma e linguagem algorítmica.

A maioria dos problemas que se tenta resolver na área computacional tem um fundo matemático. A forma de descrição das soluções matemáticas é diferente da forma algorítmica. O Capítulo 3 mostra como compatibilizar a descrição algorítmica com a matemática, ilustrando processos de linearização de expressões matemáticas.

O Capítulo 4 apresenta as diversas estruturas de dados existentes, sua importância e como utilizá-las para otimizar ao máximo o desenvolvimento de aplicações algorítmicas.

No Capítulo 5 são apresentados os primeiros comandos para construção de pro-gramas. Com os comandos iniciais para a entrada e saída de dados, começaremos a escrever e executar um conjunto grande de programas nas linguagens de programação. Os comandos de entrada e saída são os responsáveis pela comunicação dos dados entre o usuário e o programa. Isto é, a partir dos dados de entrada o programa executará cálculos e os resultados obtidos poderão ser mostrados.

Avançando um pouco mais no aprendizado dos comandos, vamos encontrar no Capítulo 6 os comandos condicionais. Eles são comandos que permitem fazer des-vios no fl uxo do programa utilizando-se, para isso, uma determinada condição. Junto com esse capítulo aprenderemos também, para a construção da condição, o uso de expressões lógicas e relacionais.

Apresentação

C0120.indd xiiiC0120.indd xiii 29/01/19 5:03 PM29/01/19 5:03 PM

Page 15: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

xiv Algoritmos e programação de computadores

Complementando os comandos condicionais, no Capítulo 7 vamos aprender comandos condicionais mais complexos em que são combinados com outros coman-dos condicionais. Além desses, vamos aprender um comando condicional que permite, a partir de uma condição, listar um conjunto de opções a ser escolhida (uma ou mais). Esse comando é conhecido como comando de seleção.

No Capítulo 8 veremos os últimos comandos, de um conjunto de sete, neces-sários para a construção dos programas: os comandos repetitivos. Com os comandos repetitivos será possível construir programas que possuem um conjunto de ações que se deseja repetir de maneira controlada. Eles são comandos que, junto com os demais, propiciarão a construção da maior parte dos seus programas.

Os Capítulos 9 e 10 estendem os conceitos sobre variáveis, estudados até o momen-to. Os algoritmos já desenvolvidos utilizaram variáveis simples, todavia, temos o recurso das variáveis compostas que serão objetos de estudos nesses capítulos. As variáveis compostas são estruturas de dados capazes de armazenar dados e representar seu estado fl uente, ou seja, suas dimensões.

No Capítulo 9 apresentamos os conceitos sobre variáveis compostas homogêneas unidimensionais, também conhecidas como vetor. Esse tipo de variável tem como carac-terística armazenar e representar dados linearmente, ou em uma dimensão somente.

No Capítulo 10 apresentamos os conceitos e exemplos de variáveis compostas homogêneas multidimensionais, também conhecidas como matriz. Neste livro, devido à complexidade de manipular e representar dados em várias dimensões, trataremos esse tipo de variável considerando somente duas dimensões, no caso, exercitaremos a matriz bidimensional, ou matriz linha x coluna.

O Capítulo 11 trata da modularização de algoritmos, onde descrevemos a cons-trução de módulos, ou subalgoritmos ou sub-rotinas, que são porções de código-fonte. Os módulos na construção de algoritmos atendem objetivos menores, porém, quando encadeados solucionam problemas complexos. Neste capítulo serão apresentados e exemplifi cados os conceitos sobre modularização, escopo de variáveis em sub-rotinas, e passagem de parâmetros entre elas.

No Capítulo 12 temos um assunto muito importante no escopo da programação de computadores, que é a manipulação de cadeias de caracteres, ou strings. Em algumas linguagens de programação as strings são tratadas como variáveis simples, porém, para as linguagens mais atuais, devido à sua importância, elas são tratadas como classes ou mesmo como um vetor. Neste capítulo estudaremos e exercitaremos essas várias formas de defi nição e uso de strings.

O Capítulo 13 apresenta os registros, que são estruturas de dados extremamente úteis para agrupar informações sobre um determinado conceito ou objeto. Seu uso facilita o desenvolvimento de aplicações que incluem cadastros de informações e servem de base para a compreensão e uso de sistemas complexos, como bancos de dados relacionais.

C0120.indd xivC0120.indd xiv 29/01/19 5:03 PM29/01/19 5:03 PM

Page 16: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

xvApresentação

No Capítulo 14 veremos que os ponteiros são variáveis que, em vez de armazena-rem dados, armazenam endereços de variáveis que, por sua vez, armazenam os dados. Veremos como ponteiros e variáveis relacionam-se e experimentaremos formas de acessar seus conteúdos.

No Capítulo 15 estudaremos e experimentaremos o uso de arquivos. Como sabe-mos, os arquivos permitem o armazenamento de informações de longo prazo. É importante sabermos criar, acessar e modifi car o conteúdo de arquivos.

Após estudarmos tantos conceitos, é importante desenvolvermos aplicações e sistemas aplicando esses conceitos. O Capítulo 16 propõe alguns desafi os e instiga o estudante a aplicar os conhecimentos adquiridos na solução de diferentes problemas. O capítulo traz comentários sobre os problemas propostos, ajudando o estudante a refl etir e desenvolver habilidades para a implementação de suas soluções.

Desejamos a você uma excelente viagem pelos capítulos!

C0120.indd xvC0120.indd xv 29/01/19 5:03 PM29/01/19 5:03 PM

Page 17: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

C0120.indd xviC0120.indd xvi 29/01/19 5:03 PM29/01/19 5:03 PM

Page 18: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

Sumário

capítulo 1A lógica e os algoritmos 1

capítulo 2O raciocínio e as formas de resolução de problemas 33

capítulo 3Expressões matemáticas e lógicas e seus operadores 57

capítulo 4Tipo de dados 83

capítulo 5Estrutura sequencial 103

capítulo 6Estrutura condicional simples e composta 151

capítulo 7Estrutura condicional – aninhadas, seleção de casos e outras formas 173

capítulo 8Estrutura de repetição 199

C0125.indd xviiC0125.indd xvii 29/01/19 5:04 PM29/01/19 5:04 PM

Page 19: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

xviii Algoritmos e programação de computadores

capítulo 9Vetor 227

capítulo 10Matriz 275

capítulo 11Modularização de algoritmos – procedimento e função 327

capítulo 12String ou cadeia de caracteres 393

capítulo 13Registros 437

capítulo 14Ponteiros 457

capítulo 15Arquivos 473

capítulo 16Aplicações e estudo de caso 489

Glossário 503

C0125.indd xviiiC0125.indd xviii 29/01/19 5:04 PM29/01/19 5:04 PM

Page 20: DILERMANDO PIVA JR. EDIÇÃO · DILERMANDO PIVA JR. Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente

PIVA | E

NGELBRECHT | N

AKAMITI | B

IANCHI

Consulte nosso catálogo completo e últimos lançamentos em www.elsevier.com.br

DILERMANDO PIVA JR.Graduado e Mestre em Computação pela PUC-Campinas. Mestre e Doutor em Engenharia Elétrica (automação) pela Unicamp. Atualmente é professor e pesquisador junto às Faculdades de Tecnologia de Itu e Indaiatuba (Unidades do Centro Paula Souza).

ANGELA DE MENDONÇA ENGELBRECHT Graduada e Mestre em Ciência da Compu-tação pela USP e doutora em Engenharia Elétrica pela Unicamp. Atualmente é Professora Titular da Pontifícia Universida-de Católica de Campinas (PUC-Campinas).

GILBERTO S. NAKAMITIGraduado em Ciência da Computação pela Unicamp, com mestrado e doutorado em Engenharia Elétrica, na área de Engenharia de Computação, também pela Unicamp. Atualmente é professor titular da Universidade Paulista (Unip) e da Pontifícia Universidade Católica de Campinas (PUC-Campinas).

FRANCISCO BIANCHIGraduado em Ciências Econômicas, Mestre em Ciência da Informação e Mestre em Informática, pela PUC-Campi-nas. Especialista em Gestão da Seguran-ça da Informação. Analista de Sistemas formado pelo Centro Educacional da IBM-SP. Professor das Faculdades de Tecnologia de Itu e Sorocaba (Unidades do Centro Paula Souza).

Capa

: Vin

iciu

s Di

as |

imag

ens:

royy

imzy

@is

tock

.com

www.elsevier.com.br

ALGORITMOS E PROGRAM

AÇÃO DE COMPUTADORES

Esta obra, em sua 2ª edição revisada e ampliada, trata, com linguagem acessível, dos assuntos relacionados aos temas de algoritmos e do ensino de linguagens de programação de computadores, do básico ao complexo. Além disso, tomando como base metodologias mais ativas e voltadas ao público adulto, cada capítulo ou tema é trabalhado partindo-se de uma situação problema, passando pela resolução, ampliação do foco do tema, conceituação, reflexo nas linguagens e exercícios.

O conteúdo é pertinente a todos os cursos da área de computação e informática (cursos superiores e de nível técnico).

O livro é resultado de anos de experiência didática na área da disciplina (e lecionando a disciplina em grandes instituições).

A linguagem utilizada é direcionada a estudantes que ingressam nos cursos superiores ou alunos de cursos técnicos, ressaltando o contexto imagético que os alunos estão acostumados.

O livro sintetiza e direciona o foco de vários livros existentes no mercado podendo ser utilizado por uma gama maior de Instituições e profissionais da área de computação.

As aplicações são apresentadas em 5 linguagens de programação: Algo-ritmo, Pascal, C, Java e PHP.

A não limitação a uma linguagem específica permite que professores e estudantes extrapolem as barreiras de tempo e espaço e consigam um maior aprofundamento no processo de ensino-aprendizagem.

Esta obra trata do primeiro contato dos estudantes dos cursos de computação com a área de programação de computadores. Com uma linguagem fácil e acessível, e um ritmo de estudo adaptável, esta obra possibilita sua adoção nos mais diversos cursos da área de computação e informática, principalmente por tratar das aplicações computacionais em cinco linguagens distintas: Algoritmo, Pascal, C, Java e PHP. Além disso, a estruturação em 16 capítulos possibilita a adoção de um capítulo por semana nos mais diversos cursos técnicos e de graduação.

2a EDIÇÃO

DILERMANDO PIVA JR

ANGELA DE MENDONÇA ENGELBRECHT

GILBERTO SHIGUEO NAKAMITI

FRANCISCO BIANCHI

ALGORITMOS EPROGRAMAÇÃODE COMPUTADORES