coleÇjo microkit
TRANSCRIPT
COLEÇJO LIMO MtlE
-7-7 PROQRAW&S PRFÍA A
LINHA APPLE
TONS OS COMTÍVEIS COO «Ml E TUOW
CARLD8 ALBERTO C.
Uk*«
MICROKIT
0 livro veiam !
MM VI6C0NK Dí PIRMIÍ, 303 - fiRUPÜ 1005 010 M JMIM - U - BRASIL
Ctr: 22010 - Itl. (02l> 521 UM
001 6
A.145X»
MICROKITLinha Sinclair - TI 82, 83, 85, CP 200 e outros.
Curso do Basic voluae I
Teoria, eieaplos e eierclcios resolvidos, eiplanados ea 10 aulas, oferecendo uaa abordapee siaples e direta.
Dicas para adaptar propraeas de outras alpinas para linha Sinclair.Poder} ser usado por auto-didatas, ou coao livro didltico.
Curso de Basic voluae II propraaaçlo avançada
Tea coao objetivo coapleeentar o livro Curso de Basic voluoe I.Procura coodunr o usulrio, a construir seus próprios propraeas, e nlo se licita
ser apenas ua dicionlrio de coaandos e funpbes. Todos os propraeas possuea o respectivo (luiopraea e uaa eiplicaplo coaentada da sua aontapea. E ue livro didltico.
Ua dos capítulos f dedicado a ensinar coao desproteper propraus da linha Sinclair.
linha Apple - todos os coaputadores coapatlveis coa Apple e TI 2000.
77 Propraeas para linha Apple
Atravh de JOSOS e PR06RARAS EDUCATIVOS vocd seri indulido a pensar, resolver problms, e tonar conheciaento de coao poder} usar bea o coaputador, de foraa siaples e
Propraeas Coeerciais da linha Apple para Pequena-Eepresa
late luro tris a Iistapea coapleta dos propraeas coao: Hala-direta, Controle de rslopue e Contas a receber e a papar, indispensiveis 1 pequena-eapresa.
Mdidv 1 void de aprender a prograaar, alta de orientar o pequeno eapreslno coao condu- rií se, na kea de inloreltica, de loraa econdaica.
77 PROQRAMAS PARA A 1_ I NH A APPLE
Apresentação do autor Carlos Alberto Abreu
temas com mestrado na COPPE - Coordenação de
0 autor desta obra ê engenheiro de Sis-
Rio de Janeiro;consultor-técnico de Informática
Progr;imação de Pós-Graduação da UFRJjdiretor-
técni<zo da Micro-Kit Informática;membro do Con
selho de Informática da Associação Comercial do
posBiii 20 anos de experiência em software.
Abreu, Carlos Alberto Castro e,19l5-77 Propanes poro a linha Apple / Car-
loo Alberto C.Abreu . -- l.ed.— Aio de Janeiro : Micro Kit Inl19M.
H9p: (Linha Apple i n.ll
ISM B5-7045-005-1
l.Prograeaçlo (Cooputadoreo) l.Tftulo.
Cl»- M1.M2
Todos os direitos reservados e protegidostermos da lei. Nenhuma parte deste livro poder!ser reproduzida ou transmitida sejam quais forem os meios empregados:eletrônicos,mecânicos, fotográficos, gravação ou quaisquer outros.
<C> Copyright tc 1984 byCARLOS ALBERTO DE CASTRO E ABREU
Apple, Apple II*, and Applesoft are registered trademarks of Apple Computer inc. with regard In any computer product.
Coleçko linha Apple
1- 77 Programas para linha Apple2- Programas Comerciais da linha Apple3- Usando o Vi siplot4- Usando o Assembler (no prelo)5- Programas Comerciais da linha Apple - vol.2
ColeçAo linha Sinclair
1- Curso Basic V.12- Curso Basic Avançado V.2
1“ ediçSo - 198477 Programas para 2“ ediçKo - 1984linha Apple 3“ ediçào - 1985
INDICE
PROGRAMAS PÁGINA
1
3
3 NORMAL/INVERSO/FLASH 4
5
Z» USO DO HTAB/VTAB 7
e DECOMPOSIÇÃO FATORES PRIMOS 10
•? CONTAGEM DE 60 SEG. 13
1 O ETIQUETA 14
1 1 CONTADOR DE TE1PO AUDÍVEL 16
1 ZS JOGO DE DADOS 17
I 5 OBA OBA 18
■ 4 DIAS DO MÊS
1 TH BUBBLE SORT « 8
1 Z. ALFABETO 24
1 T
1 B
1 *5»
20
2 1
22
23
2- Q
25
26
2V
28
29
30
3 1
32
33
3- Q
IMP. EM 4 DIREÇÕES 26
TRATAMENTO DE ESCORES 28
ALEATÓRIOS
FATORAÇÃO
DESVIO PADRÃO
INVERSO DO NÚMERO
QUEM É O MENOR
ARREDONDAMENTO
MÉDIA
METADE DO INTERVALO
QUEM É O MAIOR
FATURAMENTO
PREÇO UNITÁRIO
31
33
34
35
37
39
1
2
3
4
5
47
52
53
35 TARJAS NA TELA 54
3<5> CRIAÇÃO DE TABELA NA TELA 55
37 MENSAGEM CENTRADA 57
3B DIVISÃO DE DOIS NUTEROS 59
3*5» NÜFEROS DE ARMSTRONG 61
•*40 CONVERSÃO P/BASE 1EN0R QUE DEZ 62
1 ÁREA DE TRIÂNGULO 65
nz PROGRAMA DO CÍRCULO 66
■9 3 PLOT AGEM DE CURVAS 6S
A-a SORT 71
ns MERGE 74
4/j DIA DA SEMANA 77
n 7 INTERVALO ENTRE DATAS 79
nu LISTA TELEFÔNICA B2
n*z PREVISÃO DE VENDAS 84
r-.«» PREVISÃO DE VENDAS EXPANDIDA 86
—> 1 PROGRAMA DE ANUIDADE 88
MÉDIA ARITMÉTICA 90
S3 bEDIDAS ESTATÍSTICAS 91
s-a REGRESSÃO LINEAR 93
ss GERADOR DE NÚMEROS ALEATÓRIOS 96
5<S ZODÍACO 98
S"7 FATOR I AL DE UM NÚTERO ÍOO
se CÁLCULO DE PI lOi
s«? CÁLCULO DO NÚTERO E' 102
<5»O CLOCK ARITMÉTICO 103
^>1 NÚMEROS PRIMOS GÊMEOS 105
PREVISÃO DE POPULAÇÃO 107
<£»3 TRIÂNGULO DE PASCAL 109
<£»■<» NÚMEROS DE FIBONACCI 111
<Ê»S MULTIPLICAÇÃO DE MATRIZES 113
<L><S INVERSÃO DE MATRIZES 116
A-7 ÁREA DO POLÍGONO 120
<s»e ANÁLISE VETORIAL 122
<£»*? CONVERSÃO DE ÂNGULOS 125
7^0 INTERPOLAÇÃO LINEAR 127
7 1 rfTODO DE SIMPSON 129
72 DERIVADA 132
7 3 FÉTODO DE NEWTON PARA RAIZES 133
7^ OPERAÇÕES COM MATRIZES 137
75 REGRESSÃO LINEAR 141
7±> EQUAÇÕES SIMULTÂNEAS 145
7 7 OPERAÇÕES DE VETORES 148
1 TABUADA
30 HOME : VTAB IO: HTAB IO
40 PRINT-DUAL E O SEU NOME 7"
SO IIWT ZB
JOO X - 1
200 Y - INT <RND <X> • 1O>
300 Z - INT <RM> <X> • 10)
400 VTAB IO: HTAB IO
500 PRINT ZB|" RESPONDA : QUANTO E -
510 PRINT : PRINT 1 HTAB IS
570 PRINT Yl" X "IZ
5X0 PRINT : PRINT : HTAB IS: INPUT" -|A
540 IF A - Y • Z TTEN PR I NT "PARABENS "1ZB: BOTO 560
545 PRINT""
550 PRINT-NAO.A RESPOSTA CERTA E "IZ • Y
560 GET RB
570 GOTO 50
exemplo:
QUAL E O SEU NOME ?"’ELIZABETH
ELIZABETH RESPONDA : QUANTO E
S X 8
40
NAO .A RESPOSTA CERTA E 64
ELIZABETH RESPONDA :QUANTO E
PARABENS ELIZABETH
2 ENCURTA NOMES
10 HOME
20 IMVT'QUAL 0 SEU NDE *|A*
30 FOR I - 1 TO LEN CA*>
40 PRINT HIM <M,1,I>
45 FOR J - 1 TO 600: NEXT
50 NEXT
60 FOR I - LEN <A»I TO 1 STEP - 1
70 PRINT HIM <A*,1,I>
SO NEXT
EXEW>LO:
OUAL O SEU NOW MICRO HHIHICHICRMICROMICROHICRNICMlM
3 NORMAL.X XNVERBO/FLASH
SO HOTE
ÍOO REM USO DO INVERSE/NORMAL E FLASH
200 INPUT "QUAL SEU NOME? *IA«
250 PRINT : PRINT
500 PRINT"EM MODO NORMAL -;A»
400 PRINT : PRINT : INVERSE : PRINT" AGORA EM INVERSO *|A*
500 PRINT : PRINT : FLASH : PRINT"E AGORA EM FLASH "IA«
600 NORMAL
+ XNVERTE NOME
Esta prograM um um técnica da conca- tanação da strings para inverter um aaiiagas.
Usando-se a função LEN (LENGTH) - coa prlaanto, deter ai na-se o taaanho da aansagsa.
A função HIM necessita de 3 paraMtros
O priMiro detaraina o string aonde est.
O segundo,a posição inicial, e o tercei número de posiçâes.
Caso voc* queira acoapanhar a inversão iliqila: 55 SPEED—IO:PRINT M
10 HOTE
20 IIEUT'GUAL A fENSAGEH ? *;A«
30 L - LEN(AS)
40 FOR J - L ♦ 1 TO 1 STEP - 1
50 BS- M ♦ MIM(A»,J,1>
60 KXT J
70 HOME : PRINT BS
HO GET C*
TO IF C» - " TFEN 80
100 CLEAR : GOTO IO
ADIVINHA
IO HDE : CLEAR
20 PRINT-SELECIOC IM NUTERO DE IRES DIBITDS-
30 PR I NT “COM TODOS OS TRES DIBITOS IGUAIS*
40 PRINT : PRINT-S0E OS TRES DIBITOS JUNTOS”
50 IWUT-BUAL E A SOHA DOS TRES DIBITOS 7 -IN
60 Q - 37 » N
70 PRINT : PRINT O««<7>
BO PRINT-O SEU NUERO ORIGINAL ERA *10
90 PRINT : PRINT : BOTO 20
EXEmui:
SELECIONE IM NUERO DE TRES DIBITOS CON TODOS OS TREB DIBITOS IGUAIS
SO»E OS TRES DIBITOS JUNTOSOUAL E A SOMA DOS TREB DIBITOS 79
O SEU NUERO ORIGINAL ERA 333
A U8Çfc DO HTAB/VTAB
HOME
REM USO DO VTAB/HTAB
INPUT "SEU NDfE "|M
FOR X - 1 TO 40
FOR Y - 1 TO 24
HTAB X : VTAB Y
PRINT M
«XT Y
NEXT X
BOTO 200
7 NÚMEROB primos
Inlcialaanta, varifiqua o núaaro da ii riço»» qua o prograaa raaliza usando o coaJ TRACE, qua tracaja as linhas por anda o aa|
linha lOoT* ’ *' ~"nt* °* n_cro*Al tara , depois,o prograaa para padir I
coaando ItPUT, quantos míaarns priaos vocA q|
1OO N - 60
11O PRINT I PRINT-OS PRI1EIROS -|
115 PRINT NJ- NÚMEROS PRIMOS "J
117 PRINT- SAO : - J PRINT
120 PRINT 1,2,3
130 I - 3
140 FOR J - 1 TO N - 3
150 I - I + 2
160 K - 3
170 Q - INT (I / K>
ISO R - I - Q • K
190 IF R - 0 THEM 130
200 IF R > - Q TIEN 230
210 K - K ♦ 2
220 HOTO 170
230 PRINT I,
240 IEXT J
250 END
EXEm_O:
513233747 bl7389103113137151 1*7181
2717294153677997107127139157173191
-10-
S DECOMPOSIÇÃO FATORES PRIMO8
Procure Fazer uaa coaparacão antra aata prograaa a o anterior.
Tanta altarar o prograaa para indicar a «ataração coa uaa outra aanelra do exibição.
100 REM DECOWOSICAO EH
10S REH FATORES PRIMOS
110 REM
120 PRINT“DECOMPOSIÇÃO EH
125 PRINT"FATOREB PRIMOS"
130 PRINT
140 PRINT"IM>IOUE O NUERO "
145 INPUT" "IN
150 NI - N
160 IF N < - O THEN STOP
170 I - 1
ISO I - I + 1
190 J - O
200 0 - INT <N / I)
210 R - N - O » I
-11-
•Z2O
230
240
250
260
270
275
277
280
290
300
310
320
330
340
345
347
IF R < >0 T>EN 260
N - Q
J - □ + 1
BOTO 200
IF J - O TTEN 290
PRINT* E DIVISÍVEL POR *f
PRINT II* *|TAB <2B> I
PRINT JlTAB <34>|* VEZES."
BOTO 180
IF O > I TICN 180
IF N - 1 THEN 350
IF N < > NI DEN 340
PRINT TAB<6>>* E PRIMO.*
BOTO 350
PRINT* E DIVISÍVEL POR *1
PRINT N|TAB <27)1* 1*1
PRINT TAB <34>l* VEZES.*
-12-
350 PRINT
360 BOTO 130
370 END
EXEMtjO:
INDIQUE O NUERO88E DIVISÍVEL POR 2
E DIVI81VEL POR 113 VEZES.1 VEZ.
INDIQUE O MJTERO
— 13—
«P CONTAGEM DE 60 SEG.
Esta proqraaa ilustra coso sa faz conta- gaa da teR)O aa BASIC.
Rapara qua o loop da linha SO.faz asta iutiç Jo.
Varifiqua no ralógio, sa a ccntagaa da laapo asta parfeita.
ORS<7> á rasponsával paio bip.Auaanta o núaaro da bips para cada sa-
10 HOME
20 FOR T » 1 TO 60
V> PRINT CHR*(7>
40 PRINT TC SEBUNDOS-
W FOR L - 1 TO 750: NEXT L
60 REXT T
»0 FOR E - 1 TO 5
RO PRINT O*t»<7)
•m «XT E
I II MPLO:
I IWOUNDOS
• ttt.IMJNDOS
-14-
1O
Rapar* que a funçXo LEN, deter aina o cod priaento do no**.
Agora, tente centralizar a etiqueta nl tela. Para deacer na vertical,uee VTAB 10.
Altere o prograea,para envolver o noa da etiqueta coa qualquer caráter que você deaq
IO HH
iwwoual seu primeiro note ? -in*
LN - LEN <H*>
LT - LN + 4
FOR L - 1 TO LT
AS* - AS* *
HEXT L
8 n m
m n
PRINT AS*
AS* - "■
PRINT-* -|N*|" •"
11O FDR L - 1 TO LT
120 AS* - AS*
-15-
130 rEXT L
140 PRINT AS*
150 AS* - •"
1ÓO PRINT : PRINT : SOTO 20
EXEITLO:
7NICR0-KIT
DUAL SEU PRIMEIRO NOTE ?C(>*>UTADOR
• COmiTADOR •
UIMU. SEU PRI1EIRO NONE ?
-16-
XX CONTADOR de tempo audível
5 REM UM BEEP A CADA SEBUNDO. AJUSTE 0 TEWO DE BEEP «XENTAM» OU DINI NUIMX) O NUMERO B NA LIMA 20
IO HOTE
20 FOR T - 1 TO B
30 FOR L - 1 TO 2
40 BZ - PEEK (-16336)
90 ICXT L
60 FOR L - 1 TO 1OO: IEXT L
70 »EXT T
SO PRINT CMW<7>
90 BOTO 20
12 JOBO DE DADOS
Este jogo deacnstra a geraçío de núaeros alratórios usando-se a função RND.
0 lançaaento do dado.gera ua núaero ale- ali'wio variando de 1 a 6.
Iaagine agora que estZo sendo lançados 2 tladiio ao aesao teapo. Al tere o prograaa para ■I» <> efeito correspondente.
10 HOME
ÍOO A - INT <10 * <RND <1»>>
110 IF A < 1 OR A > 6 TIEN 1OO
200 B “ INT <1O « <RND <1>>>
210 IF B < 1 OR B > 6 TIEN 200
300 PRINT'PRIIEIRO LANÇAMENTO DO DADO "IA
310 PRINT"SEGUNDO LANCAiENTO 00 DADO ‘IB
400 X - PEEK <-16384)
410 POKE -16368,0
420 IF X < 128 TIEN 400
430 PRINT : GOTO 10O
EXEMPLO:
PRI1EIRO DADO 4SEGUNDO DADO 2
13
c 67
D
E 69
F - 70
71
H - 72
1-73
J - 74
-íe-
L — 76
H - 77
N - 78
0-79
0-81
R
S
T
u
v
X
87
Y - 89
Z - 90U » »
í
—19—
IO
8 8
$ M 8
2 MHO
• 20
130
140
HOtE
FOR N - 1 TO 25
POKE 1206,79
POKE 1209,66
POKE 1210,65
POKE 1212,79
POKE 1213,66
POKE 1214,65
FOR L - 1335 TO 1343
POKE L.47
•EXT L
PRINT CMt»<7>
•EXT N
HOME
—20—
1 + DIA8 DO N&8
Rapar» qua o aês é parado aleateriaaen- te. Caso o ags soja SETEMBRO,nota qua sao feitas 8 leituras anteriores no caaando DATA.
Altere o prograaa para acessar direta— aente o ads gerado.
Observe que esta estrutura de prograad
outros tipos de estruturas siailares.
10 HOME
20 DATA JANEIRO, 31
30 DATA FEVEREIRO,28
40 DATA MARCO, 31
30 DATA ABRIL,30
60 DATA RAIO, 31
70 DATA JUM0.30
80 DATA JULHO,31
90 DATA A8OSTO.31
1OO DATA SETEMBRO,30
11O DATA OUTUBRO,31
120 DATA NOVEMBRO, 30
130 DATA DEZEMBRO,31
-21-
140 R - INT <100 * CRND <11>>
150 IF R > 24 TEEN 140
160 IF INT <R / 2) - R / 2 TEEN R - R -1
170 FOR L • 1 TO R
180 READ S«
190 NEXT L
200 PR I NT" HE S E "1S«
210 READ C«
220 INPUT“QUANTOS DIAS "ID*
230 IF D« « C* THEN PRINT"CORRETO":GOTO 300
240 PRINT"ERRADO"
300 PRINT"NUMERO DE DIAS E *;C«
510 RESTORE
520 PRINT
350 GOTO 140
exew>lo:
MLS E FEVEREIROQUANTOS DIAS 30ERRADONUMERO DE DIAS E 28
IS
20 DIM HO<1O>
30 FOR L - 1 TO IO
«o iwvr-Nore:
SO IEXT L
60 HOTE
70 T - O
BO FOR L - 1 TO 9
90 IF m<L> < - H»<L ♦ 1) TIEN 110
too E« - n»<i_>:n»<l> - nocl ♦ i>:M»<L ♦ 1» - E«:T - 1
11O IEXT L
-23-
120 IF T - 1 THEN 70
130 FOR L » 1 TO IO
140 IF H*<L> < > -- THEN PRINT M»<L>
150 KEXT L
EXEMPLO:
NOTE: CLAPPYNOTE: MICRO-KITNOME: CIÊNCIA MODERNA NOTE: LIVRARIA SISTEMA NOME: LIVRARIA POLIEORO NOTE: SACHETnote: string note: iesbla
CIÊNCIA MODERNACLAPPYC0MPU8H0NCACHETLIVRARIA POLIEORO LIVRARIA SISTEMA TESBLAMICRO—KIT ROBOTICSTRING
—24—
Este prograH,uM o coaando RESTORE, rt linha 110. para fazer coa qua o ponteiro doa da doe seja restaurado para o início da llata dl DATA, ou seja a letra "A".
O prograaa faz N leituras.Adapte o prograaa, para uaa estrutura ■
vetor, para que*canhecido o valor de N, o prJ graaa determine diretaaente a letra correapoq dente.
10 HOTE
20 DATA A,B,C,D,E,F,S,H,I,J,K,L,N, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
30 PRINT‘DE-tE O NIMERO DE "
40 PRIMT-URA LETRA DO ALFABETO"
SO INPUT"DE 1 ATE 26 "|N
60 FOR L - 1 TO N
70 READ A»
BO HEXT L
90 PRINT : PRINT : PRINT O«9(7>
1OO PRINT-LETRA MJFERO "INI" E "IAS
11O RESTORE : PRINT : BOTO 20
exetvlo:
DE-tE O NUMERO DE UM LETRA DO ALFAIDE UM ATE 26 S
LETRA MJHERO SEE
DE-fE O NUERO DE UM LETRA DO ALFABETODE UM ATE 26 12
LETRA NUERO 12 E L
DE-fE O NUERO DE UM LETRA DO ALFABETODE UM ATE 26
LETRA 18 E R
10 HONE
20 DIM X«(1OO>
30 IM>UT-DE-tE A PALAVRA -|A«
40 L - LEN <A»>
50 FOR J - 1 TO L +1
60 X«(J> - HID«<A4,J,1>
70 REXT J
80 print : print"BAIXO:*,*ciha:*
90 FOR J - 1 TO L + 1
1OO PRINT Xt<J),X«(L ♦ I - □>
110 NEXT J
120 PRINT-PRA FRENTE: *
130 PRINT A«
140 FOR J - L ♦ 1 TO 1 STEP - 1
ISO Z» - Z» ♦ HIMÍM.J, 1>
160 ICXT J
170 PRINT : PRINT'PRA TRAS: “
IBO PRINT Z«
170 PRINT : PRINT : CLEAR : 6010 20
I XEMPLO:
Ilf ME A PALAVRA MICRO-KIT
PRA FRENTE: MICRO-KIT
PRA TRAS: TIK-ORCIM
1e TRATAMENTO
Repare,nesta progra*a,a transfaraação dá uea variável string ee variável nuaérica, usarrl do-se a funçáo VAL na linha 80. E* necessária que se faça esta transfareaçâo para posteriores aanipulações ariteéticas.
IO HOtE : CLEAR
20 PRINT OSTS (7)
30 PRINT-INFORME UH GRUPO DE ESCORES-
40 PRINT-DE ZERO ATE 1OO UH DE CADA VEZ
50 PR I NT "ENTRE COH 'X' APOS O ULTIMOESCORE*
60 PRINT I INPUT-ESCORE- "1GS
70 IF GS - -X- THEN 200
80 G - VAL <GS>
90 N - N + I
1OO IF G ■ 60
IIO IF G < 70
120 IF G < 80
130 IF G < 90
THEN F - F ♦
TIEN 0 - D ♦
TTEN C - C ♦
THEN B ■= B ♦
1: GOTO 150
1: GOTO 150
It GOTO 150
1: GOTO 150
140 A - A
-•29-
130 IF N - 1 TICN L - e: H - 6
160 IF B < L THEN L - S
170 IF 6 > H THEN H - 6
ISO S - S + B
190 BOTO 60
200 P - 8 / N:N - L ♦ <(H - L» / 2>
210 HOTE: PRINT'EXISTE UH TOTAL DE "IN|- ESCORES-
720 PRINT-VARIAM» DE -|L|- ATE -|H
230 PRINT-VALOR DE FEIO DO INTER VALO E *|H
240 PRINT "ESCORE HEDIO ERA -|P
230 PRINT : PRINT-TOTAIS PARA CADA GRAU DE LETRA"
2AU print-a: -ia
270 print-b: "IB
2110 print-c: -ic
PRINT'D: -ID
uh» print-f: -|F
lio PRINT : CLEAR : BOTO 20
-30-
EXENPLO:
INFORTE UH GRUPO DE ESCORESDE ZERO ATE 100 UH DE CADA VEZ ENTRE COH X* APOS O ULTIMO ESCORE
ESCORE- 23
ESCORE- 56
ESCORE- 87
ESCORE- 12
ESCORE- XEXISTE UH TOTAL DE 4 ESCORESVARIANDO DE 12 ATE 87VALOR DE TE1O DO INTERVALO E 49.5ESCORE TEDIO ERA 44.5
TOTAIS PARA CADA GRAU DE LETRA
c: O d: o f: 3
IWTWE UH GRUPO DE ESCORES DE ZERO ATE 100 UH DE CADA VEZ ENTRE COH 'X' APOS O ULTIMO ES1
1 CONVERSÃO CARATER F»ARA ABC II
Aqui aao iluatradaa duaa funçóea qua aão ■uito usadas. Trata-M daa funçõea CHR* a ASC.
A funçio CHRS exige caao parâaatro míae • u ABClI.e forneça o car Atar correspondente.
A função ASC recebe,coao parâaetro,o ca- >Àler e fornece a codificação ASCII correspon- IihiI». A codificação ASCIl.e' um aaneira de l<a>«l<xMr o caráter ea códigos de O e l,que é •• aólodo interno da aáquina trabalhar.
io note
20 PRINT"SELECIONE: ASCII PARA CARATER (APERTE ’A >"
’o PRINT'OU SFI FT.IOfC; CARATER PARA ASCII (APERTE 'C')“
40 INPUT-QUAL ? "|C«
5<> IF CS - “A" THEN ÍOO
no 1F CS - "C" THEN 200
70 GOTO 40
IOo IMAJT"QUAL O VALOR ASCII ? "I A
110 IF A > 255 THEN ÍOO
120 HONE
I to PRINT‘0 NUMERO ASCII E *IA
14o PRINT-0 CARATER E "ICFRS(A>
150 PRINT
160 GOTO 20
200 IIEUT'QUAL O CARATER 7 -1CH»
210 HOTE
220 PRINT-O CARATER E "ICH*
230 PRINT‘0 NUERO ASCII E "IASC(CH*1
240 PRINT
250 GOTO 20
EXEIELO:
SELECIONE:ASCII PARA CARATER<APERTE Al OU SELECIONE:CARATER PARA ASCII(APERTE Cl OUAL ?AQUAL O NUTERO ASCII 779□ NUERO ASCII E 79O CARATER E O
SELECIUE: ASCI I PARA CARATER (APERTE Al OU SELECIUE: CARATER PARA ASCII (APERTE Cl QUAL 7CDUAL O CARATER THO CARATER E M□ NUERO ASCII E 77
■O IMPRE8. CARATER/ASCII
>f «lie jil»-ci»al> que e 11111111 (binariol ou till na liytH coapletaannte preenchido coa uns.
IO HOTE
20 roR N = O TO 255
IO PRINT N,CHRt(N)
40 COR L - 1 TO 400: NEXT L
••o NEXT N
PRINT CWT«<7>
i xrHPLo:
—34—
21 PEEK
O casando ^PEEK recupera ua conteúdo d um posicéo d* aesória. Es seguida, o progras iaprise o conteúdo de varias aesórias.^
Modifique os endereços de aesória, e e4 piore os seus conteúdos.
Coloque ua conteúdo através de POKE, conf tree usando PEEK.
10 HOME
20 FOR M - ÍOOO TO 11OO
30 P - PEEK <M>
40 C» - CHR* <P)
50 PRINT"VALOR ASCII EM ";Mí“ E ";P
60 PRINT'CARATER EM ";M1~ E ";CS
70 PRINT
80 FOR L " I TO 500: NEXT I
90 NEXT M
EXEiPLO:
VALOR ASCII EM ÍOOO E 170CARATER EM ÍOOO E •
VALOR ASCII EH 1OO1 E 96CARATER EM 1OO1 E
-35-
12 NÚMEROS ALEATÓRIOS REVERBOS
Observe a geração de núaeros aleatórios alravds da função RND. Note que esta função pola «■< ronjugada coa a função INT.
Cada dígito do núeero foi armazenado nas •iu»»i» J, K e L. Na linha 70,é feita a con- • lenaiàt’ no sentido noraal e no sentido rever
ie. HOME
••o J - INT (IO • (RND <1> > >
Vi f - INT (10 » (RND (1 > > >
4» L - INT (10 • (RND (1>>>
M. If J A 1 OR K < I OR L < 1 THEN 20
J» =- STRS (J>:K« = STR* <K>:I ♦ - STRS (L)
N« - JS ♦ KS ♦ LS:R* • Li ♦ K» 4 J«
■ MI N - VAL (N»>:R - VAL (R*>
»■ PRINT-NUTERO ALEATORIO E -»N
fRINT-DE TRAS P/FRENTE E "JR
I III r OR x - 1 to soo: next x
I • PRINT : GOTO 20
EXE1EL0:
NUERO ALEATORIO E 716 DE TRAS P/FRENTE E 617
NUERO ALEATORIO E 574DE TRAS P/FRENTE E 475
NUERO ALEATORIO E 868DE TRAS P/FRENTE E 868
NUERO ALEATORIO E 683DE TRAS P/FRENTE E 386
NUERO ALEATORIO E 298DE TRAS P/FRENTE E 892
NUERO ALEATORIO E 327DE TRAS P/FRENTE E 723
-37-
23 FATORAÇÃO
Rapara qua a fatoração á paaquizada at ) estado do núaaro.
Para varificar se a divisão é exata, iMda a funçlo INT.
10 HOTC
20 DIM 0(5000)
30 INPUT"NUMERO - "IN
40 FOR L • 2 TO N / 2
50 M • N / L
&> IF H - INT (H> THEN P - P + 1:0<L) - M
70 fEXT L
BO PRINT"FATORES SAO:-
VO FOR L - 1 TO N / 2
IOO IF 0<L> > 1 TWN PRINT CHR«<7)I Q<L»; BOTO 120
IIO Z - Z * 1
120 fEXT L
130 IF N - 1 THEN PRINT O«W)I-|0MUH-:6OTD ISO
-38-
140 IF Z - I NT (N f 2> ThCN PRINT c»«»<7>i*»eMuna
ISO PRINT : PRINT : CLEAR : SOTO 20
EXETPLO:
DESVX O PADRÃO
-iãncia •Calcula os valores da sédia, faevlo padrão aaniial sente.
Coloque sob usa farsa tabular, depois • tais no coaputadar.
Verifique se houve erros de aproxinaçao. Procure descobrir parque.
10 HOTE
20 IWUT-VALCR - "IX
30 IF X - WWW TIEN 60
40 T - T * X:S - S ♦ X * 2:N - N ♦ 1
SO GOTO 20
60 A - T / N:V - S / N - A - 2:D - 80R <V>
70 PRINT : PRINT CHRS<7>
■0 PRINT-TOTAL DOS VALORES: "IT
VO PRINT-1EDIA: "IA
IO0 PRINT-VARIANCIA: "|V
110 PRINT-DESV1O PADRAO: a|D
I/O PRINT : PRINT : CLEAR : BOTO 20
exemplo:
VALOR - 12VALOR - 123VALOR - 34VALOR - 43VALOR - 67VALOR - 345VALOR - 234VALOR - 45VALOR - 34VALOR - 24VALOR - 999999999
TOTAL DOS VALORES: 963IEDIA: 96.3variancia: 10774.41DESVIO PADRAO: 103.799856
-41-
>B X NVERBO DO NUMERO
10 HOME
20 INPUT'NUEERO PARA CONVERTER P/0 INVERSO "SN
!O R - l / N
40 PRINT--INVERSO ' "(R
!K> PRINT : CLEAR : GOTO 20
i XI wlu:
IIMRQ PARA CONVERTER P/O INVERSO 46INVERSO - .0217391304
MM RO PARA CONVERTER P/O INVERSO 78 INVERSO = .0128205128
MM RO PARA CONVERTER P/O INVERSO 24 INVERSO « .0416666667
—42—
26» QUEM E O MENOR
Este aétodo é bastanta staples, cada nfl acro que entra é coaparado coa o senor.
Altere o prograaa para fazer a coeparf ção após a entrada de todos os minerns.
10 HOE : AR
20 IEU E UH NUMERO *|Z
30 IF ? - • THEN 80
40 N ‘1
SO IF I 1 TEN 0 - Z
60 IF Z < D TEN D - Z
70 BOTO 20
80 PRINT : PRINT CMW(7>
90 PRINT’D ENOR NUERO ERA "IO
ÍOO PRINT : PRINT : CLEAR : BOTO 20
EXEMPLO:
DE-E UM NUERO 12DE-E UM NUERO 45DE-E UM NUERO 15DE-E UH NUERO 1DE-E UH NUERO O
O MENOR NUERO ERA 1
—43—
■7 ARREDONDAMENTO
Esta á a técnica clássica para arradon- tlMsnlo as BASIC.
Rapara qua asta linguagao não possui co- «andeis rspacíflcos da arredandaaanto.
10 HOTE : CLEAR
20 PRINT"DE-ME UM NUMERO COM -
30 PRINT-NO MÍNIMO DUAS CASAS DECIMAIS"
40 IhPUT-VALOR ORIGINAL S -|N
3<> R - INT <100 a N + 0.51 / 1OO
40 PRINT CHR*<7>
/O PRINT-S-|N|" VALOR ARREDONDA DO "IR
•to PRINT : CLEAR : SOTO 20
riemplo:
U» HE UM NUTERO COMMl MÍNIMO DUAS CASAS DECIMAISVAi.lM ORIGINAL • 123.34239• 1/1.34239 VALOR ARREDONDADO 123.34
20 MÉDIA
Este prograaa, ilustra o cálculo do uai staple* aodia aritaética. Altere o prograaa pai ra calcular uaa aédia ponderada.
IO HOME : CLEAR
20 INPUTaDE-fE O NUERO *|Z
30 IF Z -O TtEN 70
40 N - N ♦ 1
50 T • T ♦ Z
60 GOTO 20
70 A - T / N
100 PRINT : PRINT CMU<7)
11O PRINT"O NUERO ZEDIO E “|A
120 PRINT : PRINT : CLEAR : GOTO 20
EXENPLO:
DE-tE O NUERO 23DE-tE O NUERO 32
DE-HE O NUERO 67DE-tE O NUERO O
O NUERO tEDIO E 41.75
■* METADE DO INTERVALO
Adapte este programa para dividir o in- Mvalo ea 3 partas iguais, e indicar os valores.
10 HOTE : CLEAR
20 IW>UT-DE-te UH NUERO '|Z
50 IF Z - O THEN 90
40 N - N ♦ 1
SO IF N - 1 THEN H - Z:L - Z
/.O IF Z < L TIEN L - Z
>C< IF Z > H TIEN H - Z
GOTO 20
90 N - L + < <H—L> / 2>
IOO PRINT : PRINT CMWC7)
110 PRINT'D MDERO fETADE DO INTERVALO E "|M
liW PRINT : PRINT : CLEAR : GOTO 20
-46-
EXEMPLO:
DE-ME UM NUERO 12DE-tE UM NUTERO 34DE-tE UM NUERO 21DE-tE UM NUtERO 43DE-tE UM NUMERO 56DE-tE UM NUERO 76DE-ME UM NUERO 65DE-tE UH NUERO 67DE-tE UH NUERO O
O NUtERO METADE DO INTERVALO E 44
—47—
>O QUEM É O MAIOR
10 HOtE : CLEAR
20 INPUT“DE-tE UM NUERO "IZ
30 IF Z - O TIEN 60
40 IF Z > O -DEM 0 - Z
5o GOTO 20
60 PRINT I PRINT CHR«<7>
70 PRINT'0 MAIOR NUERO ERA “IO
lio PRINT : PRINT I CLEAR : GOTO 20
i «fhplo:
14 NE UM NUERO 3414 HE UM NUERO 1214 -MF UM NUERO 6714 HE UM NUERO 8714 Ml UN NUERO 4514 NE UH NUERO 2314 IE UH NUERO O
<i nuiíi E 87
31 MASS AI-TO/MAIB BAX1
10 HOME
20 dim mciooi
30 FOR L - 1 TD 100
40 iwvt-ioe: ■!*»
SO IF MM - — TIEN 140
60 IM>Ur-ESCORE: "I KIM
70 m<L> - MM ♦ • - ♦ MM
80 N - N ♦ 1
90 K - VAL (KIM)
100 IFN - 1 THEN LL - K:LM4 - m<L>: m - k:nm - m<L>
110 IF K < LL TIEN LL - K:LfM - M»(L)
120 IF K > Ml THEN IM - K:Htt - M*<LI
130 IEXT L
140 PRINT-fENOR ESCORE: "|UM
ISO PRINT"NAIOR ESCORE: *|MM
-49-
EXEMPLO:
NOME: LUCIANOI SCORE: 25NOME: CARLA tSCORE: 50NONE: PEDRO tSCORE: 78MM: CARLOS• •CORE: 5NONE:«NOR ESCORE: CARLOS 5 NA I OR ESCORE: PEDRO 78
MM: LUIS •SCORE: 67MW: MARIANAI SCORE: 23MM : PAILOI MJCM: 15MM: MARCELO ittciM: 56MM ISM E8C0RE: PAULO IS MAIOR ESCORE: LUIS 67
-50-
32 FATURAMENTO
)IDA - *|Q
30 IWTJT-PRECO UNITÁRIO - • ")P
70 CC ■ INT <1OO • C ♦ 0.5) / ÍOO
<1OO • T ♦ 0.5) / 100
INT <1OO 0.3) ÍOO
120 PRINT-TAXAS - • -JTT
-51-
140 PRINT
150 PRINTTATURAPENTO TOTAL - « *|FF
200 END
EXENPLO:
QUANTIDADE VENDIDA - IO PRECO UNITÁRIO - «12500 IAXAS 2450FRETE 4000«TECO TOTAL - «125000IAXAS - «30625000FRITES - «4000
FATURATENTO TOTAL - «30754000
33 PREÇO UNITÁRIO
Obaarva qua o uao da PEEK <-163361 Q voca ua aoa no coaputadar.
10 NOTE
20 IhPUT-NOrC DO ITEM E "|N«
30 I»>UT"QUANTIDADE DE ITENS - "IO
40 IM>UT"PRECO TOTAL PAGOS PELOS ITENS - • "|P
50 U - P / Q
60 FOR L - 1 TO 10
70 SOUND - PEEK (-163361
80 KEXT L
90 HDTE
1OO PRINT N«|- PRECO UNITÁRIO - • "|U
200 END
EXEIELO:
NOTE DO ITEM E COTEUTADORQUANTIDADE DE ITENS - 5PRECO TOTAL PAGOS PELOS ITENS - «19S COMPUTADOR PRECO UNITÁRIO - 0310000
-53-
•4 LIBTAQEM SEM FIM
Ilustração d» ua prograaa do loop iníi-
10000 LIST
looio FOR L ■ 1 TO 100: »EXT L
10020 GOTO 10000
ritmo:
IOOOO LISTlooio FOR L ■ 1 TO ÍOO: NEXT L10020 BOTO 10000
IOOOO LIST10010 FOR L - 1 TO 100: NEXT L10020 BOTO IOOOO
IOOOO LISTIOOIO FOR L - 1 TO ÍOO: »EXT L 10020 GOTO IOOOO
-54-
35 TARJA8 NA TELA
O casando POKE possui 2 parâeetros:O priaeiro. indica a posição de eeeórl
ee deciaal.O segundo,representa o caráter que sw
trans-ferido para aquela posição de aaecria.
10 HOME
20 FOR V - 1024 TO 1999
30 R - INT (1OO • (RND (95>>>
40 IF R < 33 THEN 30
50 POKE V,R
60 NEXT V
70 BOTO 70
Este prograaa ilustra o uso da subroti- «, n n*i«a subrotina é chaaada da vários pon-
‘4* do prograaa.A subrotina 4 encerrada coa o coaando
WflXN. Quando na linha 20 e chaaada a subroti- « giv coaeça na linha 900,a linha 30 é araaze- tda ooaa pilha interna do sisteaa.
Quando o prograaa alcanpa a linha 910, I* ><-«orna então, para a linha 30.
5 HCTE
10 FRINT-A-,-B","C":PRINT
20 GOSUB 900
SO IF X >50 TFEN A = A ♦ 1: GOTO 20
40 GOSUB 900
50 IF X r 50 THEN B = B ♦ 1: GOTO 2v
60 GOSUB 900
70 IF X > 50 THEN C = C ♦ 1: GOTO 20
IOO PRINT A,B,C: IF T « 19 THEN END
no A = 0:B - o:C « O:t - t ♦ i:GOTO 20
120 END
900 X - INT (1OO • <RND <!>>>
910 RETURN
-57-
O prograaa dttirain* o coapriwnto da •anaagea, anaa 4 , a fixa na linha 170,0 panto Mitral da aenaagea.
Procure alterar o poeicionaaento da aen-
IOO HOTE : CLEAR
110 ItrUT'NOVA IENSA6EH a SER CEN trada: -»h*
120 LH - LEN <H*>
I 30 LT - LH ♦ 4
140 TOR L 1 TO LT
150 AS* * AS* ♦
I .'.u TEXT L
1'0 P - <40 - LT) / 2
I BO HOE
190 PRINT TAB <P)AS«
200 PRINT TAB <P> "• ”1H»1' •"
210 PRINT TAB (Pl AS*
220 FOR L • 1 TO ?! PRINT : IEXT L
230 CLEAR t BOTO 11O
-58-
EXEMPLO:
NOVA MENSAGEM A SER CENTRADA: HICRO-KI1
• MICRO—KIT *••••••MM*»*
NOVA IENSAGEN A SER CENTRADA: COM>UTADO
• CÇM>UTADOR •
NOVA MENSAGEM A SER CENTRADA: FITAS
• FITAS *
Procure expendir a abrangência do pro- |< sea construindo tabelas de divieSo e eultipli- M An-
10 HOE
20 PRINT-PARA CORRER, APERTE R -
30 imiT-PARA LISTAR, APERTE L' -|AS
40 IF AS - -R- TTCN 1OO
50 IF AS - -L- THEN 200
60 GOTO 20
100 PRINT
110 thPUT-OS DOIS NÚMEROS SAO -|X,Y
120 PRINT"PRIMEIRO DIVIDIDO PELO SEGUNDO - -IX / V
130 PRINT
140 BOTO 20
/OO PRINT
210 LIST
220 PRINT
230 SOTO 20
EXE1EL0:
PARA CORRER,APERTE R PARA LISTAR,APERTE L
OS DOIS NUEROS 8AO 23 ??67PRI1EIRO DIVIDIDO PELO .343283962
PARA CORRER.APERTE R PARA LISTAR,APERTE L
—61 —
NÚMEROS DE ARMSTRONG
3
ilO
IO N - 2000
20 PRIHT-NUMEROS DE MWS1
23 PRINT"ENTRE 1 E 2000“
30 PRINT
40 FOR I - 1 TO N
50 S - O
60 K ■ I
70 Q - INT <K / 1O>
80 R - K - IO • O
90 S “ 8 ♦ R * R * R
IOO K • fl
110 IF K < > O TTEN 70
120 IF I < > S TVER 130
125 PRINT I
130 «XT I
140 EM>
EXENPLO:
ENTRE 1 E 2000
153370371407
40 CONVERSÃO P/BABEMENOR QUE DEZ
Rapar* que a subrotina qua faz a eudança 4a bas* da nuaaração coaaça a* 1500.
□ vetar auxiliar aonde sSo araazenados al gari anos na nova base é o vetar A.
Observe que este vetar é indexado pela <a«iével D na iapressão.
A técnica de eudança de base,constste na rflviaáo do núaero pela base salvando-se o resto, >«te sara o algarisao na nova base.
90 HCTE
95 DIM A<15>
100 IM>UT"A NOVA BASE ? “IB
120 PRINT-PRIMEIRO E ULTINO"!
125 PRINT" MICRO PARA"
130 INPUT"CtMVERTER ? "|F,L
140 FOR I - F TO L
150 PRINT
160 60SUB 1500
180 PRINT" "IIITAB <71|
190 FOR D ■ J TO 1 STEP - 1
200 PRINT " "IA(D)I" “|
210 NEXT D
220 tEXT I
230 END
1500 II - I
1510 J - 1
1520 B - INT <11 / B>
1530 R - Il - Q * B
1535 II - B
1540 A<J> - R
1545 J - J ♦ 1
1550 IF 3 > - B TIEN 1520
1560 ACJ) - 0
1570 RETURN
1580 END
EXEIELO:
A NOVA BASE7 2PRIMEIRO E ULTIMO MMERO PARA CONVERTER? 123,126
123124125126
1 1 1
1 1 11 1 1
1 1 0 O1 1 O 11 1 1 O
—65—
41 ÀREA DE TRXÂNBULO
Aqui ■ usada a função aabutida SOR.que cuia a raiz quadrada (acatara root) , tnaandn baaa, o aaaiperíaatro P,» os lados A, B a C.
Calcule agcra a area do triângulo, quan— a* dada a sua base a altura.
n <
10 PRINT'COWRIMENTOS DOS LADOS*
20 IiPUT* *|A,B,C
3OP-A + B + C
40 PRINT"PERÍMETRO - -|P
45 PRINT
50 P - 0.5 * P
60 S - SOR <P > <P - A) «<P - B)< <P - C>>
70 PRINT-AREA - *JS
80 EM>
exewlo:
COWRIKNTO 008 LADOS15,20,25PER1ICTRO - 60
AREA - 150
42 PROQRAMA DO CIRCULO
Esta prograaa calcula as csordenadaa centro da ua círculo e o seu raio, aando cidas as coordenadas da 3 pantos da sua circs
Estas 3 pantos sic fornecidos através coaando DATA.
Altera o prograaa, para recetoer as cos denadas,através do coaando IfFUT.
1OO PRINT'DETERHINACAO DE IM CIRCULO '
102 PRINT"PASSANDO ATRAVES DE 3 POHTTÍ DADOS"
11O PRINT
120 REH AS COORDENADAS DOS 3 PONTOS DEVEH SER COLOCADAS MMA INSTRU CAO DE DATA
130 READ X1,Y1,X2,Y2,X3,Y3
140 K? - - <X2 - Xl> / <Y2 - Yl>
150 K3 - - <X3 - XI) / <Y3 - Y1>
155 D - K3 - K2
160 IF D ■ O TWN 230
170 H2 - 0.5 a <Y1 ♦ Y2 ♦ <X2 • X2- XI * Xl> / <Y2 - Yl>)
100 H3 - 0.5 a <Y1 ♦ Y3 ♦ (X3 aX3- XI a Xl> / <Y3 - Yl>>
—67—
190 XO - <H2 - H3> / D
200 YO - (K3 • H2 - K2 * H3) /D
210 R - SOR <<X1 - XO> - 2 ♦ (Y1 - YO» " 2>
220 PRINT-XO - -|XO»
222 PRINT" YO - “lYOl
224 PRINT- R - -|R
223 EM»
230 PRINT-PONTOS COLlfEARES "
235 PRINT-NflO TEN SOLUCAO"
240 DATA 2,-l.O,l>2>3
250 EM)
EXEM>LO:
DETERMINAÇÃO DE UM CIRCULO PASSAMX) ATRAVÉS DE 3 PONTOS
XO -2 YO - 1 R-2
—68—
PLOTí
0 coaando DEF FN define uaa funçáo que UMdl MAt0fwçio^eebutída ABS retorne o vai»
absoluto da variável.Sugeriaos substituir a função defini»
na linha 120 e fazer a plotages das aesaas.Se possível, usar uea lapressora, pa»
tal, use o coaando PR«1.
HO REM A FUNCAO FNA REPRESENTA A CURVA PARA PLOTAR
120 DEF FN A<X) - EXP <- X * X • 0.51
130 A - - 3
135 L - 37
140 B - 3
150 Y1 - O
160 Y2 - 1
165 H - 0.2
170 6OSUB 500
180 EM)
500 D - Y2 - Y1
510 K - INT <<L - 1> /Dl
520 Z - INT <K • ABS <Y1> * 0.51
330 FOR X -ft TO B STEP H
540 Z1 - FN A<X) - VI
550 Z1 - INT <K « Z1 ♦ 0.5)
560 IF Z1 < >
570 IF Z1 > -
575 PRINT TAB
576 PRINT TAB
577 SOTO 390
580 PRINT TAB
585 PRINT TAB
590 NEXT X
600 RETURN
610 EM)
Z T>d 570
Z THEN 580
<Z1 ♦ 1)|-.-I
(Z «- 1)1-1-
<Z ♦ DI-I-l
<Z1 ♦ 1)1*.•
-70-
—71—
1OO DIN A<11>
110 N - 11
120 PRINT-LISTA INICIAL *
130 PRINT
140 FOR I - 1 TO N
ISO READ A<I>
160 PRINT- -|A(I>|-
170 NEXT I
ISO BOSUB 500
190 PRINT
19S PRINT
200 PRINT-LISTA ORDENADA'
210 PRINT
220 FOR I - 1 TO N
—72—
230 PRINT* "|A<I>|* -I
240 NEXT I
250 EM>
500 D - 1
510 0 - 2 • D
520 IF D < - N TIEN 510
530 D - INT <<D - 1» / 2)
540 IF D - O KEHL 700
550 FOR I ■ 1 TO N - D
560 J - I
570 L - J + D
580 IF A<J> < - A(L> TIEN 640
590 X - A(J>
600 ACJ> - A(L>
610 A<L> - X
620 J - J - D
630 IF.J 7 0 TIEN 570
640 IEXT I
—73—
umRETUW
DATA 3,-1,4,10,8,9,5,-10,-5
DATA 25,22
EXEM>L0:
LISTA INICIAL
3 -1 4 10 8 9 5 -10 -5 25 22
LISTA ORDENADA
-10 -5 -1 3 4 5 8 9 IO 22 25
-74-
45 MERGE
Este prograaa.coa base ee dues listeria uaa terceira,usando a técnica de aerge, intercala os conteúdos das list'as.
Existes ponteiros que avanças sequ** alsente pelas trés listas.
Estes ponteiros , são representados^ índices (I, J e Kl que controlas a posiça^v cada uaa das listas.
Agara,aodlfique o prograsa para fazer» serge de trés listas coa entrada.
ÍOO DIM AilOOl,B<1001(C<2OO>
1IO REM READ LIST A
120 READ N
130 PRINT-LISTA A : ”
140 FOR I - 1 TO M
ISO READ A(I>
1S3 PRINT" -lAilll- -I
157 NEXT I
160 PRINT
170 PRINT
ISO REM READ LIST B
190 PRINT-LISTA B : -
200 READ N
210
220
223
227
230
240
250
260
270
280
290
300
310
320
330
340
350
360
365
FtR I - 1 TO N
READ B<1>
PRINT" -I
NEXT I
PRINT'LISTAGEN JUNTA :*
FOR I - 1 TO N + N
PRINT" -|C<I>|- -I
HEXT I
END
I - 1:J - 1:K - 1
IF A(I> > - B<J) TWN 350
C<K> - A<l>:l - I ♦ 1
IF I > N THEN 390
K - K ♦ 1: GOTO 310
C<K) - - J ♦ 1
IF J < - N THEN 340
REN COPIA RESTD DE A PARA C
-76-
370 K - K + 1:C<K> - A(I)
375 I - I ♦ 1
380 IF I < - M THEN 370
381 RETUV4
385 REN COPIA RESTO DE B PARA C
390 K - K * 1:C<K> “ B(J)
395 J - J ♦ 1
400 IF J < ■ N THEN 390
401 RETUW
410 DATA 5
420 DATA 4,7,9,12,45
430 DATA 4
440 DATA -1,5,6,60
450 END
EXEMPLO:
PRIMEIRA LISTA :4 7 9 12 45
SEBUNDA LISTA :-1 5 6 60
LISTA APOS 1EREE :-1 45679 12 4560
♦ OXA DA SEMANA
Esta prograaa,detaraina o dia da seaana (B datas históricas e futuras.
Vocft pode prever aniversário de parentes. |pa coao,os dias ea que ocorreraa fatos históri- fn« aarcantes.
Experiaente a data do seu aniversário.
100 REM PROGRAMA PZCALCULAR
iOS REM O DIA DA SEMANA
11O DIM DS<7>
120 OKI) « “SEGUNDA"
130 DS<2> - "TERÇA"
140 D*(3> - “QUARTA*
150 D»(4) - "QUINTA"
160 D»<51 - "SEXTA"
170 DS(6) - "SABADO"
180 D«<7> - "DOMINGO*
190 PRINT"DATA (ffl.DD, AAAAl "I
200 INPUT" -|M,D,V
203 IF 0 < - O TbEN END
210 GOSUB SOO
220 PRINT DS(Z>
-78-
230 SOTO 190
300 PRINT Y
505 IF Y < ■ 1732 THEN 620
510 N - INT (0.6 ♦ 1 / N>
520 L - Y - N
530 P - M ♦ 12 * N
540 C - L / 100
550 Y1 - INT (C>
560 Z1 - INT (C / 4)
570 Z3 - INT (5 * L f 4»
580 Z4 - INT (13 • <P ♦ 1) / 5>
590 Z - Z4 ♦ Z3 - Y1 + Z1 ♦ D ♦ 5
600 Z - Z - (7 • INT (Z / 7>> ♦ 1
610 RETURN
620 PR I NT “O ANO DEVE "J
625 PR I NT "SER APOS 1752"
630 END
EXETPLO:
DATA(DD,W1,AAAA> I22,02,1984QUARTA
-79-
47 INTERVALO ENTRE DATAS
O prograaa pada a priaelra data a trans- Ipraa ea dias,na subrotina SOO.
Depois, faz o aaian coa a segunda data.Calcula a diferença de dias na_ linha
NO. Na linha 570, é feita a conversão para Ás*.
Usa este prograaa para fazer a contagea to teapo de serviço para fins de aposentadoria.
ÍOO REN COMPUTACAO DE INTERVALO
1O1 REM ENTRE AS DATAS
110 PRINT-PRUEIRA DATA"»
115 PRINT*(MN,DD,YYYY) ?"J
120 INPUT* *|N,D,Y
130 6OSUB 500
140 Cl - C
150 PR1NT-SE6U4DA DATA"»
155 PRINT" <m,DD,YYYY> ?"»
160 INPUT* -;N,D,Y
170 GOSUB 500
180 C2 « C
185 PRINT
190 C3 - C2 - Cl
195 PRirfT-p TE|f>O ENTRE AS DATAS E ? »l
197PRINT C3J" blAS ■
200 END
5Ô0 A - Y:B - 1OO
506 GOSUB 1000:Y2 - F
51Q N ■ O
520 IF H > 2 THEN 570
525 N - 2
530 IF Y2 ■ O TTEN 550
535 A - ¥2!B - 4
536 SOSUB 1000:R - F
540 IF R < >0 THEN 570
545 GOTO 560
550 A - Yi:B - 4
551 GOSUB 1OOO
552 IF F ' > O THEN 570
560 N . 1
570 C » INT (365.25 • Y2> * INT(30.56 • H> ♦ N ♦ D
-81-
580 RETURN
990 END
1OOO F - A - B * .INT <A / B>
1O1O RETURN
9999 END
EXETPU):
PRIMEIRA DATA<DD,HM.AAAA>? 12,06,1856 8E8UMM DATA<DD,NN,AAAA>? 24,02,1984
O TEMPO ENTRE AS DATAS E? 10118 DIAS
H?
46 LISTA TELEFÔNICA
ÍOO REN LISTA TELEFÔNICA
110 REN
120 REN
130 REN
140 REN
ISO PRINT TAB <71; “LISTA TELEFONICA
160 PRINT
170 PRINT'ULTINO “ITAB (1O1I
171 PRINT-PRItEIRO -
175 PRINT"N0»E “1TAB <10)1
176 PRINT-NOW 1 TAB <1911
177 PRINT“TELEFOFE“ I TAB <2811
178 PRINT"BAIRRO“
180 PRINT
190 I - O
200 READ LS,FS,RB,TB
210 IF LB - -ZZZ- TIEN 250
220 PRINT LOITAB <1011FBI
221 PRINT TAB <19>|RB|
223 °RINT TAB <291ITO
230 I - I + 1
240 SOTO 200
2S0 PRINT
260 PRINT-NUERO DE ENTRADAS*!
261 PRINT---II
26S EM)
270 DATA PEREIRA.HARIANA, *2809091 *, CENTRO
200 DATA OERHONT,ADRIANA,*2871365*, IPAKENA
290 DATA PICCOLO,ROBERTO,-2275341-,IPAIEMA
300 DATA TATA8IBA.MARCAL,"2471339", IPANEMA
900 DATA ZZZ,Z,3,4
910 END
EXETPLO:
LISTA TELEFÔNICA
ULTIMO PRltEIRONONE NOTE TELEFOIE BAIRRO
PEREIRA MARIANA 2809091 CENTROCHERHONT ADRIANA 2871365 IPMENA
AV previsão de vei
1OO PRINT-PREVISAO DE VEMJAS"
110 PRINT
120 PRINT'ANO CORRENTE E"l
130 IHPUT" IdEMS? "|Y,B
140 PRINT
ISO PRINT-TAXA DE CRE8CHENTO* I
160 MFUT-? -|R
170 PRINT
ISO PRINT-NUCRO DE ANOS PARA"I
IBS PRINT'PREVISAO'f
190 INPUT’? -IN
200 PRINT
210 PRINT" ANO-I
21S PRINT" VENDAS*
220 PRINT
230 PRINT" -IYITAB <16>IS
240 R1 - 1 ♦ 0.01 • R
250 FOR I - 1 TO N
260 Y - Y ♦ 1
270 S - 5 • RI
280 PRINT" ->Y|TAB <16>5S
290 NEXT I
300 END
EXEm.O:
PREVISÃO DE VENDAS
ANO CORRENTE E VENDAS? 1984,10
TAXA DE CRESCIIENTO? 12
ANO
) DE ANOS PARA PREVISÃO? 5
VEMMS
198419851986198719881989
1011.212.S4414.04928 IS.7351936 17.6234168
SO PREVISÃO DE VENDASEXPANDIDA
too PRINT"ANO, VOLUTE E"l
105 PRINT- FATURAIENTO*
11O ITFUT*VENDAS -|Y,V,S
120 FR1NT"TAXAS<Z> DE INCRETENTO •
-.25 t-RINT- VOLUTE E *
130 INPUT" ITFLACAO ? "10, I
140 PRINT"NUTERO DE ANOS"|
145 PRINT- PARA PREVISÃO"I
ISO ITPUT"? "IN
160 O1 - 1 ♦ 0.01 • Q
170 II >01 » <1 ♦ 0.01 • II
180 PRINT
190 PRINT- ANO VOLUTE" 1
195 PRINT* VENDAS BRUTAS"
200 PRINT
210 PRINT" -IYITAB <111|V;
215 PRINT TAB <23118
220 FOR J ■ 1 TO N
230 Y - Y + 1
-87-
240 V - V • QI
230 S - S • Il
260 PRINT* "IYITAB <11>|VI
265 PRINT TAB (23)IS
270 IEXT J
280 END
51 PROBRAMA DE ANUÍDA*
Esta prograaa da anuidada, nos dl> axeaplo da ua prograaa da cálculo financeiro,
Aconsalhaaos criar várias,rotinas fII* cairas,que sarão úteis na vida prática.
1OO REN ANUIDADE : CADA ANO A NESHA FRACAO DO PRINCIPAL E PA6A.
120 PRINT “MONTANTE ,”
121 PRINT”TAXA DE JUROS , *
122 PRINT” ANOS PARA PASAR"!
123 IM»UT”? *|L,R,N
130 R - R e 0.01
140 O - LSU - L
150 Ri - L / N
l&O PRINT
170 PRINT'PASAtENTO JUROS” I
173 PRINT” TOTAL DO NONT.DEVIDO*
ISO FOR J - 1 TO N
190 I - U » R
200 R2 - R1 + I
210 0 - 0 ♦ I
220 U - U - RI
230 PRINT- *)J|TAB <11)1
23S PRINT 11 TAB (22>|R2
240 NEXT J
250 PRINT
251 PRINT-TOTAL DE JUROS -|Q
255 PRINT : GOTO 120
260 END
EXEMPLO:
MONTANTE , TAXA DE JUROS ,
ANOS PARA PAGAR? 500000,10,5
PAGAMENTO JUROS TOTAL DO MONT.DEVIDO1 500002 400003 300004 200005 IOOOO
150000 140000 130000120000110000
TOTAL
52 MEDIA ARITMÉTICA 8IMPLES
10 h - o:N - o
11O READ A
120 IF A - - 999 THEN 170
I3ON ■ N + 1
140 M - H ♦ A
150 GOTO 110
170 M “ M / N
IGO PRINT'NUHERO DE
IG5 PRINT'EXEIELOS - “IN
190 PRINT
200 PRINT-MEDIA-1 TAB <19M
205 PRINT-- "|M
210 DATA 12,25,15,0,-999
220 END
EXETPLO:
NUERO DE EXEIELOS - 4
FEDIA - 13
100 N - O
11O Al - O
120 A2 - □
12S A3 - O
127 A4 - O
130 READ A
140 IF A - - 999 -DCN 190
ISO N - N ♦ 1
1S5 Al - Al ♦ A
160 X - A • A
162 A2 - A2 * X
16S A3 - A3 ♦ X • A
167 A4 - A4 ♦ X * X
ibo etrro 130
190 M - Al / N
200 V - <A2 - N * H * H> / <N - 1)
210 8 - SOR <V>
220 PRIMT-NWtRO DE "I
22S PRINTaEXBVLO8 - "|N
—92—
230 PRINT" "J
233 PRINT"TEDIA - -|M
240 PRINT-
245 PRINT-VARIANCIA - *JV
250 PRINT-DESVIO PADRAO - "JS
253 M2 - M * M
255 SI “ (A3 — 3 • M * A2 + 2 • M2• Al > t (N * V ♦. S)
260 K - <A4 - 4 * M * A3 ♦ 6 * M2• A2 - 3 • N • M2 • M2) Z <N • V • V)
270 PRINT-SKEMESS - -JSI
280 PRINT'KURTOSIS - "IK
285 END
300 DATA i.2,3,4,5
310 DATA -999
330 END
EXEMPLO:
NUTERO DE EXETELOS - 5TED IA - 3
VARIANC1A >2.5DESVIO PADRAO - 1.58113883SKEWrESS - ÒKURTOSIS > 1.068
-93-
50 HOFE
100 DIH T<100),Y<ÍOO)
110 READ N
120 FOR I ■ 1 TO N
130 READ T<I),Y<1)
140 IEXT I
150 6OSUB ÍOOO
160 PRINT TAB (7) I - 1MX1NACAO - -JA
170 PRINT-Y INTERCEPTA - -|B
ISO PRINT
190 PRINT- T-JTAB <6>J-Y
192 PRINT*IEDIDO"|TAB (IB);
194 PRINT-Y CALCULADO"
2vO PRINT
210 FOR I ■ 1 TO N
220 VI - A • TCI» ♦ B
230 PRINT- -|T(I)
232 PRINT TAB (1O)|Y(I>1
234 PRINT TAB (22>|Y1
240
245
250
260
1UOO
1O1O
1020
1030
1040
1050
1060
1070
1080
1090
1100
1110
1120
NEXT I
END
DATA 5
DATA O,1,1,1.5,2,2,4,3,6,4
U1 - O
U2 - O
VI - O
V2 - O
W-O
FOR 1 = 1 TO N
U1 = U1 ♦ T(I)
VI - VI ♦ Y(I>
U2 > U2 ♦ TCI» * Till
V2 - V2 * Yd) * Yd)
W - W ♦ Td> • Yd)
«XT I
A - <W - U1 • VI / N> / <U2 - U1 • U1 / N)
S BERADQR DE N4JMEROS ALEATORX08
50 HOME
1OO REH TESTE DE UNA DISTRIBUIÇÃO DE UH
102 REH GERADOR DE NUTERO ALEATOR 10
120 PRINT*I«BERO DE CLASSES*!
125 INPUT*? *|C
130 DIM A(C)
140 FOR I - 1 TO C
150 A(I> - O
160 hEXT I
170 PRINT“QUANT IDADE DE NUIEROS *1
180 PRINT"ALEATORIOS PARA PRODUZIR *
182 IW>UT- "IN
185 FOR I - 1 TO N
190 X - INT (RND <1> • C> + 1
200 A(X> - ACX) ♦ 1
210 NEXT I
-V7-
220 FOR I - 1 TO C
230 PRINT" “|I|
235 PRINT TAB <7)|ACI>
240 «XT I
EXE«LO:
NUTERO DE CLASSES? IO
1 32 63 54 55 56 67 7e 79 510 1
=5d» ZODÍACO
Aqui • usado o casando ON BOTO na III*»200.
Dependendo do valor da variável M,o pTV graaa desviará para ua deterainado ponto.
Se N-l a prograaa ira para a linha 600.Se N-2 taabáa.Se >**3 ira' para 900,e assia por diantp,
1OO H0»E
115 DIM AS<12)
120 FDR 1 - 1 T0 12
125 READ AXI)
130 NEXT 1
140 PRINT'SEU ANIVERSÁRIO "
145 INPUT" CIES, DIA) 7 "|N,D
180 1 - «
190 L - 20
200 ON M GOTO 600,600.500.600, 500,500,400,300,300,300, 400,300
300 L - L ♦ 1
400 L - L ♦ 1
500 L - L ♦ 1
—99—
SEU ANIVERSÁRIO (HES.DIA)? 03.24 SEU SIGNO E ARIES
SEU ANIVERSÁRIO (HES.DIA)? 10,12 SEU SIGNO E LIBRA
— 1OO—
□ cálculo do fatorial é realizado pv núaeros até 33.
Caso voei um ua niíaero aaior, o prapp* ■a indicará uaa condição do erro de estouro, pp ultrapassar a capacidade do caapo.
Pense nuaa solução, para c&lculo de fato rial,de núaeros aaiores que 33.
5 HOJE
IO IK’IIT" INDIQUE O NUERO ATE 33 *;N
20 F - 1
30 FOR I « 1 TO N
40 F - F * I
SO KXT I
60 PRINT F
EXEIELO:
INDIQUE O NUTERO ATE 33 7 3040
INDIQUE O NUERO ATE 33 8 40320
F»I
20 FOR K - 1 TO 1OOOO
30 S • S ♦ 1 / (K * II
40 PRINT <90 « S) * 0.2S.K
SO HEXT K
EXETPLO:
3.00007029 13.12710707 23.13615238 33.13899789 43.14016118 53.14072172 63.14102416 73.1412014 83.14131204 93.14138462 10
—102—
Sâo «altas sucessivas Iterações,ats a*o valor da F, atinja IO elevado a 10.
Nesta altura o valor de K á 14.
10 E - 1
20 FOR K - 1 TO ÍOO
30 F - 1
40 FOR I - 1 TO K
50 F - F * I
60 ftEXT I
70 E • E ♦ 1 / F
BO IF F > IO ‘ IO TTEN ÍOO
90 HEXT K
100 PRINT K,E
2.71028183
— 103—
d>O CLOCK ARITMÉTICO
Rapar* a geração randâaica das horas * a Iperaçáo ariteética que ■ realizada.
SO HONE
100 REM CLOCK ARITTETICO
110 FOR L - 1 TO 8
120 T - I NT (12 • RNO <1> * 1)
130 H - I NT (36 * RNO (1> ♦ 1)
140 S ■ T + H
ISO IF S < - 12 TIEN 180
160 S - S - 12
170 GOTO ISO
180 PRINT HI- HORAS DEPOIS DAS -|T|- HORAS"
190 PRINT" 8ERAO -|S|- (ERAS ■
195 FOR Y - 1 TO 500: HEXT Y
200 PRINT
210 IEXT L
220 END
— 104—
EXEHPLO:
3OH0RAS DEPOIS DAS 7 HORASSERÃO 1 HORAS
SHORAS DEPOIS DAS 7 HORAS SERÃO 3 HORAS
32HURAS DEPOIS DAS 7 HORAS SERÃO 3 HORAS
12HORAS DEPOIS DAS 7 HORAS SERÃO 7 HORAS
-105-
NÚMEROS PRIMOS GEMEOS
ÍOO REM PRIMOS GETEOS MENORES QUE 1OOO
110 H01C
115 DIM A11OOO1 ,B<4OO>
120 FOR X - 2 TO 1OOO
130 A(X> » O
140 NEXT X
160 S - SQR <1OOO>
170 FOR B « 2 TO 1OOO
180 1F A(B> < O UEN 250
190 C - C ♦ 1
200 B(C> - B
210 IF B > S TIEN 250
220 FOR X - B TO 1000 STEP B
230 A(X> - - 1
240 «XT X
250 NEXT B
260 PRINT-PRINOS 6EMEOS*
270 PRINT
-106-
280 FOR X - 2 TO C
290 IF B(X> - B<X - 1) < > 2 THEN 310
300 PRINT B<X - 1>|" -;B<X>
310 NEXT X
320 END
exemplo:
3 33 711 1317 1929 3141 4359 6171 731O1 103107 109137 139149 151179 181191 193197 199
-107-
d»Z PREVISÃO DE .AÇÃO
Exeaplo da UM projeção futura. Um vez tonhecidas as condições de cresciaento, é auito • ac íl e rápido projetar dados futuros.
& S »
8
3 HOME
10 REN POPtJLACAO
15 PRINT “PREVISÃO DE POPULACAO*
20 PRINT
25 PRINT- ANO* ( "POPtlLACAO EN NI LHOES HAB. *
35 PRINT
45 Y - 1976 ♦ T
P - 120 • <1.029 * T>
PRINT Y,P
IF P > 2 « 221 T>EN 75
T - T ♦ 1
70 6OTO 45
75 PRINT
80 PRINT-A POPULACAO DO BRASIL*
-108-
83 PRINT’DOBRARA EH -|T»- ANOS'
90 END
EXEMPLO:
PREVISÃO DE POPULACAO
ANO POPULACAO EM MILHOES
197619771978197919801981198219831984
120123.48 127.06092 130.745687 134.537312 138.438894 142.543622 146.584777 150.835735
S HOTE
10 PR1NT“TRIANBULO DE PASCAL*
20 FOR N - O TO 11
30 FOR R - O TO N
40 C - 1
50 FOR X-NTON-R+1 STEP - 1
60 C - C ♦ X / <N - X ♦ 1)
70 IEXT X
80 PRINT C|
90 «XT R
ÍOO PRINT
110 IEXT N
120 END
EXETPLO:
TRIÂNGULO DE PASCAL01122133314464155101051661320156177213535217188285670562881993684126126843691101045120210252210120451011111551653304624623301655311
-111-
FXBfJNACCI
100 REM NUEROB DE FIBOMKXI
110 DIN F<30>
120 PRINT-MB0O8 DE FIBONACCI-
130 PRINT
140 F<1> - 1
ISO F<2> - 1
160 FOR N - 1 TO 28
170 F<N ♦ 2> - F<N + 1> ♦ F<N>
180 IEXT N
190 REN IWRIIE NUN.DE FIBONACCI
200 FOR X - 1 TO 30
210 PRINT FIX),
220 HEXT X
230 EM)
—112—
EXEMUI:
IUEROS DE FI1 1
13 S3233987 418117711 73025 317811
1521 34
14461025841094646368196418832040
-113-
10 PRINT-NULTIPLICACAO DE MATRIZES*
20 PRINT
30 01H A<10,1O>,B<10,10)
40 PRINT*DIMEN8AO DA MATRIZ 1 (R,C)"I
SO INPUT Rl.Cl
60 PRINT’D!MENSAO DA MATRIZ 2 (R,C)"I
70 1M>UT R2.C2
BO IF Cl - R2 THEN HO
90 PRINT'NAO PODE SER MJLTIPLICADAI OUTRA DIIENSAO IEEE8SARIA*
100 SOTO 40
110 PRINT“MATRIZ 1:*
120 FOR J - 1 TO R1
130 PRINT"LIMM "IJ
140 FOR I - 1 TO Cl
150 PRINT-VALOR COLIMA 'III
160 I»PUT A(J,I)
170 NEXT I
180 HEXT J
-IM
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
PRINT-NATRIZ 2:’
FOR J ■ 1 TO R2
PRINT-LHMA -|J
FDR I - 1 TO C2
PRINT-VALOR COLUTM I|
INPUT
NEXT I
ICXT J
FOR I - 1 TO R1
FOR J - 1 TO C2
8-0
FOR K - 1 TO Cl
S - 8 ♦ A <I,K> »
1CXT K
PRINT 8|- -I
NEXT J
exemplo:
MATRIZ 2:LINHA 1VALOR COLUNA 170 VALOR COLUNA 2756VALOR COLUNA 373LINHA 2VALOR COLUNA 17SVALOR COLUNA 276VALOR COLIMA 379LINHA 3VALOR COLUNA 171VALOR COLIMA 271VALOR COLUNA 374
13 -39193 1235 452
-116-
10 PRINT"INVERSÃO DE MATRIZES *
20 PRINT
30 DIN A(1O,1O>,B<1O,1O>
40 PRINT"DtlENSAO DA MATRIZ"!
SO IWlir R
60 PRINT"ELE>ENTDS DA HATRIZ:"
70 FOR J - 1 TO R
SO PRINT"L»MA “IJ
90 FOR I - 1 TO R
100 PRINT"VALOR DA COLUNA "|H
11O IIEUT A<J,I>
120 TEXT I
130 B<J,J) - 1
140 TEXT J
150 FOR J - 1 TO R
160 FOR I - □ TO R
170 IF All,J) < > O ITEM 210
-117-
180 NEXT I
190 PRINT"MATRIZ SINBULAR
200 GOTO SOO
210 FOR K - 1 TO R
220 S “ A<J.K>
230 A<J,K> - A<I,K>
240 A(I,K> - 8
250 8 - B<J,K>
260 BCJ.Kl - B(I,K>
270 B(IfK) - S
280 *EXT K
290 T - 1 / A<J,J>
300 FOR K - 1 TO R
310 A(J,K> - T * A(J,K>
320 B(J,K> - T • B(J,K>
330 NEXT K
340 FOR L - 1 TOR
350 IF L ■ J TIEN 410
-11B-
360
370
390
400
410
420
430
440
450
460
470
480
490
Y - - A(L,J>
FOR K - 1 TO R
A(L,K> - A<L,K> + T * A<J,K>
B<L,K> - B<L,K> + T * B<J,K>
IEXT K
IEXT L
NEXT J
FOR I - 1 TO R
FOR J - 1 TO R
PRINT INT <B(I,J) • ÍOOO *0.5) / 10001" -I
IEXT J
IEXT I
—119—
exewlo:
INVERSÃO DE MATRIZES
DI1ENSAO DA IMTRIZ73 ELEMENTOS DA MATRIZ:
VALOR DA COLUNA 1?2 VALOR DA COLUNA 2?4 VALOR DA COLUNA 3?7
VALOR DA COLUNA 1?2 VALOR DA COLUNA 229VALOR DA COLUNA 37-4
VALOR DA COLIMA 1^5 VALOR DA COLUNA 2?8VALOR DA COLUNA 3?4
.51 .VI .03
.033 .1 .03
.044 2E-O3 .175
-120-
67 ÁREA DO POLIGDNO
10 PRINT-AREA DE UM POLIGONO*
20 PRINT
30 DIM X(25),Y<25>
40 PRINT-NUTERO DE VERTICES (BA TA 'O' P/TERMINAR O PROGRAMA)*I
50 IWVT N
60 IF N - 0 THEN 230
70 FOR I - 1 TO N
80 IF I > 1 TKEN 110
90 PR I NT "COORDENADAS DO VERTICE ")H
10o GOTO 120
110 PRINT* VERT ICE -I II
120 INPUT X(I),Y<I>
130 IEXT I
140 X<N ♦ 1) - X(l>
150 Y(N + 1) - Y<1>
160 A - O
170 FOR I - 1 TO N
-121-
180 A - A + <X<I> + X<I + 1>> • <Y<1> - Y<I + 1>>
190 NEXT 1
200 PRINT-AREA - -JA / 2
210 PRINT
220 SOTO 40
EXEMPLO:
AREA DE UN POLI6ONO
NUTERO DE VERTICES (BATA O P/TERNINAR O PR0GRM1AI74COORDENADAS DO VERTICE 171,1
VERTICE 274,1VERTICE 371,4VERTICE 474,4
AREA -O
-122-
6S ANALISE VETORIAU
1 DEF FN A<X> - - ATN <X / SQR <- X • X + 1>> ♦ 1.5708
5 HOTE
IO PRINT"ANALISE DE DOIS VETORES"
30 DIN X<21,Y<21,Z<2>,H<2.
35 PRINT
40 PR INT "VETOR 1: X,Y,Z":
50 IM>UT X(1>,Y(1>,Z<1>
60 PR1NT-VETOR 2: X,Y,Z"5
70 I TELIT X(2),Y<2),Z<2>
80 PRINT
90 FOR I - 1 TO 2
ÍOO N<I) - SQR <X(I> " 2 ♦ Y(I> * 2 ♦ Z(I> " 2>
11O IF H<I> - O TIEN 220
120 PRINT-VETOR -|I»-:-
130 PRINT "MAGNITUDE: "M<I>
140 8 - 57.29578
150 J - X<I> 7 M<I>
—123—
160
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
PRINT-ANGULO COM EIXO DOS X: "I
J - Y<I> / H(I>
PRINT'ANBULO COM E1X0 DOS Y:FN ACJ> • S
J - Z<I> / HCI)
PRINT"ANGULO COM EIXO DOS Z: *1FN A<J> • 6
«XT I
J - O
IFH<1) - O T«N 310
IF HC2> - O HEN 310
J - <X<1> » X<2> ♦ Y<1> * Y(2> ♦Z<1> » Z(2>> / Mil) / H(2>
IF J < >0 T«N 300
J - 90
6OTO 310
J - ATN < SOR <1 - J * 2) / J> * S
PRINT'ANBULO ENTRE VETORES: -|J
—124—
330 PRINT“HAIS DADOS? <1-SIM,O-NAO)
340 IMMJT Z
350 IF Z - 1 THEN 20
EXEH’LO:
ANALISE DE DOIS VETORES
VETOR 1: X,Y,Z?1,-4,6VETOR 2: X,Y,Z?4,8,-9
VETOR 1:MAGNITUDE: 7.28010989ANBULO COM EIXO DOS X: ANBULO COM EIXODOS Y: 123.328969ANBULO COM EIXO DOS Z: 34.4964481
VETOR 2:MAGNITUDE: 12.6885776 ANBULO COM EIXO DOS X: DOS Y: 50.9140515 ANBULO COM EIXO DOS Z:
ANBULO COM E1XI-
135.17815
ANGULO ENTRE VETORES: -27.415868
-125-
5 CALL - 936
10 PRINT"CONVERSÃO DE ANGULOS:"
20 PRINT
ÓO PRINT*1.GRAUS PARA RADIANOS":PRINT-2.RADIANOS PARA GRAUS"
35 PRINV3-FINALIZAR*
40 C » 180 / 3.1415927
SO IKUT-QUAL OPCAO? (POR NUrERO):*|O
60 ON O GOTO 70,150
65 GOTO 240
70 IW>UT-DE O ANGULO EH GRAUS, MINUTOS E SEGUNDOS?"ID,M.S
80 A - D ♦ M 760 ♦ S / 3600
90 PRINT-RADIANOS - *|A / C
100 GOTO 50
150 INPUT"DE O AN6ULO EM RADIANOS?"IA
160 PRINT
170 A - A * C:A - <A / 360 - INT(A / 360)) • 360
-126-
180 PRINT-GRAUS - “íINT <A>
190 A - A - INT <A>
200 PRINT'NINUTOS - "11 NT <A • 60>
210 A « A • 60 - INT <A • 60)
220 PR INT* SEGUNDOS - -JINT <A • 60 •100 ♦ 0.5) / 100
230 GOTO 50
240 END
EXEMPLO:
CONVERSÃO DE ANGULOS:
1. GRAUS PARA RADIANOS2. RADIANOS PARA GRAUS3—FINALIZARQUAL OPCAO? (POR NUHERO) : 1DE □ ANGULO EH GRAUS,MINUTOS ESEGUNDOS? 35,45,23RADIANOS -.624066724
-127-
10 PRINT"INTERPOLACAO LINEAR"
20 PRINT
30 PR1NT-X.Y DO PRIM.PONTO"J
40 IWHH XI,Y1
50 PRINT’X.Y DO SEE.PONTO"J
60 IM>UT X2.Y2
70 PRINT-INTERPOLAR X - ";
80 II«>UT X
90 Y - Y1 ♦ <Y2 - Yl» / <X2 - Xl> <X - XI)
1OO PRINT* Y« -SINT<Y • 1000 + 0.5) / 1OOO
110 PRINT
120 PRINT-MAIS PONTOS IE ST A LlhHA < l-SIM.O-NAO)-J
130 IfPlH 2
140 PRINT
ISO IF Z - 1 THEN 70
-128-
160 PRINT-NOVA LIIMA <1-SIM,O-NAO)“5
170 INPUT Z
180 IF Z - 1 TIEN 20
EXE*ELO:
INTERPOLAÇAO LINEAR
X.Y DO PRIN.P0NT074,7X,Y DOSE6.PONTO?2,9INTERPOLAR X- ?6
Y- S
MAIS PONTOS NESTA LUMA < 1-SIM,O-NAO)■’0
NOVA LUMA (1-SIN,O-NAO>?O
71 MÉTODO DE 8IMPBON
2 - FORMULA DES
3 - FIM PROGRAM#
10 PRINT* INTEGRACAOlREGRA DE SIIESON*
20 PRINT
26 PRINT
30 PRINT-SELECAO: 1 - FORMULA CONHE CIDA*
31 PRINT" COMECIDA*
32 PRINT-
40 INPUT S
45 IF S « 3 THEN END
47 IF S - 1 THEN IHPUT-VOCE JA DEFINIU SUA FUNCAO NA LINHA50 (S OU N>?"IR»: IF R» < > *S* TIEN END
50 REM - DEFIfE SUA FIMCAO AOUI: FNC(X)>CSUA FIMCAO EM X)
60 PRINT-LIMITE INFERIOR .LIMITE SUPERIOR DE INTEBRACAO-I
70 INPUT A. El
80 PRINT"INCREMENTO DE X*l
90 IKEUT XI
95 VR = (B - A) / XI
1OO IF VR < > INT (VR) TWN 80
I1O IF S - 1 THEN ISO
120 PRINT'PRIHEIRO.ULTIHO VALORDE F<X)“|
130 IBFUT VI,Y2
140 GOTO 170
150 VI - FN c<a:
lôO Y2 - FN C(B)
170 C - O
180 D - O
190 FOR I - 1 TO <B - A) / XI - 0.5
200 IF S - 1 TFEN 240
210 PRINT"VALOR DE F(X> NO INTERVALOII"(X-"JA ■» I • X1J">";
220 IWUT V
230 GOTO 250
240 Y - FN C<A ♦ I • XI)
250 IF I / 2 - INT <1 / 2) TFEN 280
260 C - C ♦ Y
MM GOTO 290
Y
PRINT" INTEGRAL E “1X1 / 3 • <Y1 + 4»C + 2»D + Y2>
310 BOTO 20
EXETPLO:
INTEGRACAO:REGRA DE SIM>S0N
SELECAO: 1 - FORMULA CtWECIDA2 - FORMULA DESCOMECIDA3 -FIM PROGRAMA
?1VOCE JA DEFINIU SUA FUNCAO NA LIMM SO <S OU N)?SLIMITE UFERIOR. LIMITE SUPERIOR DE INTEGRACAO71,1INCREMENTO DE X?1
—132—
72 DERX VADA
IO PRINT*DERIVADA*
20 PRINT
30 REN -ENTRE DEF FNC(X) AQUI
40 PRINT*(ENTRE X-99999 P/ TERMINAR O PROGRAMA)*
SO IITUT-DERIVADA EM X-*JX1
70 IF XI - 49999 T>EN 160
80 D - 0.0001
140 PRINT* E *1(FN C(X1 ♦ D) - FN C(X1>) / D
ISO GOTO SO
160 END
-133-
MÉTODO DE NEWTONPARA RAIZE8
10 PRINT-RAIZES REAIS DE POLINOHIOS: NEWTON"
20 PRINT
30 DIN AdD.Bdl)
40 FOR I - 1 TO 11
50 A<I> - O
60 Bd> - 0
70 KE XT I
BO PRINT'BRAU DA EOUACAO")
90 INPUT N
1OO FOR I • 1 TO N ♦ 1
110 PRINT-COEFICIENTE A("JI - 1; •>-J
120 INPUT Ad)
130 NEXT I
140 FOR I - 1 TO IO
ISO Bd) - Ad + 1) • I
160 *EXT I
-134-
170 PRINT
180 PRINT-TENTATIWI
190 »PUT X
200 8-0
210 S - 1
220 Fl - O
230 FO - O
240 8 - O + 1
250 FOR I - 1 TO N ♦ 1
260 FO - FO ♦ A<I> • S
270 Fl — Fl ♦ Bill • S
280 8 - 8 * X
290 NEXT I
300 IF Fl - O TICN 360
310 8 - X - FO / Fl
320 IF X « 8 TXN 380
330 X - 8
340 IF 8 > 100 THEN 490
M M II I 8
1 8
8 8
8 II I
BOTO 210
PRINT "DERIVADA - O EM X - "JX
soro too
PRINT* RAIZ", "ERRO*, "DERTV. "
PRINT X,FO,F1
PRINT"OUTRO VALOR < 1-SIH,O-NAO>-|
IMVT A
IF A “ 1 THEN 170
PRINT'OUTRA FUNCAO (1-SIM,O-NAO) ",
INPUT A
IF A - 1 TIEN 30
SOTO 9SO
PRINT"1OO ITERACOES COMPLETADAS:"
PRINT" X - "ÍXI" FCX> - "iFO
S1O PRINT" CONTIME <1-SIM,O-NAO) ",
-136-
520 INPUT A
530 IF A - 1 B£N 200
550 END
EXEWLO:
RAIZES REAIS DE POLIMMIOS:IEWTON
TENTATIVA?*
RAIZ .759517827
ERRO DERIV.O -6.63324958
OUTRO VALOR <1-SIM,O-NAO>?0
-137-
r-* OPERAÇÕES COM MATRIZES$ 8
10 PRINT-ADICAO DE MATRIZES,SUB TRACAO,HULTIPLI CACAO ESCALAR*
20 PRINT
30 DIN A(3, 3», B<3,3>
40 PRINT*1-ADICAO*
PRINT*2-SUBTRACAO*
PRINT“3—MULTIPLICACAO ESCALAR*
70 PR INT“QUAL OPERACAO"!
SO INPUT D
90 IF O < >3 THEN 120
1OO PRINT-VALOR DO ESCALAR-1
110 INPUT S
120 PRINT-DITENSAO DA MATRIZ <- LIMM, COLUNA)*|
130 INPUT R.C
140 FOR K “ 1 TO 2
150 IF K - 2 THEN 180
160 PRINT-MATRIZ 1:*
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
BOTO 190
PRINT"NATRIZ 2:“
FOR J • 1 TOR
PRINT"LIMM -|J
FOR I - 1 TO C
PRINT'VALOR COLIMA "111
IF K - 2 TIEN 260
1WUT A(J,I>
IWUT
IEXT I
terr J
IF 8 - 3 TIEN 310
•EXT K
FDR J ■ i TOR
FOt I - 1 TO C
IF 8 < >2 TIEN 350
B(J,D - - 8<J,I>
—139—
350 IF D - 3 TIO 380
360 PRINT A<J,I> * B(J,I>I" "I
370 SOTO 390
380 PRINT A(J,I) • Bl" "I
390 «XT I
400 PRINT
410 «XT J
420 PRINT
430 PRINT-MAIS DADOS? < 1-SIM,CWIAO)“I
440 I«UT D
450 IF D - 1 BO 70
460 END
EXEWLO:
ADICAO DE HATRIZES,SWrTRACAO,l«JLTIPI.ICACAOESCALAR
1-ADICAO
—140—
DIHENSAO DA HATRIZ (LIIHA, COLIMA) 72, 2 HATRIZ 1:LIIHA 1VALOR COLIMA 174 VALOR COLIMA 27S LIIHA 2VALOR COLUNA 176 VALOR COLUNA 273
HATRIZ 2:LIIHA 1VALOR COLIMA 171VALOR COLIMA 271LIIHA 2VALOR COLUNA 173VALOR COLIMA 275S 6
IMIS DADOS? (l-SIH.O NAO>7
—141—
F= REQRE8BÃO LINEAR
io Hore
20 VTAB 3: PRINT”, LI,EAR*
30 PRINT : PRINT"ESTE PR06RANA ESTA BELECE UNA LIMM RETA P/UN DETER NINADO CONJUNTO DE COORDENADAS USAM» O-
50 PRINT-MFTODO DOS HININOS QUADRA DOS*
60 PRINT*SAO IWRESSOS: EQUACAO DA LIMM*
70 PRINT* COEFICIENTE DEDETRENINACAO*
80 PRINT* COEFICIENTE DECORRELACAO*
90 PRINT* ERRO PADRAO DEESTIMATIVA"
100 PRINT* VALOR DE YPARA LU DADO X“
11O PRINT : PRINT : INPUT-NUNERO DE PONTUS CONECIDOS-IN
120 j - o:k - o:l - o:n - o
130 R2 - O
140 REN -LOOP DE ENTRADA DE COCR DENADA8 DOS PONTOS
-142-
ISO
160
170
180
190
200
210
220
230
240
250
260
270
280
290
-143-
300 PRINT
310 REN -ESTIMATIVA COORDENADAS Y DOS PONTOS ENTRAMXJ-SE COM AS COORDE NADAS X
320 PRINT"INTERPOLACAO:(ENTRE X-O P/ TERMINAR PROORAHA": IW>UT"X - "|X
330 REN -REINICIO OU FIN PROGRAMA?
340 IF X - O THEN END
350 PRINT-Y - "JA ♦ B * X: PRINT: GOTO 320
2020 VTAB 3: PRINT'REGRESSAO LIIEAR "
EXETPLO:
REGRESSÃO LINEAR
ESTE PROGRAMA ESTABELECE UMA LINHA RETA P/UM DETERMINADO CONJUNTO DE COORDENADAS USANDO OMÉTODO DOS MÍNIMOS QUADRADOS SAO IK>RESSOS: EQUACAO DA LIMA
COEFICIENTE DE DETERMINAÇÃO COEFICIENTE DE CORRELACAO ERRO PADRAO DE ESTIMATIVA
VALOR DE Y PARA UH DADO X
-144-
NUTERO DE PONTOS ONEC1DOS5 ENTRE X E V DO PONTO 1?1,3 ENTRE X E Y DO PONTO 272,6ENTRE X E Y DO PONTO 374,2 ENTRE X E Y DO PONTO 477,0ENTRE X E Y DO PONTO 575,5
F(X> - S.33333333 ♦ < -.561403509 • I
INTERPOLACAO: (ENTRE X^> P/TERNINAR PROGRAMX - O
— 145—
76 EQUAÇÕES 8It*MJI_TÂNEA8
IO PRINT*EQUACOES SIHULTAÜEAS*
20 PRINT
30 DIM A<9,1O>
40 PRINT*ENTRE "0a PARA TERMINAR PROGRAMA*: PRINT-NUTERO DE EQUAÇÕES*|
50 INPUT R
55 IF R - O THEN END
PRINT*COEFICIENTE DA MATRIZ:*
FOR J - 1 TO R
PRINT*EDUACAO *|J
FOR I - 1 TO R ♦ 1
IF I - R ♦ 1 THEN 130
PRINT* COEFICIENTE "Hl
GOTO 140
PRINT* CONSTANTE *1
IM>UT A(J,I>
►EXT I
NEXT J
FOR J - 1 TOR
-146—
I ! M M M n « M H M M
FOR I - J TOR
IF A<I,J> < > O THEN 230
NEXT I
PRINT’SOLUCAO NAD 1MICA*
GOTO 440
FOR K - 1 TOR ♦ 1
X - A<J,K>
A(J,K> - A<I,K)
A(I,K> - X
*EXT K
Y - 1 / A<J,J>
FOR K - 1 TOR ♦ 1
A(J,K> - V • A<J,K>
tEXT K
FDR I - 1 TO R
IF I - J TIEN 380
Y - - A(I,J>
FOR K - 1 TO R ♦ 1
A<I,K> - ACI,K> ♦ Y • A(J,K>
-147-
370 «XT K
380 «XT 1
390 «XT J
400 PRINT
410 FOR I - 1 TO R
420 PRINT’X’III" - "IINT <ACI,R ♦ 1>1000 * 0.5) / 1OOO
430 «XT I
440 PRINT : PRINT : BOTO 40
EXEOTLO:
EQUACOEB 8IHULTA«AS
ENTRE O PARA TERMINAR PROGRAMA NU«RO DE EOUACOE872 COEFICIENTE DA MATRIZ:EQUACAO 1
COEFICIENTE 1712COEFICIENTE 27-4CONSTANTE 734
EQUACAO 2COEFICIENTE 174SCOEFICIENTE 2756 CONSTANTE 7-14
XI - 2.169X2 - -1.993
-148-
U í n
388
8388
888
10 PRINT-DPERflCOEB EN DOIS VETORES*
PRINT-VETOR A: COORDENADAS X,Y,Z*I
IUPUT X1,Y1,Z1
PRINT'VETOR B: COORDENADAS X,Y,Z*|
HPUT X2.Y2.Z2
PRINT"A*^*|X1 ♦ X2|*,*|Y1 ♦ Y2|' -,-lZl ♦ Z2
PRINT*A-^*|X1 - X2|*,*|Y1 - Y21 •,*|Z1 - Z2
PRINT*A.^*|X1 • X2 ♦ Z1 * Z2 ♦ Y1 * Y2
PRINT*A*»«“IY1 • Z2 - Z1 * Y2| *,*|Z1 » X2- XI » Z2I*,*IXI • Y2 - VI • X2
PRINT-MAIS DADOS? < 1-SIH,<WIAO> -|
IHFUT X
IF X - 1 T>£N 20
EM>
-149—
EXEMPLO:
OPERACOES EM DOIS VETORES
VETOR A: COORDENADAS X,Y,Z?í.2.3 VETOR B: COORDENADAS X,Y,Z?4,S,8
A*B-S,7,11A-B— 3,-3,-5A.B-3SA*B-l,4,-3
MAIS DADOS? <1-SIH,O-NAO>?