Rodrigo de Barros Paes

Documentos relacionados
William Pereira Alves

Criando Relatórios com PHP Pablo Dall Oglio

Edécio Fernando Iepsen

PHP. Programando com Orientação a Objetos. Pablo Dall Oglio. Novatec

Adriano Pataro. Novatec

Desenvolvendo Websites com PHP

Aditya Y. Bhargava. Novatec

Allen B. Downey. Novatec

3ª Edição Nilo Ney Coutinho Menezes

Web Interativa com Ajax e PHP

Introdução ao GitHub Peter Bell e Brent Beer

Novatec Editora Ltda

4ª Edição Pablo Dall Oglio

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI Maurício Samy Silva Novatec

Osvaldo Santana Thiago Galesi

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Ademir Ribeiro dos Passos

Programando para. iphone e ipad. Aprenda a construir aplicativos para o ios. André Milani. Novatec

Roberto Cohen. Novatec

Objective-C Fundamental Christopher K. Fairbairn Johannes Fahrenkrug Collin Ruffenach

Jody Culkin e Eric Hagan

JavaScript. de Alto Desempenho. Nicholas C. Zakas. Novatec

André Gugliotti. Novatec

Blender 3D jogos e animações interativas Allan Brito

jquery Mobile Desenvolva aplicações web para dispositivos móveis com HTML5, CSS3, AJAX, jquery e jquery UI 2a Edição Maurício Samy Silva Novatec

Luiz Eduardo Borges. Novatec

Matheus Marabesi Michael Douglas

Ademir Cristiano Gabardo. Novatec

Pedro Monteiro da Silva Eleutério Marcio Pereira Machado. Novatec

Hélio Engholm Jr. Novatec

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Arduino Básico. 2ª edição. Michael McRoberts. Novatec

Guia Mangá Circuitos Eletrônicos

Introdução às. Expressões Regulares. Michael Fitzgerald. Novatec

Ademir Cristiano Gabardo. Novatec

Guia Mangá. Microprocessadores. Michio Shibuya, Takashi Tonagi e Office Sawa. Novatec

Primeiros Passos com o Arduino

Lógica de Programação Completo

Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata

Construindo Aplicações Node com MongoDB e Backbone Mike Wilson

Guia Mangá. Álgebra Linear. Shin Takahashi, Iroha Inoue e Trend-Pro Co., Ltd. novatec

1.1 o que é um algoritmo... 6

2ª Edição Cláudio Torres

Ryan Mitchell. Novatec

Shyam Seshadri & Brad Green

Uma introdução visual à programação com jogos, arte, ciência e matemática

Arduino Básico Michael McRoberts

Guia Mangá Motores elétricos

Novatec Editora Ltda

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Ademir C. Gabardo. Novatec

Introdução à Linguagem C

AngularJS. Uma abordagem prática e objetiva. Michael Henrique R. Pereira. Novatec

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

PLANO DE UNIDADE DIDÁTICA- PUD

Introdução à Programação com Python

Raspberry Pi Manual do Usuário

Allan Liska e Timothy Gallo. Novatec

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

LINGUAGEM C: ARRAY: VETORES E MATRIZES

Maurício Samy Silva. Novatec

Primeiros Passos com o Netduino

4ª Edição Revisada e Ampliada Aurelio Marinho Jargas

Expressões Regulares Cookbook Jan Goyvaerts Steven Levithan

Indira Knight. Novatec

Chris Binnie. Novatec

Roni Antônio Mendes. Novatec

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

Benjamin Bengfort Jenny Kim

Sérgio de Oliveira. Novatec

Robson Santos da Silva

FUNDAÇÃO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO

Plano de Ensino. Ementa

Murillo Lo Visco. Novatec

Análise de Regressão

Introdução à Programação com Python

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Introdução a Programação de Jogos

Modelo de plano analitico

desenvolva aplicações web profissionais com uso dos poderosos recursos de estilização das css3 Maurício Samy Silva

Criando Relatórios com PHP

Aprenda a Programar com Minecraft

Primeiros Passos com Sensores Kimmo Karvinen Tero Karvinen

Karl Matthias Sean P. Kane

Guia Mangá Circuitos Eletrônicos

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

Ben Vinegar Anton Kovalyov

SUBGERÊNCIA DE GESTÃO EDUCACIONAL PLANO DE CURSO

Estrutura do programa

Dinâmica dos fluidos

Algoritmos e Técnicas de Programação. Professora: Luciana Faria

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Maurício Samy Silva. Novatec

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

Shelley Powers. Novatec

Transcrição:

Rodrigo de Barros Paes Novatec

Novatec Editora Ltda. 2016. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Assistente editorial: Priscila A. Yoshimatsu Revisão gramatical: Solange Martins Capa: Carolina Kuwabata Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-485-4 Histórico de impressões: Março/2016 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec

Sumário Agradecimentos... 13 Sobre o autor... 14 Apresentação... 15 Capítulo 1 Uma palavra do autor... 17 1.1 Caro estudante... 17 1.2 Caro professor... 18 1.3 Como utilizar este livro...20 1.3.1 Convenções adotadas neste livro... 21 1.3.2 Códigos do livro...22 1.4 The Huxley...22 Capítulo 2 O que é programação?... 24 2.1 Mais um algoritmo...27 2.2 Exercícios...30 Capítulo 3 Funcionamento básico de um computador... 31 3.1 Exercícios... 35 Capítulo 4 Primeiro programa... 36 4.1 Primeiro Programa em C\n... 37 4.2 Exercícios...42 Capítulo 5 Elementos básicos da programação... 43 5.1 scanf... 47 5.2 Voltando ao problema...49 5.3 Operações aritméticas...50 5.4 Atribuição...51 7

8 Introdução à Programação com a Linguagem C 5.5 printf... 52 5.6 Exercícios... 55 5.7 Exercício comentado: consumo...56 Capítulo 6 Prática com os elementos básicos... 58 6.1 Quantos segundos?...58 6.1.1 Solução...58 6.2 Calculadora...59 6.2.1 Solução...59 6.3 O homem que calculava...60 6.3.1 Solução... 61 6.4 IMC...62 6.4.1 Solução...62 6.5 Troco...62 6.5.1 Solução...63 6.6 Área do triângulo...64 6.6.1 Solução...64 6.7 Desenhando um quadrado...65 6.7.1 Solução...65 6.8 Exercícios do The Huxley...65 Capítulo 7 Decisão... 67 7.1 Comando if...68 7.1.1 Exercícios...72 7.2 Operadores lógicos...73 7.2.1 Operador lógico E ( && )...73 7.2.2 Operador lógico OU ( )... 74 7.2.3 Operador lógico OU exclusivo ( ^ )... 75 7.2.4 Operador lógico unário Não (! )... 75 7.2.5 Resolvendo o problema do cinema...76 7.2.6 Exercícios...77 7.3 E se não for verdade?...78 7.3.1 Exercícios... 81 7.3.2 Exercício comentado: menor de três... 81 7.4 Mas como selecionar entre várias opções?...83 7.4.1 Exercícios...88 7.5 Exercício comentado: eleitor...89 7.6 Exercício comentado: equação do segundo grau...92 7.7 Exercício comentado: imprimir dois números em ordem crescente...95

Sumário 9 7.8 Decisões aninhadas...99 7.8.1 Exercício comentado: a corrida de aventura...99 7.8.2 Exercício comentado: devagar, devagar, olhe o radar!!... 103 7.9 Exercícios do The Huxley... 107 Capítulo 8 Repetição... 108 8.1 Comando while... 111 8.1.1 Exercícios... 114 8.1.2 Exercício comentado: o número é primo?... 114 8.1.3 Exercícios...118 8.1.4 Exercícios do The Huxley...118 8.2 Comando for...119 8.2.1 Exercícios... 122 8.2.2 Comando for em detalhes... 122 8.2.3 Exercícios... 123 8.2.4 Exercícios do The Huxley...124 Capítulo 9 Funções... 125 9.1 Exercícios... 134 9.2 Os parâmetros são passados por valor...135 9.3 Retornando valores e passando mais de um valor como parâmetro...137 9.4 Exercício comentado: função maior de dois... 138 9.5 Exercício comentado: função maior de três... 139 9.6 Exercício comentado: área do círculo... 140 9.7 Exercício comentado: função para converter graus Celsius em Fahrenheit. 141 9.8 Exercício comentado: triângulo de números...143 9.9 Exercícios...145 9.10 Exercícios do The Huxley... 146 Capítulo 10 Array... 147 10.1 Exercício comentado: quantas vezes x apareceu?... 150 10.2 Exercícios...152 10.3 Exercícios do The Huxley...152 10.4 Outras formas de inicialização... 153 10.5 Passando arrays como parâmetros para funções... 153 10.6 Exercícios... 158 10.7 Array com duas dimensões (matrizes)... 158 10.8 Percorrendo um array bidimensional linha por linha...161 10.9 Exercícios... 166

10 Introdução à Programação com a Linguagem C 10.10 Exercício comentado: adicionar duas matrizes... 166 10.11 Exercício comentado: matriz transposta... 169 10.12 Exercícios... 171 10.13 Exercícios do The Huxley...173 Capítulo 11 String... 174 11.1 Inicialização...175 11.2 Leitura...176 11.3 Impressão...178 11.4 Exercício comentado: tamanho de uma frase...178 11.5 Exercícios...179 11.6 Exercícios do The Huxley... 180 Capítulo 12 Ponteiros... 181 12.1 Exercício comentado: ordenar três variáveis inteiras... 189 12.2 Exercício comentado: o que será impresso pelos quatro printfs?... 193 12.3 Exercício comentado: quais os valores de firstvalue e secondvalue?... 194 12.4 Exercício comentado: quais os valores finais de firstvalue e secondvalue?.195 12.5 Exercício comentado: qual o valor de y?... 196 12.6 Valor NULL... 196 12.7 Exercícios do The Huxley... 197 Capítulo 13 Estruturas... 198 13.1 Exercícios... 205 13.2 Exercício comentado: características físicas... 205 13.3 Exercícios...214 13.4 Exercícios do The Huxley...214 Capítulo 14 Recursão... 215 14.1 Exercício comentado: soma recursiva dos elementos de um array...219 14.2 Exercícios... 220 14.3 Exercício comentado: Fibonacci...221 14.4 Exercício comentado: palíndromo... 224 14.5 Exercícios... 226 14.6 Exercícios do The Huxley... 227 Capítulo 15 Catálogo das principais habilidades... 228 15.1 Escrever na tela... 228 Exemplos de implementação... 228

Sumário 11 15.2 Ler dados que o usuário digitou... 229 Exemplos de implementação... 230 15.3 Transformar um valor... 234 Exemplos de implementação... 235 15.4 Executar uma ação quando uma condição for verdadeira... 235 Exemplo de implementação... 235 15.5 Executar uma ação ou outra dependendo da condição... 236 Exemplo de implementação... 236 15.6 Executar uma ação dentro de uma lista de várias possibilidades... 237 Exemplo de implementação... 237 15.7 Trocar o conteúdo de duas variáveis... 238 Exemplos de implementação... 238 15.8 Ordenar dois ou três valores numéricos... 239 Exemplos de implementação... 239 15.9 Repetir um número específico de vezes...241 Exemplo de implementação...241 15.10 Repetir enquanto uma condição é verdade...241 Exemplo de implementação... 242 15.11 Contar... 242 Exemplo de implementação... 243 15.12 Ler uma lista de valores e guardar em uma variável... 243 Exemplos de implementação... 244 15.13 Percorrer uma lista de valores... 245 Exemplos de implementação... 245 15.14 Ordenar uma lista de valores numéricos... 247 Exemplo de implementação... 247 Capítulo 16 Dicas sobre acentuação, incremento, ponteiro, alocação dinâmica, array e string...249 16.1 Usando acentos no terminal... 249 16.2 ++i ou i++...251 16.3 Ponteiros e arrays... 254 16.3.1 Incrementando ponteiros... 257 16.4 Alocação dinâmica de memória... 259 16.4.1 Alocação dinâmica de arrays bidimensionais (matrizes)...266 16.5 Passando matrizes como parâmetros...268 16.6 Funções de manipulação de strings... 270 16.6.1 strcpy... 270 16.6.2 strcat...271 16.6.3 strcmp... 272

12 Introdução à Programação com a Linguagem C 16.6.4 strchr... 273 16.6.5 strstr... 274 16.6.6 strlen... 274 16.7 O problema da precisão de números reais... 275 Capítulo 17 Guia de estilo de codificação... 279 17.1 Nome do arquivo... 279 17.2 Indentação...280 17.3 Função main...281 17.4 Constantes e macros... 282 17.5 Declaração de variáveis... 282 17.6 Comandos...284 17.6.1 if else...284 17.6.2 switch... 285 17.7 Regras gerais... 285 Considerações finais... 288