Algoritmos Fundamento e Prática

Documentos relacionados
1.1 o que é um algoritmo... 6

PLANO DE DISCIPLINA. Análise e Desenvolvimento de Sistemas. Introdução a Algoritmos e Programação EMENTA

Fundamentos de programação

Estrutura de Dados e Lógica de Programação. Cátia Alves Marcelo Nunes 102 h/a 17/08/2015 a 12/12/2015

DISCIPLINA: Programação de Computadores I

Plano de Aula - Lógica de Programação - cód Horas/Aula

(Extraído do Livro: Fundamentos da Programação. Ascencio, Ana/Campos, Edilene)

(Extraído do Livro: Fundamentos da Programação. Ascencio, Ana/Campos, Edilene)

Eng. Alimentos PROGRAMA DE DISCIPLINA IDENTIFICAÇÃO CÓDIGO DISCIPLINA PRÉ-REQUISITOS

Modelo de plano analitico

PLANO DE UNIDADE DIDÁTICA- PUD

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Noções de algoritmos - Aula 1

Planificação Anual da disciplina de Programação e Sistemas de Informação 10º 1PI

CURSO PROFISSIONAL Técnico de Gestão e Programação de Sistemas Informáticos

SSC304 Introdução à Programação Para Engenharias

PLANIFICAÇÃO ANUAL. 1. Introdução à Programação e Algoritmia. Tempos letivos previstos (45) Período escolar

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Noções de algoritmos - Aula 1

PLANO DE ENSINO. Súmula:

Introdução à Computação

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Programação em C e C++ com Lógica. Subtítulo

Carga Horária: 60 h Créditos: 3 Pré-requisito: Não se aplica Professor(a): A definir Matricula: A definir Titulação: A definir

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE - CAMPUS LUZERNA Rua São Roque, 41 - Luzerna/SC CEP Fone: (49)

Algoritmos e Programação - Engenharia da Computação -

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

LÓGICA DE PROGRAMAÇÃO 1

Disciplina: Introdução a Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer. Índice: Aula1 - Introdução Programa Algoritmo

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Programação Estruturada Orientada a Objetos

MÓDULO 3: Programação Estruturada

Apresentação da disciplina Introdução a Algoritmo e Programação Análise e Desenvolvimento de Sistemas

Aula prático/expositiva. Resolução de exercícios propostos e participação em sala de aula. 2h 08/05

Fluxogramas e variáveis

Aula 3: Algoritmos: Formalização e Construção

Fundamentos de Programação em Python

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos e Programação. Ederson Luiz da Silva Ciência da Computação

PROGRAMAÇÃO I. Introdução

Aula 1. Introdução à programação. Prof. Dr. Bruno Honda

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Fundamentos de Programação. Diagrama de blocos

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Introdução à Computação

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Introdução à Programação. Prof. Gustavo Callou

Linguagens de Programação Classificação

Plano de Ensino. Ementa

Conceitos Básicos de Algoritmos

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

Curso Profissional de Técnico de Informática - Sistemas

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Capítulo 1 Conceitos Básicos

Introdução aos Algoritmos

Algoritmos Estrutura Condicional

PROGRAMAÇÃO OBJECTIVOS DA CADEIRA

Algoritmos e Programação

Introdução a Computação

Linguagem de Programação

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Transcrição:

Everton Coimbra de Araújo Algoritmos Fundamento e Prática 3 a Edição Ampliada e Atualizada Visual Books

Sumário Prefácio... 15 Introdução... 17 Capítulo 1 - Os Cursos de Informática e Computação... 23 1.1 Os Cursos e as Áreas de Formação que Compõem Computação e Informática... 23 1.1.1 Computação como Atividade Fim... 25 1.1.2 Computação como Atividade Meio... 25 1.1.3 Licenciatura em Computação... 26 1.1.4 Cursos de Tecnologia... 27 1.2 Disciplinas de Programação segundo as Diretrizes do MEC... 27 1.3 Algumas Disciplinas... 29 1.3.1 Lógica de Predicados, Lógica Matemática, Lógica para Computação ou Lógica... 29 1.3.2 Lógica de Programação, Técnicas de Programação, Linguagens e Técnicas de Programação, Programação, Algoritmos, Programação de Computadores ou Laboratório de Programação... 29 1.3.3 Estrutura de Dados... 30 1.3.4 Linguagens de Programação... 30 1.4 O Acadêmico... 30 1.5 Conclusão... 31 Capítulo 2 - Programação - Antes do Início... 33 2.1 Conceitos... 33 2.1.1 Lógica... 33 2.1.2 Algoritmo... 34 2.1.3 Dado e Informação... 34 2.1.3.1 O Dado... 35 2.1.3.2 A Informação... 35 2.1.4 Dados de Entrada e Saída... 36 2.1.5 Processamento de Dados... 37 2.1.6 Lógica de Programação... 38 2.2 Conclusão... 40

Capítulo 3 - Descrição Narrativa... 41 3.1 Introdução... 41 3.2 Resoluções Seqüenciais... 42 3.3 Resoluções Condicionais... 48 3.4 Resoluções com Pontos de Repetição... 53 3.4.1 Repetição Contada... 53 3.4.2 Repetição Contada e Condicional - Aninhadas... 58 3.5 Conclusão... 61 3.6 Exercícios Teóricos... 61 3.7 Exercícios Práticos... 61 Capítulo 4 - Alguns Conceitos... 65 4.1 Tipos de Dados... 65 4.1.1 Dados Numéricos... 66 4.1.1.1 Numéricos Inteiros... 66 4.1.1.2 Numéricos Reais... 66 4.1.2 Dados Literais... 67 4.1.3 Dados Lógicos... 68 4.2 Variáveis... 68 4.2.1 Declaração de Variáveis... 69 4.3 Expressões e Operadores... 70 4.3.1 Expressões Aritméticas... 70 4.3.2 Expressões Lógicas... 72 4.4 Sintaxe e Semântica... 76 4.5 Conclusão... 77 4.6 Exercícios Teóricos... 77 Capítulo 5 - Fluxogramas... 79 5.1 Introdução... 79 5.2 Resoluções Seqüenciais... 81 5.3 Resoluções Condicionais... 84 5.3.1 Regra de Três... 86 5.3.1.1 Regra de Três Simples... 86 5.4 Resoluções com Repetição Contada... 90 5.4.1 Teste de Mesa... 93 5.4.1.1 Como Fazer um Teste de Mesa... 93 5.5 Resoluções com Repetição com Uso de Flag... 97

5.6 Resoluções com Repetição com Teste Condicional no Fim... 99 5.7 Resoluções com Repetição Condicional com Teste no Início... 102 5.8 Conclusão... 105 5.9 Exercícios Teóricos... 105 5.10 Exercícios Práticos... 105 5.11 Desafio... 107 Capítulo 6 - Diagrama de Chapin... 109 6.1 Resoluções Seqüenciais... 109 6.2 Resoluções Condicionais... 111 6.3 Resoluções com Repetição Contada... 114 6.4 Conclusão... 117 6.5 Exercícios Teóricos... 117 6.6 Exercícios Práticos... 117 6.7 Desafio... 120 Capítulo 7 - Fundamentos para Linguagens de Programação... 121 7.1 Hardware... 121 7.2 Computador... 122 7.3 Unidades de Medida... 124 7.4 ASCII... 125 7.5 UNICODE... 126 7.6 Sistemas Numéricos... 127 7.6.1 Representações e Conversões entre Sistemas Numéricos... 128 7.6.1.1 Convertendo Número Binário para Decimal... 129 7.6.1.2 Convertendo Número Decimal (Parte Inteira) para Binário... 129 7.6.1.3 Convertendo Número Decimal para Hexadecimal... 130 7.6.2 Convertendo Número Hexadecimal para Decimal... 130 7.7 Sistema Operacional... 130 7.8 Linguagens de Programação... 132 7.9 Interpretadores e Compiladores... 133 7.9.1 A Linkedição Ligação... 135 7.10 Ambientes Integrados de Desenvolvimento Integrated Development Environment IDE... 136 7.11 Conclusão... 137 7.12 Exercícios Teóricos... 137

Capítulo 8 - Introdução a IDEs... 139 8.1 O que são Dev-C++ e Dev-Pascal... 139 8.1.1 O IDE do Dev-C++... 140 8.1.1.1 Tipos de Arquivos do Dev-C++... 142 8.1.2 O IDE do Dev-Pascal... 142 8.1.2.1 Tipos de Arquivos do Dev-Pascal... 143 8.2 Conclusão... 143 8.3 Exercícios Teóricos... 144 Capítulo 9 - Pseudocódigos... 145 9.1 Vantagens... 145 9.2 Estrutura Básica para um Pseudocódigo... 146 9.3 Endentação... 150 9.4 Declaração de Variáveis... 150 9.5 Atribuição de Variáveis... 152 9.6 Saída de Dados... 153 9.7 Entrada de Dados... 155 9.8 Algumas Situações... 157 9.8.1 Estrutura Seqüencial... 157 9.9 Conclusão... 169 9.10 Exercícios Teóricos... 170 9.11 Exercícios Práticos... 170 9.12 Desafio... 171 9.13 Exercícios Resolvidos... 171 Capítulo 10 - Pseudocódigos Estrutura Condicional... 175 10.1 Estrutura Condicional... 175 10.2 Estrutura Condicional com Escolha... Caso... 185 10.3 Funções... 200 10.3.1 Numéricas... 201 10.3.2 Caractere... 201 10.3.3 Algumas Funções... 201 10.4 Conclusão... 208 10.5 Exercícios Teóricos... 208 10.6 Exercícios Práticos... 209 10.7 Desafio... 211 10.8 Exercícios Resolvidos... 211

Capítulo 11 - Estruturas de Repetição... 215 11.1 Estruturas de Repetição Contada... 215 11.2 Estruturas de Repetição Condicional com Teste no Início... 228 11.3 Estruturas de Repetição Condicional com Teste no Final... 246 11.4 Conclusão... 261 11.5 Exercícios Teóricos... 261 11.6 Exercícios Práticos... 262 11.7 Desafio... 265 11.8 Exercícios Resolvidos... 265 Capítulo 12 - Conjuntos... 269 12.1 Vetores ou Matriz de uma Única Linha... 269 12.1.1 Tamanho Físico e Tamanho Lógico... 270 12.2 Matriz... 280 12.3 Conclusão... 293 12.4 Exercícios Teóricos... 294 12.5 Exercícios Práticos... 294 12.6 Exercícios Resolvidos... 295 Capítulo 13 - Strings... 299 13.1 Introdução... 299 13.2 Matrizes de Strings... 311 13.3 Funções para Tratamento e Manipulação de Strings... 324 13.4 Conclusão... 329 13.5 Exercícios Teóricos... 329 13.6 Exercícios Práticos... 330 Capítulo 14 - Classificação e Pesquisa... 331 14.1 Método Bolha de Classificação BubbleSort... 331 14.2 Método de Pesquisa Seqüencial... 337 14.3 Método de Pesquisa Binária... 341 14.4 Conclusão... 348 14.4.1 Inserção Direta... 348 14.5 Exercícios Teóricos... 350 14.6 Exercícios Práticos... 350

Capítulo 15 - SubAlgoritmos... 351 15.1 Vantagens... 351 15.2 Funcionamento... 352 15.3 Procedimentos e Funções... 352 15.4 Variáveis Globais e Locais... 353 15.5 Parâmetros... 354 15.5.1 Passagem de Parâmetros... 354 15.6 Prática... 356 15.6.1 Mantendo as Funções em um Arquivo Separado... 370 15.7 Conclusão... 375 15.8 Exercícios Teóricos... 375 15.9 Exercícios Práticos... 375 15.10 Exercício Resolvido... 376 Capítulo 16 - Registros... 379 16.1 Funcionamento... 379 16.2 Prática... 379 16.3 Conclusão... 396 16.4 Exercícios Teóricos... 397 16.5 Exercícios Práticos... 397 16.6 Exercício Resolvido... 398 Capítulo 17 - Introdução à Orientação a Objetos... 399 17.1 Conceitualização... 399 17.2 Iniciando a Implementação e Orientação a Objetos... 402 17.3 O Primeiro Problema a ser Resolvido... 402 17.4 Fazendo Uso de Modelos... 404 17.5 Conceitos e Pontos Importantes para Criação de uma Classe em Java... 405 17.5.1 Tipos de Dados... 405 17.6 Testando a Classe Criada... 406 17.7 Aplicando Encapsulamento na Classe... 408 17.7.1 Criando os Métodos para Acessar e Atribuir Valores nas Propriedades... 409 17.8 Conclusão... 412 Referências... 413