Escolar Documentos
Profissional Documentos
Cultura Documentos
Nesse exercício iremos apenas preparar o ambiente com a instalação do Dotnet mais
recente e aprender o básico dos seus comandos. Para desenvolver com dotnet você
precisa baixar o SDK. Para baixar a versão mais atual do Dotnet acesse o
link: https://dotnet.microsoft.com/download
Exemplos:
Git
Commit
Após garantir que sua aplicação está funcionando, siga os passos abaixo para
fazer o nosso primeiro commit:
1. Use o comando git status para vermos a situação atual do nosso repositório.
Tente entender o retorno do git. Note que o git mostra os arquivos que não
estão sendo ainda rastreados por ele, esses arquivos precisam ser adicionados
ao git, como ele mesmo informa.
2. Para adicionar todos os arquivos listados use o comando git add .
3. Use novamente o comando git status e agora podemos ver os arquivos que
foram adicionados ao git.
4. Use o comando git commit -m "Meu primeiro commit" para confirmar as
alterações do projeto com uma mensagem simples do que fizemos nesse
commit.
5. Se rodarmos novamente o git status veremos que não temos mais
modificações no projeto. E no "Source Control" do VS Code também não temos
mais alterações notificadas.
6. Modifique o arquivo "Program.cs" do seu projeto, vamos adicionar uma linha
nova a ele imprimindo a data de hoje. A linha deve ficar abaixo do "Hello
World!":
Console.WriteLine(DateTime.Now.ToLongDateString());
7. Após salvar o arquivo alterado você poderá ver que o VS Code notificará a
alteração no "Source Control", vamos conferir também pelo git status.
Veremos a mensagem: modified: Program.cs
8. Vamos realizar novamente os passos para "commitar" nossa alteração ao
projeto. Primeiro o git add ., para adicionar todos arquivos novos ou
alterados.
9. Por fim, o commit da alteração: git commit -m "Adicionado comando para
imprimir a data de hoje."
Github
Git e github não são a mesma coisa. O github.com é um site onde podemos
subir nossos repositórios para a nuvem. Isso pode ser feito pelos comandos do
git. Configuraremos o projeto que criamos acima para subirmos para um
repositório no github.
Antes de seguir os passos baixo, crie uma conta no github.com, se ainda não
tiver uma e siga os passos abaixo:
Push
1. Inclua a linha abaixo logo depois da linha que imprime a data de hoje:
Pull
Com o comando git pull você pode atualizar seu projeto local com alterações
realizadas por outros desenvolvedores.
Clonando projetos existentes
Branchs
Branchs são "ramos" do nosso projeto, usamos elas para ter um melhor controle
das alterações que estamos subindo para nossas aplicações. Você pode criar
novas branchs em seus repositórios usando o comando git branch ou pelo
próprio github:
Você pode definir como será a divisão das suas branchs, abaixo segue um
exemplo:
É comum, durante um projeto real, antes de iniciar a alteração, você tirar uma
branch sua da develop, e quando você terminar todas as alterações no projeto
você faz o "merge" das alterações para a develop. Isso é seguido por todo o
time e durante o merge é necessário verificar se houve conflitos (se outros
desenvolvedores do time alteraram os mesmos trechos que você alterou).
1 - Somar
2 - Subtrair
3 - Multiplicar
4 - Dividir
0 - Sair
Todas as operações devem solicitar que o usuário entre com dois valores
e então estes valores devem ser utilizados para realizar a operação
escolhida. Exemplo de fluxo da operação de Soma:
Desafios
1. Crie uma nova opção na calculadora (opção número 5 do menu) que retorne o
resto da divisão.
2. Crie uma nova opção na calculadora (opção número 6 do menu) que retorne o
resultado da potenciação de uma determinada base pelo seu expoente.
Exemplo 2³ = 8.
Soma e Média
Objetivo: usando uma aplicação do tipo console do dotnet, criar uma aplicação
que lê 3 à 10 números e realiza a soma e a média deles. Faça o controle de
versionamento da sua aplicação com git e suba a mesma para o github.
Faremos uso de loops e arrays no exercício, tente fazer o mesmo usando ´for´ e
o ´foreach´. Faça o possível também para criar métodos que recebam
parâmetros e retornem valores, dessa forma teremos uma codificação mais
limpa e de fácil leitura.
Estudar:
Criação de métodos
Receber parâmetros nos métodos
Retorno de valores nos métodos
Classe ´List´ do Dotnet
Loops ´for´ e ´foreach´
Opcional
Desafios
1. Validar se os números digitados pelo usuário são validos (estude o TryParse
para fazer esse desafio).
2. Faça o uso da biblioteca "System.Linq" do Dotnet para fazer a soma (sum) e a
média (average) da lista (array) de valores.
Jogar dados
Objetivo: usando uma aplicação do tipo console do dotnet, criar um jogo
simplificado onde dois jogadores podem jogar dados e a aplicação informa qual
dos jogadores tirou o maior número. Faça o controle de versionamento da sua
aplicação com git e suba a mesma para o github.
Usaremos nesse exercício a classe Random do dotnet para simular uma jogada
de dados com 6 lados. O random irá possibilitar que tiremos um número
aleatório (de 1 a 6 para nosso exemplo). Você pode usar loop para esse
exercício, estude sobre loops caso não conheça. Poderá também optar por
usar recursão (o exemplo de consulta usa recursão no método
"IniciarRodadas"), recomendo estudar sobre recursão também antes de iniciar o
exercício.
Um placar sempre deve ser exibido até o final do jogo para que os
jogadores acompanhem o resultado. Exemplo: Pontos do jogador Maria:
1 Pontos do jogador João: 0
Desafios
1. Se a terceira rodada terminar em empate, faça com que os jogadores
continuem jogando dados. O próximo a pontuar ganha o jogo.
2. Crie uma opção antes de iniciar o jogo que permite que o usuário selecione a
quantidade de rodadas. A quantidade deve estar entre 1 e 5.
Datas
Objetivo: usando uma aplicação do tipo console do dotnet, criar uma aplicação
que listará algumas datas importante da área da técnologia, escolhar 5 datas ou
utilize os sugeridos nos requisitos.
Estude:
Requisitos da aplicação
Quando o usuário abrir a aplicação deve ser solicitado qual o formato de data
ele deseja visualizar. Deve ser disponibilizada as formatações abaixo:
Opcional
Desafios
1. Estude novos formatos de datas e aplique mais opções ao menu de escolha de
formato de data.
2. Estude a classe System.Globalization.CultureInfo e aplique nov
Conversão de Moedas
Objetivo: usando uma aplicação do tipo console do dotnet, criar uma aplicação
que converterá o real ( R$ ) para as moedas dólar ( $ ), euro ( € ), iene ( ¥ ) e
libra esterlina ( £ ).
Legenda
Enum (Enumeration types) pode ser utilizado para controlar as moedas, estude
como usar enumeradores no C#. Usaremos nesse exercício a
classe System.Globalization.CultureInfo. Você pode customizar a exibição do
valor da moeda usando as conversões de string sem utilizá-la, mas o ideal é
conhecer o CultureInfo, isso facilitará seu trabalho, então estude como formatar
as moedas utilizando-a. Estude também sobre os tipos mais indicados para
moedas e qual o motivo. Durante o exercício dê preferência para o decimal, pois
geralmente ele é o mais indicado na maioria das situações. Lembre-se de utilizar
os conceitos já utilizados nos exercícios anteriores.
Estude:
Enumeration types.
Classe System.Globalization.CultureInfo.
Tipos decimal, double, float.
Classe Math.
Conversão de string para moedas.
Conversões implícitas e explicitas.
Documentação XML para C#.
Requisitos da aplicação
o dólar ( $ ) = R$ 4,50
o euro ( € ) = R$ 6,20
o iene ( ¥ ) = R$ 0,052
o libra ( £ ) = R$ 6,95
Opcional
Desafios
1. Crie na sua aplicação a opção de converter as moedas dólar ( $ ), euro ( € ), iene
( ¥ ) e libra esterlina ( £ ) em real ( R$ ).
2. Permita que o usuário informe qualquer uma das moedas (real , dólar, euro,
iene ou libra esterlina) e depois converta pra qualquer uma das opções
restantes.
Jogo da Forca
Objetivo: usando uma aplicação do tipo console do dotnet, criar um jogo da
forca que irá ler uma lista de nomes de filmes, nomes de jogos (vídeo game) e
países. Com essa aplicação você poderá evoluir seus conhecimentos sobre
manipulação de strings e leitura e escrita de arquivos.
Estude:
Requisitos da aplicação
Opcional
Desafios
1. Crie mais uma categoria para o jogo dê sua preferência.
2. Antes de iniciar o jogo dê a opção de o usuário escolher a dificuldade do jogo:
fácil, normal ou difícil:
o Fácil: 7 tentativas
o Normal: 6 tentativas
o Difícil: 5 tentativas
Orientação a Objetos - Drone de Exploração
Objetivo: aprender conceitos de orientação a objetos (OO).
Nos requisitos para fazer os exercícios foi solicitado que você já conhecesse os
conceitos de orientação a objetos e aqui você não terá um livro onde aprenderá
tudo sobre OO, nosso objetivo maior é pôr em prática esses conceitos no C#. Se
não conhece sobre OO, não desanime, leia artigos, livros, assista vídeos, faça
cursos etc. Conteúdo sobre o assunto não falta! Para atingir esse objetivo, a
aplicação que vamos utilizar simula o controle de um drone robô.
Nos exercícios anteriores já fizemos o uso de alguns conceitos que você vai
agora estudar mais a fundo.
Encapsulamento
Herança
Abstração
Polimorfismo
Para aprender esses pilares você precisa dominar alguns conceitos básicos do
C#:
Requisitos da aplicação
Controle de voo:
Direção de movimento:
Velocidade de movimento:
o Regra: velocidade máxima de movimento deve ser 15 metros por
segundos (estado "Em movimento" para qualquer valor acima de 0).
o Regra: velocidade mínima de movimento deve ser 0 metros por
segundos, onde o drone ficará no estado "Sem movimento".
o Usuário deve ser capaz de mudar a velocidade do drone
progressivamente, onde cada comando muda aumenta ou diminui a
velocidade de 0,5 em 0,5 metro/s.
Aproximação de objeto:
Opcional
Desafios
1. Crie funções para seu drone que permitam ao usuário controlar a câmera de
alta resolução. Leve em consideração que a câmera pode fazer rotações
horizontais e verticais e capturar foto ou vídeo.