E, pra finalizar a aula, só queria lembrar vocês do seguinte
que lá nas páginas de internet
usem minha página lá da disciplina, enfim,
a gente pode utilizar nesse estudo que a gente tá fazendo.
Então, é DAINF Jean Simão.
Cai na minha página.
Você vai em...
Técnicas de Programação aqui.
Você tem que entrar em Revisões de Conceitos Fundamentais.
Aqui tem o grupo de slides A que foi objeto da aula anterior.
E aí, o grupo de slides número B que foi objeto da aula corrente.
Se você olhar... Se você olhar, insisto,
os slides, você vai perceber que são os slides que eu trabalhei nessa aula.
Posso até abrir aqui por exemplo.
Tá ali, ó.
A gente trabalhou nessa aula aí, conforme já discutido.
Aqui ademais os slides em formato .pdf e formato .ppt,
ao gosto do cliente,
tem os códigos que foram feitos nessa aula.
Todos os códigos ou, pelo menos, grande parte dos códigos que eu trabalho
eu testei, compilei, brinquei com eles, tá.
Você pode baixar e executar.
Coisa que eu já fiz aqui, em algum lugar.
Tá aqui, ó.
Aqui, eu baixei os códigos.
Códigos dos Slides 1. Eu tenho todas as versões.
Tá vendo?
Esse grupo de slides aqui,
eu fiz numa versão do Visual Studio anterior, Visual Studio 2014 e por aí vai.
Então, ele tá aqui, ó.
O código eu faço ele no ambiente, tá,
construo ele no ambiente de projeto do Microsoft
que gera pra cada grupo de códigos que eu faço,
ele gera um projeto chamado 'algo'.sln
Aqui é ProjetoOOExemplo.sln, sln de solution.
Geralmente, se eu clicasse aqui
dois cliques, ele abriria no Microsoft Visual C++.
Acontece que, nesse período de pandemia, meu HD queimou,
e eu precisei instalar um novo HD, instalar um novo Windows,
instalar um novo compilador.
Aí eu instalei um compilador mais atual,
se eu não me equivoco, o Microsoft Visual Studio 2019.
A versão gratuita, tá, que nós temos acesso enquanto acadêmicos,
tanto professores quanto alunos.
Então, você cria lá uma licença acadêmica e utiliza novamente, tá, sem nenhum problema.
Isso considerado, o que você vai ter que fazer, é o seguinte...
Depois que você baixar os arquivos,
Você vai vir aqui, escrever, sei lá eu aqui, 'Visual'.
Por exemplo, tá ali ó, Microsoft Visual Studio 2019.
Ele vai abrir o ambiente de programação pra você.
Aí, você vai fazer o quê...
Você vai vir aqui ler as opções,
eu coloquei em português, mas geralmente eu coloco em inglês,
mas tá em português, não tem problema, é até mais fácil.
Abrir um projeto ou uma solução.
Legal.
Que projeto eu vou abrir?
Eu vou lá...
Na minha cadeia de diretórios, posso buscar a cadeia, tá.
Aqui já tá mais ou menos engatilhado.
Fundamentais...
Códigos Slides... Aqui o grupo de slides número 1, a parte técnica, bem entendida, né.
E daí a parte B.
Aqui tem todos os códigos e todas versões que eu trabalhei, tá.
Por exemplo, se você quer dar uma olhada numa versão que eu chamei aqui, internamente, de 1B.
Eu vou clicar ali, vou criar... Clicar em solution.
Veja, eu não posso ir lá no explorer e clicar direto no solution,
eu tenho que vir pelo ambiente e fazer esse rito que eu tô fazendo aqui.
Ir lá e buscar... Abrir o ambiente primeiro,
e através do ambiente ir buscar o .sln,
e aí, no ambiente, eu clico aqui e...
Perdão, eu clico ali em abrir,
e vamos ver o que vai fazer.
Ele fez uma série de cálculos aqui
e ele tá, provavelmente, percebendo
que esse... Ele tá dizendo que esse meu projeto foi feito num compilador de versão anterior.
Ele tá pedindo aí, na prática, pra eu converter.
Eu vou dar um 'Ok'.
Daí, agora, a partir daqui, eu consigo abrir as coisas.
O que tem ali é o source os .cpp's, né.
Ali ó.
Tá aqui o Pessoa.cpp.
Tá aqui o Pessoa... Construtora, o Calc_Idade()
Aqui se eu diminuir, ó, fica os três pontinhos ali ó, tá vendo?
Posso até dar um zoom aí, né, porque talvez fique mais fácil vocês verem.
Melhorou aqui ó, esse daqui é o cpp, tá.
As reticências.
Tá aqui o header que são os .h's.
Perdão, aqui o que interessa pra nós é o Pessoa.h.
Tá aí, ó.
As coisas que a gente tava trabalhando...
Trabalhou na disciplina nesse... Aliás, nessa... Nessa aula... Nesse dia de hoje.
Deixa eu salvar isso aqui.
Bom, antes de salvar eu posso vir aqui
e tentar fazer
uma recompilação... Recompilar tudo.
Se eu não inseri nenhum erro aí,
nas minhas brincadeiras com esse código, deve compilar.
Compilou com êxito, vamos ver se vai executar.
Eu vou ali em 'Depurar' e vou fazer 'Iniciar Sem Depurar', justamente.
É engraçado que em 'Depurar' você inicia ele sem depurar.
Ctrl + F5.
E aqui ele tá executado, ó.
Calculou a idade do Einstein e calculou a idade do Newton,
conforme a gente tinha mostrado.
Ok. Eu posso fechar agora... Bom, preciso salvar. Posso fechar.
Aqui eu tô numa versão 1D,
que provavelmente é uma versão um pouquinho mais avançada
é a última versão que eu fiz em relação aos códigos que a gente tinha discutido em aula, tá.
Então, pra eu acessar essa última versão,
insisto, como eu tinha feito isso aqui em versão anterior,
vou ter que usar o mesmo procedimento.
Vamos lá.
'Visual', vai aparecer o Visual Studio.
Insisto, o Visual Studio você vai no site da Microsoft, baixa o Visual Studio,
antes disso, cria uma licença apropriada de estudantes, tudo certinho, tá,
pra você poder ter acesso a isso.
Professor, eu não uso Microsoft, eu uso só o Linux.
Você pode, então, usar o CodeBlocks pra fazer os teus programas, não tem problema.
É a mesma lógica.
Todos os ambientes que você vai utilizar,
Eles trabalham com projetos, você vai criar um projeto
'MeuProjeto.cpp', sei lá eu, aliás, 'MeuProjeto.algo', solution, project, sei lá o quê.
Daí ele vai provavelmente já criar pra você
o main.cpp e você vai adicionando os .h's os .cpp's tudo que você precisa.
Aqui eu tô abrindo de volta o Microsoft,
Vou lá em 'Abrir um projeto de uma solução que já existe'.
Imagine que vocês querem espiar a minha solução,
pra comparar com a que vocês estão fazendo em casa,
Deixa eu voltar um pouquinho aqui, CodigoSlides...
Fundamentais, CodigoSlides, 1,
Tá ali ó, esse é o último.
Vou abrir aqui o solution,
e eu tenho que fazer esse rito em abrir via ambiente, não posso abrir por fora,
pra que ele converta, supostamente, pra essa versão nova aqui.
Ele tá aí pensando e, agora, tá aberto aqui.
Cadê a Pessoa.h?
Vejam que aqui eu não tenho
a implementação das minhas funções, tenho apenas a definição.
A implementação vai estar no respectivo .cpp.
Tá ali ó, Pessoa.cpp.
E aqui eu tenho ProjetoOOExemplo.
Em vez de ele chamar de... O Microsoft em vez chamar de main.cpp
o .cpp que tem a função main, ele chama pelo nome do projeto,
'MeuProjeto.cpp',
ou algo assim, no caso aqui é ProjetoOOExemplo.cpp,
e ele tem a função main.
Microsoft tem umas peculiaridades, tá,
ele não chama de 'main', ele chama de '_tmain', mas tudo bem.
É o main do C++, aqui no Microsoft.
Você tem também o #include "Pessoa.h" e você tem um #include a mais aqui,
que é o "stdafx.h".
O que que é esse "stdafx.h"?
Esse aqui é apenas um concentrador, tá, standard affixment,
é um concentrador de bibliotecas externar, é um organizador.
Aqui, por exemplo, imaginem que eu precise, aqui nesse main,
incluir o stdio.h, o string.h, o math.h
em vez de incluir tudo aqui, aquelas três bibliotecas, eu, simplesmente, incluo "stdafx.h"
e nesse cara que, por sua vez, eu vou incluir as bibliotecas externas que eu preciso.
Tá ali inclusive já algumas, ó.
Nada obsta de eu vim aqui e colocar lá
#include e afins.
Agora, aqui, por exemplo, em todo programa que eu for usar alguma biblioteca externa,
basta eu incluir esse standard affixment,
fixação de padrão de inclusões externas.
Se for lá, por exemplo, no Pessoa.h,
ou no Pessoa.cpp aqui,
ele fez lá o #include "stdafx.h".
Então, é o concentrador de bibliotecas externas.
Aqui tem outra coisa legal, tá.
Nesse ambiente de classe tem varias coisas legais
nesse ambiente pra explorar, o ambiente profissional.
Eu posso vir aqui, por exemplo, e marcar aqui essa função.
Bom, eu vou compilar aqui e ver se vai dar certo.
Recompilar tudo.
Aqui, ele não tá recompilando pelo seguinte,
eu fiz uma malasarte aqui.
Eu tinha aberto esse companheiro diretamente a partir do explorer,
não abri, num primeiro momento, a partir
do compilador aqui, e agora ele tá se perdendo, não tá achando
não tá conseguindo converter.
Eu, provavelmente, vou ter que investigar, aqui, as funções do compilador
pra poder converter esse meu presente projeto, né
que tá aqui, para...
Do 2013, Visual Studio 2013, para o Visual Studio 2019.
Então, insisto,
aqui, num primeiro momento, em vez de eu abrir direto do ambiente, como eu fiz nesse momento,
numa primeira feita, eu vim aqui e cliquei direto aqui, ó, aí ele me deu um erro.
Me deu um erro, porque o compilador agora tá...
Dizendo, "Não você tá abrindo um projeto 2013, eu sou 2019".
Pra você conseguir abrir um projeto que é 2013 e virar um projeto 2019,
você tem que fazer aquilo que eu fiz
que foi abrir primeiro o ambiente do Studio e a partir dele abrir o projeto,
se não ele vicia.
Deve ter alguma maneira, aqui, de eu converter esse camarada,
como esse ambiente ele evoluiu, eu vou ter que pesquisar isso aqui
pra mostrar pra vocês na sequência.
Depois... Então, insisto, essa versão aqui, é uma versão
que eu abri direto sem converter
e agora ele tá viciado achando que tem um erro.
Esse cara aqui, por exemplo, a versão 1B,
eu já converti, eu primeiro abri no ambiente
e lá no ambiente eu fiz a conversão conforme vocês viram, tá.
Agora, provavelmente, que ele já está convertido,
agora, quando se eu abrir direto aqui ele deve funcionar.
Foi esse que eu converti? Tomara que sim.
Ele tá aqui.
Essa é a versão que eu fiz a conversão certinho.
Compilação...
Muito bem, tá compilando.
Código gerado.
Então, nessa versão que foi a versão que eu fiz a conversão correta,
eu posso mostrar o que eu queria.
Imagine que eu quero testar a execução de uma função.
Eu quero testar se ele tá calculando certo aqui, tá decrementando,
eu tô desconfiado que por algum motivo
ele não está decrementando.
Então, eu venho aqui, marco a função
Aqui na execução em vez de executar sem depuração, eu executo depurando, justamente.
A hora que ele chega na função...
A hora que ele chega na função
Calc_Idade que vai ser o Calc_Idade de Einstein lá, tá.
Calc_Idade de Einstein.
A hora que ele chamou o Calc_Idade de Einstein,
Ó lá, ó.
Ele parou lá no ponto que eu mandei ele parar,
e aqui eu posso investigar o que tá acontecendo.
F10 ele vai avançando.
F11 entra em funções se tiver duas funções.
Eu posso, aqui, investigar...
Cuidado, ó, 128.
Eu posso analisar o estado das variáveis,
eu poderia olhar olhar a idade antes dele executar esse if/else, por exemplo.
Aqui, idade tá com 128.
Será que a idade vai continuar com 128
depois de executar?
Oh, perdão.
Aqui ele não entrou no if, por quê?
Três é igual a dois? Não, não é. Então ele não tinha que entrar no if mesmo.
Então eu tô vendo que função ta executando certinho.
Essa é uma maneira de você poder debugar, você poder testar
o seu programa.
Bom, pessoal, aqui, na verdade, não era nem a intenção entrar no ambiente nessa aula,
mas eu acabei me inspirando,
e já entrei e fiz essa demonstração pra vocês, tá.
De qualquer forma, eu acredito que ela vai ser útil pra vocês
melhor se ambientarem com a execução dos programas de vocês, tá.
Alguns de vocês já tinham acompanhado essa... Essa exposição
em aula presencial, então sabem bem do que eu tô falando.
Aproveitando que eu tô inspirado, eu vou fazer uma última
demonstração, que é o seguinte:
'Visual'... 'Studio'.
Como é que começa um projeto do zero no Visual Studio?
Então, eu, provavelmente, vou criar um projeto...
Vou escolher...
Que vai ser um aplicativo console pra C++ no Windows.
Vou escolher aonde eu vou abrir esse projeto.
Aqui eu vou escolher algum diretório aleatório qualquer... 'Temp'.
'Selecionar pasta'.
ConsoleApplication1.
E vou criar o meu projeto.
Vamos ver o que vai acontecer.
Eu nunca tinha criado projeto no 2019, mas não deve ter nenhum mistério.
Ele vai ter criado, aqui, um console
O nome que eu dei pro projeto foi 'ConsoleApplication1', não foi muito criativo.
Se você olhar, ele tem o main aqui.
Se olhar um pouco os arquivos, esses aqui são dependências externas, tá,
não tem nada a ver com hoje, eu explico isso aqui em outro momento.
Nesse caso aqui, como eu pedi, interessante, como eu pedi um...
Um projeto mais puro, ele não trouxe nem aqui aquele stdafx pra mim.
Conforme as opções que eu faço, lá na criação de projeto, provavelmente ele vai trazer
o standard affixment, pra mim se assim eu solicitar.
Bom, aqui eu posso daí, criar mais arquivos
conforme for sendo necessário.
Por exemplo, imagine que eu quero criar uma nova classe.
Criar classe do C++.
Vou por ali, vai ser aqui mesmo,
e vou dar um 'Adicionar' vamos ver o que acontece pra mim.
Tá perguntando o nome da classe, vou chamar de classe...
Imagina que você tá fazendo um jogo, então, eu quero fazer um dragão no meu jogo.
Dragão, Dragao.h e Dragao.cpp.
Vou dar um 'Ok'.
Ele já criou ali o Dragao.h e o Dragao.cpp,
aonde eu vou poder começar a implementar a minha classe
Então, aqui eu começaria escrevendo.
A gente já vê inclusive a classe vindo pré-pronta,
aí eu vou fazer o private, vou fazer o public, fazer as...
Os atributos, as funções e por aí vai.
Pessoal, espero que tenham aproveitado a aula.
Façam o exercício proposto no final do grupo slide que foi tratado nessa...
Exposição que eu fiz hoje, e...
Conversamos num próximo... Próximo encontro.