Conhecendo o C++
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
Elaboração própria.
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
Fonte do Exercício. Elaboração própria.
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
Fonte do Exercício. Elaboração própria.
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
Elaboração própria.
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
Fonte do Exercício. Elaboração própria.
O que é necessário para programar em C++? O que é uma IDE?
Passo 1
Para programar em C++, são necessárias duas coisas:
- Um editor de texto onde podemos escrever nosso código
- 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
Elaboração Própria
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
Adaptado de UFPI
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
- Leia o primeiro número
- Leia o segundo número
- Leia o terceiro número
- Some o primeiro, o segundo e o terceiro número.
- Divida o resultado da soma por três
- Exiba o resultado da média.
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:
E assim nós realizamos o cálculo da média
Passo 3
Pra concluir a gente precisa mostrar o resultado. Então:
E é isso! Realizamos o nosso algoritmo.
Resposta
- Leia o primeiro número
- Leia o segundo número
- Leia o terceiro número
- Some o primeiro, o segundo e o terceiro número.
- Divida o resultado da soma por três
- Exiba o resultado da média.