Buscar

logica-de-programacao-e-algoritmos-com-c-sharp-ed1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 306 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 306 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 306 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
Lógica de 
Programação e 
Algoritmos 
com C# 
 
 
 
 
 
Jackson Camara 
 
 
 3 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dedico este trabalho a minha amada filha Louise e esposa Daiana por todo amor e carinho. Vocês 
deram um sentido especial a minha vida, me proporcionando grandes momentos de alegria. 
 4 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
As únicas limitações são aquelas que estabelecemos em nossa mente. 
Napoleon Hill. 
 
 5 
Isenção de Responsabilidade 
Este livro é baseado em metodologias praticadas no Curso de Bacharel em Ciência da Computação e 
também em livros renomados. Porém algumas abordagens são diferentes de acordo com a visão do 
autor desta obra. Essas diferenças são para sintetizar o conteúdo e simplificar o aprendizado, afim de 
reduzir anos de estudo para poucos meses. 
Não há uma solução mágica que ensine você a programar em poucos dias, se você procura esta 
solução, sinto muito, ela não existe. Porém, a metodologia aplicada neste livro, permite que o leitor 
aprenda lógica de programação em poucos meses. Desde que, aplique todos os conceitos aprendidos 
e faça todos exercícios. Saiba que seu aprendizado depende mais de você, do que qualquer outra 
pessoa ou livro. Este livro, foi elaborado para facilitar o seu aprendizado, mas a caminhada será árdua. 
Tenho certeza, que ao chegar ao fim desse livro, todo o seu esforço será compensando. 
Este livro está na fase de desenvolvimento, não está completo e ainda não foi revisado. A distribuição 
desta obra é gratuita, com o intuito de ajudar e receber feedbacks dos nossos leitores. Fique atento em 
nosso site, verifique sempre que possível seu e-mail, que em breve teremos mais versões atualizadas. 
Caso você queira baixar este e-book atualizado ou assinar a newsletter acesse 
www.jacksoncamara.com.br. 
 
 
 6 
Para quem é este livro? 
 
Este livro foi elaborado para qualquer pessoa que queira se tornar um desenvolvedor de software. O 
conteúdo deste livro apresenta a primeira etapa da programação, o alicerce para construir qualquer 
aplicação. Se você deseja entrar no universo da programação de computadores, esta é uma leitura 
indispensável. 
Assumimos que você não tenha, nenhum conhecimento em algoritmos e lógica de programação ou 
qualquer conhecimento avançado em matemática. Você apenas precisa ter vontade e disciplina, que 
o resto te guiaremos passo a passo. 
Este livro é voltado para o ensino inicial de algoritmos e lógica de programação até o ensino avançado 
utilizando a linguagem C#. Procuramos fazer isso de uma maneira bem simples. O livro possui 
conceitos teóricos, exemplos práticos e muitos exercícios resolvidos. Acreditamos que os iniciantes 
na programação, precisam praticar muitos exercícios de lógica de programação antes de partir para 
programação de softwares. 
Os ensinamentos desse livro são baseados na grade curricular do Curso de Ciência da Computação, 
em livros renomados sobre o assunto e toda a minha experiência adquirida em oito anos como 
programador. Matérias do curso de Ciência da Computação como algoritmos, lógica de programação, 
estrutura de dados e matemática, estão inseridas nesse livro de forma bem simples, sem pular 
nenhuma etapa. 
Se você deseja se tornar um programador com habilidades fantásticas em lógica computacional, este 
livro lhe aguarda com todo carinho! 
 
 7 
Fora da curva! 
 
Antes de começar a estudar este livro ou qualquer outra ferramenta que você esteja utilizando para 
aprender programação, você precisa entender de uma vez por todas: Você não aprenderá a programar 
em poucos dias! Dito isto, deixe toda sua ansiedade de lado, aprenda a controlar, caso contrário, você 
será engolido por uma ansiedade devastadora. 
Não adianta você ficar 18 horas por dia na frente do computador estudando, seu cérebro precisa de 
uma pausa. A melhor pausa para nosso cérebro, não é ficar nas redes sociais ou jogos, mas sim, 
praticar exercícios físicos. Se você não pratica nenhum exercício, está na hora de começar. Vá pra 
academia, se matricule num curso de arte marcial, natação, etc. Se não tem dinheiro ou tempo para 
se deslocar até uma academia, coloque um tênis confortável e vá correr perto da sua casa. Só não 
fique parado, sua mente é seu corpo! 
Aprender a programar exige uma prática diária, não adianta você ficar dias sem estudar e depois 
querer repor esses dias perdidos em um dia. Ser constante é mais importante que ser intenso, a 
constância é a chave para aprender a programar. Se você conseguir ser constante e intenso, parabéns, 
você se tornará um programador em breve. Defina uma quantidade de horas que você poderá se 
dedicar ao estudo por dia, coloque no despertador a hora de começar e a hora de terminar. Já aproveite, 
e faça o mesmo para a prática de exercícios físicos. 
É comum as pessoas dizerem que não conseguem aprender a programar porque tem déficit de atenção. 
Pode ser que realmente tenham, mas provavelmente não passam de um bando de procrastinadores 
que preferem usar desculpas esfarrapadas para se sentirem menos mal. Quer ter foco, desligue seu 
celular, vá estudar num lugar que tenha silêncio, de preferência o mais longe das pessoas que o 
conhece. Se você não tem esse local, aprenda a acordar cedo, que tal as 4:30 da manhã? Se acordar 
cedo, durma cedo! A maioria das pessoas precisam de 6 a 9 horas de sono, se você precisa mais do 
que isso, algo pode estar errado. Dormir bem é a chave do sucesso. 
Quando você acorda cedo, você se sente realizado, você sabe que está na frente da maioria das 
pessoas. Por enquanto elas dormem, você já está trabalhando. Provavelmente até o horário do almoço, 
você já terá feito todas as suas tarefas. Durante o desenvolvimento do meu TTC (Trabalho Técnico 
Cientifico de Conclusão de Curso), eu li um livro que mudou minha vida, O milagre da Manhã de 
Hal Elrod. Depois que li esse livro todas as complexidades do meu TTC foram resolvidas antes da 
maioria das pessoas acordarem, isso me deixava energizado o dia inteiro. 
Se alimentar bem é tão importante quanto praticar exercícios físicos e praticar exercícios físicos é tão 
importante quanto estudar. Uma atividade depende da outra, nosso corpo é composto por peças, mas 
temos que olhar como uma única peça. Não se esqueça, o seu corpo é sua ferramenta de trabalho. Se 
uma coisa vai mal, tudo irá mal, cuide do seu corpo e da sua mente, é nela que você abita. Reduza o 
consumo de pizzas, doces, massas, lanches, principalmente tudo que for fast-food e industrializado. 
 8 
Se você possui vícios com drogas, álcool, cigarro está na hora de buscar tratamento. Empresas evitam 
contratar pessoas que tenham qualquer tipo de vício, você está reduzindo suas chances de entrar no 
mercado de trabalho. Consuma alimentos saudáveis como: aveia, frutas, verduras, sucos, iogurte 
natural e beba muita água. Se você não gosta, lamento, em breve você pagará um preço alto. 
Programadores adoram tomar café, não exagere, isso atrapalha a qualidade do seu sono, cafeína em 
excesso faz mal. 
Já ensinei muita coisa que você precisa saber, gostaria que alguém tivesse me ensinado. Mas tive que 
aprender com muita luta, o quanto a vida pode ser cruel para aqueles que vivem na ignorância e no 
comodismo. A minha liberdade mental veio com a leitura de livros maravilhosos, que me ensinaram 
muito. Aprendi que o único culpado sou eu, seja do meu passado, presente ou futuro. Pare de culpar 
as pessoas pelo seu fracasso e se vangloriar pelas suas conquistas. Pode ter certeza, você é mais 
responsável pelo seu fracasso do que pelo seu sucesso. 
Não adianta você querer algo, apenas acreditar que vai conseguir, falando palavras de incentivo, se 
você não as coloca em prática. Um versículo da bíblia diz: “Assim também a fé, se não tiver as obras, 
é morta em si mesma.”Tiago 2:17. Em suma, esse versículo diz que temos que acreditar e fazer 
aquilo que acreditamos, um não vale sem o outro. Em outro versículo: “Bem vês que a fé cooperou 
com as suas obras, e que pelas obras a fé foi aperfeiçoada.” Tiago 2:22. Em suma, se você acreditar 
e fazer, a sua vontade será aperfeiçoada. Este pensamento gera um ciclo virtuoso, sua fé irá te 
manter em pé para que você possa fazer todas obras que você deseja e, suas obras aperfeiçoarão a 
sua fé e assim o ciclo continua. Muitos ensinamentos estão na Bíblia gratuitamente, não me importa 
se você acredita ou não. Mas você, há de concordar que a bíblia nos ensina muito sobre a vida. 
Se você é jovem, parabéns! Você deu um grande passo na sua vida. Se você já não é mais tão jovem 
assim, parabéns! Você já ganhou a sua primeira medalha. Apenas por querer mudar de vida, você está 
na frente de 99% das pessoas desse país. Se você está se achando velho, porque tem trintas e poucos 
anos, quarenta ou cinquenta. Leia o parágrafo abaixo, nele compartilho um dos maiores momentos 
da minha vida. 
Tenha cuidado com os conselhos que você recebe, principalmente daqueles que nunca construíram 
nada. Quando eu tinha meus 26 anos, decidi mudar de vida. Eu sabia que para começar a mudança na 
minha vida, eu precisava estudar. Não importa o meio de estudo, faculdade, cursos, livros e etc., eu 
apenas sabia que tinha que estudar. Inseguro como era, fui buscar apoio em pessoas próximas a mim, 
perguntei a elas: Estou pensando em começar a faculdade de Ciência da Computação, o que vocês 
acham? Recebi várias respostas diferentes: “Você já é concursado, tem um bom salário, pra que?” 
“Você já está velho, tem que entrar na faculdade igual minha filha fez, aos 17 anos.”, “Vai fazer 
faculdade pra ganhar os 10% a mais no trabalho, faz uma qualquer a distância!”, “Cara, não adianta 
estudar, nascemos para ser pobre e ferrado.”, “Você sabe que essa faculdade é difícil né?”, “Vai deixar 
de ir nos churrascos a noite para ir para faculdade, depois de velho, vai ficar com sua família, vai!”. 
Embora eu tenha ouvido péssimos conselhos não fiquei com raiva de ninguém, acredito que nenhum 
deles queriam meu mal. Apenas me falaram aquilo que eles tinham dentro deles, a culpa foi minha, 
por buscar conselhos no lugar errado. 
 9 
Nesta época eu já estava aprendendo programação sozinho a quase dois anos. Mas, depois de ouvir 
todos esses conselhos abomináveis, eu já havia desistido dos meus estudos e da faculdade. Até que 
um dia fui levar minha filha no pediatra para uma consulta rotineira. O pediatra dela o Dr. Júlio, além 
de pediatra é um excelente psicanalista, com anos de experiência na área. Então perguntei a ele: 
“Doutor, estou pensando em começar a faculdade, mas estou velho. O que o senhor acha?”. A resposta 
não podia ser mais incrível: “O tempo vai passar de qualquer jeito, você estudando ou não. Daqui 5 
anos você pode ser um cientista da computação ou não. 
Meu avô aos 81 anos enfartou, e disse ao médico: “doutor eu nunca fumei e bebi, minha alimentação 
é saudável, quase não como carne e doces, não tomo café e refrigerante, como isso pode acontecer? 
Se eu já tivesse uns 100 anos eu entenderia, me explica? O médico apenas sorriu para meu avô. Em 
outra ocasião, poucos dias antes de enfartar, meu avô estava fazendo uma das suas intermináveis 
obras, já cansado, me falou: “A se eu tivesse meus 50 anos, eu poderia ...” Ele disse o quanto de coisas 
que ele poderia e queria fazer. Você percebeu que ele acha que uma pessoa de cinquenta anos é nova 
e que 81 anos é cedo para chegar ao fim da vida. Quero dizer com isso, que tudo depende do ponto 
de vista, da perspectiva que você olha o problema, imagino que você entendeu a mensagem. 
Infelizmente, só aprendemos a dar valor depois que perdemos. Sem dúvida, se tem algo que não 
conseguimos recuperar é o tempo. 
Se você chegou até aqui, imagino que está pronto para começar a estudar. Se você acha que não está 
pronto ou quer transformar o seu mindset, te aconselho que faça a leitura de dois livros: “O poder da 
ação” de Paulo Vieira e o já mencionado “O milagre da manhã” de Hal Elrod. Se após a leitura desses 
livros você ainda acha que não está pronto, o universo da programação não é pra você. 
Escrevi este livro para você, como se fosse um presente meu, para minha amada filha. Aproveite essa 
oportunidade, ninguém fez isso por mim, te entrego esse livro gratuitamente com muito carinho, faça 
valer a pena o tempo que dediquei. Os ensinamentos que escrevi nessa seção e todo conhecimento 
que compartilharei com você nas próximas páginas, poderão ajudá-lo, para que sua vida seja mais 
fácil do que a minha foi. Sei o quanto é difícil não nascer numa família abastada. Se você quer mudar 
de vida, embarque nessa jornada, eu estarei aqui para ajudá-lo. 
Para finalizar, vou falar um pouco sobre como você deve prosseguir nas próximas páginas. Este livro 
utiliza uma abordagem de estudo passo a passo. A dificuldade do livro aumenta a cada nova página 
e, cada capítulo depende do anterior. Não é aconselhável o estudo por tópicos, você deve estudar 
página por página. Se você quer entrar em contato comigo para tirar alguma dúvida, contar como foi 
a sua experiência, sugerir alguma melhoria ou participar de um dos meus cursos acesse 
www.jacksoncamara.com.br ou mande um e-mail para jacksonjld@gmail.com. 
 
 
 
 
 
 10 
Sobre o Autor 
Jackson Camara 
é graduado em Ciência da Computação pela Universidade do Vale do Itajaí – UNIVALI. É 
proprietário do portal de conteúdo www.jacksoncamara.com.br onde são divulgados cursos e 
artigos sobre programação e outros temas relacionados a Ciência da Computação. 
Começou sua jornada profissional, trabalhando em gráficas e Agências de Publicidade quando tinha 
12 anos. Mas descobriu sua verdadeira paixão no ano de 2012, quando fez seu primeiro site utilizando 
a plataforma Magento (se vale dizer isso) com ajuda de muitos plug-ins para criar um e-commerce 
para sua esposa. Embora o site tenha funcionado, ocorreram uma série de problemas pela falta de 
conhecimento em programação. Desde então, percebeu que o conhecimento em programação seria 
necessário para desenvolver um website profissional, que não poderia continuar usando somente 
plataformas e plug-ins. 
Seus estudos começaram na área de desenvolvimento de websites com as linguagens HTML, CSS, 
JavaScript, PHP e MySQL. Após dois anos estudando através de cursos online, começou a faculdade 
de Ciência da Computação, aprendendo linguagens como Java, C, C++, muito cálculo e algoritmo. A 
faculdade de Ciência da Computação proporcionou-lhe um conhecimento amplo sobre a área, porém, 
seu foco sempre foi a programação. 
Embora todo aprendizado que a faculdade propicia, não te ensina profundamente as linguagens de 
programação e outras tecnologias para o mercado de trabalho. Paralelamente a faculdade se 
especializou em Angular, .net Core, C#, Web API, PostgreSQL e AWS. Atualmente, são as principais 
ferramentas que utiliza para desenvolver projetos profissionais. 
Por saber o quanto é difícil achar conteúdos que ensinam a criar projetos profissionais, sentiu-se 
obrigado a compartilhar seus conhecimentos com aqueles que almejam criar aplicações reais. Com 
este objetivo resolveu criar o portal www.jacksoncamara.com.br para compartilhar seu 
conhecimento. Jackson também é um grande entusiasta em microsserviços, DDD, SaaS, meta-
heurística e apaixonado por fotografia, filha e esposa. 
 
 
 
 11 
Sumário 
1 CONCEITOS BÁSICOS ............................................................................................. 15 
1.1 Lógica de Programação e Algoritmos ........................................................................ 16 
1.2 Pseudocódigo .......................................................................................................... 19 
1.3 Linguagens de Programação .....................................................................................22 
1.4 Editores de Texto e IDEs ........................................................................................... 23 
 Instalação do Visual Studio Code no Windows............................................................................ 25 
 Instalação Visual Studio Code no Mac ......................................................................................... 31 
1.5 Tipos de fontes ........................................................................................................ 35 
 Configurando Fontes no VS Code ................................................................................................ 39 
1.6 Extensões para Visual Studio Code ........................................................................... 39 
 Instalando Extensões no Visual Studio Code ............................................................................... 41 
 Configurando Auto Save no VS Code ........................................................................................... 43 
1.7 Net Core Runtime e .Net Core SDK............................................................................ 44 
 Instalação SDK no Windows......................................................................................................... 46 
 Instalação SDK no Mac ................................................................................................................. 49 
1.8 Terminal .................................................................................................................. 53 
 Instalando PowerShell Core e Integrando com VS Code no Windows ........................................ 54 
 Instalando PowerShell Core e Integrando com VS Code no Mac ................................................ 62 
 Comandos PowerShell, Terminal Linux e macOS ........................................................................ 71 
 Interface de Linha de Comando (CLI)........................................................................................... 73 
1.9 Dispositivos de Entrada/Saída (E/S) .......................................................................... 81 
1.10 Alocando espaço na memória, capturando e enviando Dados ao Usuário .................. 83 
1.11 Debug ...................................................................................................................... 92 
1.12 Unidade Central de Processamento (CPU)................................................................. 95 
1.13 Memoria RAM e Memória Cache .............................................................................. 96 
2 LINGUAGENS DE PROGRAMAÇÃO ......................................................................... 98 
2.1 Introdução ............................................................................................................... 99 
2.2 Palavras-chaves ....................................................................................................... 99 
2.3 Sensível a Maiúsculo e Minúsculo........................................................................... 104 
2.4 Declarações ........................................................................................................... 107 
2.5 Espaços em Branco ................................................................................................ 110 
2.6 Comentários .......................................................................................................... 112 
3 VARIÁVEIS E CONSTANTES .................................................................................. 116 
3.1 O que são variáveis ................................................................................................ 117 
3.2 Tipos de dados ....................................................................................................... 122 
3.3 Char....................................................................................................................... 123 
 12 
 ASCII e Unicode .......................................................................................................................... 125 
3.4 string ..................................................................................................................... 126 
3.5 bool ....................................................................................................................... 128 
3.6 Diferença entre tipo numérico inteiro e tipo numérico de ponto flutuante .............. 131 
3.7 Tipo numérico inteiro ............................................................................................. 132 
3.8 Tipo numérico de ponto flutuante .......................................................................... 134 
 Sufixo de ponto flutuante .......................................................................................................... 138 
 Precisão de tipos numéricos de ponto flutuante. ..................................................................... 140 
3.9 Conversão implícita e explícita. .............................................................................. 142 
 Conversões entre tipos numéricos ............................................................................................ 142 
 Conversões entre tipo caractere e tipo numérico ..................................................................... 146 
3.10 Constantes............................................................................................................. 150 
4 OPERADORES ARITMÉTICOS ................................................................................ 154 
4.1 Introdução ............................................................................................................. 155 
4.2 Operador de adição ............................................................................................... 155 
4.3 Operador de subtração .......................................................................................... 157 
4.4 Operação de Multiplicação ..................................................................................... 158 
4.5 Operador de divisão ............................................................................................... 159 
4.6 Operador módulo .................................................................................................. 160 
4.7 Precedência dos operadores................................................................................... 163 
4.8 Exercício operações aritméticas e parênteses ......................................................... 167 
4.9 Números positivos e negativos ............................................................................... 168 
4.10 Exercício média aritmética do aluno ....................................................................... 172 
5 Operadores de Atribuição Composta ................................................................... 174 
6 OPERADORES RELACIONAIS ................................................................................ 179 
6.1 Introdução ............................................................................................................. 180 
6.2 Precedência dos operadores................................................................................... 184 
6.3 Tipos de operandos ................................................................................................ 189 
7 Estrutura de Seleção if ........................................................................................ 193 
7.1 Instrução if ............................................................................................................ 194 
7.2 Exercício controle de entrada de menores no parque .............................................. 197 
7.3 Instrução if-else ..................................................................................................... 199 
7.4 Instrução if-else aninhada ......................................................................................203 
7.5 Exercício controle de entrada nos brinquedos do parque ........................................ 207 
7.6 Escopo de bloco ..................................................................................................... 209 
 13 
8 ESTRUTURA DE REPETIÇÃO WHILE ...................................................................... 212 
8.1 Instrução while ...................................................................................................... 213 
8.2 Laços que nunca executam. .................................................................................... 216 
8.3 Laços Infinitos ........................................................................................................ 218 
8.4 Laços Aninhados .................................................................................................... 220 
8.5 Instrução Break ...................................................................................................... 223 
8.6 Exercício contador de 0 a 10 com instrução break ................................................... 224 
9 OPERADOR LÓGICO ............................................................................................. 226 
9.1 Operador not (!)..................................................................................................... 227 
9.2 Exercício números impares de 0 a 100 .................................................................... 232 
9.3 Operador and (&&) ................................................................................................ 234 
9.4 Exercício número entre 0 e 100 .............................................................................. 238 
9.5 Operador or (||) .................................................................................................... 239 
9.6 Precedência dos operadores................................................................................... 244 
9.7 Precedência dos operadores lógicos ....................................................................... 245 
10 OPERADORES DE INCREMENTO E DECREMENTO .............................................. 247 
10.1 Introdução ............................................................................................................. 248 
10.2 Prefixo e Sufixo ...................................................................................................... 249 
10.3 - Operadores de incremento e decremento com laço while. .................................... 251 
10.4 Exercício contagem regressiva ................................................................................ 254 
11 ESTRUTURA DE REPETIÇÃO FOR ....................................................................... 256 
11.1 Introdução ............................................................................................................. 257 
11.2 Formato Ascendente e Descendente ...................................................................... 258 
11.3 Intervalos diferentes .............................................................................................. 261 
11.4 Laços aninhados..................................................................................................... 262 
11.5 Escopo de bloco ..................................................................................................... 264 
12 ARRAY UNIDIMENSIONAL ................................................................................ 266 
13.1 Introdução ............................................................................................................. 267 
13.2 Declaração de array ............................................................................................... 268 
 Instanciando um array ........................................................................................................... 269 
 Atribuição de valor ................................................................................................................ 271 
 Sintaxe curta .......................................................................................................................... 272 
 Tipos de dados ....................................................................................................................... 273 
13.3 Atribuição por índice .............................................................................................. 274 
 14 
13.4 Acessando elementos por índice ............................................................................ 276 
13.5 Atribuição com laço. .............................................................................................. 277 
13.6 Acessando elementos com laço .............................................................................. 278 
13.7 Exercício Palavra Inversa ........................................................................................ 280 
13.8 Instrução foreach ................................................................................................... 281 
13.9 Exercício Lista de Presença ..................................................................................... 284 
14 Métodos .......................................................................................................... 287 
14.1 Introdução ............................................................................................................. 288 
14.2 Como funciona....................................................................................................... 288 
14.3 Estrutura ............................................................................................................... 291 
14.4 Invocando método ................................................................................................. 292 
14.5 Definindo um método ............................................................................................ 295 
14.6 Escopo de bloco ..................................................................................................... 297 
 Inacessíveis por métodos externos ....................................................................................... 297 
 Variáveis duplicadas no mesmo escopo ................................................................................ 299 
 Variáveis duplicadas em escopos diferentes......................................................................... 301 
 Alocação memória ................................................................................................................. 302 
14.7 Exercício Vogal ‘a’ .................................................................................................. 304 
14.8 Exercício Quantidade de Vogais .............................................................................. 306 
 
 15 
 
 
 
 
1 CONCEITOS 
BÁSICOS 
 
 16 
1.1 Lógica de Programação e Algoritmos 
Um programa de computador é uma lista de instruções que escrevemos em uma linguagem que o 
computador entende. Essa é a frase mais popular para responder o que é um Programa de Computador. 
Mas sabemos, que para fazer um programa, não posso escrever “faça um software rápido e bonito pra 
mim”. O computador não entende o que falamos. Embora, algumas inteligências artificiais 
conseguem entender, não significa que seja possível criar um programa dessa forma. 
 
 
 
Todos os programas de computadores são construídos a partir 
de instruções individuais, pequenas e específicas que geram um 
conjunto de instruções. Por exemplo, uma receita de culinária, 
não importa se ela é grande ou pequena, todas receitas possuem 
instruções específicas. 
Numa receita de bolo de milho, temos várias instruções. 
Observe que todas são bem definidas, individuais, pequenas e 
específicas. Cada instrução faz apenas uma coisa. 
 
Receita - Bolo de Milho: 
• Adicionar 1 lata de milho verde com água e tudo; 
• Adicionar 1/2 lata de óleo; 
• Adicionar 1 lata de açúcar; 
•Adicionar 1/2 lata de fubá; 
• Adicionar 4 ovos; 
• Adicionar 2 colheres de farinha de trigo; 
• Adicionar 2 colheres de coco ralado; 
• Adicionar 1 colher e 1/2 de chá de fermento em pó; 
• Bater no liquidificador; 
• Colocar na forma; 
• Levar ao formo aquecido a 180C por 40 minutos. 
 
 
 
 17 
 
As instruções devem ter etapas e sequência bem definidas. 
As etapas são instruções que determinam o que o computador 
deve fazer, é uma fase do processo. A sequência é a ordem 
em que as etapas são executadas para resolver o problema. 
Imagine se você alterar a ordem da instrução “adicionar 4 
ovos”, colocando essa instrução por último. Certamente você 
não querer este resultado, como na imagem ao lado. 
 
 
Receita - Bolo de Milho: 
• Adicionar 1 lata de milho verde com água e tudo; 
• Adicionar 1/2 lata de óleo; 
• Adicionar 1 lata de açúcar; 
• Adicionar 1/2 lata de fubá; 
• Adicionar 2 colheres de farinha de trigo; 
• Adicionar 2 colheres de coco ralado; 
• Adicionar 1 colher e 1/2 de chá de fermento em pó; 
• Bater no liquidificador; 
• Colocar na forma; 
• Levar ao formo aquecido a 180C por 40 minutos; 
• Adicionar 4 ovos. 
 
 
 
Este conjunto de instruções é apenas para fazer um 
bolo, mas esse bolo poderia fazer parte de um 
grande banquete e teríamos vários conjuntos de 
instruções diferentes. Na programação e na 
culinária, se você quiser resultados 
impressionantes e complicados, você ainda usará 
instruções simples e básicas. 
 
 
 
 
 
 
 
 18 
Vamos a um exemplo computacional. Precisamos 
construir um módulo de fechamento de conta para os 
clientes de um restaurante. Para desenvolver este 
módulo é necessário definir as etapas e colocar numa 
sequência, conforme apresentado a seguir: 
• Somar itens consumidos; 
• Calcular taxa de serviço; 
• Selecionar forma de pagamento; 
• Efetuar Pagamento; 
• Calcular troco. 
 
Imagino que você deva estar começando a entender como um software é desenvolvido. Todo esse 
processo é feito através de etapas e sequência. Não importa o tamanho e complexidade do código, 
você desenvolverá seu código através de pequenas etapas executadas numa sequência. 
Etapas são instruções que determinam o que o computador deve fazer, é uma fase do processo. A 
sequência é a ordem em que as etapas são executadas para resolver o problema. As etapas e sequência 
fazem parte do desenvolvimento do algoritmo. 
Um algoritmo é um conjunto das regras e procedimentos lógicos perfeitamente definidos que levam 
à solução de um problema, em um número finito de etapas executadas em sequência. 
A lógica de Programação é a lógica utilizada para desenvolver um programa de computador. Está 
mais relacionado com a forma que se escreve o código. 
Poderia dizer que programar e cozinhar é a mesma coisa, mas quando estamos cozinhando, não temos 
ctrl + z. Então, acredito que é um pouco diferente. Exercite seu pensamento lógico, faça mais 
exercícios como este. 
 
 19 
1.2 Pseudocódigo 
 
Quando escrevemos passos individuais e informais para serem compreendidos por humanos e não 
por computadores, há um nome para isso, pseudocódigo. É uma espécie de tipo de código que 
utilizamos quando estamos escrevendo instruções específicas, que ainda não são código fonte. No 
exemplo do módulo de fechamento da conta do cliente em um restaurante, usamos pseudocódigo para 
definir as etapas e sequências necessárias para desenvolver o módulo. 
 
Módulo - Conta do cliente: 
• Somar itens consumidos; 
• Calcular taxa de serviço; 
• Selecionar forma de pagamento; 
• Efetuar Pagamento; 
• Calcular troco. 
 
Existem vários benefícios pra isso, por ser uma maneira de se comunicar, pensar e progredir quando 
seu cérebro está travado. O pseudocódigo nos ajuda a trabalhar em um problema, sem nos distrair 
com a sintaxe da linguagem e outras complexidades ao escrever o código fonte. 
Pseudocódigo não é só pra iniciantes, muitas pessoas cometem esse erro. 
A simplicidade do código fonte pode ajudar programadores experientes 
a resolverem problemas complexos. É comum, programadores 
iniciantes pularem esta etapa e, irem direto ao editor de texto, se 
deparando com as complexidades da linguagem de programação. Isso é 
totalmente compreensível. Porém, o sucesso não é como você escreve 
seus códigos e sim como você pensa. O pseudocódigo é uma maneira de 
pensar de forma mais rápida. 
 
A melhor maneira de desenvolver um programa, é se 
afastar do computador, pegar um lápis e uma folha em 
branco. Quando estamos escrevendo no papel não 
tentamos escrever o programa todo de uma vez, 
fizemos isso por etapas. Essas etapas nos ajudam a 
colocar nossos pensamentos em ordem. A grande 
vantagem do pseudocódigo é que não há uma sintaxe oficial ou regras rígidas para serem seguidas. 
Apenas existe um papel em branco que permite você escrever todo o seu pensamento lógico. Com o 
passar do tempo programadores experientes começam a escrever o pseudocódigo de forma muito 
parecida com a linguagem de programação favorita. 
 20 
Quando uma equipe se reúne, é comum usar pseudocódigo. 
Assim, programadores, designers, representantes, clientes 
conseguem entender as instruções que seus colegas estão 
escrevendo. 
Mesmo que você seja um programador experiente e nunca 
tenha feito um jogo. É provável que a primeira vez que for 
escrever um jogo, você não saiba como tocar uma música. Se 
você tentar executar essas tarefas diretamente num editor de 
texto, isso pode ser um problema, que acabaria atrapalhando o 
seu pensamento lógico. Ao usar pseudocódigo não ficamos 
presos nesses detalhes, fazendo com que nosso pensamento flua com mais naturalidade. Assim 
podemos deixar essas características intrínseca da linguagem de programação para uma próxima 
etapa. 
Para escrever um pseudocódigo corretamente é necessário satisfazer todas as características 
fundamentais que todo algoritmo deve cumprir. São características fundamentais: 
 
• Ser preciso: deve indicar a ordem de realização de cada passo; 
 
• Ser definido: se seguir um algoritmo duas vezes, o resultado obtido deve ser o mesmo todas 
as vezes; 
 
• Ser finito: se seguir um algoritmo, a ação deve terminar em algum momento, ou seja, deve 
ter um número finito de passos. 
 
Um pseudocódigo também pode ser representado por um fluxograma, que pode ser feito com o auxílio 
de um software ou apenas com lápis e papel. O fluxograma representado na Figura 1.1, representa 
um software de uma fábrica. O fluxograma é executado quando o cliente faz um pedido. Leia-se o 
fluxograma da seguinte forma: 
 
• Receber pedido; 
 
• Ler pedido; 
 
• Examinar a ficha do cliente; 
 
• Se o cliente é idôneo a fábrica aceita o pedido, caso contrário, recusa o pedido. 
 
 
 21 
 
Figura 1.1 – Fluxograma fábrica 
 
Embora exista alguns softwares que nos auxiliam na construção de fluxogramas, deixando-o mais 
profissional, prefiro lápis e papel. 
Pseudocódigo: É uma forma genérica de escrever um algoritmo, utilizando uma linguagem simples 
e informal 
Código Fonte: O termo código fonte vem do inglês Source Code e define um conjunto de palavras 
escritas de forma ordenada contendo instruções em determinada linguagem de programação. 
Resumindo, é o algoritmo escrito em linguagem de computador. 
 
 22 
1.3 Linguagens de Programação 
 
 
 
A função do computador é executar os softwares desenvolvidos 
pelos programadores. Os programadores não se comunicam 
com os computadores através de pseudocódigos, eles se 
comunicam através de uma linguagem de programação. 
Existem várias linguagens de programação, algumas são usadas 
para desenvolver softwares como websites, aplicativos mobile, 
servidores, jogos, sistemas embarcados e muitos mais. Algumas 
linguagens são extremamente versáteis, podem ser usadas para desenvolver diferentes tipos de 
softwares para ambientes diferentes. Por exemplo, a mesma linguagem utilizada para desenvolverum 
aplicativo mobile, também pode ser usada para desenvolver um website ou uma Web API. 
A linguagem de programação é um método 
padronizado utilizado pelos programadores 
para expressarem instruções compreensíveis ao 
computador. Para ser uma linguagem de 
programação é necessário ter algumas 
características específicas que permitem 
programar um dispositivo, por exemplo, ser 
executável. 
 
 
 
Linguagens como C#, JavaScript, Python, Ruby, 
PHP e Java. São linguagens de programação, porque 
permitem que o programador escreva código com 
estruturas lógicas que podem ser executadas sem 
depender de outra linguagem. 
 23 
 
Existem outras linguagens 
computacionais que parecem 
linguagens de programação, mas não 
são. Isto acontece, porque são muito 
utilizadas pelos programadores, mas 
são linguagens que não podem ser 
executadas sem a ajuda de outra 
linguagem. 
A linguagem HTML (inglês HyperText Markup Language - português Linguagem de Marcação de 
Hipertexto) é muito utilizada pelos programadores, mas é uma linguagem de marcação de texto e não 
de programação. O HTML precisa de uma linguagem como JavaScript para ser executada, isso faz 
com que o HTML seja apenas uma linguagem computacional. Linguagens como CSS (inglês 
Cascading Style Sheets - português Folhas de Estilo em Cascata) e SQL (inglês Structured Query 
Language - português Linguagem de Consulta Estruturada) não são linguagens de programação. A 
linguagem CSS é utilizada para estilizar páginas HTML, permite posicionar os elementos, inserir 
cores, margens e muito mais. O SQL é uma linguagem usada no banco de dados, exclusivamente para 
criar tabelas, manipular os dados das tabelas e consultar os dados. 
Embora o HTML, CSS, SQL não sejam linguagens de programação, isso não as torna menos 
importante. São linguagens computacionais extremamente poderosas, que fazem parte de diversos 
tipos de software. 
 
1.4 Editores de Texto e IDEs 
Você não precisa de nenhum software 
especial para escrever seus códigos. Quando 
falo que não precisa, não estou dizendo que 
vamos programar no Word ou no Pages. Não 
precisamos formatar nosso texto em itálico 
ou negrito etc. Podemos utilizar o Notepad 
ou qualquer outro editor de texto simples. 
Mas na maioria dos casos é melhor um editor 
de texto mais robusto, para facilitar o 
desenvolvimento do seu código. 
 24 
Existem editores de textos especiais para programadores que possuem funcionalidades específicas, 
como cores para diferentes funcionalidades do código e também ajudam nas correções e escrita do 
código. Um editor de texto para programadores, ajuda 
a escrever o código, da mesma forma que o Word ajuda 
a escrever um texto. 
Os editores de texto permitem personalizar tipo e 
tamanho de fonte, fundo branco ou preto e diversas 
outras configurações para facilitar o uso no dia a dia. 
Os desenvolvedores geralmente utilizam fundo preto e 
as cores das fontes são a padrão. Alguns editores 
costumam ter vários tipos de temas, que é uma 
combinação de cores e tamanhos. Mas fique á vontade 
para escolher o que mais lhe agrada. Os editores de 
texto mais usados pelos programadores são: Visual 
Studio Code, Sublime Text, Atom, Brackets. 
Além da personalização estética, os editores de texto 
ajudam a gerar snippets, que são trechos do código 
gerados automaticamente e também ajudam a verificar a sintaxe do código. Observe a Figura 1.2, o 
editor está informando ao programador que falta o fechamento de chave (}). 
 
 
Figura 1.2 - Código erro de sintaxe 
 
Os editores de texto são muito úteis para os programadores e possuem muitas funcionalidades, que 
podem ajudar no desenvolvimento de softwares. Mas existe um editor de texto mais robusto que é 
chamado de IDE (inglês Integrated Development Enviroment - português Ambiente de 
Desenvolvimento Integrado). 
 25 
As IDEs são editores de texto com muitas 
funcionalidades, que facilitam a vida dos 
programadores. Há pouco tempo atrás, raramente 
um programador .Net C#, utilizaria um editor de 
texto para desenvolver seus projetos. Esses 
programadores costumavam usar apenas a IDE 
Visual Studio. Uma IDE extremamente poderosa 
e cheia de recursos, principalmente para 
programadores de linguagens como C# e C++. 
Muitos programadores C# estão utilizando editores de texto como o Visual Studio Code em seus 
projetos. Essa escolha ocorre, porque as IDEs consomem muita memória do computador e, 
programadores que possuem pouca experiência, podem ter dificuldades em consertar alguns bugs que 
acontecem nas IDEs. 
Você não deve perder tempo pensando se usa um Editor 
de Texto ou uma IDE, se você tem pouca experiência e/ou 
um computador menos potente, te aconselho fortemente a 
começar por um editor de texto como Visual Studio Code. 
 
 
 
 Instalação do Visual Studio Code no Windows 
Para fazer o download do Visual Studio Code acesse https://code.visualstudio.com/download e 
escolha a opção Windows User Installer 64 bit ou 32 bit, de acordo com o seu sistema operacional. 
A Figura 1.3 apresenta as opções de download da página do Visual Studio Code. 
 26 
 
Figura 1.3 - Download VS Code no Windows 
 
Na pasta download clique duas vezes no ícone VSCodeUserSetupx64-1.44.2, conforme apresentado 
na Figura 1.4. 
 
Figura 1.4 - Ícone VS Code 
 
A janela apresentada na Figura 1.5, solicita que o usuário selecione a linguagem. Selecione a opção 
English e clique no botão OK. 
 27 
 
Figura 1.5 - Janela de seleção de língua 
 
A janela apresentada na Figura 1.6, solicita que o usuário aceite os termos. Selecione a opção “I 
accept the agreement” e clique no botão Next. 
 
Figura 1.6- Janela de aceitação de termos 
 
A janela apresentada na Figura 1.7, informa o local onde o arquivo será salvo. Não altere o local, 
apenas clique no botão Next. 
 28 
 
Figura 1.7- Local de instalação 
 
A janela apresentada na Figura 1.8, informa o local onde o atalho do programa será criado. Clique no 
botão Next. 
 
Figura 1.8 - Local do atalho 
 29 
A janela apresentada na Figura 1.9, solicita ao usuário quais tarefas adicionais devem ser realizadas. 
Marque as caixas “Create a desktop icon” e “Add to PATH” e clique no botão Next. 
 
Figura 1.9 - Tarefas adicionais 
 
A janela apresentada na Figura 1.10, solicita ao usuário que confirme a instalação. Clique no botão 
Install. 
 30 
 
Figura 1.10 - Solicitação de confirmação de instalação 
A janela apresentada na Figura 1.11 informa que o programa foi instalado. Clique no botão Finish. 
 
Figura 1.11- Conclusão de instalação 
 31 
A instalação foi concluída. Para abrir o Visual Studio Code clique no ícone do aplicativo na área de 
trabalho ou clique no menu iniciar e procure pelo aplicativo conforme apresentado na Figura 1.12. 
 
Figura 1.12 - Abrindo VS Code. 
 
 Instalação Visual Studio Code no Mac 
Para fazer o download do Visual Studio Code acesse https://code.visualstudio.com/download e 
escolha a opção Mac. Conforme apresentado na Figura 1.13. 
 32 
 
Figura 1.13 - Download VS Code Mac 
 
Vá até a pasta download e descompacte o arquivo VSCode-darwin-stable.zip. Conforme apresentado 
na Figura 1.14. 
 
Figura 1.14- Arquivo de download compactado 
 33 
Arraste o arquivo descompactado Visual Studio Code para dentro da pasta Aplicativos, conforme 
apresentado na Figura 1.15. 
 
Figura 1.15 - ícone de instalação e pasta aplicativos 
 
Agora o Visual Studio Code está dentro do diretório aplicativos, conforme apresentado na Figura 
1.16 
 
Figura 1.16 - Pasta Aplicativos com VS Code 
 
 
 34 
Abra o Launchpad para visualizar os aplicativos. Clique no ícone Launchpad conforme apresentado 
na Figura 1.17. 
 
Figura 1.17 - Launchpad 
 
O Visual Studio Code já pode ser visualizado como um aplicativo. Clique duas vezes no ícone do 
Visual Studio Code para abrir, conforme apresentado na Figura 1.18. 
 
Figura 1.18 - Launchpad aplicativos.35 
1.5 Tipos de fontes 
Podemos utilizar qualquer tipo de fonte no Visual Studio Code, as linguagens de programação não se 
importam, mas temos que ficar atento a um detalhe. Em fontes monoespaçada, todos caracteres 
ocupam a mesma largura. Já em fontes proporcionais, os caracteres possuem diferentes larguras. As 
diferenças entre as fontes são apresentadas na Figura 1.19. 
 
Figura 1.19 - Diferenças entre fontes 
A diferença na largura dos caracteres, pode ser um problema para indentar o código. Indentar o código 
significa organizar o código, através de espaços em branco na frente de cada linha. Durante o 
desenvolvimento, a indentação mantém a estrutura do código, em alguns casos, pode interferir na 
execução do programa. Para que não ocorra problemas durante a indentação, deve-se utilizar fontes 
monoespaçada. Na seção 2.5 Espaços em Branco é abordado de forma mais detalhada a indentação. 
A Figura 1.20 apresenta um código escrito na linguagem C#, indentado com a Fonte Menlo. Observe 
que os caracteres, estão um abaixo do outro, ocupando a mesma coluna. Para obter esse resultado 
deve-se escolher fontes do tipo monoespaçada. 
 36 
 
 Figura 1.20 - Indentação com fonte Menlo 
 
A Figura 1.21 apresenta um código escrito na linguagem C#, indentado com a Fonte Verdana. 
Observe que os caracteres, não estão um abaixo do outro, estão ocupando colunas diferentes. Isto 
ocorre ao usar fontes proporcionais. Você pode achar que isso não faz diferença, experimente ficar 
várias horas em frente a tela olhando para o código. 
 37 
 
Figura 1.21 – Indentação com fonte Verdana 
 
A legibilidade da fonte é algo importante. Lembre-se, você terá que escolher uma fonte confortável de 
se olhar por um longo período de tempo. Escolher a fonte apropriada, ajudará a distinguir caracteres 
semelhantes, por exemplo a letra “l” (L minúsculo) do número “1” (um). Um exemplo é apresentado 
na Figura 1.22. 
 
Figura 1.22 - Diferença entre caracteres 
 
Tenha cuidado ao escolher a fonte, não escolha fontes extravagantes, isso deixará seu código confuso. 
Na Figura 1.23 é apresentado o código C#, escrito com a letra Impact. Observe como a leitura do 
código ficou confusa. 
 38 
 
 
Figura 1.23 - Letra Impact. 
 
 
Procure utilizar fontes Menlo, Monaco, Courier New ou qualquer outra fonte monoespaçada que não 
deixe seu código confuso. Figura 1.24 foi utilizada a letra Menlo, observe como a leitura do código 
ficou legível. 
 
Figura 1.24 - Letra Menlo 
 
 
 
 
 
 39 
 Configurando Fontes no VS Code 
Para alterar o tipo e tamanho da fonte no Visual Studio Code, clique no ícone Manage localizado na 
parte inferior da barra lateral esquerda. Na aba que será aberta ao lado, selecione Text Editor => Font. 
Em Font Family digite o nome das fontes que você deseja no seu editor de texto. Só é possível inserir 
uma fonte que esteja instalada no seu computador. Siga o exemplo apresentado na Figura 1.25. 
 
Figura 1.25 - Configuração de fonte no VS Code 
 
O VS Code seleciona as fontes pela sequência que foram inseridas, caso a primeira não exista, será 
selecionado a segunda e assim sucessivamente. Monospace é um fallback, caso nenhuma das fontes 
estejam instaladas no computador, o VS Code buscará uma fonte monoespaçada que esteja instalada. 
 
1.6 Extensões para Visual Studio Code 
Os editores de texto podem ficar mais poderosos com o uso de extensões. Algumas extensões 
verificam a sintaxe do código, ajudam na formatação do código, alteram o tema, possuem snippets e 
muito mais. Você pode verificar uma lista de extensões no marketplace do Visual Studio Code 
através do link https://marketplace.visualstudio.com/vscode. 
Uma das extensões mais poderosas é o IntelliSense, que inclui inúmeras funcionalidades, como: 
ajudar a escrever o código e verificar a sintaxe. Na Figura 1.26, o IntelliSense está informando ao 
programador, as opções de código disponíveis para o contexto. O IntelliSense precisa ser instalado 
de acordo com a linguagem, cada linguagem possui seu próprio IntelliSense. 
 
 40 
 
Figura 1.26 – IntelliSense 
 
 
A sintaxe se refere a escrita correta do código, de acordo com a linguagem. No exemplo da Figura 
1.27, o IntelliSense está informando um erro de sintaxe no código. O erro de sintaxe informa que é 
esperado o fechamento de chaves. 
 
Figura 1.27 - IntelliSense erro de sintaxe 
 
As extensões que serão utilizadas durante o desenvolvimento dos exercícios são: C#, Bracket Pair 
Colorizer e Material Icon Theme. A extensão C# é o IntelliSense da linguagem. A extensão Bracket 
Pair Colorizer altera a cor dos parênteses e chaves do código, facilita a indentação. A extensão 
Material Icon Theme altera os ícones dos arquivos, ajuda a diferenciar os tipos de arquivos. Os ícones 
são apresentados na Figura 1.28. 
 41 
 
Figura 1.28 - Ícones das extensões 
 
 Instalando Extensões no Visual Studio Code 
É possível instalar uma extensão pelo marketplace do VS Code ou diretamente pelo VS Code. Para 
fazer a instalação diretamente pelo VS Code, clique no menu Extension que fica localizado na barra 
lateral. Um campo de pesquisa e uma lista com várias extensões será apresentada igual a Figura 1.29 
 
Figura 1.29 - Pesquisa de extensões 
 
Digite C# no campo de pesquisa, na aba ao lado e clique no botão verde Install. Siga o exemplo da 
Figura 1.30. 
 42 
 
Figura 1.30 - Instalação do IntelliSense C# 
 
Digite Bracket no campo de pesquisa, na aba ao lado clique no botão verde Install. Siga o exemplo 
da Figura 1.31 
 
Figura 1.31 - Instalação do Bracket 
 
Digite Material Icon Theme no campo de pesquisa, na aba ao lado clique no botão verde Install. Siga 
o exemplo da Figura 1.32. 
 
Figura 1.32- Instalação do Bracket 
Após clicar no botão Install, uma janela será aberta. Selecione a opção Material Icon Theme conforme 
apresentado na Figura 1.33. 
 43 
 
Figura 1.33 - Configuração Material Icon Theme 
Após instalar as três extensões feche o VS Code e abra novamente. As extensões estarão funcionando. 
 Configurando Auto Save no VS Code 
Durante o desenvolvimento do projeto, podemos ativar o Auto Save, para que salve automaticamente 
o arquivo que estamos editando. Muitas vezes ficamos concentrado no código e esquecemos de salvar, 
caso o computador tenha algum problema e acabe travando, corremos o risco de perder todo o código. 
Para ativar o Auto Save no Visual Studio Code, clique no ícone Manage, localizado na parte inferior 
da barra lateral esquerda. Na aba que será aberta ao lado, selecione Commonly Used e no campo Auto 
Save selecione afterDelay. Siga o exemplo da Figura 1.34. 
 
Figura 1.34 - Configurando auto save 
 44 
Agora você não precisa mais se preocupar em ficar salvando seus projetos. Não se esqueça de fazer 
backups do seu arquivo. 
 
1.7 Net Core Runtime e .Net Core SDK 
O .Net Core é uma plataforma para desenvolvimento de código aberto de uso geral mantida pela 
Microsoft e pela comunidade .Net no GitHub. É multiplataforma e possui alto desempenho para a 
criação de softwares modernos. Com o .NET Core é possível criar e executar aplicações com as 
linguagens C#, F# e Visual Basic. 
Para executar as aplicações desenvolvidas no .Net Core é necessário instalar o .Net Core Runtime. 
Para criar aplicações é necessário instalar o .Net Core SDK (inglês Software Development Kit - 
português Kit de Desenvolvimento de Software). O SDK possui um conjunto de ferramentas, que 
permitem que o programador desenvolva aplicações e bibliotecas para a plataforma .NET 
Core. Quando você instala o SDK .Net Core também é instalado a Runtime. 
Ao instalar .Net Core é necessários ficar atento as versões disponíveis. A versão que deve ser 
escolhida para produção, deve ser a última versão com status LTS (inglês Long Term Support - 
português Suporte de longo prazo). Significa que a versão está estável e terá suporte por três anos, 
após a versão inicial. Para visualizaras versões .Net Core acesse o link 
https://dotnet.microsoft.com/download/dotnet-core. A última versão LTS neste momento é a LTS 
conforme apresentado na Figura 1.35. 
 
Figura 1.35 - Status do .Net Core 
Todo produto da Microsoft tem um ciclo de vida. O ciclo de vida começa quando um produto é 
lançado e termina quando não recebe mais suporte. O fim do suporte refere-se à data em que a 
 45 
Microsoft não fornece mais correções, atualizações ou assistência técnica on-line. O fim do suporte 
também pode ser chamado de ‘End of life’ (português - Fim da vida) abreviado 'EOL'. 
O conhecimento de datas importantes neste ciclo de vida, ajuda a tomar decisões sobre quando 
atualizar o seu software, observe as datas na Figura 1.36. Para saber mais acesse o link 
https://dotnet.microsoft.com/platform/support/policy/dotnet-core. 
 
Figura 1.36 - Ciclo de vida 
 
Runtime: é um componente da máquina virtual da plataforma .Net da Microsoft para gerenciar a 
execução dos programas. 
SDK: é um Kit de Desenvolvimento de Software para plataforma .Net da Microsoft. 
Multiplataforma: é um sistema que pode ser executado em mais de uma plataforma. O .Net Core 
pode ser executado nos sistemas operacionais Windows, macOS, Linux e também no Docker. 
Código aberto: é um modelo de desenvolvimento que promove o licenciamento livre para o design 
ou esquematização de um produto e, a redistribuição universal, com a possibilidade de livre consulta, 
examinação ou modificação do produto, sem a necessidade de pagar uma licença comercial, 
promovendo um modelo colaborativo de produção intelectual. A Microsoft permite criar, modificar, 
mesclar, publicar, distribuir, sublicenciar e/ou vender copias do software desenvolvidos com .Net 
Core. 
F#: é uma linguagem de programação multiparadigma produzida pela Microsoft direcionada a 
plataforma .Net. Permite que o foco do programador permaneça no domínio problemático e na 
manipulação de dados, em vez dos detalhes da programação. 
Visual Basic: é uma linguagem de programação orientada a objetos, produzida pela Microsoft 
direcionada a plataforma .Net. Nos dias atuais raramente uma empresa usa esta linguagem para 
desenvolver novos projetos, geralmente é usada em aplicações legadas. 
 
 
 46 
 Instalação SDK no Windows 
Digite no seu navegador https://dotnet.microsoft.com/download e selecione a opção Windows no 
canto superior. Clique em Download .Net Core SDK para fazer o download, conforme a Figura 1.37. 
 
 
Figura 1.37 - Instalação do .Net Core 
Abra a pasta Downloads e clique duas vezes sobre o ícone dotnet-sdk-3.1.201-win-x64, conforme 
apresentado na Figura 1.38. 
 
Figura 1.38 - Ícone de instalação 
Clique no botão Instalar para iniciar a instalação, conforme apresentado na Figura 1.39. 
 47 
 
Figura 1.39 - Janela de Instalação 
 
A janela informa que o SDK e a Runtime do .Net Core foram instalados com sucesso. Clique em 
fechar para concluir a instalação, conforme a Figura 1.40. 
 
Figura 1.40 – Conclusão de instalação 
 48 
Na barra de tarefas no campo de pesquisa digite command e clique em Prompt de Comando, conforme 
apresentado na Figura 1.41. 
 
Figura 1.41 - Prompt de Comando 
 
No Prompt de Comando digite “dotnet - -version” para verificar se o dotnet foi instalado com sucesso. 
Compare seu resultado com a Figura 1.42. Dependendo o momento que você estiver instalando o .Net 
a versão pode ser diferente. Não se preocupe com isso. 
 49 
 
Figura 1.42 - Verificação de instalação do SDK pelo Prompt de Comando 
 
 Instalação SDK no Mac 
Digite no seu navegador o site https://dotnet.microsoft.com/download e selecione a opção macOS no 
canto superior. Clique em Download .Net Core SDK para fazer o download, conforme apresentado 
na Figura 1.43. 
 
Figura 1.43 - Download .Net Core no macOS 
 
Abra a pasta Downloads e clique duas vezes sobre o arquivo dotnet-sdk-3.1.201-osx-x64.pkg, 
conforme apresenta na Figura 1.44. 
 50 
 
Figura 1.44 - Ícone de instalação 
 
Na janela da Figura 1.45 clique no botão continuar para iniciar a instalação. 
 
Figura 1.45 - Janela de introdução 
 
Na janela da Figura 1.46, o usuário tem a opção de alterar o local da instalação, não altere. Clique no 
botão Instalar para manter o local padrão. 
 51 
 
Figura 1.46 - Local de Instalação 
 
A instalação é iniciada, conforme apresentado na Figura 1.47. Se o Mac pedir a senha de usuário 
digite a senha. 
 
Figura 1.47 - Instalação iniciada 
 52 
A janela apresentada na Figura 1.48 informa que a instalação foi concluída corretamente. Clique no 
botão fechar. 
 
Figura 1.48 - Conclusão de instalação 
A janela apresentada na Figura 1.49, solicita se o usuário deseja manter ou mover o instalador para o 
lixo. Clique no botão Mover para o Lixo. 
 
Figura 1.49 - Manter ou excluir arquivo de instalação 
 53 
Para verificar se a instalação ocorreu com sucesso, abra o terminal e digite “dotnet --version”. 
Compare seu resultado com a Figura 1.50. Dependendo o momento que você estiver instalando o .Net 
a versão pode ser diferente, não se preocupe. 
 
 
Figura 1.50 - Verificação de instalação do SDK pelo terminal 
 
 
1.8 Terminal 
 
O terminal é um software que faz a comunicação entre usuário e sistema, enviando comandos e 
exibindo a saída para o usuário. Geralmente possui uma tela preta, sem botões e elementos gráficos, 
a qual o usuário interage digitando linhas de comando. 
Muitos iniciantes acham o terminal sem graça 
e/ou assustador. Não se engane, o terminal é 
uma ferramenta extremamente poderosa, que 
agiliza muito o fluxo de trabalho no dia a dia. 
Em muitas situações você vai precisar usar o 
terminal para fazer conexões com servidores 
externos, criar arquivos via CLI ou até mesmo 
para gerenciar seu computador de forma mais 
rápida. 
 54 
Alguns desenvolvedores evitam usar o terminal o máximo possível, preferem utilizar as IDEs, por 
terem interfaces gráficas que auxiliam no desenvolvimento de suas aplicações. Apesar de ajudarem 
muito, nem sempre são intuitivas, em algumas ocasiões, são muito lentas e as vezes geram bugs que 
podem ser difíceis de consertar. 
Com o terminal temos um resultado mais direto e geralmente mais rápido que a interface gráfica. 
Além dessas vantagens, nos possibilita entender melhor como as coisas realmente acontecem. As 
interfaces gráficas abstraem muitas coisas, fazendo com que os iniciantes pulem algumas etapas que 
deveriam fazer parte do aprendizado. 
Quando falamos em terminal, logo imaginamos o Linux. Mas podemos utilizar o terminal no macOS 
e no Windows também. A maioria dos comandos do Linux é idêntico ao Mac, já no Windows os 
comandos são diferentes. No Windows o terminal é chamado de cmd ou Prompt de Comando. 
Outra opção para diferentes sistemas operacionais é o terminal PowerShell Core, que é uma ferramenta 
multiplataforma, disponível para Windows, Linux e macOS. O PowerShell utiliza comandos bem 
parecidos com o terminal do Linux e macOS. 
 
 Instalando PowerShell Core e Integrando com VS Code no 
Windows 
Durante os exemplos desse curso, será utilizado o terminal PowerShell para não haver diferenças 
entre os comandos dos sistemas operacionais Linux, macOS e Windows. A documentação do 
PowerShell Core para Windows está disponível no link https://docs.microsoft.com/pt-
br/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7. 
Para baixar o PowerShell acesse o link https://github.com/PowerShell/PowerShell/releases role a 
pagina até assets e clique no link PowerShell-6.2.4-win-x64.msi para fazer o download para sistema 
Windows 64 bits. 
 
 
 
 55 
 
Figura 1.51 - Download PowerShell 
 
Clique duas vezes no arquivo que você fez o download. Clique em Install para iniciar a instalação, 
conforme apresentado na Figura 1.52. 
 56 
 
Figura 1.52 - Solicitação de instalação do PowerShell 
 
Clique no botão Next para continuar a instalação,conforme apresentado na Figura 1.52. 
 57 
 
Figura 1.53 - Prosseguir com a instalação PowerShell 
O PowerShell será instalado na pasta c:\Program Files\PowerShell\. Mantenha o local padrão, clique 
no botão Next conforme apresentado na Figura 1.54. 
 58 
 
Figura 1.54 - Confirmar local de instalação do PowerShell 
 
Selecione os itens conforme a Figura 1.55 e clique no botão Next. 
 
Figura 1.55 - Seleção de opções adicionais. 
 59 
Clique no botão Finish para terminar a instalação, conforme apresentado na Figura 1.56. 
 
 
Figura 1.56 - Concluir instalação PowerShell 
 
Abra o VS Code conforme a Figura 1.57 para fazer a integração com o PowerShell. 
 
Figura 1.57 - VS Code Aberto 
 60 
Pressione control + ` para abrir o terminal integrado com o VS Code. Digite no terminal 
$psversiontable para visualizar qual versão do PowerShell está sendo usada. Observe no seu terminal 
e na Figura 1.58 que a versão utilizada é o PowerShell, mas não é o PowerShell Core. Feche o terminal 
clicando no x no lado direito do terminal integrado. 
 
Figura 1.58 - Verificação da versão do PowerShell 
 
Pressione shift + control + p para abrir a janela de comandos do VS Code. Digite Open Settings no 
campo e selecione Open Settings (JSON) conforme apresentado na Figura 1.59. 
 
Figura 1.59 - Janela de comando VS Code 
Para configurar o terminal integrado do VS Code com o PowerShell. Abra o arquivo settings.json e 
insira o texto "terminal.integrated.shell.windows": "c:/Program Files/PowerShell/6/pwsh.exe", 
conforme apresentado na Figura 1.60. Observe que estamos definindo o caminho de instalação do 
PowerShell. 
 
 61 
 
Figura 1.60 - Configuração do arquivo settings.json 
 
Pressione shift + control + p para abrir a janela de comandos. Selecione Reload Window para atualizar 
o VS Code conforme a Figura 1.61. 
 
 
Figura 1.61 - Reiniciando VS Code 
 
Abra o terminal integrado aperte control + `. Digite no terminal $psversiontable para visualizar qual 
versão do PowerShell esta sendo utilizada. Compare a Figura 1.62 com o resultado do seu terminal, 
observe que agora aparece a palavra Core no lugar de Desktop. Provavelmente a versão será 
diferente, não tem problema. 
 62 
 
Figura 1.62 - Verificação de integração com PowerShell 
 
 
 
 Instalando PowerShell Core e Integrando com VS Code no Mac 
Durante os exemplos desse curso será usado o terminal PowerShell para que não haja diferenças entre 
os comandos dos sistemas operacionais Linux, macOS e Windows. A documentação do PowerShell 
Core para macOS esta disponível no link https://docs.microsoft.com/pt-
br/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7. Para baixar 
o PowerShell acesse o link https://github.com/PowerShell/PowerShell/releases role a pagina até o 
item assets e clique no link powershell-6.2.4-osx-x64.pkg para fazer o download para o macOS, 
conforme apresentado na Figura 1.63. 
 
 
Figura 1.63 - Download PowerShell macOS 
 
 63 
Clique no ícone do arquivo para iniciar a instalação, conforme apresentado na Figura 1.64. 
 
Figura 1.64 - Ícone de download 
 
 
O macOS não reconhece o programa conforme apresentado na Figura 1.65. Clique em ok. 
 
Figura 1.65 - macOS não reconhece PowerShell 
 
 
No canto superior esquerdo da área de trabalho clique na maçã e selecione Preferências do Sistema 
conforme apresentado na Figura 1.66. 
 
 64 
 
Figura 1.66 - Abrindo preferências do sistema 
 
 
Em Preferências do Sistema selecione Segurança e Privacidade conforme apresentado na Figura 
1.67. 
 
 65 
 
Figura 1.67 - Abrindo segurança e privacidade 
 
 
Clique em Abrir Mesmo Assim conforme apresentado na Figura 1.68. 
 
 
Figura 1.68 - Concedendo permissão de instalação ao PowerShell 
 66 
 
 
 
A instalação do PowerShell é permitida pelo macOS. Clique em continuar, conforme a Figura 1.69 
 
Figura 1.69 – Introdução da instalação do PowerShell 
 
Clique no botão Instalar para iniciar a instalação, conforme apresentado na Figura 1.70. 
 
Figura 1.70 - Iniciar instalação do PowerShell 
 67 
 
 
Digite sua senha e clique em Instalar Software para permitir a instalação conforme a Figura 1.71. 
 
 
Figura 1.71 - Senha de permissão para instalação do PowerShell 
 
A Figura 1.72 apresenta uma mensagem que a instalação foi realizada com sucesso. Clique no botão 
Fechar. 
 68 
 
Figura 1.72 - Instalação concluída com sucesso 
 
Remova o instalador para o lixo, clique no botão Mover para o Lixo conforme apresentado na Figura 
1.73 
 
Figura 1.73 - Mover para o lixo ou manter instalador 
 69 
O PowerShell precisa ser integrado com o VS Code. Observe na Figura 1.74, que o terminal padrão 
do Mac está integrado no VS Code. Se o terminal não estiver aparecendo pressione control + `. 
 
Figura 1.74 - Terminal padrão integrado com VS Code 
 
Pressione shift + command + p para abrir a janela de comando do VS Code. Clique em Preferences: 
Open Settings (JSON) para abrir o arquivo de settings.json conforme apresentado na Figura 1.75. 
 
Figura 1.75 - Janela de comando VS Code 
 
 
Para configurar o terminal integrado do VS Code com PowerShell. Insira o texto 
"terminal.integrated.shell.osx": "/usr/local/bin/pwsh", "terminal.integrated.shellArgs.osx": [] dentro 
do arquivo settings.json conforme a Figura 1.76. 
 70 
 
Figura 1.76 - Configuração do arquivo setting.json. 
 
Aperte shift + command + p para abrir a janela de comandos. Selecione Reload Window para atualizar 
o VS Code, conforme a Figura 1.77. 
 
Figura 1.77 - Atualização do VS Code 
Abra o terminal integrado aperte control + `. Digite no terminal $psversiontable para visualizar qual 
versão do PowerShell estamos usando. Observe que agora estamos usando o PowerShell Core, 
conforme apresentado na Figura 1.78. 
 71 
 
Figura 1.78 - Verificação de integração PowerShell e VS Code 
 
 
 Comandos PowerShell, Terminal Linux e macOS 
Os comandos a seguir são compatíveis com terminal Linux, macOS e PowerShell. As diferenças 
entre os comandos dos terminais são destacadas. Quando uma linha de comando é digitada no 
terminal é necessário pressionar o botão enter para executar o comando. Leia e execute os comandos 
a seguir: 
man 
O comando man mostra um manual sobre o uso de um determinado comando. Por exemplo, 
digite “man cd” para ler todas as instruções do comando cd. Também existe o comando “man man”, 
caso haja dúvidas sobre o uso do próprio man. Se você tiver dúvida sobre algum comando, basta 
utilizar o comando “man” seguido do nome do comando. Para sair da tela do manual pressione “q”. 
ls 
Lista as pastas e arquivos existentes em um diretório. Também é possível usá-lo para conferir o 
tamanho e a data de criação de um arquivo ou diretório. Digite “ls” para listar os arquivos e diretórios, 
se precisar ver os detalhes digite “ls -lh”. 
clear 
Limpa o terminal, retirando as letras que foram exibidas no terminal. Digite “clear” para limpar o 
terminal. 
 
pwd 
Encontra o caminho para o diretório atual. Digite “pwd” para visualizar o caminho do diretório atual. 
 72 
mkdir 
Cria um novo diretório (pasta). Digite “mkdir” seguido do nome do diretório, por exemplo “mkdir 
pasta1”. 
 
new-item (PowerShell Core) 
touch (Linux e Mac) 
Cria novos arquivos em branco. Para criar um arquivo digite new-item seguido do nome do arquivo 
e extensão. Por exemplo, “new-item site.html”. 
cd 
Navega pelo sistema de arquivos e permite ir de um diretório para outro. Digite “cd” seguido do nome 
do diretório, por exemplo “cd pasta1”. É possível determinar um caminho fazendo o uso de barra, por 
exemplo “cd pasta1/pasta2”. Para voltar ao diretório anterior digite cd -. Para voltar um diretório 
digite “cd..”. 
cp 
Permite copiar arquivos e diretórios. Para copiar um arquivo digite “cp” seguido do nome do arquivo 
e diretório destino. Por exemplo, considerando que o caminho esteja no diretóriopasta1, digite “cp 
arquivo1.txt pasta2” para copiar o arquivo arquivo1.txt do diretório pasta1 para o diretório pasta2. 
Para copiar um diretório digite “cp -r” seguido do nome do diretório e diretório destino. Por exemplo, 
considerando que a pasta2 e a pasta3 estão dentro da pasta1, digite “cp -r pasta3 pasta2” para copiar 
a pasta3 para dentro da pasta2. O comando -r permite copiar o diretório com seus arquivos internos. 
mv 
Move ou renomeia arquivos e pastas. Para renomear um diretório, digite mv seguido do nome da 
pasta que você deseja renomear e do novo nome da pasta, por exemplo “mv pasta3 pasta4”, a pasta3 
foi renomeado como pasta4. Para renomear um arquivo, insira a extensão do arquivo, por exemplo 
digite “mv arquivo1.txt arquivo2.txt”. Para mover o diretório pasta4 para dentro do diretório pasta2, 
digite mv pasta4 pasta2. Quando o nome do diretório de destino existe a pasta é movida, se o diretório 
não existe é renomeado. 
rm 
Apaga um arquivo ou diretório. Para apagar um arquivo digite rm seguido do nome do arquivo, por 
exemplo “rm arquivo2.txt”. Para apagar um diretório e o conteúdo digite rm -r seguido do nome do 
diretório, por exemplo “rm -r pasta4”. 
more 
Mostra o conteúdo de um arquivo texto. Para ler o conteúdo de um arquivo digite more seguido do 
nome do arquivo, por exemplo digite “more arquivo1.txt”. 
sudo 
Determinados comandos ou arquivos são acessíveis apenas pelo usuário administrador (root). Este é 
um superusuário que possui privilégios de leitura e gravação em mais áreas do sistema, inclusive arquivos 
 73 
em outras contas de usuários. Para que você não tenha que trocar de usuário a todo instante, existe o 
comando sudo, que garante credenciais de usuário root temporariamente, mediante a informação de 
uma senha. É mais seguro usar o comando sudo no terminal em vez de ativar o usuário raiz. Apenas utilize 
este comando se souber o que está fazendo, caso contrário poderá danificar o sistema operacional. 
 
select-string (PowerShell Core) 
grep (Linux e Mac) 
Ajuda a procurar uma determinada palavra em um arquivo. Para procurar uma palavra num arquivo 
digite select-string seguida da palavra a ser pesquisada e o nome do arquivo. Por exemplo, “select-
string desenvolvedor arquivo1.txt” será apresentado a linha que contém a palavra pesquisada. O 
comando select-string não diferencia maiúsculos e minúsculo. 
history 
Apresenta o histórico dos comandos utilizados. Digite “history” e uma lista com todos comandos 
utilizados por você será apresentada. 
 
 Interface de Linha de Comando (CLI) 
Para desenvolver aplicações em .Net Core usando o VS Code, é necessário usar a CLI (Interface de 
Linha de Comando) do .NET Core. A CLI é uma ferramenta multiplataforma para criação, 
desenvolvimento, execução e publicação de aplicativos .NET Core. Não é necessário fazer a 
instalação da CLI do .NET Core porque já está incluído no .NET Core SDK. 
Para executar qualquer ação com a CLI, devemos 
inserir os comandos diretamente no terminal do 
sistema operacional. A CLI .Net Core, entende 
que estamos digitando um comando, através do 
driver “dotnet”. O driver é responsável por 
executar um aplicativo ou executar um comando 
.Net Core. 
 
A estrutura de comando CLI consiste no driver, seguida pelo comando e possivelmente de templates, 
opções e argumentos de comando. Para acessar uma breve documentação de ajuda dos comandos 
dotnet, digite “dotnet help”, conforme apresentado na Figura 1.79. A lista completa de comandos, 
pode ser acessada na documentação oficial do .Net Core https://docs.microsoft.com/pt-
br/dotnet/core/tools/dotnet?tabs=netcore21 . 
 74 
 
Figura 1.79 - Comando dotnet help apresenta lista de comandos 
Cada comando define seus próprios argumentos, para acessar uma breve documentação de ajuda, 
digite “--help” após o comando. Por exemplo, para acessar a documentação de ajuda do comando 
“new”, digite “dotnet new --help” conforme apresentado na Figura 1.80. Além das opções é 
apresentado uma lista de templates. 
 
 75 
 
Figura 1.80 - Lista de templates e opções do comando new 
 
Os templates são os tipos de arquivos que podem ser criados, é possível criar arquivos do tipo 
Console, Web API, MVC e vários outros. As opções passadas na linha de comando são referentes ao 
comando invocado. Quando você cria um arquivo, você vai querer dar um nome. Para isso, é chamada 
a opção “--name” seguida do argumento que é o nome que você pretende dar ao projeto. 
 76 
Para criar um projeto do tipo console com o nome “MeuApp”, é necessário digitar no terminal o 
comando “dotnet new console --name MeuApp”. Onde “dotnet” é o drive, “new” é o comando, 
“console” é o template, “--name” é a opção para nomear o projeto e “MeuApp” é o nome do projeto 
sendo o argumento da opção --name”. Observe o exemplo da Figura 1.81. 
 
Figura 1.81 - Comandos dotnet 
 
Exemplo prático 
No PowerShell Core navegue pelo terminal com o comando cd até o diretório desktop para criar um 
programa .Net Core. Digite no terminal o comando “dotnet new console --name MeuApp”. Siga o 
exemplo da Figura 1.82. 
 77 
 
Figura 1.82 - Criando programa do tipo console .Net Core 
A pasta MeuApp com os arquivos do programa é criada na área de trabalho, conforme apresentada 
na Figura 1.83. 
 
Figura 1.83 - Arquivo criado na área de trabalho 
 
Clique no ícone Explorer na barra lateral esquerda e no botão Open Folder conforme apresentado na 
Figura 1.84. 
 78 
 
Figura 1.84 - Abrindo o programa MeuApp 
 
Selecione a pasta MeuApp e clique em Abrir conforme a Figura 1.85. 
 
Figura 1.85 - Localizando pasta do programa MeuApp 
 
No canto inferior direito do VS Code uma janela é aberta, perguntando se você deseja adicionar os 
arquivos de Construção e Debug. Clique no botão Yes para adicionar os arquivos. 
 79 
 
Abra o terminal integrado. Vá até o menu superior e clique em Terminal => New Terminal, conforme 
apresentado na Figura 1.86. 
 
Figura 1.86 - Abrindo terminal integrado VS Code 
Digite no terminal integrado o comando “dotnet run” conforme apresentado na Figura 1.87. Se no 
terminal aparecer a palavra “Hello World!”, você acaba de criar o seu primeiro programa. Parabéns!!! 
 80 
 
Figura 1.87 - Executando o programa 
 
 
 81 
1.9 Dispositivos de Entrada/Saída (E/S) 
Os dispositivos de Entrada/Saída (E/S) (inglês, Input/Output, I/O) ou periféricos, permitem a 
comunicação entre usuário e computador. Essa comunicação é feita através de instruções e dados que 
são transmitidos entre os dispositivos. Os dados são introduzidos no computador pelos dispositivos 
de entrada, em seguida, o computador processa esses dados para produzir uma saída. 
Os dispositivos de entrada servem para introduzir dados no computador, para que possam ser 
processados. Os dispositivos mais comuns são: teclado, mouse, microfone, webcam, scanner e outros, 
conforme apresentado na Figura 1.88. 
 
Figura 1.88 - Dispositivos de entrada 
Os dispositivos de saída permitem representar os resultados do processamento dos dados. Os 
dispositivos de saída mais comuns são: monitor, impressora, caixa de som, fone de ouvido, projetor 
e outros, conforme apresentado na Figura 1.89. 
 82 
 
Figura 1.89 - Dispositivos de saída 
Alguns dispositivos, fazem a função de entrada e também a de saída, são chamados de dispositivos 
híbridos. Os dispositivos híbridos mais comuns são: pendrive, HD externo, impressora 
multifuncional, monitor touch screen, modem e outros, conforme apresenta na Figura 1.90. 
 
Figura 1.90 - Dispositivos híbridos 
 83 
Os dispositivos de entrada e saída, permitem criar softwares, que capturaram os dados inseridos pelo 
usuário para serem processados e posteriormente retornados ao usuário. Um exemplo é apresentado 
na Figura 1.91. 
 
Figura 1.91 - Comunicação dos dispositivos com o software 
 
 
 
1.10 Alocando espaço na memória, capturando e enviando 
Dados ao Usuário

Outros materiais