Conhecendo o C++

Ver Todos os Exercícios

Teoria

E aí, aqui é o Juan do Responde Aí! E hoje vamos começar um papo sobre o C++

Algoritmos

Você já parou pra pensar em como os computadores fazem as coisas? Ou como os programas e aplicativos funcionam?

À primeira vista, os computadores podem parecer inteligentes, mas a verdade é que eles são muito estúpidos! Computadores, smartphones, smart-tvs, smartwatches apenas seguem regras pré-programadas por um ser humano.

Essas regras são chamadas de algoritmos, uma sequência lógica até um objetivo. Os algoritmos são um “passo-a-passo” que diz tudo que deve ser feito, que nem um livro de receitas. E as pessoas que escrevem esses algoritmos são chamados de programadores!

Mas o que é uma linguagem de programação?

Eu já te falei que computadores não são lá muito espertos, e que sempre vão precisar que um humano, como eu e você, diga ao computador o que deve ser feito através de algoritmos.

Porém computadores só entendem zeros e uns, linguagem binária, e não conseguem entender linguagens humanas. E para humanos é muito difícil entender os binários.

Então foi preciso criar linguagens intermediárias para que as pessoas se comuniquem com os computadores, que são chamadas de linguagens de programação. O objetivo das linguagens de programação é fazer a ponte entre a linguagem que os humanos entendem e a linguagem binária que os computadores entendem.

O C++ é uma dessas linguagens de programação, com ele podemos escrever um passo-a-passo e mandar o computador fazer tudo que a gente quiser! Programas como Photoshop, Google Chrome, AutoCAD foram feitos em C++. Até os sistemas operacionais Android, Windows, iOS e Linux tem partes de seus códigos escritos em C++!

Linguagem C++ e Linguagem C

Tudo começo lá nos anos 1970, quando foi inventada a Linguagem C. Essa linguagem ficou muito popular e é usada até hoje, e se você quiser, temos um curso sobre ela aqui no site... mas continuando...

Lá na década de 1980 surgia uma nova moda na programação: a Orientação a Objetos (por enquanto você só precisa saber que isso existe, mas logo, logo, vamos ter vários capítulos dedicados a ela). O que importa é que um programador chamado Bjarne Stroustrup resolveu criar uma versão da Linguagem C que fosse capaz de seguir essa nova moda, surgiu aí a Linguagem C++.

Desde sua criação, a linguagem C++ vem sendo atualizada constantemente, e recebem os nomes de acordo com o ano de lançamento, por exemplo o C++98 foi lançado em 1998, o C++11 lançado em 2011, e o C++20 em dezembro de 2020.

O C++ foi criado como uma expansão da linguagem C, e por isso são muito parecidas. Quase todas as estruturas que existem no C existem no C++, e muitos códigos escritos em C conseguem rodar sem problemas no C++, porém o inverso não é verdade, C++ não roda no C.

Pode parecer que C e C++ são a mesma linguagem, mas não são. Já se passaram muitos anos desde a criação do C e do C++ e desde então as linguagens seguiram rumos diferentes. Por isso C e C++ são linguagem parecidas, mas diferentes.

A maior diferença é que o C++ possibilita orientação a objetos, enquanto o C não. Além disso, o C++ traz novos tipos de dados, novas formas de usar funções, novos métodos de entrada e saída, e por aí vai. Enquanto C também evoluiu, mas com outros objetivos em mente.

Então, caso você nunca tenha ouvido falar de C, não se preocupe, uma coisa não é pré-requisito da outra. Você não precisa saber C para aprender C++. Mas caso você já saiba linguagem C, então você vai ver bastante coisa familiar, mas também várias novidades!

Mas como isso cai na sua prova? Quando os professores perguntam a definição do C++ eles querem a resposta assim: O C++ é uma linguagem de programação compilada e multi-paradigma. Então, vamos dar uma olhada em cada um desses conceitos pra que tudo fique mais claro.

Compila... ação! Como o computador entende os códigos

Show! Até agora já vimos o que é uma linguagem de programação e falamos o quanto o C++ é da hora.

Mas lembra que eu falei que os computadores só entendem zeros e uns, então como é feito esse processo de tradução de linguagem humana para binário?

Esse processo é feito por um programa especial chamado compilador. E o processo de transformar o seu código em binário é chamado de compilação.

O processo de compilação tem várias etapas, mas o que você precisa saber é que: o compilador faz a análise do seu código pra ver se tem algum erro, se tiver algo errado o compilador avisa pra gente em que parte do código deu algum erro. Se tudo estiver certinho no código o compilador faz a síntese, que é de fato a tradução do código para binário. Se você tiver usando Windows, o resultado é um arquivo “.exe”

Outras linguagens de programação, como o Python por exemplo, são linguagens interpretadas, e não passam por esse processo de compilação.

Esse processo de compilação gera duas vantagens principais:

  • Códigos tendem a rodar mais rápido.
  • A análise do compilador ajuda a reduzir a quantidade de bugs do código.

Paradigmas de programação

Existem muitas formas de organizar suas ideias em um código. Cada um desses estilos de programação é chamado de “paradigmas”, e cada um desses paradigmas tem um nome chatinho de lembrar.

Existem muitos paradigmas de programação, mas o paradigma que diferencia o C do C++ é a tão falada Programação Orientada a Objetos.

O mais importante é você saber que o C++ permite diversos estilos de programação e por isso dizemos que ele é uma linguagem multi-paradigma.

IDE: Ambientes para programar em C++

Certo, mas e agora, como você faz pra começar a programar em C++?

Para programar em C++ você só precisa de duas coisas: um lugar para escrever um texto (sério pode ser qualquer coisa, até o Bloco de Notas do Windows), e precisa de um compilador para converter o seu código C++ em código binário.

Só que é muito mais prático se você utilizar uma IDE (Integrated Development Environment), que são programas especializados para escrever código! As IDEs são capazes de combinar o editor de texto e o compilador em um único programa, e trazem muitas ferramentas úteis como detecção de erros, depuração, textos coloridos (highlights), e muito mais.

Talvez seu professor/faculdade tenha indicado uma IDE pra você, mas caso não tenha, basta buscar na internet. Existem centenas de IDEs gratuitas disponíveis.

Dizer qual é a melhor IDE é um tema que gera polêmica entre programadores, então escolha a que mais gostar. Só tenha o cuidado de baixar uma versão que venha com um compilador incluso, ou baixe um compilador separadamente!

E por enquanto é isso pessoal. Até mais.

Mas o que é uma linguagem de programação?

Linguagem C++ e Linguagem C

Compila... ação! Como o computador entende os códigos

Paradigmas de programação

IDE: Ambientes para programar em C++

Exercícios Resolvidos

Exercício Resolvido #1

Qual a relação entre C e C++? Qual a diferença entre eles?

Passo 1

Essa questão são duas perguntas diretas, então não tem segredo, é só a gente lembrar da teoria que lemos.

A relação do C/C++ é que o C++ foi criado com base no C, e que basicamente qualquer código C é aceito como um código C++, e quase todas as estruturas do C existem no C++.

A maior diferença entre eles é que o C++ é orientado a objetos. O C++ também possibilita novas formas de trabalhar com funções, e novos tipos de dados.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #2

O que é uma linguagem de programação?

Passo 1

A questão pede a definição de linguagem de programação.

Vimos na teoria que os computadores só entendem zeros e uns, mas seria bem difícil se comunicar com computadores dessa forma. Então usamos linguagens de programação que são um meio termo entre a linguagem humana e a linguagem da máquina para escrever algoritmos e dar ordens aos computadores.

Uma linguagem de programação é a forma que um programador escreve instruções, ordens, lógicas e processos, para gerar um software que controle o comportamento físico e lógico de um computador. Essas linguagens são compostas por regras, símbolos, e palavras-chaves próprios, que não é uma linguagem humana, nem uma linguagem de máquina, mas sim um meio termo entre elas.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #3

Descreva o processo que é necessário para que um computador entenda os códigos escritos em linguagem C++?

Passo 1

Esse processo a que o enunciado se refere é o processo de compilação.

Esse processo é responsável por traduzir o código de uma linguagem de programação para a linguagem de máquina que o computador executa.

O processo de compilação tem duas etapas básicas:

  • Análise: onde o compilador busca erros no código
  • Síntese: onde o compilador traduz o C++ para linguagem de máquina e isso é feito gerando o binário executável pelo computador.

Resposta

O processo de compilação consiste na análise do código, que busca possíveis erros, e na síntese do código, que gera o binário executável pelo computador.

Exercício Resolvido #4

Explique o que quer dizer: O C++ é uma linguagem de programação, compilada e multi-paradigma.

Passo 1

Essa questão pede que a gente dê três respostas, então vamos responder em partes:

O C++ é uma linguagem de programação pois é a forma de um programador escrever instruções lógicas para um computador, em um meio termo entre linguagem humana e linguagem de máquina.

O C++ é uma linguagem compilada pois passa por um processo de compilação que traduz o código em linguagem de máquina

O C++ é multi-paradigma pois possibilita diversos estilos de programação, entre eles o paradigma de Programação Orientada a Objetos

Resposta

Significa que o C++ é uma linguagem usada para escrever instruções para um computador, que é traduzida para linguagem de máquina por um processo chamado de compilação, e que é capaz de suportar múltiplos estilos de programação.

Exercício Resolvido #5

O que é necessário para programar em C++? O que é uma IDE?

Passo 1

Para programar em C++, são necessárias duas coisas:

  1. Um editor de texto onde podemos escrever nosso código
  2. Um compilador para traduzir este código em linguagem de máquina

Passo 2

Geralmente os programadores utilizam uma IDE, que vem do inglês Integrated Development Environment, ou Ambiente de Programação Integrado. Uma IDE é capaz de combinar um editor de texto e um compilador em uma única ferramenta. IDEs costumam conter várias outras ferramentas úteis que auxiliam o programador.

Resposta

Para programar em C++, é necessário um editor de texto e um compilador. Uma IDE é um programa que combina editor de texto, compilador e outras ferramentas úteis de programação.

Exercício Resolvido #6

Caracterize a afirmação como Verdadeiro ou Falso

“Antes de aprender a programar na linguagem C++, você deve aprender Linguagem C”

Passo 1

Vamos lá, galerinha! Vamos analisar essa questão de verdadeiro ou falso. Pra responder essa pergunta, precisamos lembrar das diferenças entre C e C++.

O C++ e o C são linguagens parecidas, mas existem muitas diferenças entre as duas e por isso são caracterizadas como linguagens diferentes. Então não é necessário saber C antes de aprender C++.

Logo: A afirmação da questão é falsa!

Resposta

Falso

Exercício Resolvido #7

Sabemos que um algoritmo é uma sequência de passos lógicos para desenvolver uma ação.

Escreva em linguagem natural um algoritmo que leia três números, calcule a média e escreva o resultado.

Passo 1

A primeira coisa que temos que fazer é ler os números um de cada vez

  1. Leia o primeiro número
  2. Leia o segundo número
  3. Leia o terceiro número
  4. Passo 2

    Agora precisamos escrever os passos de como calcular uma média. Lá das aulas de matemática, sabemos que pra tirar a média a gente soma todos os números e divide pelo número de membros:

  5. Some o primeiro, o segundo e o terceiro número.
  6. Divida o resultado da soma por três
  7. E assim nós realizamos o cálculo da média

    Passo 3

    Pra concluir a gente precisa mostrar o resultado. Então:

  8. Exiba o resultado da média.

E é isso! Realizamos o nosso algoritmo.

Resposta

  1. Leia o primeiro número
  2. Leia o segundo número
  3. Leia o terceiro número
  4. Some o primeiro, o segundo e o terceiro número.
  5. Divida o resultado da soma por três
  6. Exiba o resultado da média.