Академический Документы
Профессиональный Документы
Культура Документы
E-mails do
Minicurso
de
Lgica
de
Programao
Sumrio
Email1Porqueaprenderprogramao?
Email2Criandoosseusprimeirosprograminhas.
Email3Variveis,constantesetiposdedados.
Email4Operadores
Email5Tomandodecises!
Email6Respostadoexerccio"paracasa"daAula(5/10)Tomandodecises!
Email7Tomandodecises!
Email8RespostadoexercciodaAula(6/10)
Email 9 Sacada! Soluo do exerccio de ontem sem usarESCOLHACASO
ouSEENTOSENO
Email10LoopsBsicos!
Email11RespostadoexercciodaAula(7/10)
Email12LoopsPrdefinido
Email13Algoritmonmerosprimos:ExercciodaAula(8/10)
Email14VetoreseMatrizes
Email15JogodaVelha:ExercciodaAula(9/10)
Email16FuneseProcedimentos
Email17JogodaVelhacomfuneseprocedimentos
Email1Porqueaprender
programao?
CliqueAQUIparaleraprimeiraaula!
Talvez voc j tenha acessado esta primeira aula, mas estou enviando este
e-mail s para garantir que voc realmente recebeu o link para a primeira aula
do minicurso de lgica de programao.
Nesta aula #1 do
minicurso de lgica de programao
voc ir aprender:
1. 4 Motivos para voc comear aprender programao AGORA!
2. Se precisa ou no saber ingls para aprender programao.
3. Com qual linguagem de programao voc deve comear.
AcessaraprimeiraauladominicursoGRTIS!
Espero que goste desta primeira aula.
Importante! As demais aulas sero enviadas automaticamente a cada 24 horas.
Voc receber a prxima aula amanh neste mesmo horrio.
Bons estudos!
Email2Criandoosseus
primeirosprograminhas.
CliqueAQUIparaleraaula#2
Nesta aula #2 do
minicurso de lgica de programao
voc ir aprender:
1. O que um Algoritmo
2. A melhor ferramenta para aprender lgica de programao
3. Criar os seus primeiros programas
AcessarasegundaauladominicursoGRTIS!
Email3Variveis,constantese
tiposdedados.
CliqueAQUIparaleraaula#3
Nesta aula #3 do minicurso de lgica de programao voc ir aprender dois
assuntos bsicos, mas muito importantes para voc se tornar um bom
programador.
Voc vai aprender como armazenar dados na memria do computador.
Tambm aprender quais so os tipos de dados que podemos usar nos nossos
algoritmos, desde os tipos de dados primitivos at os tipos de dados
customizados.
AcessaraterceiraauladominicursoGRTIS!
Alm disso no final da aula voc ver a soluo do exerccio que eu pedi para
voc fazer ontem.
E a, est gostando deste minicurso? Convide os seus amigos para se
inscreverem neste minicurso 100% grtis de lgica de programao.
Boa aula!
Email4Operadores
CliqueAQUIparaleraaula#4
Chegamos a aula #4 do
minicurso de lgica de programao.
Hoje dia de voc aprender a usar os trs tipos operadores:
aritmticos
,
lgicos
e
relacionais
AcessaraquartaauladominicursoGRTIS!
Boa aula!
Email5Tomandodecises!
CliqueAQUIparaleraaula#5
Nesta aula #5 do minicurso de lgica de programao vamos aprender a
deixar os nossos programas tomando decises sozinhos.
Voc vai aprender a utilizar a estrutura de deciso
SE-ENTO-SENO
.
Esta a estrutura de controle mais bsica da lgica de programao.
Para aprender bem, preciso praticar bastante. Ao final desta voc ter um
exerccio prtico. Amanh eu envio a resposta para voc conferir, mas muito
importante que voc tente resolv-lo sozinho antes.
AcessaraquintaauladominicursoGRTIS!
Boa aula!
Email6Respostadoexerccio
"paracasa"daAula(5/10)
Tomandodecises!
Ontem eu enviei pra voc a aula #5 do
minicurso de lgica de programao
.
No final da aula eu pedi pra voc tentar resolver um exerccio de lgica para
verificar se um aluno foi
aprovado
ou
reprovado
no final do ano.
Voc fez? Espero que sim! Teve alguma dificuldade? Bom, abaixo eu mostro
como eu escrevi um algoritmo para resolver esse exerccio. Compare com o que
voc fez. Se o seu no deu certo, continue lendo que eu explico cada parte do
algoritmo.
Esse o algoritmo.
algoritmo
"AprovacaoFinalDeAno"
var
nota1,nota2,nota3,nota4,media:real
inicio
escreva("Informeanota(de0a10)doprimeirobimestre:")
leia(nota1)
escreva("Informeanota(de0a10)dosegundobimestre:")
leia(nota2)
escreva("Informeanota(de0a10)doterceirobimestre:")
leia(nota3)
escreva("Informeanota(de0a10)doquartobimestre:")
leia(nota4)
media:=(nota1+nota2+nota3+nota4)/4
escreval("Suamdiafoi:",media)
se
media>=6
entao
escreva("VocfoiAPROVADO!")
senao
escreva("VocfoiREPROVADO!")
fimse
fimalgoritmo
Entendendooalgoritmo.
Primeiro eu declarei 5 variveis do tipo
REAL
. Elas tm que ser do tipo
REAL
porque as notas podem ter valores decimais, por exemplo
5.5
.
Viu como foi simples? Se voc teve dificuldades para resolver, no se preocupe.
No incio parece difcil mesmo. Mas como sempre digo,
preciso praticar
!
Se conseguiu resolver sem dificuldades
timo
, mas continue praticando.
Amanh vou te enviar a aula #6 do
minicurso de lgica de programao fique
atento sua caixa de entrada!
At l!
Email7Tomandodecises!
CliqueAQUIparaleraaula#6
Nesta aula #6 do
minicurso de lgica de programao vamos aprender uma
estrutura elegante para fazer nossos programas tomar decises quando temos
muitas opes.
Voc tambm vai aprender a diferna de um
HUB
e um
SWITCH
.
A estrutura de controle de fluxo que vamos estudar hoje a
ESCOLHA-CASO
.
Voc vai perceber a diferna gritante na legibilidade do cdigo entre o
SE-ENTO-SENO e o ESCOLHA-CASO quando temos muitas opes de escolha.
E como sempre digo, para aprender bem, preciso praticar bastante. Ao final
desta voc ter outro exerccio prtico. Amanh eu envio a resposta para voc
conferir, mas muito importante que voc tente resolv-lo sozinho antes de ver
a minha resoluo.
AcessarasextaauladominicursoGRTIS!
Boa aula!
Email8Respostadoexerccio
daAula(6/10)
Ontem eu enviei pra voc a aula #6 do minicurso de lgica de programao.
No final da aula eu pedi pra voc resolver um exerccio de lgica para informar a
posio de uma letra no alfabeto usando a estrutura ESCOLHA-CASO.
Espero que voc tenha tentado fazer sozinho.
Abaixo a soluo deste exerccio usando a estrutura ESCOLHA-CASO.
algoritmo
"Posiodaletranoalfabeto"
var
letra:CARACTERE
posicao:INTEIRO
inicio
ESCREVA("Digiteumaletra:")
LEIA(letra)
ESCOLHAletra
CASO
"a"
posicao:=1
CASO
"b"
posicao:=2
CASO
"c"
posicao:=3
CASO
"d"
posicao:=4
CASO
"e"
posicao:=5
CASO
"f"
posicao:=6
CASO
"g"
posicao:=7
CASO
"h"
posicao:=8
CASO
"i"
posicao:=9
CASO
"j"
posicao:=10
CASO
"k"
posicao:=11
CASO
"l"
posicao:=12
CASO
"m"
posicao:=13
CASO
"n"
posicao:=14
CASO
"o"
posicao:=15
CASO
"p"
posicao:=16
CASO
"q"
posicao:=17
CASO
"r"
posicao:=18
CASO
"s"
posicao:=19
CASO
"t"
posicao:=20
CASO
"u"
posicao:=21
CASO
"v"
posicao:=22
CASO
"w"
posicao:=23
CASO
"x"
posicao:=24
CASO
"y"
posicao:=25
CASO
"z"
posicao:=26
FIMESCOLHA
ESCREVA("Aletra",letra,"estnaposio",posicao,"doalfabeto.")
fimalgoritmo
algoritmo
"PosiodaletranoalfabetocomSE"
var
letra:CARACTERE
posicao:INTEIRO
inicio
ESCREVA("Digiteumaletra:")
LEIA(letra)
SE
letra="a"
ENTO
posicao:=1
SENO
SE
letra="b"
ENTO
posicao:=2
SENO
SE
letra="c"
ENTO
posicao:=3
SENO
SE
letra="d"
ENTO
posio:=4
SENO
SE
letra="e"
ENTO
posicao:=5
SENO
SE
....
.....
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
ESCREVA("Aletra",letra,"estnaposio",posicao,"doalfabeto.")
fimalgoritmo
Email9Sacada!Soluodo
exercciodeontemsemusar
ESCOLHACASOou
SEENTOSENO
Ol nobre aluno(a). Lembra que prometi te enviar um algoritmo que resolva o
exerccio de ontem sem usar nenhuma estrutura de controle de fluxo.
Ficou curioso? Descobriu como fazer isso?
A vai! A malandragem a seguinte...
Na computao, todos caracteres tem um correspondente numrico para que
este caractere possa ser armazenado na forma de bits.
Existe uma tabela chamada
Tabela ASCII para sabermos qual o nmero de uma
letra. E as letras do alfabeto esto em sequncia nesta tabela.
Caractere
Decimal
Caractere
32
espao
80
33
81
34
"
82
35
83
36
84
37
85
38
&
86
39
'
87
40
88
41
89
42
90
43
91
44
92
45
93
46
94
47
95
48
96
49
97
50
98
51
99
52
100
53
101
54
102
55
103
56
104
57
105
58
106
59
107
60
<
108
61
109
62
>
110
63
111
64
112
65
113
66
114
67
115
68
116
69
117
70
118
71
119
72
120
73
121
74
122
75
123
76
124
77
125
78
126
79
127
DEL
Viu que o valor do caractere "a" 97 e que as outras letras esto na sequncia?
b = 98, c = 99, d = 100, ...
Agora ficou fcil, s precisamos descobrir o valor da letra que o usurio digitou e
subtrair 96.
Para descobrir o valor ASCII de um caractere no Visualg, podemos utilizar a
funo ASC
, passando como parmetro a letra que o usurio digitou.
Importante! Vamos falar mais sobre
funes e
procedimento na aula 10. Por
hora s saiba que uma funo executa uma tarefa pra gente. (Talvez a funo
algoritmo
"Posiodaletranoalfabeto"
var
letra:CARACTERE
posicao:INTEIRO
inicio
ESCREVA("Digiteumaletra:")
LEIA(letra)
posicao:=ASC(letra)96
ESCREVA("Aletra",letra,"estnaposio",posicao,"doalfabeto.")
fimalgoritmo
Email10LoopsBsicos!
CliqueAQUIparaleraaula#7
Nesta aula #7 do minicurso de lgica de programao vamos aprender uma
estrutura MUITO utilizada na programao.
As
estruturas de repetio so muito utilizadas em desenvolvimento de
softwares. Entender como elas funcionam muito importante para resolver
AcessarastimaauladominicursoGRTIS!
Boa aula!
Email11Respostadoexerccio
daAula(7/10)
Ol! Ontem eu enviei pra voc a aula #7 do minicurso de lgica de
programao. No final da aula eu pedi pra voc resolver um exerccio criando
uma algoritmo capaz de fazer multiplicao de qualquer nmero positivo.
Espero que voc tenha tentado fazer sozinho heim! Se no fez, tente fazer
primeiro pra depois olhar a resposta aqui neste e-mail.
Se voc se lembrar, eu mostrei esse algoritmo na primeira aula deste minicurso.
Lembra?
Abaixo o meu algoritmo de multiplicao entre nmeros positivos.
algoritmo
"Multiplicao"
var
numero1,numero2,resultado,contador:INTEIRO
inicio
ESCREVA("Informeoprimeironmero:")
LEIA(numero1)
ESCREVA("Informeosegundonmero:")
LEIA(numero2)
contador<0
ENQUANTO
(contador<numero2)
FACA
resultado<resultado+numero1
contador<contador+1
FIMENQUANTO
ESCREVA("Resultado:",resultado)
fimalgoritmo
Inciodaexecuo
Informeoprimeironmero:6
Informeosegundonmero:8
Resultado:48
Fimdaexecuo.
Gostou do exerccio?
Na prxima aula voc vai aprender uma outra estrutura de repetio muito
usada na programao.
Vou mandar a aula por e-mail, aguarde.
Por hora tente praticar um pouco mais fazendo algoritmos que utilizam loops
At a prxima aula!
Email12
LoopsPrdefinido
CliqueAQUIparaleraaula#8
Nesta aula
#8 do
minicurso de lgica de programao vamos aprender a
estrutura de repetio mais utilizada na programao.
A estrutura
PARA-FAA
!
Na aula de hoje voc vai entender como ela funciona e porque ela a mais
usada.
Ah! Claro que tem um super exerccio pra voc resolver tambm. Amanh eu
envio a resposta para voc conferir, mas muito importante que voc tente
resolv-lo sozinho antes de ver a minha resoluo. Combinado?
Clica a pra ler a aula de hoje.
AcessaraoitavaauladominicursoGRTIS!
Boaaula!
Email13
Algoritmonmerosprimos:
ExercciodaAula(8/10)
Opa! Ontem eu enviei pra voc a aula
#8 do minicurso de lgica de
programao
. No final da aula eu pedi pra voc resolver um exerccio.
Algoritmo
"NumeroPrimo"
Var
contador:INTEIRO
numero:INTEIRO
eprimo:LOGICO
Inicio
ESCREVA("Informeumnmeroparaverificarseeleprimo:")
LEIA(numero)
eprimo:=VERDADEIRO
PARA
contadorDE2ATnumero1
FAA
SE
(numeroMODcontador)=0
ENTAO
eprimo:=FALSO
FIMSE
FIMPARA
SE
eprimo=VERDADEIRO
ENTAO
SENAO
ESCREVA("Onmero",numero,"primo!")
ESCREVA("Onmero",numero,"NOprimo!")
FIMSE
Fimalgoritmo
Inciodaexecuo
Informeumnmeroparaverificarseeleprimo:53
Onmero53primo!
Fimdaexecuo.
O que voc achou? Gostou da minha resoluo. O seu algoritmo pode ter sido
diferente. H vrias formas de se fazer algoritmos. No precisa estar igual o
meu. Precisa funcionar corretamente. ;)
Bom por hoje s.
Vou mandar prxima aula sobre arrays por e-mail, fique atento tua caixa de
entrada.
At l!
Email14
VetoreseMatrizes
CliqueAQUIparaleraaula#9
Nesta aula #9 do minicurso de lgica de programao vamos aprender uma
estrutura de dados bsica.
Existem vrias estruturas de dados no mundo da programao, mas a mais
conhecida e tambm a mais utilizada o
array
E este o assunto desta nona aula do nosso minicurso grtis de lgica de
programao.
Alm de aprender como funcionam os arrays, voc var uma aplicao para ele
e tambm um desafio para voc resolver.
Voc ser testado sobre todo o contedo do minicurso. Portanto eu te desafio a
resolver este problema. Leia a aula toda para ver que desafio esse.
AcessaranonaauladominicursoGRTIS!
Boa aula!
Email15
JogodaVelha:Exerccioda
Aula(9/10)
Ol! Estava ancioso por este e-mail?
Na aula
#9
eu prometi te enviar o meu algoritmo do jogo da velha.
No um algoritmo facinho, mas j estamos chegando ao final deste minicurso
e sei que voc tem capacidade de criar este algoritmo sozinho.
Mas tinha que quebrar a cabea um pouquinho. Neste exerccio, que passei
como um
desafio para voc, necessrio utilizar vrias estruturas, operadores,
variveis, etc. Tudo que j aprendemos nas aulas anteriores.
Ento vamos ao meu algoritmo do jogo da velha, mas antes vamos lembrar as
regras
:
1 - As jogadas do jogo da velha devero ser armazenadas numa matriz (3x3) de
caractere, chamada "tabuleiro", cada posio desta matriz armazenar um dos
valores: " ", "_", "X" ou "O". Abaixo uma representao grfica desta matriz.
1
1 ___|___|___
2 ___|___|___
3
1 ___|___|___
2 ___|_X_|___
3 O|
| O
3 - Tero dois jogadores no jogo. O programa deve solicitar o nome dos dois
jogadores antes de comear o jogo. A cada jogada o programa dever perguntar
separadamente as posies horizontal e vertical da jogada, nesta ordem.
4 - Quando um jogador vencer o jogo, o programa deve apresentar
imediatamente o vencedor e a situao do tabuleiro.
Estou te enviando em anexo o meu algoritmo, para visualiz-lo e execut-lo
abra-o no VisuAlg.
Para
baixar
Visualg
Acesse:
http://dicasdeprogramacao.com.br/download-visualg/
Abra o algoritmo, entenda, execute-o, veja porque usei cada estrutura
PARA-FAA, REPIRA-AT, SE-ENTO-SENO, cada varivel, operadores lgicos (E
e OU) etc.
Se tiver dvida, acesse as aulas anteriores onde falo sobre cada um desses
assuntos.
Aguarde a prxima aula de nmero #10 deste minicurso. Vamos ver como
podemos melhorar este algoritmo do jogo da velha utilizando
funes e
procedimentos
.
At l!
Gustavo
Email16
FuneseProcedimentos
CliqueAQUIparaleraaula#10
Nesta aula #10 do minicurso de lgica de programao vamos aprender o que
so funes e procedimentos e como us-los para melhorar os nossos
algoritmos.
Alm de ver algumas funes e procedimentos que so nativas em qualquer
linguagem de programao, vamos aprender a criar as nossas prprias funes
e procedimentos.
Voc poder aplicar isso no Jogo da Velha que te mandei ontem.
Amanh eu vou te mandar o mesmo algoritmo utilizando funes e
procedimentos, mas tente voc mesmo melhor-lo.
AcessaradcimaauladominicursoGRTIS!
Boa aula!
Email17
JogodaVelhacomfunes
eprocedimentos
Na ltima aula
#10 deste minicurso gratuito de lgica de programao, eu
prometi enviar um algoritmo do Jogo da Velha melhorado, usando Funes e
Procedimentos.
Estou te enviando o novo algoritmo em anexo
, para visualiz-lo e execut-lo
abra-o no VisuAlg.
Para
baixar
Visualg
Acesse:
http://dicasdeprogramacao.com.br/download-visualg/
Abra o algoritmo, entenda, execute-o.
O primeiro "procedimento" que podemos ver o imprimeTabuleiro, este
procedimento responsvel por mostrar na tela a situao atual do Jogo da
Velha. Repare que antes fazamos isso duas vezes no algoritmo, uma em cada
jogada e uma no final. Agora no tem mais essa duplicao no cdigo, a gente
s chama o procedimento "imprimeTabuleiro".
procedimento
imprimeTabuleiro
inicio
//Apresentaasituaoatualdotabuleiro
escreval("Nestemomentootabuleiroestassim:")
escreval("123")
escreval("1_",tabuleiro[1,1],"_|_",tabuleiro[1,2],"_|_",tabuleiro[1,3],
"_")
escreval("2_",tabuleiro[2,1],"_|_",tabuleiro[2,2],"_|_",tabuleiro[2,3],
"_")
escreval("3",tabuleiro[3,1],"|",tabuleiro[3,2],"|",tabuleiro[3,3],"
")
fimprocedimento
Alm disso eu tirei uma complexidade do cdigo criando uma funo chamada
"verificaVencedor" que responsvel por identificar se algum ganhou o jogo,
dessa forma o fluxo principal do algoritmo fica mais legvel.
Este foi o final da aula #10 do minicurso de lgica de programao. Mas no
acabou, voc deu o primeiro passo que aprender lgica de programao e
est pronto para evoluir mais. Lgica de programao deve ser praticada
para, de fato, aprender.
Vou continuar enviando contedo para voc, fique atento sua caixa de
entrada.
Se voc gostou deste minicurso,
indique-o para os seus amigos, gratuito.
Acredito que todos devem aprender programao.
At mais.
Gustavo