HackerDown
Cadastre-se e divulgue o Fórum!!!

Fórum:
Www.hackerdown.forumeiro.com

Participe do fórum, é rápido e fácil

HackerDown
Cadastre-se e divulgue o Fórum!!!

Fórum:
Www.hackerdown.forumeiro.com
HackerDown
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

GW BASIC! Fácil, curioso, ideal para quem esta começando!

2 participantes

Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty GW BASIC! Fácil, curioso, ideal para quem esta começando!

Mensagem  Jesod Sáb Ago 29, 2009 10:59 pm

Ola pessoal! Bem vindos programadores em treinamento! Eis aqui uma linguagem que é basica até no nome: GW BASIC
O GW BASIC não é lá muito bom para programas complexos e tudo mais, pois alem de ser, no mínimo, antigo, ele faz uso de comandos extremamente simples.
Mas eu gosto do mesmo jeito, ok?
Para mostrar como funciona, decidi usar um exemplo simples. Um programinha que eu chamei de "nave"
Para começar, cada linha deve ter um número. O GW BASIC executa cada linha por ordem, mesmo que não sejam consecutivas. Por isso, dependendo do tamanho do programa que você quer fazer, talvez seja melhor numerar de 100 em 100, ou até mesmo de 1000 em 1000, para você poder incluir linhas no meio se decidir acrecentar algo.
O GW BASIC usa uma linguagem extremamente complexa, que eu chamo de ingles, essa linguagem é conhecida por substituir a palavra de duas letras, "se", por outra palavra de duas letras, "if".
Antes de ensinar a nave, temos que saber os comandos básicos. Para começar:

F1, essa tecla faz aparecer a palavra "LIST" na tela, essa palavra na verdade é um comando, que manda o GW BASIC listar tudas as linhas do seu programa. Para faze-la funcionar, você terá que apertar "enter".

F2 é o famoso "RUN", mas essa não vai te dar tempo de ver a palavra escrita, porque logo em seguida ela "aperta" enter, e coloca o programa que você faz para rodar.

F3: vai aparecer escrito "load"", logo em seguida você deve escrever o nome de um programa que você tenha salvo para abri-lo.

F4 irá ser bem util: aparecerá escrito "save"", e então você escreve o nome do programa, tecla "enter" e pronto! Todo o seu trabalho será salvo!

Para facilitar a sua vida: aperte alt+enter para entrar no modo tela cheia, aperte break para pausar um programa em execução (qual quer outra tecla irá despausar o programa), aperte ctrl+break para parar de executar o programa.

Por fim: escreva a palavra "system" e aperte enter para encerrar o GW BASIC.
Fico devendo à vocês um link onde possam baixar o GW BASIC, para quem tiver a internet lenta, não tenha medo! GW BASIC é tão simples que só ocupa o espaço de 80KB, sendo que cada programa feito nele tem cerca de 1KB.


Última edição por Jesod em Qua Set 02, 2009 3:41 pm, editado 1 vez(es)
Jesod
Jesod

Mensagens : 84
Data de inscrição : 25/08/2009
Idade : 45
Localização : -

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Começando...

Mensagem  Jesod Dom Ago 30, 2009 4:12 pm

Muito bem, desculpe a demora para esse post, mas antes tarde do que nunca!
para início de conversa, vou dizer que para esse programa, sugiro usar numeração de 10 em 10.
vamos lá! (note que os trechos na cor preta são comentários, e os em verde são os que devem ser escritos)

10 n=40
o que isso significa? 10 é o número da linha, "n" é uma incógnita, e você pode usar qualquer letra que quizer para isso. O GW BASIC é dividido em linhas e colunas, sendo cerca de 25 linhas e 80 colunas.

20 cls: locate 24,1
cls é uma abreviação de "clear screen", e significa que nessa etapa, ele apaga tudo. Locate põe o cursor numa cordenada, no caso, 24,1, ou seja, linha 24, coluna 1. Para fazer um ":" aperte ç+shift, esplicarei logo abaixo.

30 print space$<n>ç
eu coloquei "ç", mas quando você apertar "ç", o que vai aparecer, na verdade será ";". Motivo: O GW BASIC pensa que nosso teclado segue o padrão norte-americano, ou seja, o teclado usado por quem só digita em ingles, que é uma lingua que não tem "ç" e nem acentos.
Quando você manda ele dar "print space$<n>", na verdade você esta mandando ele escrever " " um número n de vezes, como na linha 10, nós dissemos que n=40, ele vai fazer isso quarenta vezes.

40 print ^|;¨\|^
Acredite ou não, essa tremenda bagunça vai criar um desenho que lembra vagamente uma navesinha.
"print" é uma ordem para escrever, ele vai escrever aquilo que estiver entre aspas, obviamente, quando você tentar escrever "^", oque vai aparecer serão as tais aspas.

50 for i=1 to 20000: next
Ainda lembram de como fazer os dois pontos? Bom.
O que acontece aqui, é que o computador termina todas as linhas numa veloidade muito alta, pode não parecer, mas isso atrapalha. Por isso nós colocamos uma segundo incógnita, e atribuimos o valor 1, dizemos que "para i=1 até 20000: próximo" ou seja, mandamos ele contar até 20mil, e só quando ele terminar ir para a próxima etapa.
Brinque um pouco com esses valores, eu escolhi 20mil, mas você pode aumentar, para deixar a nave mais devagar e assim poder ver seu movimentos com detalhe, ou então diminuir, para deixa-la mais rápida que o olho humano! (se for capaz)

60 locate 24,1
De novo? Sim, de novo!

70 if a$=^ ^ print space$(n+2)ç^0 ^else print space$(n+6)
Grande esse linha não? vamos lá: "if" é a palavra em ingles para "se", é nessa palavra que o caminho, antes linear, se divide em dois. Dizemos que se a$ for igual a " " (ou seja, "se você apertou espaço"), então escreva " " n+2 vezes, como dissemos que n=40, então serão escritos 42 "espaços", a seguir dizemos que ele deve escrever "0 ", bem, "0" foi o que eu escolhi para representar o tiro da nave, se voce achar que fica melhor com outra coisa, é só substituir.
O GW BASIC tem dois tipos de cursores, o primeiro, que é um risquinho, substitue o caractere em cima dele pelo que você apertar. Para colocar letras no meio de uma palavra, por exemplo, você terá que usar a tecla "insert", que fará o cursor virar um quadradinho.
Ao dizer "n+2" é por que a nave é composta de 5 caracteres, sendo que o primeiro esta na posição n.
Sendo assim, o meio da nave será substituido por um zero, o que estiver antes será substituido por espaços, e os dois caracteres seguintes serão trocados por espaços.
Uma dica que eu dou: se preferir, troque o "n+2" por "n", e no lugar de "0 " escreva "0 0". Eu gostei do efeito...
Logo em seguida vemos escrito "else print space$(n+6)", ou seja: "depois disso, você deve escrever " " n+6 vezes". Por que 6? Por que eu gosto desse número Por que o GW BASIC funciona assim: quando você diz "print" ele escreve e depois cria uma linha embaixo, por isso o "0" parece estar subindo, por que a linha em que ele foi escrito esta sendo empurrada para cima. N+6 é por que temos que apagar a nave toda para que ela não apareça na linha de cima.

80 a$=inkey$
Aqui dizemos que a$ é "uma tecla".
-A Jesod, como assim?confused
-É elementar meu caro: a$ é igual à qualquer tecla que você apertar!
-Mas isso não deveria vir antes da linha 60?
-Como o programa é em loop, na verdade tanto faz.Wink
-Uau! affraid

90 if a$=^<^ or ^,^ then n=n-1
Ou seja: se você apertar a tecla "<" ou a tecla "," o valor de "n" será igual a "n-1", nesse caso, 39!
Com isso, quando ele voltar ao começo, ele irá fazer a nave depois de 39 " ", e não 40, como antes.
Escolhi as teclas "<" e "," por que eu achei legal. Se gostar mais de outra, mude!

100 if a$=^>^ or ^.^ then n=n+1
se você não descobriu o que isso significa, então é por que não prestou atenção na linha de cima.

110 if n=0 then n=74 else n=75 then n=1
Ok, quando eu achei que tinha terminado de fazer esse programa, descobri um probleminha, se a nave chegasse no canto da tela, o programa travava. Isso acontecia por que se ela estiver, por exemplo, na primeira linha (n=0), não tem como ela ir mais para a esquerda.
Então o que fizemos aqui? Dissemos que: "se n for igual a zero, então mude o valor de n para 74, e se n for 75, então mude para 1"
Desse modo evitamos desastres.
Se preferir, tente isso: 110 if n=0 then n=1 else n=75 then n=74, desse modo também não acontecem desastres, mas veja se consegue adivinhar o que isso faz antes de testar!

120 goto 30
Essa é fácil! "goto" não é o marido da gota, mas sim as palavras em ingles "go to", ou seja, vá para.
Estamos dizendo aqui, vá para a linha número 30. Desse modo o programa vai ficar se repetindo infinitamente!

Espero que tenham gostado! Eu vou ficando por aqui, e agora é com vocês: até a próxima!
Jesod
Jesod

Mensagens : 84
Data de inscrição : 25/08/2009
Idade : 45
Localização : -

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Download do GWBasic

Mensagem  Runo Dom Ago 30, 2009 4:46 pm

Pra quem quiser baixar o GWBasic, eu postei na área de Downloads do site:
https://hackerdown.forumeiro.com/downloads-em-geral-f17/download-do-gwbasic-t69.htm#130
Runo
Runo

Mensagens : 124
Data de inscrição : 24/08/2009
Idade : 30
Localização : Um lugar onde o dia é claro e a noite é escura...

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Ok, agora vai ter!

Mensagem  Jesod Seg Ago 31, 2009 5:34 pm

Atendendo a pedidos que não foram feitos, decidi criar um conversor de teclado PT para teclado EN.
Para quem não entendeu, vai seguindo que se pega. Wink

'`
"~
´[
`{
[]
{}
~'
^"
]\
}|
;/
:?
ç;
Ç:

E essa tabela ficou horrível, mas da para entender.
À esquerda estão a tecla que você aperta
À direita, o que o GW BASIC vai entender.
se preparem, pois da próxima vez não farei que nem no post acima, escreverei direto o que tem que estar lá, e não o que você aperta para estar lá.

(para quem não notou, um dos "ç" é maiusculo)
Jesod
Jesod

Mensagens : 84
Data de inscrição : 25/08/2009
Idade : 45
Localização : -

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Re: GW BASIC! Fácil, curioso, ideal para quem esta começando!

Mensagem  Runo Ter Set 01, 2009 6:54 pm

EMoh esquema anti-jumentos, anti-noobs, anti... eh melhor eu ficar quieto...
Runo
Runo

Mensagens : 124
Data de inscrição : 24/08/2009
Idade : 30
Localização : Um lugar onde o dia é claro e a noite é escura...

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Re: GW BASIC! Fácil, curioso, ideal para quem esta começando!

Mensagem  Jesod Ter Set 01, 2009 8:54 pm

Runo escreveu:EMoh esquema anti-jumentos, anti-noobs, anti... eh melhor eu ficar quieto...
Não poderia ser mais simples: se um lado da tabela não funcionar, é o outro que está certo!
Jesod
Jesod

Mensagens : 84
Data de inscrição : 25/08/2009
Idade : 45
Localização : -

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Notícia urgente!

Mensagem  Jesod Qua Set 02, 2009 3:39 pm

Ok, eu acabei de lembrar que não disse para vocês a função de numeração automática.
é a coisa mais simples do mundo:
escreva "auto," e enseguida ponha o intervalo entre um número e outro.
Exemplo:

auto, 10
numerará de 10 em 10

auto, 100
de 100 em 100

auto, 2947
de 2947 em 2947


e tem também outra opção: o de escolher o número inicial, para fazer isso, escreva "auto" em seguida o número do qual você quer iniciar a contagem, vírgula (,), e por fim o intervalo.
Exemplos:

auto 44, 100
a contagem será: 44, 144, 244,...

auto 2999, 765
a contagem será: 2999, 3764, 4529,...

E agora, vejam só!
A opção de escolher o estilo de tela que você mais gosta!

experimente:

screen 0

screen 1

screen 2


Última edição por Jesod em Qua Jan 12, 2011 1:32 am, editado 1 vez(es)
Jesod
Jesod

Mensagens : 84
Data de inscrição : 25/08/2009
Idade : 45
Localização : -

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Hmmm....

Mensagem  Runo Qua Set 02, 2009 5:26 pm

Isso era "urgente"?
Eu vi lah: "Notícia Urgente" abri o post ke nem um condenado pra olhar isso Laughing
Não vi utilidade nessa funçao, sem ofensa, eh melhor numerar do jeito tradicional...
Mas afinal, quem sou eu para contestar a inutil vontade humana de tornar as coisas simples?
Runo
Runo

Mensagens : 124
Data de inscrição : 24/08/2009
Idade : 30
Localização : Um lugar onde o dia é claro e a noite é escura...

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Re: GW BASIC! Fácil, curioso, ideal para quem esta começando!

Mensagem  Jesod Qua Set 02, 2009 5:37 pm

Runo escreveu:Isso era "urgente"?
Eu vi lah: "Notícia Urgente" abri o post ke nem um condenado pra olhar isso Laughing
Não vi utilidade nessa funçao, sem ofensa, eh melhor numerar do jeito tradicional...
Mas afinal, quem sou eu para contestar a inutil vontade humana de tornar as coisas simples?

Dá pra notar que você ainda não tentou fazer um programa seu em GW BASIC
Jesod
Jesod

Mensagens : 84
Data de inscrição : 25/08/2009
Idade : 45
Localização : -

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Figura

Mensagem  Jesod Seg Out 12, 2009 3:32 pm

Esse programa eu chamei simplesmente de figura, e não tem lá muita utilidade, mas é engraçado.

Figura I:

10 screen 2
isso irá fazer o programa ir automáticamente para o modo tela cheia

20 cls
isso irá apagar a tela (CLear Screen), para a eventualidade de você ter escrito algo

30 line (315, 100)-(400,100)
a função "line", irá criar uma linha. "315,100" e "400,100" são pares de coordenadas, que irão determinar de onde até onde a linha será traçada. O primeiro número representa a coluna, e o segundo, a linha.

40 line (315,100)-(315,50)
Irá criar uma linha vertical, que junto com a linha anterior se tornará um "L" ao contrário

50 line (315,50)-(400,100)
Essa terceira linha deve concluir o triangulo retângulo, que aparecerá no meio de sua tela.

60 line (200,25)-(280,25)
Mais uma linha! Quem diria?

70 line (360,25)-(440,25)
Observe que as duas ultimas linhas, estão na mesma linha (25) e tem o mesmo comprimento (80)
Já descobriu qual é a figura? Então deve saber o próximo passo...

80 line (230,130)-(430,130)
Você já deve estar cançado de saber o que é isso. O proxímo passo é o mais complexo.

90 circle (330,100),122,7,3.77,5.65
Vamos por partes ok? "circle" ´´e uma ordem para criar um círculo. "330,100" são as cordenadas do centro. "122" é a medida do raio. "7" é um número que eu gosto. "3.77" e "5.65" definem um arco. Uma circunferência é dividida em 2π partes. E você pode escolher qual parte quer que seja mostrada.
Para explicar: O π é usado por que representa a razão do perímetro de uma circunferência pelo seu diâmetro.

Bom, o programa acabou aqui, não esqueça de salvar.
Se você acompanhou atentamente tudo que foi feito até aqui, então deve ser capaz de criar desenhos, gráficos, e substituindo coordenadas por variáveis, logo será capaz de criar programas gráficos complexos e se pá interativos.
Jesod
Jesod

Mensagens : 84
Data de inscrição : 25/08/2009
Idade : 45
Localização : -

Ir para o topo Ir para baixo

GW BASIC! Fácil, curioso, ideal para quem esta começando! Empty Re: GW BASIC! Fácil, curioso, ideal para quem esta começando!

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos