Escolar Documentos
Profissional Documentos
Cultura Documentos
E-Book E-Mails Do Minicurso Lógica de Programação PDF
E-Book E-Mails Do Minicurso Lógica de Programação PDF
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)
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
Nesta aula #1 do
minicurso de lgica de programao
voc ir aprender:
AcessaraprimeiraauladominicursoGRTIS!
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!
Espero que goste desta segunda aula.
Email3Variveis,constantese
tiposdedados.
CliqueAQUIparaleraaula#3
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.
Boa aula!
Email4Operadores
CliqueAQUIparaleraaula#4
Chegamos a aula #4 do
minicurso de lgica de programao.
AcessaraquartaauladominicursoGRTIS!
Boa aula!
Email5Tomandodecises!
CliqueAQUIparaleraaula#5
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
!
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.
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
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
Mas s vou mandar essa sacada amanh. Para que voc tende descobrir
sozinho.
Fazer um algoritmo para mostrar a ordem de uma letra no alfabeto sem usar as
estruturas SE-ENTO-SENO e ESCOLHA-CASO.
Amanh vou te mostrar como fazer isso. Mas fica o desafio, tende descobrir
antes que eu te envie e resposta
.
32 espao 80 P
33 ! 81 Q
34 " 82 R
35 # 83 S
36 $ 84 T
37 % 85 U
38 & 86 V
39 ' 87 w
40 ( 88 X
41 ) 89 Y
42 * 90 Z
43 + 91 [
44 , 92
45 93 ]
46 . 94 ^
47 / 95 _
48 0 96 `
49 1 97 a
50 2 98 b
51 3 99 c
52 4 100 d
53 5 101 e
54 6 102 f
55 7 103 g
56 8 104 h
57 9 105 i
58 : 106 j
59 107 k
60 < 108 l
61 = 109 m
62 > 110 n
63 ? 111 o
64 @ 112 p
65 A 113 q
66 B 114 r
67 C 115 s
68 D 116 t
69 E 117 u
70 F 118 v
71 G 119 w
72 H 120 x
73 I 121 y
74 J 122 z
75 K 123 {
76 L 124 |
77 M 125 }
78 N 126 ~
79 O 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.
algoritmo
"Posiodaletranoalfabeto"
var
letra:CARACTERE
posicao:INTEIRO
inicio
ESCREVA("Digiteumaletra:")
LEIA(letra)
posicao:=ASC(letra)96
ESCREVA("Aletra",letra,"estnaposio",posicao,"doalfabeto.")
fimalgoritmo
At mais ...
Email10LoopsBsicos!
CliqueAQUIparaleraaula#7
As
estruturas de repetio so muito utilizadas em desenvolvimento de
softwares. Entender como elas funcionam muito importante para resolver
problemas que precisam executar tarefas repetidas vezes. Acredite, existem
muitos!
E como sempre digo, para aprender bem, preciso praticar bastante. Ao final
desta aula voc tambm ter mais um exerccio prtico pra fazer. Amanh eu
envio a resposta para voc conferir, mas muito importante que voc tente
resolv-lo sozinho antes de ver a minha resoluo.
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.
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.
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?
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.
Se no conseguiu, tudo bem. Abaixo voc vai ver o algoritmo que eu fiz para
este problema.
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
ESCREVA("Onmero",numero,"primo!")
SENAO
ESCREVA("Onmero",numero,"NOprimo!")
FIMSE
Fimalgoritmo
Neste algoritmo eu fao um loop de 2 at o nmero imediatamente anterior ao
nmero que estou verificado se primo. Por qu? Evidentemente o nmero
primo divisivel (resto 0) por 1 e por ele mesmo. Ele no deve ser divisvel por
qualquer outro nmero.
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. ;)
Vou mandar prxima aula sobre arrays por e-mail, fique atento tua caixa de
entrada.
At l!
Email14
VetoreseMatrizes
CliqueAQUIparaleraaula#9
Alm de aprender como funcionam os arrays, voc var uma aplicao para ele
e tambm um desafio para voc resolver.
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.
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
:
valores: " ", "_", "X" ou "O". Abaixo uma representao grfica desta matriz.
1 2 3
1 ___|___|___
2 ___|___|___
3 | |
tabuleiro.
Por exemplo:
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.
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
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.
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.
Vou continuar enviando contedo para voc, fique atento sua caixa de
entrada.
At mais.
Gustavo