




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
livro didático com vários exercícios e matérias
Tipologia: Manuais, Projetos, Pesquisas
1 / 474
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































algoritmos
e programação
com exemplos em Pascal e C
nina edelweiss maria aparecida castro livi
E22a Edelweiss, Nina. Algoritmos e programação com exemplos em Pascal e C [recurso eletrônico] / Nina Edelweiss, Maria Aparecida Castro Livi. – Dados eletrônicos. – Porto Alegre : Bookman, 2014. Editado também como livro impresso em 2014. ISBN 978-85-8260-190-
Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni- versidade Federal do Rio Grande do Sul. Durante muitos anos, lecionou em cursos de Enge- nharia e de Ciência da Computação na UFRGS, na UFSC e na PUCRS. Foi, ainda, orientadora do Programa de Pós-Graduação em Ciência da Computação da UFRGS. É coautora de três livros, tendo publicado diversos artigos em periódicos e em anais de congressos nacionais e internacionais. Participou de diversos projetos de pesquisa financiados por agências de fomento como CNPq e FAPERGS, desenvolvendo pesquisas nas áreas de bancos de dados e desenvolvimento de software.
Maria Aparecida Castro Livi é licenciada e bacharel em Letras, e mestre em Ciência da Computação pela Universidade Federal do Rio Grande do Sul. Desenvolveu sua carreira pro- fissional na UFRGS, onde foi programadora e analista de sistema, antes de ingressar na carreira docente. Ministrou por vários anos a disciplina de Algoritmos e Programação para alunos dos cursos de Engenharia da Computação e Ciência da Computação. Sua área de interesse prioritário é o ensino de Linguagens de Programação, tanto de forma presencial quanto a distância.
Catalogação na publicação: Ana Paula M. Magnus – CRB 10/
Reservados todos os direitos de publicação, em língua portuguesa, à BOOKMAN EDITORA LTDA., uma empresa do GRUPO A EDUCAÇÃO S.A. Av. Jerônimo de Ornelas, 670 – Santana 90040-340 – Porto Alegre – RS Fone: (51) 3027-7000 Fax: (51) 3027-
É proibida a duplicação ou reprodução deste volume, no todo ou em parte, sob quaisquer formas ou por quaisquer meios (eletrônico, mecânico, gravação, fotocópia, distribuição na Web e outros), sem permissão expressa da Editora.
Unidade São Paulo Av. Embaixador Macedo Soares, 10.735 – Pavilhão 5 – Cond. Espace Center Vila Anastácio – 05095-035 – São Paulo – SP Fone: (11) 3665-1100 Fax: (11) 3667-
SAC 0800 703-3444 – www.grupoa.com.br
IMPRESSO NO BRASIL PRINTED IN BRAZIL
Copyright © 2014, Bookman Companhia Editora Ltda.
Gerente editorial: Arysinha Jacques Affonso
Colaboraram nesta edição:
Editora: Maria Eduarda Fett Tabajara
Capa e projeto gráfico: Tatiana Sperhacke
Imagem da capa: © iStockphoto.com/enot-poloskun
Leitura final: Susana de Azeredo Gonçalves
Editoração: Techbooks
A série Livros Didáticos , do Instituto de Informática da Universidade Federal do Rio Grande do Sul, tem como objetivo a publicação de material didático para disciplinas ministradas em cursos de graduação em computação, ou seja, para os cursos de bacharelado em ciência da computação, de bacharelado em sistemas de informação, de engenharia de computa- ção e de licenciatura em computação. A série é desenvolvida tendo em vista as Diretrizes Curriculares Nacionais do MEC e é resultante da experiência dos professores do Instituto de Informática e dos colaboradores externos no ensino e na pesquisa.
Os primeiros títulos, Fundamentos da matemática intervalar e Programando em Pascal XSC (esgotados) , foram publicados em 1997 no âmbito do Projeto Aritmética Intervalar Paralela (ArInPar), financiados pelo ProTeM – CC CNPq/Fase II. Essas primeiras experiências serviram de base para os volumes subsequentes, os quais se caracterizam como livros-texto para discipli- nas dos cursos de computação.
Em seus títulos mais recentes, a série Livros Didáticos tem contado com a colaboração de pro- fessores externos que, em parceria com professores do Instituto, estão desenvolvendo livros de alta qualidade e valor didático. Hoje a série está aberta a qualquer autor de reconhecida capacidade.
O sucesso da experiência com esses livros, aliado à responsabilidade que cabe ao Instituto na formação de professores e pesquisadores em computação, conduziu à ampliação da abrangência e à institucionalização da série.
Em 2008, um importante passo foi dado para a consolidação e ampliação de todo o tra- balho: a publicação dos livros pela Bookman Editora. Uma lista completa dos títulos dispo- níveis encontra-se na orelha desta obra. Estamos ampliando a oferta aos leitores da série, sempre com a preocupação de manter nível compatível com a elevada qualidade do ensino e da pesquisa desenvolvidos no âmbito do Instituto de Informática da UFRGS e no Brasil.
Prof. Paulo Blauth Menezes Comissão Editorial da Série Livros Didáticos Instituto de Informática da UFRGS
apresentação
Este livro é o resultado da experiência que acumulamos ao longo dos muitos anos que mi- nistramos a disciplina Algoritmos e Programação nos cursos de Bacharelado em Ciência da Computação e de Engenharia da Computação da Universidade Federal do Rio Grande do Sul.
O conteúdo foi selecionado para estar de acordo com a proposta de Currículo de Referência da Sociedade Brasileira de Computação – SBC (versão de 2005) para cursos de graduação nas áreas de computação e informática. Está incluída no tópico “Fundamentos da Computação”, correspondendo à parte dos tópicos sugeridos para a matéria F2, Algoritmos e Estrutura de Dados, que são, segundo a proposta: Metodologia de Desenvolvimento de Algoritmos. Tipos de Dados Básicos e Estruturados. Comandos de uma Linguagem de Programação. Recursividade: Conceito e Implementação. Modularidade e Abstração. Estratégias de Depuração. Cadeias e Processamento de Cadeias. (…) Técnicas de Projeto de Algoritmos: Método da Força Bruta, Pesquisa Exaustiva, Algoritmo Guloso, Dividir e Conquistar, “Backtracking” e Heurísticas.
Utilizamos aqui a mesma pseudolinguagem do livro Estruturas de Dados (Edelweiss; Galante, 2009), também integrante da série Livros Didáticos , possibilitando, assim, a integração entre os conteúdos apresentados.
Agradecemos as importantes colaborações que tivemos ao longo dos anos, que muito con- tribuíram para a confecção deste livro. Em primeiro lugar, nosso reconhecimento aos demais professores que ministraram a disciplina de Algoritmos e Programação no Departamento de Informática Aplicada do Instituto de Informática da UFRGS, cada um acrescentando algum novo conhecimento através de suas experiências. Nosso reconhecimento ao professor Carlos Arthur Lang Lisbôa pela excelente e detalhada revisão dos originais. Especial agradecimento à professora Cora Helena Francesconi Pinto Ribeiro, que participou ativamente do início da con- fecção do livro. Nossos agradecimentos vão também a todos os nossos alunos que, ao longo de todos esses anos, sempre nos estimularam a melhorar o material apresentado. Finalmente, este livro não existiria sem o estímulo constante do professor Paulo Fernando Blauth Menezes, sempre nos apoiando e incentivando.
Nina Edelweiss Maria Aparecida Castro Livi
prefácio
Página propositalmente deixada em branco