• Nenhum resultado encontrado

PROGRAMAÇÃO PARA INICIANTES SISTEMA D-8000

N/A
N/A
Protected

Academic year: 2021

Share "PROGRAMAÇÃO PARA INICIANTES SISTEMA D-8000"

Copied!
19
0
0

Texto

(1)

PROGRAMAÇÃO PARA

INICIANTES

SISTEMA

D-8000

(2)

ÍNDICE

INTR O D UÇÃO ...

3

CAP. I COMANDOS DIRETOS E CORREÇÃO DE TEXTOS . 5

CAP. II PROGRAMAÇÃO EM B A S IC ... 11

(3)

INTRODUÇÃO

M

0 que é Programação de Computador? Programação é o método usado para analisar um problema, traduzir o problema na linguagem do

computador e deixá-lo resolver o problema.

É claro que a viabilidade de resolver o problema é limitada por 3 coisas: 1 - Pelo problema:

Para ser mais preciso; se você não sabe nada sobre mísseis espaciais, não será uma boa idéia tentar fazer um programa de simulação de mísseis, a menos que um conhecedor do assunto lhe explique todos os fatores e variáveis que estão envolvidos no lançamento de mísseis.

Resumindo: Se você não sabe resolver o problema, não tente fazer o computador resolvê-lo.

2 - Pela linguagem de programação: As características e as funções da linguagem refletem a sua capacidade. Algumas são voltadas para aplicações comerciais, outras para computação científica e outras para qualquer propósito. Por exemplo, a linguagem Basic do seu D ISM A C

D-8000 é uma das linguagens mais populares para aplicações gerais. 3 - Pelo computador: Finalmente, a velocidade e a arquitetura do próprio

computador são muito importantes. Se o seu computador for duas vezes mais rápido que os outros, você pode terminar o seu trabalho na metade do tempo gasto por outras pessoas. Se também a memória do seu computador for relativamente grande, você pode escrever

programas bem longos e potentes.

Imagine que nós queremos resolver o seguinte problema: Exemplo 1:

1 - Márcio tinha Cr$ 500 - no bolso

2 - Ele tomou um ônibus para o centro e pagou Crê 14 3 - Tomou um sorvete por Cr$ 30

4 - Jogou 5 partidas de Fliperama por Cr$ 15 por partida 5 - Comprou 1 maço de cigarros por Crê 36

(4)

Problema 1: Quanto dinheiro tinha Márcio quando chegou em casa? Se os eventos acima forem traduzidos para Basic, poderemos escrever o seguinte programa: PR O G R A M A 1: 10 M=50 0 : REM 1 ♦ 20 M=M-1* : REM 2 * 30 M=M-30 : REM 3 ♦ *0 M-M-15* 5 : REM *♦ 50 M:=M-36 : REM er J ♦ 60 M=M-1* í REM 6 ♦

70 PRINT ■MÁRCIO TINH 80 END

MÁRCIO TINHA CR* 500

MENOS 1* DO PRIMEIRO ÔNIBUS MENOS CR* 30 DO SORVETE

MENOS 5 PARTIDAS DE FLIPPER A CR* 15 CADA MENOS CR* 36 DOS CIGARROS

MENOS CR* 1* DO ÔNIBUS DE VOLTA

C R * " í M ; REM IMPRIMA QUANTO TINHA MÁRCIO

Sempre que você executar (RUN) este programa, o resultado será:

MÁRCIO TINHA CR* 331

O programa 1 pode ser reduzido como está mostrado abaixo, mas, esta segunda versão é mais difícil de ser compreendida.

PR O G R A M A 2:

10 PRINT “MÁRCIO TINHA CR*"Í 500--l*-30-15*5-36-l* 20 END

É claro que a função do computador não se limita a resolver o problema acima. Estes cálculos podem ser feitos por uma calculadora ou até por uma criança. Nos próximos capítulos, vamos introduzir mais alguns conceitos de programação, junto com programas mais potentes, os quais resolverão alguns problemas mais interessantes e mais difíceis.

(5)

COMANDOS DIRETOS E CORRECAO

DE TEXTOS

0 principal objetivo dos COM ANDOS D IR ETO S é ordenar à máquina que execute algum trabalho interna ou externamente.

Sempre que a mensagem R EA D Y aparecer na tela (veja no Manual do usuário,como ligar o sistema), você estará no N ÍVEL DIRETO DE COMANDO e o computador estará esperando o seu comando. Ele aguardará eternamente, até que você introduza o seu comando pelo teclado.

Alguns dos COM ANDOS D IRETO S são:

AU TO - Numera A U TO M A TIC A M EN TE as linhas de programa D E LET E - Apaga a linha de programa

ED IT - altera (edita) a linha de programa

LIST - Faz uma listagem das linhas de programa RUN - Executa o programa

Vamos agora colocar no computador as frases abaixo através do teclado

READY

>AUTO

10 PRINT "MEU PRIMEIRO PROGRAMA" 2 0 . FOR A=1 TO 10

30 PRINT Ar A*A 40 NEXT A

50 END 60

Vejamos agora se não houve nenhum erro de datilografia.

Se por exemplo você cometeu um erro na linha 30, basta que a escreva novamente como abaixo:

READY

30 PRINT Ar A*A

(6)

No próximo capítulo, veremos técnicas mais eficientes para correção de textos.

Se tudo está bom, podemos agora executar (RUN) o programa e ver 0 que acontece.

READY

>RUN

MEU PRIMEIRO PROGRAMA

1 1

Em toda a operação feita acima, somente dois comandos diretos foram usados, AU TO e RUN. As outras partes são apenas texto de programa e saídas.

Escreva agora L IS T e tecle N EW UNE

READY

> LIST

10 PRINT “MEU PRIMEIRO PROGRAMA" 20 FOR A “ 1 TO 10

30 PRINT Ay A*A ^0 NEYT A

50 END READY

Todo o programa foi mostrado na tela usando-se o comando L IS T . Agora você já faz uma idéia dos comandos usados nos computadores? Existem muitos comandos no seu D ISM A C D-8000. Veja o Manual de Basic para maiores detalhes.

6 7 8 9 10 3 4 4 9 16 25 36 'Í9 6't 81 10 0 READY

(7)

CORREÇÃO DE TEXTOS

Nós sempre tivemos a inclinação para cometer erros. Isto pode não ser muito ruim, se pudermos detetá-los e corrigí-los rapidamente.

A função de correção de textos do D lSM A C D-8000 permite ao usuário introduzir, corrigir e atualizar os seus programas da maneira mais eficiente possível.

Estas são algumas das funções de correção: L (listar)

I (inserção) C (troca) D (apaga)

Para conhecer todo o conjunto de instruções de correção veja o Manual de Basic, Capítulo 2.

Vamos voltar ao programa 3

READY

> LIST

10 PRINT "MEU PRIMEIRO PROGRAMA" 20 FOR A=1 TO 10

30 PRINT Ar A*A 40 NEXT A

50 END READY

Se por exemplo, você quiser modificar o texto da linha 30, de A *A para A *2. Tudo o que você tem que fazer é:

READY >EDIT 30

(8)

Pressione a tecla L, e toda a linha 30 será mostrada na tela.

30 PRINT Aí A*A

30™

Batendo na B A R R A DE ESPA Ç O , o cursor move-se para a direita. Vamos então mover o cursor para a 11a posição.

30 PRINT A» A*

Pressione agora a tecla C seguida pelo n° 2.

30 PRINT Aí A*2

Assim que você pressionar NEW LI NE , o computador gravará todas as mudanças feitas, voltando em seguida para o N ÍVEL DE COMANDO DIRETO .

30 PRINT Aí A*2

Agora se você executar (RUN) o programa, aparecerá como saída o valor de A multiplicado por 2, ao invés de A elevado ao quadrado. (A tem o valor de 1 a 10).

Vamos fazer mais uma listagem do programa 3.

READY >LIST

10 PRINT "MEU PRIMEIRO PROGRAMA" 20 FOR A=1 TO 10

30 PRINT Aí Ax<2 ^0 NEXT A

50 END READY

Vamos modificar um pouco a linha 10

>EDIT 10

1 0....

(9)

10 PRINT "m e u PRIMEIRO PROGRAMA “

10 ...

Digite 7 seguido de um toque na B A R R A DE ES P A Ç O S A tela ficará:

10 PRINT "MEU PRIMEIRO PROGRAMA" 10 PRINT "...

Pressione a tecla I seguida de **V> NEW LI NE (Jd significa um espaço)

A tela ficará:

10 PRINT "MEU PRIMEIRO PROGRAMA" 10 PRINT "x* MEU PRIMEIRO PROGRAMA" READY

Agora você já faz uma idéia do que seja alteração (EDIT) de textos. Imagine que você não quer que ninguém saiba que este é seu primeiro programa. Vamos então mudar novamente o programa.

READY

>EDIT 10 NEW LI NE 1 o ... L

10 PRINT *xx MEU PRIMEIRO PROGRAMA"

10 ... 1 3 B A R R A DE ESPAÇO S

10 PRINT “xx M E U _ 9 D 10 PRINT MEU! P R I M E I R O !._

Tudo o que está entre os pontos de exclamação será apagado (! PRIM EIRO!)

Pressione agora NEW LI NE

10 PRINT " X X m e u PRIMEIRO PROGRAMA" 10 PRINT "xx MEU! PRIMEIRO! PROGRAMA"

(10)

Você está novamente no nível de comando direto. Escreva L IS T 10 e pressione NEW UNE

>LIST 10

10 PRINT "** MEU P R O G R A M A “

Isto significa que quando você executar novamente o programa o cabeçalho será: "**M EU P R O G R A M A ” .

É conveniente para praticar a correção de textos,que você, antes de prosseguir com este Manual, vá ao Capítulo 2 do Manual de Basic e fique conhecendo as outras instruções de correção.

(11)

PROGRAMAÇÃO EM BASIC

a

Neste capítulo nós vamos discutir como analisar um problema e como implementá-lo no Basic - nossa futura linguagem.

Antes de continuar, por favor estude o exemplo 1 da introdução.

Agora vamos tentar analisar os procedimentos requeridos para computar a área e o comprimento de um círculo de raio = R.

A área do círculo pode ser encontrada através da fórmula: A = rr R2. E o comprimento pela relação: C = 2 n R.

O diagrama da figura 1 é chamado de fluxograma. A direção do fluxo é indicada pelas setas.

Os pontos de início e fim indicam o início e fim do programa

respectivamente. As outras operações são: Entrada (IN PU T), saída (PRIN T), cálculos (A, C).

O fluxograma mostrado, pede uma entrada (R). Com R como raio, ele computa a área A e o comprimento C, mostrando então o Raio (PRIN T R), a área (PRIN T A) e o comprimento (PRIN T C).

Podemos agora implementar o problema já analisado no Basic, e introduzi- lo no computador.

(No exemplo abaixo, foi introduzido 5 e em seguida pressionado NEW LINE

10 INPUT "INTRODUZA O R A I O "* R 20 A = 3*1416 * R * R

30 C = 2 * 3.1416 * R TO PRINT *0 RAIO E Í"ÍR 50 PRINT "A AREA E Í"ÍA

6 0 P R IN T 11 O C O M P RIM E N T O E t H } C 7 0 END READY >RUN INTRODUZA 0 RAIO? 5 O RAIO E í 5 A AREA E í 78*54 0 COMPRIMENTO E í 31.416 READY

f

INÍCIO ^

j

INPUT R

j

A = 3.1416 * R * R C = 2 * 3.1416 * R

j

PRirJT R

!

/ PRINT A / / PRINT C / ^ FIM ^ FIG. 1 > %

(12)

Se nós quisermos calcular com um novo raio, teremos que executar (RUN) o programa novamente, o que é muito inconveniente.

Vamos mudar um pouco o Fluxograma para resolver este problema. Como mostra agora o fluxograma, sempre que o computador termina de imprimir o valor de C, ele reinicia o processamento, esperando a entrada de um novo R.

Vamos novamente traduzir o fluxograma para a Basic.

10 IN P U T “INI R 0 D u Z A (D R AI (3 “ 5 R 20 A = 3.1416 * R * R

30 C ~ 2 * 3♦ 14:l.6 * R 40 PRINT “O RAIO E t"? R 50 PRINT "A AREA E t"? A

60 PRINT -O COMPRIMENTO E C 70 GOTO 10 80 END READY READY >RUN INTRDUZA O RAIO? 7 0 RAIO E í 7 A AREA E J 1.53 ♦ 938 O COMPRIMENTO E J 43.9824 INTRODUZ A O RAIO? 3.0 O RAIO E : 10 A AREA E í 31.4.16 O COMPRIMENTO E í 62.332 INTRODUZ A O RAIO'3

O computador vai repetir esta sequência até que você pressione B R EA K interrompendo assim a execução do programa.

Não é um bom costume em programação usar B R E A K para interromper o programa, pois é uma interrupção não natural.

(13)

Vamos então tentar alguma coisa mais lógica, modificando mais um pouco o fluxograma.

Não se assuste! Compare a Fig. 1, 2 e 3 e veja que na verdade as modificações são muito pequenas.

O programa já corrigido ficaria assim: 15 IF R = 0 THEN END

20 A = 3.1416 * R * R

30 C = 2 * 3*1416 * R 40 PRINT "0 RAIO E t"? R 50 PRINT "A AREA E l "? A

60 PRINT "O COMPRIMENTO E J■ í C 70 GOTO 10

Este programa recebe como entrada o valor de R e se R for igual ( = ) a zero o programa será encerrado, de outro modo ele calculará

a área e o comprimento do círculo, imprimindo o raio a área o comprimento

e voltando para a linha 10 para aguardar um novo R.

Também existem métodos mais "humanos" para se encerrar um programa, ou seja, outros que não sejam introduzir um código para encerramento. Vamos dar uma olhada no programa abaixo:

10 INPtJT “INTRODUZ. A 0 RAIO"? R 20 A = 3. 1416 * R * R

30 C = 2 * 3*1416 * R 4 0 PRINT ”0 RAIO E :" ? R 50 PRINT “A AREA E í* ? A

60 PRINT “0 COMPRIME NTO E J “ ? C

7 0 PRINT

80 PRINT ■ VOCE QUER CONTINUAR ? “

9 0 INPUT “INTRODUZA (SIM) OU (N A O ) 5 A$

FIG. 3

100 IF A$ = "SIM* GOTO 10 110 IF A$ ~ “N A O “ THEN END 120 GOTO 90

(14)

0 programa continua exatamente o mesmo,exceto por perguntar se você guer continuar ou não. Introduza SIM ou NÃO.

Não se preocupe com o símbolo $(cifrão) associado com a variável (A$) na linha 90. Este símbolo significa apenas gue o computador deve aceitar como entrada, caracteres ou símbolos ao invés de dígitos para cálculo. Este tipo (A$) de variável é chamado de alfanumérica (S TR IN G ); veja mais detalhes no seu manual de Basic.

Vamos novamente ao nosso fluxograma

e vamos também executar (RUN) o programa:

READY >RUN INTRODUZA 0 RAIO? 8 0 RAIO E í 8 A AREA E í 201,062 0 COMPRIMENTO E l 50,2656 DOCE QUER CONTINUAR ?

INTRODUZA (SIM) OU (N A O )? SIM INTRODUZA O RAIO? 12

O RAIO E : 12 A AREA E í 452,39

O COMPRIMENTO E í 75.3984 DOCE QUER CONTINUAR ?

INTRODUZA (SIM) OU (NAO)? N INTRODUZA (SIM) OU (NAO)? NAO READY

Você já viu que uma frase pode melhorar muito a capacidade do seu programa. Existem muitas frases poderosas no seu manual de Basic. Não deixe de estudá-las.

(15)

MAIS PROGRAMACAO

*

H

No último capítulo, nós introduzimos conceitos básicos sobre programação de computadores. Agora estamos prontos a entrar em áreas mais

avançadas e mais úteis.

Você já jogou alguma coisa com um computador?

Você sabe como o computador embaralha as cartas para jogar vinte e um ou como ele lança os dados num jogo de crepe?

No Dismac D-8Ó00 existe uma função - RND(N) - que gera números aleatórios. (N é o limite superior dos números a serem gerados.

Veja FUN ÇÕ ES no seu manual de B A S IC ).

Com a função RND(N), o computador pode,automática e aleatoriamente, embaralhar cartas, lançar dados, etc.

Além disso, para garantir que os números gerados são aleatórios após cada rodada, a função RANDOM pode ser usada.

EXEM PLO :

10 RANDOM

20 N = RND (6) J PRIN7 30 PRINI H A JOGADA E í" ?N

40 INPUT "DOCE QUER CONTINUAR < S / N > “? Aí 50 IF Aí = "S" OR Aí == "SIM" GOTO 20 60 IF Aí = "N “ OR Aí “ "N A O " THEN END 70 GOTO 40

READY >RUN

A JOGADA E : 4

DOCE QUER CONTINUAR (S/N>? SIM A JOGADA E t 3

DOCE QUER CONTINUAR <S/N)? S A JOGADA E t 6

DOCE QUER CONTINUAR <S/N>? NN DOCE QUER CONTINUAR <S/N>? N READY

(16)

0 fluxograma para este programa pode ser: O programa vai gerar um número aleatório entre 1 e 6 (simulando as faces

de um dado), imprime o número, em seguida pergunta se você quer continuar ou não. Se você introduz SIM ou S o computador repete

0 processo, se você introduz NÃO ou N o programa se encerra. Entretanto se você introduzir qualquer coisa diferente destas palavras, o computador continuará a fazer a pergunta ''...C O N TIN U A R ?''

Além da função RND(N) existem muitas outras que vão ajudá-lo a resolver qualquer tipo de problema.

Mais um exemplo:

10 FOR A = 1 TO 10 20 PRINT A f SÜR (A) 30 NEXI A

-TO END

Este programa mostra todas as raízes quadradas de 1 até 10 (FOR A = 1 TO 10). O valor inicial de A é 1; em seguida na linha 20, são impressos 1 e raiz quadrada de 1. A é incrementado de 1 na linha 30, e o

computador confere se A = 10; se não é, volta à linha 10. A sequência continua até que A seja igual a 10.

Vamos agora ver um pouco de matrizes e tabelas; esta é uma seção muito interessante, não deixe de lê-la.

Suponha que nós temos um grupo de 24 números. 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330.

Existem muitas maneiras de você se referir a um certo número desta tabela. Por exemplo, podemos dizer que 270 é o 18° número, podemos dizer também que é o 7o da linha 2.

No caso do computador podemos associar uma variável a cada um dos números:

(17)

10 Al - 100 20 A 2 = 110 30 A 3 * 120 40 A 4 - 130

E desta maneira podemos facilmente encontrar qualquer deles. Mas se tivermos muitos números nós teremos que mudar de variável a cada

10 (AO até A9).

A melhor maneira de manipular um grupo de números é usando tabelas (matrizes). Para esses 24 números podemos usar uma matriz

unidimensional.

10 CLEAR 200 í REM APAGUE E RESERVE 200 BYTES DE MEMÓRIA

20 DIM A (23) J REM DIMENSIONE UMA MATRIZ DE 24 <0 A 23) ELEMENTOS

No programa nós teremos:

10 A ( 0 ) = 100 20 ACL ) “ 110 30 A ( 2 ) = 120

Para localizar o número 270 na nossa lista, precisamos fazer apenas:

50 PRINT A (17) I REM IMPRIMA O DÉCIMO OITAVO ELEMENTO DA MATRIZ

100 A (17) = A (17) + 100 í REM SOME 1 0 0 AO DÉCIMO OITAVO ELEMENTO

Bastante simples, não é?

Se nós dividimos estes números em 3 grupos de 8 elementos cada um, poderemos usar uma matriz bidimensional.

20 DIM B(2r7) : REM B = (3 X 8) MATRIZ DE 2 DIMENSÕES

(18)

Então os números ficam colocados:

C O LU N A S 0 1 2 3 4 5 6 7 LIN H A 0 100 110 120 130 140 150 160 170 LIN H A 1 180 190 200 210 220 230 240 250 LIN H A 2 260 270 280 290 300 310 320 330 Agora se quisermos nos referir ao elemento 270:

10 PRINT B < 2»1 > t REM IMPRIMA 0 ELEMENTO DA LINHA 2 COLUNA 1 20 F = B ( 2 f1) + 10 í REM SOME 10 AO ELEMENTO DA LINHA 2 COLUNA 1

Da mesma maneira se quisermos o elemento 160:

10 PRINT B (0 y 6) i REM IMPRIMA 0 ELEMENTO DA LINHA 0 COLUNA 6

Vamos agrupar os nossos elementos de uma outra maneira

10 DIM E (3 >1? 2) : REM MATRIZ DE 24 ELEMENTOS E = ( 4 X 2 X 3 )

C O LU N A S 0 1 2 CO LU N A S 0 1 2 LIN H A 0 100 110 120 LIN H A 0 160 170 180 LIN H A 1 130 140 150 LINHA 1 190 200 210 BLOCO 0 BLOCO 1 C O LU N A S 0 1 2 C O LU N A S 0 1 2 LINHA 0 220 230 240 LIN H A 0 280 290 300 LINHA 1 250 260 270 LIN H A 1 310 320 330 BLOCO 2 BLOCO 3 Se nós ainda quisermos nos referir ao elemento 270:

100 PRINT E (2r1?2) t REM IMPRIMA 0 ELEMENTO DO BLOCO 2

110 REM LINHA 1 COLUNA 2

Se quisermos o elemento 200:

120 PRINT ECLAl.l)

Estes são os conceitos básicos de matrizes, você pode agora fazer seu próprio programa:

(19)

D I S M A C I N D U S T R I A L S . A .

M A N A U S A M Rua Icá, 100 - Fone: 232-0562 - Distrito Industrial • S Ã O P A U L O S P A v. Marquês de São V icente, 600 - Fone: 826-7111 • C U R I T I B A P R Rua Alteres Poli, 294 - Fone: 224-8182 • P O R T O A L E G R E R S Rua Voluntários da Pá­ tria, 09 - S / 6 3 - Fone: 24-7611 • R I O D E J A N E I R O R J Rua Teófilo Otoni, 52 - 13° andar - Fone: 233-9283

P R O D U Z I D O N A Z O N A F R A N C A D E M A N A U S

Referências

Documentos relacionados

Não precisa se culpar por tudo que aconteceu ! Uma tragédia não é feita por só um lado , ela tem dois lados. E pode ter certeza que se uma pessoa te acusa , é porque tem inveja de

O INPE seria responsável pelo desenvolvimento de dois satélites de coleta de dados ambientais de aproximadamente 100 kg e de dois satélites de sensoriamento remoto de

Exercício: Adapte os algoritmos vistos nesta aula para que devolvam dois pontos da coleção que estejam à distância mínima (em vez de devolver a distância

O nosso processo de c´alculo pode ser traduzido pela seguinte fun¸c˜ao em Python, na qual prod ac representa o produto acumulado dos n´umeros que j´a multi- plic´amos e prox

 A maior parte do nosso código, e a maioria dos sistemas que usamos, A maior parte do nosso código, e a maioria dos sistemas que usamos,. existem apenas para tornar outr

No dia da Bandeira na Rússia o proprietário de uma loja decidiu decorar a vitrine de sua loja com faixas de tecido das cores branca, azul e vermelha. Ele deseja satisfazer as

Exercício: Como fazer para obter uma ABB ótima e não apenas o seu custo. Complete

Mostre como o algoritmo da subseqüência comum máxima pode ser usado para resolver o problema da subseqüência crescente máxima de uma seqüência numérica..