Cím: A BASIC-nyelv ismertetése IV. (Az értékadás egy más módja, tabulálások)
Füzet: 1981/szeptember, 19 - 21. oldal  PDF  |  MathML 

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

 

SZÁMÍTÁSTECHNIKAI ROVAT
 
(Rovatvezető: Ada‐Winter Péter)
 
BASIC-nyelv ismertetése IV.
 
(Az értékadás egy más módja, tabulálások)
 

Az 1981. évi márciusi számunkban már szó esett a LET értékadó utasításról, amellyel többek között a változók kezdeti értékét állítjuk be. Ennek az utasításnak az a hátránya, hogy ha új kezdőértékkel akarjuk a programot futtatni, több utasítást is meg kell változtatnunk. A programok készítésénél célszerű ezeket a kezdő adatokat különválasztani a program más részleteitől, mert így könnyebb kicserélni őket. Ezt a READ‐DATA értékadó utasításpárral oldhatjuk meg. A DATA utasításban csak számok lehetnek (szemben a LET-tel), és a DATA bárhol lehet, a READ ,,megkeresi". Hogyan is néznek ki ezek az utasítások?
 


  Sorszám READ a változók nevei vesszővel elválasztva
  Sorszám DATA a változók értékei  


A DATA adatokat tárol, melyek a READ utasítással olvashatók ki. A DATA-ban legalább annyi adatnak kell lenni, mint amennyi változó a READ-ben van. A következő példában a két értékadó módszert hasonlítjuk össze:
  10 READ A,  B,  C    10 INPUT A,  B,  C  20 DATA 2, 8, 6    20 LET X=A*(B+C)  30  PRINT A*(B+C)  30 PRINT X  40  END    40 END     RUN     RUN   28     1, 2, 8, 6         28  

Ha összetett függvények helyettesítési értékeit kell kiszámítani, akkor a
 


  DEF FN ,,valamilyen betű" változók = képlet  


segítségével dolgozhatunk:

  10 DEF FNA (A, B)=SQR(A**3+B**3)
  20 READ A,  B    30 DATA 4, 8, 21  40 LET X=FNA(A, B)  50 PRINT A,  B,  X  60 END   RUN   4.8 21 96.81  


Ha egy PRINT utasítást egy pontosvesszővel zárunk le, akkor a következő PRINT utasítás eredménye is ugyanabba sorba kerül, egyébként a következő sorba. Ezt a lehetőséget használhatjuk arra, hogy a kiíratás formáját áttekinthetőbbé tegyük. Hasonló célt szolgál a TAB(x) utasítás is. Ebben x azt a pozíciót jelöli meg, melyre az adott soron belül a következő karakter kerül.
Nézzünk erre is egy példát, a már II. részben elemzett sin illetve cos függvény táblázat készítését:
  10 DEF FNA(X)=COS(X)  20 DEF FNB(X)=SIN(X)    30 LET T=1  40 DEF FNC(X)=T*3.14/180  50 PRINT,,FOK"; TAB(20); ,,COS"; TAB(40); ,,SIN"  60 PRINT T; TAB(20); FNA(FNC(T)); TAB(40); FNB(FNC(T))  70 LET=T+2  80 PRINT T; TAB(20); FNA(FNC(T)); TAB(40); FNB(FNC(T))  90 END  

RUNFOKCOSSIN10.99980.017530.99860.0523  

Végezetül az elmondottakra egy összefoglaló példa. Számítsuk kiaz y7x2+2x+2 függvény értékét az x=1,2,...,6 helyeken:
  10 DEF FNA(X)=X**2+2*X+2  20 READ B,  C,  D)    30 PRINT FNA(B); TAB(10); FNA(C); TAB(20); FNA(D)  40 READ E,  F,  G)    50 PRINT FNA(E); TAB(10); FNA(F); TAB(20); FNA(G)  60 DATA 1, 2, 3, 4, 5, 6  70 END

RUN51017263750  


Az eddig kitűzött 6 feladatra érkezett dolgozatok megoszlása a következő volt:
 
Részben jóHibásÖsszesen1. feladat3684819435  2. feladat4311325409  3. feladat5410269225  4. feladat3215451  5. feladat4925-74  6. feladat5731896Összesen9912341251350  

Örömmel tapasztaltuk, hogy az 1350 beküldő közül 228 általános iskolai tanuló volt, elsősorban miskolci, kecskeméti iskolákból.
A feladatok ABC/80 számítógépen való megoldására, programok futtatására továbbra is lehetőség van, ha ezt előre írásban kérik az alábbi címen. Felhívjuk a figyelmet arra, hogy a következő hónaptól kezdve a Számítástechnikai Rovatunk is pontversenyt indít.
7. feladat: Írjunk BASIC programot, amely kiszámítja és kinyomtatja 100! (száz faktoriális) pontos értékét.
8. feladat: A DEF, READ, DATA, TAB utasítások segítségével rajzoljuk ki az F(x)=4x23 függvény képét az alábbi elhelyezésben:

 (Némethy Katalin)
A feladatok megoldásait a következő címre kérjük küldeni:
Appel György
Fővárosi Pedagógiai Intézet Oktatástechnikai Csoport, Budapest, VIII. Bródy Sándor u. 14. 1088