Escolar Documentos
Profissional Documentos
Cultura Documentos
Captulo 1
Introduo
Small Basic e Programao
Programao de Computadores definida como o processo de criar
aplicativos de computador utilizando linguagens de programao. Assim
como ns falamos e entendemos ingls, espanhol ou francs, computadores
podem entender programas escritos em certas linguagens. Essas so
chamadas de linguagens de programao. No comeo existiam apenas
algumas linguagens de programao e elas eram muito fceis de aprender e
compreender. Mas como computadores e aplicativos se tornaram mais e
mais sofisticados, linguagens de programao evoluram rapidamente,
acumulando conceitos mais complexos com o passar do tempo. Como
resultado, a maioria das modernas linguagens de programao e seus
conceitos so bastante difceis de entender para um iniciante. Este fato
comeou a desencorajar as pessoas de aprenderem ou tentarem programar.
Small Basic uma linguagem de programao que desenhada para tornar
a programao extremamente fcil, acessvel e divertida para iniciantes. A
inteno do Small Basic derrubar a barreira e servir como trampolim para o
incrvel mundo da programao.
Agora que digitamos nosso novo programa, vamos execut-lo para ver o que
acontece. Ns podemos executar nosso programa clicando no boto
Executar na barra de ferramentas ou atravs do uso da tecla de atalho F5 no
Figura 4 - Intellisense
Captulo 2
Retomando o Nosso
Primeiro Programa
Aqui est o primeiro programa que
escrevemos:
TextWindow.WriteLine("Ol
Mundo")
Voc pode j ter observado que a instruo pode ser dividida em segmentos
menores assim como frases podem ser divididas em palavras. A primeira
instruo contm 3 segmentos distintos:
a) TextWindow
b) WriteLine
c) Ol Mundo
Quando voc executa o programa acima, voc ir notar que ele imprime a
mesma frase Ol Mundo dentro da janela Texto (TextWindow), mas desta
vez ele imprime o texto em amarelo (Yellow) ao invs de cinza como foi
anteriormente.
Black
Blue
Cyan
Gray
Green
Magenta
Red
White
Yellow
DarkBlue
DarkCyan
DarkGray
DarkGreen
DarkMagenta
DarkRed
DarkYellow
Captulo 3
Introduzindo Variveis
Usando Variveis no nosso programa
No seria bacana se nosso programa pudesse dizer Ol com o nome dos
usurios ao invs de dizer o genrico Ol Mundo? Para fazer isso, ns
precisamos primeiro perguntar ao usurio o seu nome e ento armazen-lo
em algum lugar e ento imprimir Ol com o nome do usurio. Vejamos
como podemos fazer isso:
TextWindow.Write("Digite seu Nome: ")
nome = TextWindow.Read()
TextWindow.WriteLine("Ol " + nome)
Quando voc digita e executa seu programa, voc ver uma sada parecida
com a sada a seguir:
E quando voc digita seu nome e pressiona a tecla ENTER, voc ver a
seguinte sada:
Figura 8 Um Ol Caloroso
Anlise do programa
No programa que voc acabou de executar, a linha que pode ter chamado
sua ateno esta:
nome = TextWindow.Read()
Read() se parece com WriteLine(), porm sem entradas. Read (ler) uma
operao e basicamente diz ao computador para esperar que o usurio
digite algo e pressione a tecla ENTER. Uma vez que o usurio pressiona a
tecla ENTER, ele pega o que o usurio digitou e o retorna para o programa.
O ponto interessante que tudo aquilo que o usurio digitou agora est
armazenado numa varivel chamada nome. Uma varivel definida como
um lugar onde voc pode armazenar valores temporariamente e us-los
mais tarde. Na linha acima, nome foi usado para armazenar o nome do
usurio.
A prxima linha tambm interessante:
TextWindow.WriteLine("Ol " + nome)
para
Captulo 4
Condies e Ramificao
Voltando ao nosso primeiro programa, no seria legal que ao invs de dizer o
genrico Ol Mundo, ns pudssemos dizer Bom Dia Mundo, ou Boa Tarde
Mundo dependendo da hora do dia? Para o nosso prximo programa, ns
faremos o computador dizer Bom Dia Mundo se o horrio for antes do meiodia; e Boa Tarde se o horrio for aps o meio-dia.
If (Clock.Hour < 12) Then
TextWindow.WriteLine("Bom Dia Mundo")
EndIf
If (Clock.Hour >= 12) Then
TextWindow.WriteLine("Boa Tarde Mundo")
EndIf
Else
No programa do incio do captulo,
voc pode ter notado que a segunda
condio um pouco redundante. O
E esse programa far exatamente o mesmo que o outro, o que nos leva para
uma importante lio em programao de computadores:
Em programao, existem diversas maneiras de fazer a
mesma coisa. s vezes, um jeito faz mais sentindo que
o outro. A escolha fica a cargo do programador.
Conforme voc for escrevendo mais programas e ficando
mais experiente, voc comear a notar as diferentes
tcnicas e suas vantagens e desvantagens.
Recuo
Em todos os exemplos voc pode ver que as instrues entre If, Else e EndIf
esto recuadas. Este recuo no necessrio. O computador ir entender o
programa normalmente sem o recuo. Entretanto, o recuo nos ajuda a ver e
entender a estrutura do programa mais facilmente. Portanto, geralmente
considerado boa prtica recuar as instrues entre este tipo de bloco de
instrues.
Par ou mpar
If (resto = 0) Then
TextWindow.WriteLine("O nmero Par ")
Else
TextWindow.WriteLine("O nmero mpar ")
EndIf
E quando voc executa esse programa, voc ver uma sada como esta:
Ramificao
Lembre-se, no segundo captulo voc aprendeu que o computador processa
um programa uma instruo por vez, em ordem do incio ao fim. Entretanto,
existe uma instruo especial que pode fazer o computador pular para outra
instruo fora de ordem. Vamos examinar o prximo programa.
i=1
inicio:
TextWindow.WriteLine(i)
i=i+1
If (i < 25) Then
Goto inicio
EndIf
Essa a parte que diz ao computador que se o valor de i for menor que 25, o
computador deve comear a processar as instrues a partir do indicador
inicio.
Captulo 5
Loops
Loop For
Vamos examinar o programa que escrevemos no captulo anterior.
i=1
inicio:
TextWindow.WriteLine(i)
i=i+1
If (i < 25) Then
Goto inicio
EndIf
E o resultado :
Loop While
O loop While (enquanto) outro mtodo de looping, que especialmente
til quando o contador de loop no conhecido de antemo. Enquanto um
loop For executado um nmero pr-determinado de vezes, o loop While
executado at que uma dada condio seja verdadeira. No exemplo abaixo,
ns estamos dividindo um nmero ao meio enquanto o resultado maior
que 1.
numero = 100
While (numero > 1)
TextWindow.WriteLine(numero)
numero = numero / 2
EndWhile
Captulo 6
Introduo a Grficos
At agora nos nossos exemplos, ns temos usado a TextWindow para
explicar os conceitos bsicos da linguagem Small Basic. Entretanto, Small
Basic vem com um conjunto poderoso de recursos grficos que ns
comearemos a explorar neste captulo.
Apresentando a GraphicsWindow
Assim como ns temos a TextWindow (janela Texto) que nos permite
trabalhar com texto e nmeros, Small Basic tambm fornece uma
GraphicsWindow (janela Grficos) que podemos usar para desenhar coisas.
Vamos comear mostrando a GraphicsWindow.
GraphicsWindow.Show()
Quando voc executar este programa, voc ir notar que ao invs da usual
janela de texto preta, voc obter uma janela branca como a mostrada
abaixo. Ainda no tem muita coisa para fazer nesta janela. Mas esta ser a
janela base na qual iremos trabalhar neste captulo. Voc pode fechar esta
janela clicando no boto X no canto superior direito.
Aqui est como a janela Grficos personalizada se parece. Voc pode alterar
a cor de fundo por um dos diferentes valores listados no Apndice B. Brinque
com essas propriedades para ver como voc pode modificar a aparncia da
janela.
Desenhando Linhas
Uma vez que temos a GraphicsWindow ativa, ns podemos desenhar figuras,
texto e at imagens nela. Vamos comear desenhando algumas figuras
simples. Aqui est um programa que desenha algumas linhas na janela
Grficos.
GraphicsWindow.Width = 200
GraphicsWindow.Height = 200
GraphicsWindow.DrawLine(10, 10, 100, 100)
GraphicsWindow.DrawLine(10, 100, 100, 10)
GraphicsWindow.Width = 200
GraphicsWindow.Height = 160
GraphicsWindow.PenColor = "Blue"
For i = 1 To 10
GraphicsWindow.PenWidth = i
GraphicsWindow.DrawLine(20, i * 15, 180, i * 15)
endfor
Figura 32 Crculos
Captulo 7
Retangular
Aqui ns desenhamos mltiplos retngulos em um loop, enquanto
aumentamos seu tamanho.
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.PenColor = "LightBlue"
GraphicsWindow.Width = 200
GraphicsWindow.Height = 200
For i = 1 To 100 Step 5
GraphicsWindow.DrawRectangle(100 - i, 100 - i, i * 2, i * 2)
EndFor
Figura 33 - Retangular
Circular
Uma variante do programa anterior que desenha crculos ao invs de
quadrados.
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.PenColor = "LightGreen"
GraphicsWindow.Width = 200
GraphicsWindow.Height = 200
For i = 1 To 100 Step 5
GraphicsWindow.DrawEllipse(100 - i, 100 - i, i * 2, i * 2)
EndFor
Figura 34 Circular
Aleatrio
Este programa usa a operao GraphicsWindow.GetRandomColor (obter cor
aleatria) para atribuir cores aleatrias para o pincel e ento usa
Math.GetRandomNumber (obter nmero aleatrio) para atribuir as
coordenadas x e y aos crculos. Essas duas operaes podem ser
Figura 35 Aleatrio
Fractais
O programa a seguir desenha um simples tringulo fractal usando nmeros
aleatrios. Um fractal uma figura geomtrica que pode ser subdividida em
partes, cada uma delas se parece com a figura original exatamente. Neste
caso, o programa desenha centenas de tringulos, onde cada um se parece
com o tringulo original. E j que o programa executa por alguns segundos,
voc pode realmente ver os tringulos se formando lentamente a partir de
meros pontos. A lgica em si um pouco difcil de descrever e deixaremos
como um exerccio para voc explorar.
GraphicsWindow.BackgroundColor = "Black"
x = 100
y = 100
For i = 1 To 100000
r = Math.GetRandomNumber(3)
ux = 150
uy = 30
If (r = 1) then
ux = 30
uy = 1000
EndIf
If (r = 2) Then
ux = 1000
uy = 1000
EndIf
x = (x + ux) / 2
y = (y + uy) / 2
GraphicsWindow.SetPixel(x, y, "LightGreen")
EndFor
por
color = GraphicsWindow.GetRandomColor()
GraphicsWindow.SetPixel(x, y, color)
Captulo 8
Tartaruga Grfica
Logo
Nos anos 70, existia uma linguagem de programao bem simples mas
poderosa chamada Logo que foi usada por alguns pesquisadores. Isso foi at
que algum adicionou o que foi chamado de Tartaruga Grfica linguagem
e tornou disponvel uma tartaruga que era visvel na tela e respondia a
comandos tais como v para frente, vire direita, vire esquerda, etc.
Usando a tartaruga, as pessoas eram capazes de desenhar formas
interessantes na tela. Isso fez a linguagem imediatamente acessvel e
atraente para pessoas de todas as idades, e foi amplamente responsvel por
sua grande popularidade nos anos 80.
Small Basic vem com um objeto Turtle (tartaruga) com vrios comandos que
podem ser chamados a partir de programas Small Basic. Neste captulo, ns
usaremos a tartaruga para desenhar grficos na tela.
A Tartaruga
Para comear, ns precisamos fazer a tartaruga visvel na tela. Isso pode ser
alcanado atravs de uma simples linha de programa.
Turtle.Show()
Quando voc executa este programa, voc observar uma janela branca,
assim como a que vimos no captulo anterior, exceto que esta tem uma
tartaruga no centro. esta tartaruga que ir seguir nossas instrues e
desenhar o que pedirmos a ela.
Movendo e Desenhando
Uma das instrues que a tartaruga entende Move (mover). Esta
operao recebe um nmero como entrada. Este nmero diz tartaruga o
quanto se mover. Digamos, no exemplo abaixo, ns pediremos tartaruga
para se mover 100 pixels.
Turtle.Move(100)
Desenhando um Quadrado
Um quadrado tem quatro lados, dois verticais e dois horizontais. Para
desenhar um quadrado, ns precisamos ser capazes de fazer a tartaruga
desenhar uma linha, virar direita e desenhar outra linha e continuar isso
at que os quatro lados estejam terminados. Se traduzssemos isso em um
programa, assim como ele se pareceria.
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Quando voc executa este programa, voc pode ver a tartaruga desenhando
um quadrado, uma linha por vez, e o resultado se parece com a figura
abaixo.
Mudando as Cores
A tartaruga desenha na mesma GraphicsWindow (janela Grficos) que ns
vimos no captulo anterior. Isso significa que todas as operaes que ns
aprendemos no captulo anterior ainda so vlidas aqui. Por exemplo, o
programa a seguir desenhar o quadrado com cada lado com uma cor
diferente.
For i = 1 To 4
GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Turtle.Move(100)
Turtle.TurnRight()
EndFor
Movendo
Voc pode fazer a tartaruga no desenhar usando a operao PenUp
(levantar a caneta). Isso permite que voc mova a tartaruga para qualquer
lugar na tela sem desenhar uma linha. Usando PenDown (abaixar a caneta)
far a tartaruga desenhar novamente. Isso pode ser usado para obter
alguns efeitos interessantes, como por exemplo, linhas pontilhadas. Aqui
est um programa que usa isso para desenhar um polgono com linhas
pontilhadas.
lados = 6
comprimento = 400 / lados
angulo = 360 / lados
For i = 1 To lados
For j = 1 To 6
Turtle.Move(comprimento / 12)
Turtle.PenUp()
Turtle.Move(comprimento / 12)
Turtle.PenDown()
EndFor
Turtle.Turn(angulo)
EndFor
Novamente, este programa tem dois loops. O loop interno desenha uma
linha pontilhada, enquanto o loop externo especifica quantas linhas
desenhar. No nosso exemplo, ns usamos 6 para a varivel lados e portanto
ns obtivemos um hexgono de linhas pontilhadas, como mostra a figura
abaixo.
Captulo 9
Sub-rotinas
Muito frequentemente, enquanto escrevemos programas, ns encontramos
casos onde teremos que executar os mesmos passos repetidamente. Nesses
casos, no faria muito sentido reescrever as mesmas instrues mltiplas
vezes. ento que sub-rotinas se tornam teis.
Uma sub-rotina uma poro de cdigo dentro de um programa maior que
geralmente faz algo bastante especfico, e pode ser chamada de qualquer
ponto no programa. Sub-rotinas so identificadas por um nome que segue a
palavra-chave Sub e so terminadas pela palavra-chave EndSub. Por
exemplo, o fragmento de cdigo a seguir representa uma sub-rotina cujo
nome ImprimirHora, e ela realiza a tarefa de imprimir a hora atual na
TextWindow.
Sub ImprimirHora
TextWindow.WriteLine(Clock.Time)
EndSub
Usando variveis
Voc pode acessar e usar qualquer varivel que voc tem em um programa
de dentro de uma sub-rotina. Por exemplo, o programa a seguir aceita dois
nmeros e imprime o maior dos dois. Observe que a varivel maior usada
tanto dentro como fora da sub-rotina.
TextWindow.Write("Digite o primeiro nmero: ")
num1 = TextWindow.ReadNumber()
TextWindow.Write("Digite o segundo nmero: ")
num2 = TextWindow.ReadNumber()
DescobrirMaior()
TextWindow.WriteLine("O maior nmero : " + maior)
Sub DescobrirMaior
If (num1 > num2) Then
maior = num1
Else
maior = num2
EndIf
EndSub
Vamos examinar outro exemplo que ilustrar o uso de sub-rotinas. Desta vez
usaremos um programa grfico que calcula vrios pontos que ele
armazenar nas variveis x e y. Ento ele chama uma sub-rotina
DesenharCirculoUsandoCentro que responsvel por desenhar um
crculo usando x e y como o centro.
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.PenColor = "LightBlue"
GraphicsWindow.Width = 480
For i = 0 To 6.4 Step 0.17
x = Math.Sin(i) * 100 + 200
y = Math.Cos(i) * 100 + 200
DesenharCirculoUsandoCentro()
EndFor
Sub DesenharCirculoUsandoCentro
inicioX = x - 40
inicioY = y - 40
GraphicsWindow.DrawEllipse(inicioX, inicioY, 120, 120)
EndSub
primo = "True"
VerificarPrimo()
If (primo = "True") Then
TextWindow.WriteLine(i + " um nmero primo ")
Else
TextWindow.WriteLine(i + " no um nmero primo ")
EndIf
Sub VerificarPrimo
For j = 2 To Math.SquareRoot(i)
If (Math.Remainder(i, j) = 0) Then
primo = "False"
Goto FimLoop
EndIf
Endfor
FimLoop:
EndSub
Agora que temos uma sub-rotina que pode fazer a verificao de nmeros
primos para ns, voc pode querer usar isso para listar todos os nmeros
primos menores que, por exemplo, 100. muito fcil modificar o programa
anterior e chamar VerificarPrimo de dentro de um loop. Isso d sub-rotina
um valor diferente para calcular toda vez que o loop executa. Vejamos como
isso feito no exemplo a seguir.
For i = 3 To 100
primo = "True"
VerificarPrimo()
If (primo = "True") Then
TextWindow.WriteLine(i)
EndIf
EndFor
Sub VerificarPrimo
For j = 2 To Math.SquareRoot(i)
If (Math.Remainder(i, j) = 0) Then
primo = "False"
Goto FimLoop
EndIf
Endfor
FimLoop:
EndSub
Captulo 10
Matrizes
A esta altura, voc deve estar bem acostumado em como usar variveis
afinal voc chegou at este ponto e ainda est se divertindo, certo?
Vamos, por um momento, revisitar o primeiro programa que voc escreveu
com variveis:
TextWindow.Write("Digite seu Nome: ")
nome = TextWindow.Read()
TextWindow.WriteLine("Ol " + nome)
Quando voc executar este cdigo, voc obter um resultado similar a este:
Muito mais fcil de ler, no? Observe as duas linhas em negrito. A primeira
armazena um valor na matriz e a segunda l um valor da matriz. O valor
que voc armazena em nome[1] no sera afetado pelo que voc armazenar
em nome[2]. Portanto, para a maioria dos casos, voc pode tratar nome[1]
e nome[2] como duas variveis diferentes com a mesma identidade.
EndFor
TextWindow.WriteLine("")
amigos["JC"]["Telefone"] = "3221-1234"
amigos["Van"]["Nome"] = "Vanessa"
amigos["Van"]["Telefone"] = "3227-4567"
amigos["Carol"]["Nome"] = "Caroline"
amigos["Carol"]["Telefone"] = "3224-2345"
TextWindow.Write("Digite o apelido: ")
apelido = TextWindow.Read()
TextWindow.WriteLine("Nome: " + amigos[apelido]["Nome"])
TextWindow.WriteLine("Telefone: " + amigos[apelido]["Telefone"])
caixas numa matriz. Isso nos permite controlar essas caixas facilmente e
us-las novamente quando necessrio.
Captulo 11
Eventos e Interatividade
Nos primeiros dois captulos, ns introduzimos objetos que tem Propriedades
e Operaes. Alm de propriedades e operaes, alguns objetos tm o que
chamamos de Eventos. Eventos so como sinais que so are gerados, por
exemplo, em resposta a aes do usurio, tais como mover o mouse ou
clicar em um boto do mouse. De certa forma, eventos so o oposto de
operaes. No caso da operao, voc como um programador chama a
operao para fazer o computador fazer algo; onde no caso de eventos, o
computador lhe informa quando algo interessante aconteceu.
GraphicsWindow.MouseDown = OnMouseDown
Sub OnMouseDown
GraphicsWindow.ShowMessage("Voc clicou.", "Ol")
EndSub
Sub OnMouseDown
x = GraphicsWindow.MouseX - 10
y = GraphicsWindow.MouseY - 10
GraphicsWindow.FillEllipse(x, y, 20, 20)
EndSub
Um programa de desenho
Munido com eventos e sub-rotinas, ns agora podemos escrever um
programa que deixa usurios desenhar na janela. surpreendentemente
fcil escrever tal programa, dado que ns podemos quebrar o problema em
pequenas partes. Como primeiro passo, vamos escrever um programa que
permite que usurios movam o mouse aonde eles quiserem na janela
Grficos, deixando um rastro por onde eles passam.
GraphicsWindow.MouseMove = OnMouseMove
Sub OnMouseMove
x = GraphicsWindow.MouseX
y = GraphicsWindow.MouseY
GraphicsWindow.DrawLine(prevX, prevY, x, y)
prevX = x
prevY = y
EndSub
Apndice A
Exemplos Divertidos
Fractal com a Tartaruga
angulo = 30
delta = 10
distancia = 60
Turtle.Speed = 9
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.PenColor = "LightGreen"
DrawTree()
Sub DrawTree
If (distancia > 0) Then
Turtle.Move(distancia)
Turtle.Turn(angulo)
Stack.PushValue("distancia", distancia)
distancia = distancia - delta
DrawTree()
Turtle.Turn(-angulo * 2)
DrawTree()
Turtle.Turn(angulo)
distancia = Stack.PopValue("distancia")
Turtle.Move(-distancia)
EndIf
EndSub
Fotos do Flickr
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.MouseDown = OnMouseDown
Sub OnMouseDown
foto = Flickr.GetRandomPicture("montanhas, rio")
GraphicsWindow.DrawResizedImage(foto, 0, 0, 640, 480)
EndSub
O Jogo de Paddle
GraphicsWindow.BackgroundColor = "DarkBlue"
paddle = Shapes.AddRectangle(120, 12)
bola = Shapes.AddEllipse(16, 16)
GraphicsWindow.MouseMove = OnMouseMove
x=0
y=0
deltaX = 1
deltaY = 1
LoopExecucao:
x = x + deltaX
y = y + deltaY
gw = GraphicsWindow.Width
gh = GraphicsWindow.Height
If (x >= gw - 16 or x <= 0) Then
deltaX = -deltaX
EndIf
If (y <= 0) Then
deltaY = -deltaY
EndIf
padX = Shapes.GetLeft(paddle)
If (y = gh - 28 and x >= padX and x <= padX + 120) Then
deltaY = -deltaY
EndIf
Shapes.Move(bola, x, y)
Program.Delay(5)
If (y < gh) Then
Goto LoopExecucao
EndIf
GraphicsWindow.ShowMessage("Voc Perdeu ", "Paddle")
Sub OnMouseMove
paddleX = GraphicsWindow.MouseX
Shapes.Move(paddle, paddleX - 60, GraphicsWindow.Height - 12)
EndSub
Apndice B
Cores
Aqui est uma lista de nomes de cores suportadas pelo Small Basic,
classificadas pela sua matiz.
Vermelhos
IndianRed
LightCoral
Salmon
DarkSalmon
LightSalmon
Crimson
Red
FireBrick
DarkRed
HotPink
#CD5C5
C
#F08080
#FA8072
#E9967
A
#FFA07A
#DC143
C
#FF0000
#B2222
2
#8B000
0
Rosas
Pink
LightPink
#FFC0C
B
#FFB6C1
#FF69B4
DeepPink
#FF1493
MediumVioletRe #C7158
d
5
#DB709
PaleVioletRed
3
Laranjas
LightSalmon
#FFA07A
Coral
#FF7F50
Tomato
#FF6347
OrangeRed
#FF4500
DarkOrange
#FF8C00
Orange
#FFA500
Amarelos
Gold
Yellow
#FFD70
0
#FFFF0
0
LightYellow
#FFFFE
0
LemonChiffon
#FFFAC
D
LightGoldenrodY
ellow
#FAFAD
2
PapayaWhip
#FFEFD
5
Moccasin
PeachPuff
PaleGoldenrod
Khaki
DarkKhaki
#FFE4B
5
#FFDAB
9
#EEE8A
A
#F0E68
C
#BDB76
B
Roxos
Lavender
Thistle
Plum
Violet
Orchid
Fuchsia
Magenta
#E6E6FA
#D8BFD
8
#DDA0D
D
#EE82EE
#DA70D
6
#FF00FF
#FF00FF
#BA55D
MediumOrchid
3
#9370D
MediumPurple
B
#8A2BE
BlueViolet
2
#9400D
DarkViolet
3
#9932C
DarkOrchid
C
#8B008
DarkMagenta
B
Purple
#800080
#4B008
Indigo
2
#6A5AC
SlateBlue
D
#483D8
DarkSlateBlue
B
MediumSlateBlu #7B68E
e
E
Verdes
#ADFF2
F
Chartreuse
#7FFF00
#7CFC0
LawnGreen
0
Lime
#00FF00
#32CD3
LimeGreen
2
#98FB9
PaleGreen
8
#90EE9
LightGreen
0
MediumSpringG #00FA9
reen
A
SpringGreen
#00FF7F
MediumSeaGree #3CB37
n
1
#2E8B5
SeaGreen
7
#228B2
ForestGreen
2
#00800
Green
0
#00640
DarkGreen
0
#9ACD3
YellowGreen
2
#6B8E2
OliveDrab
3
#80800
Olive
0
#556B2
DarkOliveGreen
F
MediumAquama #66CDA
rine
A
#8FBC8
DarkSeaGreen
F
#20B2A
LightSeaGreen
A
#008B8
DarkCyan
B
Teal
#00808
GreenYellow
Azuis
#00FFFF
Cyan
#00FFFF
LightCyan
#E0FFFF
PaleTurquoise
#AFEEEE
Aquamarine
LightSkyBlue
#7FFFD4
#40E0D
0
#48D1C
C
#00CED
1
#5F9EA0
#4682B
4
#B0C4D
E
#B0E0E
6
#ADD8E
6
#87CEE
B
#87CEFA
DeepSkyBlue
#00BFFF
MediumTurquoi
se
DarkTurquoise
CadetBlue
SteelBlue
LightSteelBlue
PowderBlue
LightBlue
SkyBlue
DodgerBlue
#1E90FF
#6495E
CornflowerBlue
D
MediumSlateBlu #7B68E
e
E
RoyalBlue
#4169E1
Blue
MediumBlue
DarkBlue
Navy
#191970
Marrons
Aqua
Turquoise
MidnightBlue
#0000FF
#0000C
D
#00008
B
#000080
Cornsilk
BlanchedAlmon
d
Bisque
NavajoWhite
Wheat
BurlyWood
Tan
RosyBrown
SandyBrown
Goldenrod
DarkGoldenrod
Peru
Chocolate
SaddleBrown
Sienna
Brown
Maroon
#FFF8DC
#FFEBC
D
#FFE4C4
#FFDEA
D
#F5DEB
3
#DEB88
7
#D2B48
C
#BC8F8F
#F4A460
#DAA52
0
#B8860
B
#CD853
F
#D2691
E
#8B451
3
#A0522
D
#A52A2
A
#800000
Brancos
White
#FFFFFF
Snow
#FFFAFA
Honeydew
#F0FFF0
MintCream
#F5FFFA
Azure
#F0FFFF
AliceBlue
#F0F8FF
GhostWhite
#F8F8FF
WhiteSmoke
#F5F5F5
Seashell
OldLace
#FFF5EE
#F5F5D
C
#FDF5E6
FloralWhite
#FFFAF0
Ivory
Linen
#FFFFF0
#FAEBD
7
#FAF0E6
LavenderBlush
#FFF0F5
MistyRose
#FFE4E1
Beige
AntiqueWhite
Cinzas
Gray
#DCDCD
C
#D3D3D
3
#C0C0C
0
#A9A9A
9
#808080
DimGray
#696969
LightSlateGray
#778899
SlateGray
#708090
DarkSlateGray
#2F4F4F
Black
#000000
Gainsboro
LightGray
Silver
DarkGray