Vědět víc - vzdělávací portál pro zvídavé


Lab 1: Interpret vs Překladač

Slide

Předpokládejme, že máme DOSBox nastavený z předchozích cvičení. Zpustíme jej tedy. 

Spustíme GWBASIC napsáním příkazu GWBASIC a stisknutím klávesy Enter. 

Napíšeme jednoduchý program: 

10 ZAC=TIMER 
20 FOR I=0 TO 10000 
30 PRINT ".", 
40 NEXT I 
50 KON=TIMER 
55 PRINT 
60 PRINT "Trvani: ";KON-ZAC 

Program vypíše spoustu (přesně 10001) teček a skončí. Na konci vypíše informaci, jak dlouho trval. Tuto hodnotu si poznamenejte. 

GWBASIC je typický interpret. Chceme-li, aby program běžel, musíme mít GWBASIC. Chceme-li provést opravu programu, je to velmi jednoduché. 

Uložte si program s názvem “TISK1” pomocí příkazu

SAVE ”TISK1”,a 

Parametr a u příkazu SAVE je velmi důležitý - potřebujeme soubor uložit v textové, tedy čitelné podobě. 

Ukončete GWBASIC příkazem

SYSTEM

Nyní přejdeme na druhou část příkladu. Spustíme Turbo Basic, a to takto (počítáme, že jsme stále v DOSBoxu): 

Přejděte do složky TBASIC. Napište 

cd tbasic 

a stiskněte Enter 

Napište

tb 

a stiskněte Enter 

Objeví se prostředí Turbo Basicu: 


Vyberte nabídku File a stiskněte Enter. Následně vyberte příkaz Load (pomocí šipek a klávesy Enter) a jméno souboru ponechte *.BAS. Stiskněte Enter


Vyberte nadřízenou složku (..\) a stiskněte Enter. Poté vyberte soubor TISK1.BAS 


Program se zobrazí v okně Edit, kde jej můžete zkontrolovat. 

Z nabídky vyberte příkaz Compile (pomocí šipek a klávesy Enter nebo pomocí zkratky Alt+C). Průběh a výsledek překladu (kompilace) uvidíte v okně Message


Opustíme Turbo BASIC volbou File -> Quit (nebo klávesovou zkratkou Alt+X).  

Zkontrolujeme, že se ve složce (adresáři) nachází spustitelný soubor. 

Napište příkaz 

DIR 

A stiskněte Enter. Ve výpise by se měl objevit soubor TISK1.EXE 


Napište 

TISK1 

Stiskněte Enter a zkontrolujte, jak rychle program proběhl. 

Nyní jsme vyzkoušeli spustitelný soubor (EXE), který jsme vytvořili kompilátorem. Soubor EXE můžeme spouštět i jinde a již nepotřebuje žádný BASIC. Je ve strojovém kódu.