BASIC | |
---|---|
Модел | Неструктурни, касније процедурални, и затим објектно-оријентисан |
Појавио се | 1. мај 1964. год. |
Дизајнер(и) | |
Имплементације | |
Утицаји | |
Утицао на |
Бејсик (енгл. BASIC, скраћеница од Beginner's All Purpose Symbolic Instruction Code) је назив више програмских језика који су пројектовани да буду једноставни за коришћење.
Првобитна верзија овог програмског језика развијена је на Дартмут колеџу 1964. под руководством Џона Џорџа Кемења и Томаса Јуџина Керца. Имплементиран је за рачунаре серије G.E.225. Требало је да буде једноставан језик за учење програмирања. Штавише, дизајнери су желели да постане први корак за студенте који треба да савладају моћније језике као што су фортран или алгол.
У старијим верзијама овог језика користили су се позитивни цели бројеви за обележавање појединачних линија кода програма. Број, на почетку линије, био је обавезан. У каснијим верзијама језика ово остаје само као опција. Бројеви су, између осталог, служили као ознаке за гранање унутар програма. Касније верзије Бејсика омогућавају да се за гранање користе ознаке у облику речи.
Бејсик језик има изузетно једноставну синтаксу, што му и име говори: Beginner's All-purpose...
Име промењљиве може имати до 256 знакова (слова, бројева и тачки)
Постоји више врста промењљивих
Кратак преглед најчешћих наредби
PRINT - Исписује текст на екран
PRINT "Hello world!"
INPUT - Захтева да се упише текст који ће бити уписан у једну или више промењљивих
INPUT "Upiši dva broja:", x, y
IF-THEN-ELSE - Условна наредба. У преводу АКО-ОНДА-ИНАЧЕ
IF x > 10 THEN PRINT "Broj je veći od 10." ELSE PRINT "Broj je manji od 10."
FOR-NEXT петља:
FOR i = 1 TO 10
PRINT i
NEXT i
DO-LOOP петља:
i = 1
DO
PRINT i
i = i + 1
LOOP UNTIL i > 10
i = 1
DO
PRINT i
i = i + 1
LOOP WHILE i <= 10
На левој страни је приказан програмски код, а на десној пример извршења програма који ради по написаном коду програма (добија се притиском типке F5).
Услови у Бејсику служе како би проверили вредности варијабли, упоредили их, те ефикасније управљали њима после испитаног услова. Постоји више начина постављања услова, те су неки од њих уприложена у наставку.
Услов мора почињати са речима IF (ако) и после те речице се ставља услов који програм треба да испита. Тај услов мора да садржи две већ постојеће варијабле те неки од релационих оператора(=,<,>,<=,>=,<>) које треба ставити између њих. Значи услов мора садржати две варијабле (вредности), те релацију између њих коју испитује тај услов. Такође услов може садржати и логичке операторе (AND, OR, NOT). Након услова следи последица, шта треба учинити ако је услов испуњен (наредба THEN). Кључне речи IF и THEN морају бити у истом реду.
Други део услова садржи последицу тј. шта ће програм учинити ако се деси да је услов испуњен. После речице IF и написаних варијабли, те релације између њих које програм испитује, обавезно се мора ставити речица THEN, те последица коју ће програм учинити ако је испуњен сваки део услова (или део услова прецизиран логичким операторима). Та последица обавезно мора садржати неку од наредби тј. шта ће програм учинити са жељеном варијаблом ако је услов испуњен. Ако се након кључне речи за последицу (THEN) користити само једна наредба онда се и она пише у истом реду али ако треба извршити више наредби онда се оне пишу у новом реду (свака) а блок IF..THEN се мора закључати наредбом END IF.
Трећи део услова укључује наредбу ELSE којом је омогућено извршавање последице када је резултат птовере услова нетачан (0). Иза речице THEN и низа наредби које ће се испунити у случају позитивног резултата услова, ставља се речицу ELSE те такође низ наредби које ће програм извршити уколико се деси да је резултат постављеног услова нетачан. Уколико се не стави овај део у услов тј. ако програмер не дефинише последицу негативног резултата постављеног услова, програм ће наставити извршавање програмског кода из следећег реда.
Ако је потребно да се уведе више услова тако да резултат буде јединствен онда се користе логички оператори AND (I) или OR (ILI).
Логичко коло AND ће имати резултат „тачно” што програму даје вредност 1 само ако су оба услова (или ако их има више онда сви услови) тачни. | Таблица истинитости логичког кола AND (I)
услов А услов Б резултат тачан тачан тачан тачан нетачан нетачан нетачан тачан нетачан нетачан нетачан нетачан |
Логичко кол OR ће имати резултат "тачно" што програму даје вредност 1 ако је бар један од услова тачан иначе има вредност 0 (нетачан). | Таблица истинитости логичког кола AND (I)
услов А услов Б резултат тачан тачан тачан тачан нетачан тачан нетачан тачан тачан нетачан нетачан нетачан |
Уз логичке операторе AND и OR Бејсик подржава и кључну реч NOT, чиме се прави инверзија тј. сви резултати који су код провере услова били „тачно” постају „нетачно” и обрнуто.
'''1. Пример'''
IF услов THEN наредба последице
'''2. Пример'''
IF услов THEN
Наредба1
Наредба2
...
END IF
'''3. Пример'''
IF услов THEN
Наредба1
Наредба2
...
ELSE
Наредба1
Наредба2
...
END IF
WHILE.. WEND Овај блок ће се извршавати све док је тврдња у услову тачна а провера се врши на улазу у блок. Његова синтакса је следећа:
WHILE услов
наредба1
наредба2
...
WEND
DO.. LOOP WHILE Овај блок ће се извршавати све док је тврдња у услову тачна а провера се врши на крају блока. Његова синтакса је следећа:
DO
Наредба1
Наредба2
...
LOOP WHILE услов
DO WHILE.. LOOP Овај блок ће се извршавати све док је тврдња у услову тачна а провјера се врши на улазу у блок. Његова синтакса је следећа:
DO WHILE услов
Наредба1
Наредба2
...
LOOP
DO.. LOOP UNTIL услов Овај блок ће се извршавати све док се тврдња у услову не испуни (док тврдња није тачна) а провера се врши на крају блока. Његова синтакса је следећа:
DO
Наредба1
Наредба2
...
LOOP UNTIL услов
DO UNTIL услов...LOOP Овај блок ће се извршавати све док тврдња у услову не буде тачна а провера се врши на улазу у блок. Његова синтакса је следећа:
DO UNTIL услов
Наредба1
Наредба2
...
LOOP
Уместо да се користи више блокова за проверу могуће је користити кључне речи SELECT CASE чиме је омогућен вишеструки избор. Синтакса је следећа:
SELECT CASE варијабла
CASE 1
наредба1
наредба2
...
CASE 2
наредба1
наредба2
CASE 4 TO 6
наредба1
наредба2
CASE IS >7
наредба1
END SELECT
-претпоставља се да коментар није потребан и да је видљиво из приложеног како функционише ова структура. Јасно да је и у оквиру сваког случаја (CASE) могуће додавати нове блокове услова, убацити прекид BREAK ..
Наредба GOTO је наредба (без)условног преласка на дефинисани ред. Често се користи уз услове и тада је условна.
Да би кориштење ове наредбе било могуће ред у који се врши скок мора почети бројем (бити нумерисан). Наредба GOTO се користи када се жели да програм, након прочитаног реда неког програма, не чита следећи ред, него уз помоћ наредбе GOTO, пређе на наведени ред тј. одакле ће програм наставити да чита програмски код. Због тога је потребна нумерација тог реда кода. Синтакса ове наредбе је следећа:
GOTO број кода
После речи GOTO се ставља број којим је нумерисан ред, од којег се жели да програм настави да чита програмски код. Наредба GOTO често се употребљава као последица (не)испуњавања услова. Нпр. може се ставити да, уколико се услов испуни програм настави читати програмски код са одређене позиције, а ако се не испуни, да се врати на поновно додељивање вредности варијабли (помоћу знака једнакости или наредбе INPUT).
Медији везани за чланак BASIC на Викимедијиној остави