Introdução à Programação com a Linguagem C

Aprenda a resolver problemas com uma abordagem prática

Introdução à Programação com a Linguagem C
× Introdução à Programação com a Linguagem C

Introdução à Programação com a Linguagem C

Compartilhar

Autor: Rodrigo de Barros Paes

ISBN impresso: 978-85-7522-485-4
ISBN ebook: 978-85-7522-631-5
Ano: 2016
Páginas: 296
Preço impresso: R$ 75,00 O ebook deste livro está disponível na Amazon.

6 opiniões | Opine sobre este livro

Descrição do livro

Este livro oferece conteúdo abrangente e plenamente compatível para ser utilizado como material didático em disciplinas introdutórias de programação, seja no ensino médio, cursos técnicos, universidades ou mesmo em cursos de curta duração.

O texto é baseado em uma metodologia de aprendizado por experiência e com grande foco na prática de exercícios. Esse aprendizado se dá por meio de quatro etapas cuidadosamente exploradas em cada assunto: experiência concreta, pequenas modificações, analogia e experimentação livre.

Diferentemente do que é comum encontrar nos livros de programação, neste livro os conceitos são introduzidos sempre que se fazem necessários para resolver um determinado problema. Ou seja, primeiro apresenta-se um problema prático para ser resolvido e só então os conteúdos necessários são introduzidos.

Os leitores terão à disposição uma ferramenta on-line para a correção automática dos exercícios propostos. O escopo do livro abrange desde o início, com o entendimento sobre o que são algoritmos e o funcionamento básico de um computador, até questões mais avançadas, como recursão, alocação dinâmica, ponteiros e várias dicas de programação.

Ao final do livro, o leitor estará apto a resolver problemas utilizando a linguagem de programação C

Principais assuntos abordados no livro:

• Entrada e saída

• Atribuição

• Operações aritméticas

• Decisão

• Operações lógicas

• Repetição

• Função

• Array

• Matriz

• String

• Ponteiro

• Estrutura

• Recursão

• Alocação dinâmica

• Estilos de codificaçãoVer menos ▲

Sumário

  • Agradecimentos
  • Sobre o autor
  • Apresentação
  • Capítulo 1 ■ Uma palavra do autor
  • 1.1 Caro estudante
  • 1.2 Caro professor
  • 1.3 Como utilizar este livro
    • 1.3.1 Convenções adotadas neste livro
    • 1.3.2 Códigos do livro
  • 1.4 The Huxley
  • Capítulo 2 ■ O que é programação?
  • 2.1 Mais um algoritmo
  • 2.2 Exercícios
  • Capítulo 3 ■ Funcionamento básico de um computador
  • 3.1 Exercícios
  • Capítulo 4 ■ Primeiro programa
  • 4.1 “Primeiro Programa em C\n”
  • 4.2 Exercícios
  • Capítulo 5 ■ Elementos básicos da programação
  • 5.1 scanf
  • 5.2 Voltando ao problema
  • 5.3 Operações aritméticas
  • 5.4 Atribuição
  • 5.5 printf
  • 5.6 Exercícios
  • 5.7 Exercício comentado: consumo
  • Capítulo 6 ■ Prática com os elementos básicos
  • 6.1 Quantos segundos?
    • 6.1.1 Solução
  • 6.2 Calculadora
    • 6.2.1 Solução
  • 6.3 O homem que calculava
    • 6.3.1 Solução
  • 6.4 IMC
    • 6.4.1 Solução
  • 6.5 Troco
    • 6.5.1 Solução
  • 6.6 Área do triângulo
    • 6.6.1 Solução
  • 6.7 Desenhando um quadrado
    • 6.7.1 Solução
  • 6.8 Exercícios do The Huxley
  • Capítulo 7 ■ Decisão
  • 7.1 Comando if
    • 7.1.1 Exercícios
  • 7.2 Operadores lógicos
    • 7.2.1 Operador lógico E ( && )
    • 7.2.2 Operador lógico OU ( || )
    • 7.2.3 Operador lógico OU exclusivo ( ^ )
    • 7.2.4 Operador lógico unário Não ( ! )
    • 7.2.5 Resolvendo o problema do cinema
    • 7.2.6 Exercícios
  • 7.3 E se não for verdade?
    • 7.3.1 Exercícios
    • 7.3.2 Exercício comentado: menor de três
  • 7.4 Mas como selecionar entre várias opções?
    • 7.4.1 Exercícios
  • 7.5 Exercício comentado: eleitor
  • 7.6 Exercício comentado: equação do segundo grau
  • 7.7 Exercício comentado: imprimir dois números em ordem crescente
  • 7.8 Decisões aninhadas
    • 7.8.1 Exercício comentado: a corrida de aventura
    • 7.8.2 Exercício comentado: devagar, devagar, olhe o radar!!
  • 7.9 Exercícios do The Huxley
  • Capítulo 8 ■ Repetição
  • 8.1 Comando while
    • 8.1.1 Exercícios
    • 8.1.2 Exercício comentado: o número é primo?
    • 8.1.3 Exercícios
    • 8.1.4 Exercícios do The Huxley
  • 8.2 Comando for
    • 8.2.1 Exercícios
    • 8.2.2 Comando for em detalhes
    • 8.2.3 Exercícios
    • 8.2.4 Exercícios do The Huxley
  • Capítulo 9 ■ Funções
  • 9.1 Exercícios
  • 9.2 Os parâmetros são passados por valor
  • 9.3 Retornando valores e passando mais de um valor como parâmetro
  • 9.4 Exercício comentado: função maior de dois
  • 9.5 Exercício comentado: função maior de três
  • 9.6 Exercício comentado: área do círculo
  • 9.8 Exercício comentado: triângulo de números
  • 9.9 Exercícios
  • 9.10 Exercícios do The Huxley
  • Capítulo 10 ■ Array
  • 10.1 Exercício comentado: quantas vezes x apareceu?
  • 10.2 Exercícios
  • 10.3 Exercícios do The Huxley
  • 10.4 Outras formas de inicialização
  • 10.5 Passando arrays como parâmetros para funções
  • 10.6 Exercícios
  • 10.7 Array com duas dimensões (matrizes)
  • 10.8 Percorrendo um array bidimensional linha por linha
  • 10.9 Exercícios
  • 10.10 Exercício comentado: adicionar duas matrizes
  • 10.11 Exercício comentado: matriz transposta
  • 10.12 Exercícios
  • 10.13 Exercícios do The Huxley
  • Capítulo 11 ■ String
  • 11.1 Inicialização
  • 11.2 Leitura
  • 11.3 Impressão
  • 11.4 Exercício comentado: tamanho de uma frase
  • 11.5 Exercícios
  • 11.6 Exercícios do The Huxley
  • Capítulo 12 ■ Ponteiros
  • 12.1 Exercício comentado: ordenar três variáveis inteiras
  • 12.2 Exercício comentado: o que será impresso pelos quatro printfs?
  • 12.3 Exercício comentado: quais os valores de firstvalue e secondvalue?
  • 12.5 Exercício comentado: qual o valor de y?
  • 12.6 Valor NULL
  • 12.7 Exercícios do The Huxley
  • Capítulo 13 ■ Estruturas
  • 13.1 Exercícios
  • 13.2 Exercício comentado: características físicas
  • 13.3 Exercícios
  • 13.4 Exercícios do The Huxley
  • Capítulo 14 ■ Recursão
  • 14.1 Exercício comentado: soma recursiva dos elementos de um array
  • 14.2 Exercícios
  • 14.3 Exercício comentado: Fibonacci
  • 14.4 Exercício comentado: palíndromo
  • 14.5 Exercícios
  • 14.6 Exercícios do The Huxley
  • Capítulo 15 ■ Catálogo das principais habilidades
  • 15.1 Escrever na tela
    • Exemplos de implementação
  • 15.2 Ler dados que o usuário digitou
    • Exemplos de implementação
  • 15.3 Transformar um valor
    • Exemplos de implementação
  • 15.4 Executar uma ação quando uma condição for verdadeira
    • Exemplo de implementação
  • 15.5 Executar uma ação ou outra dependendo da condição
    • Exemplo de implementação
  • 15.6 Executar uma ação dentro de uma lista de várias possibilidades
    • Exemplo de implementação
  • 15.7 Trocar o conteúdo de duas variáveis
    • Exemplos de implementação
  • 15.8 Ordenar dois ou três valores numéricos
    • Exemplos de implementação
  • 15.9 Repetir um número específico de vezes
    • Exemplo de implementação
  • 15.10 Repetir enquanto uma condição é verdade
    • Exemplo de implementação
  • 15.11 Contar
    • Exemplo de implementação
  • 15.12 Ler uma lista de valores e guardar em uma variável
    • Exemplos de implementação
  • 15.13 Percorrer uma lista de valores
    • Exemplos de implementação
  • 15.14 Ordenar uma lista de valores numéricos
    • Exemplo de implementação
  • Capítulo 16 ■ Dicas sobre acentuação, incremento, ponteiro, alocação dinâmica, array e string
  • 16.1 Usando acentos no terminal
  • 16.2 ++i ou i++
  • 16.3 Ponteiros e arrays
    • 16.3.1 Incrementando ponteiros
  • 16.4 Alocação dinâmica de memória
    • 16.4.1 Alocação dinâmica de arrays bidimensionais (matrizes)
  • 16.5 Passando matrizes como parâmetros
  • 16.6 Funções de manipulação de strings
    • 16.6.1 strcpy
    • 16.6.2 strcat
    • 16.6.3 strcmp
    • 16.6.4 strchr
    • 16.6.5 strstr
    • 16.6.6 strlen
  • 16.7 O problema da precisão de números reais
  • Capítulo 17 ■ Guia de estilo de codificação
  • 17.1 Nome do arquivo
  • 17.2 Indentação
  • 17.3 Função main
  • 17.4 Constantes e macros
  • 17.5 Declaração de variáveis
  • 17.6 Comandos
    • 17.6.1 if else
    • 17.6.2 switch
  • 17.7 Regras gerais
  • Considerações finais
Ver sumário completo ▼

Sobre o autor

Rodrigo de Barros Paes

Rodrigo de Barros Paes é doutor em Informática pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio). É professor de disciplinas de programação da Universidade Federal de Alagoas (UFAL) desde 2009. Além disso, é treinador da UFAL para as competições da Maratona de Programação e da Olimpíada Brasileira de Informática. Possui… Ver perfil completo ▶

Opinião dos leitores

Newdecyr C M J

Estou terminando de ler... Aprendi muito... Obrigado.

Deyvison B

Muito bom. Conteúdo didático e de fácil entendimento. O autor pecou em pular alguns termos e assuntos essenciais para quem está realmente começando, mas não influenciou em muita coisa, pois o livro é ótimo... Leio todos os dias dentro do ônibus!

Adriano L

Não passa da divulgação do site do autor. Livro possuí certa base, contudo é desconexo e também apelativo ao que se entende das questões. Para acessar a questão é necessário acessar o site do autor do livro e efetuar um cadastro. O que em outros livros, não é necessário. O conteúdo deixa a desejar. Ensina pouco e não auxilia tanto quanto eu esperava das questões básicas de programação C. Nada mais que propaganda. Infelizmente gastei dinheiro à toa. O livro tem sequência das questões e não pula abruptamente uma ordem lógica de ensinamento.

Vinícius d S O

Como discutir programação sem discutir código-fonte? E o livro Introdução à Programação com a Linguagem C acerta nesse ponto, com exemplos iluminadores para os conceitos ensinados, e uma disposição de conteúdo gradual e simples que devem tornar o aprendizado efetivo. Como um professor dedicado, o autor deve ter aproveitado seu material, os seus alunos, como um experimento para encontrar exemplos que funcionassem. Uma preocupação com simplicidade que omite ou adia a preocupação com certos conceitos nos capítulos iniciais. Uma decisão que permite o livro ser fácil de entender e ser tão curto quanto é. É o contrário da especificação da linguagem, apropriado para aprendizado. Entretanto, o livro não deixa de apresentar pequenas nuâncias nos conceitos durante o decorrer da leitura, que só ressaltam a preocupação em fazer os conceitos serem entendidos corretamente, ao explicitar uma consequência ou outra de cada regra, de forma lenta, sem sobrecarregar o aluno, de forma mais efetiva que não se perca em muitas informações para se lembrar. Essa preocupação é bem abrangente e cobre, por exemplo, segurança, terminologia e arquitetura. Um grande exemplo de como conciliar pragmatismo no ensino sem criar um aluno ignorante. Os trechos código comentados ainda possuem o bônus de gradualmente, e de forma lenta, sem forçar sobrecarga de conteúdo, apresentar exemplos sutis de dividir para conquistar, abordagem top-down e outros bons conceitos para habilidades gerais de solucionar problemas, mas só quando a fundação da linguagem já foi bem explorada e o aluno já deveria estar melhor acostumado com questões de sintaxe, o que acho muito acertado no livro. Todo o capítulo de recursão é um bônus a parte que estimula o aluno a quebrar a forma de pensar com a qual todo o resto do livro o acostuma e, assim, espero, o estimule a sempre procurar novas formas de resolver problemas e aprender mais, em vez de ficar limitado e satisfeito com o próprio livro. Esse é um livro que eu recomendaria a qualquer pessoa que nunca teve contato com programação e deseja aprender a programar utilizando a linguagem C.

Ver todas ▼