Bejsik (engl. BASIC, skraćenica od Beginner's All Purpose Symbolic Instruction Code) je naziv više programskih jezika koji su projektovani da budu jednostavni za korišćenje.[1][2]

BASIC
МоделНеструктурни, касније процедурални, и затим објектно-оријентисан
Појавио се1. мај 1964. год.; пре 59 година (1964-05-01)
Дизајнер(и)
Имплементације
Uticaji
Uticao na

Prvobitna verzija ovog programskog jezika razvijena je na Dartmut koledžu 1964. pod rukovodstvom Džona Džordža Kemenja i Tomasa Judžina Kerca.[3] Implementiran je za računare serije G.E.225. Trebalo je da bude jednostavan jezik za učenje programiranja. Štaviše, dizajneri su želeli da postane prvi korak za studente koji treba da savladaju moćnije jezike kao što su fortran ili algol.

Struktura jezika uredi

U starijim verzijama ovog jezika koristili su se pozitivni celi brojevi za obeležavanje pojedinačnih linija koda programa. Broj, na početku linije, bio je obavezan. U kasnijim verzijama jezika ovo ostaje samo kao opcija. Brojevi su, između ostalog, služili kao oznake za grananje unutar programa. Kasnije verzije Bejsika omogućavaju da se za grananje koriste oznake u obliku reči.[4]

Sintaksa uredi

Bejsik jezik ima izuzetno jednostavnu sintaksu, što mu i ime govori: Beginner's All-purpose...

Promenjljive uredi

Ime promenjljive može imati do 256 znakova (slova, brojeva i tački)


Postoji više vrsta promenjljivih

  • integer - Ceo broj između -32 768 i 32 168
  • long - Ceo broj između -2 147 483 648 i 2 147 483 648
  • single - decimalni broj „jednostruke preciznosti"
  • double - decimalni broj „dvostruke preciznosti"
  • string - znakovi koji nisu brojevi (slova, itd.)

Najčešće naredbe uredi

Kratak pregled najčešćih naredbi

PRINT - Ispisuje tekst na ekran

PRINT "Hello world!"

INPUT - Zahteva da se upiše tekst koji će biti upisan u jednu ili više promenjljivih

INPUT "Upiši dva broja:", x, y
x i y su imena promenjljivih

IF-THEN-ELSE - Uslovna naredba. U prevodu AKO-ONDA-INAČE

IF x > 10 THEN PRINT "Broj je veći od 10." ELSE PRINT "Broj je manji od 10."

FOR-NEXT petlja:

FOR i = 1 TO 10
    PRINT i
NEXT i
Ispisuje brojeve od 1 do 10

DO-LOOP petlja:

i = 1
DO
    PRINT i
    i = i + 1
LOOP UNTIL i > 10
Isto kao i u prethodnom primeru
i = 1
DO
    PRINT i
    i = i + 1
LOOP WHILE i <= 10
Opet isto.

Osnovne naredbe u programskom jeziku Bejsik uredi

  • PRINT je izlazna naredba koja služi za ispisivanje teksta (znakova i brojeva) u programu. Sintaksa ove naredbe je PRINT varijabla. Da bi napisala ovu naredba potrebno je napisati reč PRINT, zatim naziv varijable, neki tekst ili broj. Ako se želi da se ispiše neka već definisana varijabla, nakon reči PRINT piše se ime te varijable. Ako se želi da se ispiše u programu neki tekst, to se može učiniti tako što će se napisati reč PRINT, pa pod navodnicima (" ") ispisati željeni tekst. Ako se želi da se ispiše neki broj, dovoljno je nakon reči PRINT napisati taj broj. Ako se želi da se ispiše više od jedne varijable (teksta ili broja) u programu to se može učiniti tako što će se staviti zarez (,) ili tačku-zarez (;) posle prve varijable (teksta ili broja), te taj postupak ponoviti nakon svake sledeće. Da li će biti zarez ili tačka-zarez zavisi od veličine razmaka između te dve varijable (teksta ili broja). Za manji razmak se stavlja tačku-zarez (;), a za veći zarez (,).
  • INPUT naredba će od korisnika programa tražiti unos neke numeričke vrednosti varijable. Njena sintaksa je INPUT varijabla. Isto tako je moguće staviti posle reči INPUT navodnike (" "), te pod navodnicima napisati tekst koji će se korisniku ispisati uz upit da se unese tražena varijabla. Ako se želi da se omogući unos tekstualnih vrednosti koristi se naredbu INPUT$, njena sintaksa je INPUT$ varijabla$.
  • REM naredba služi za dodavanje komentara pri pisanju programskog koda. Taj komentar će biti vidljiv samo u programskom kodu, dok ga korisnik tokom izvršavanja programa neće moći videti. Sintaksa ove naredbe je REM tekst. Dati tekst ne mora biti stavljen pod navodnike.
  • CLS je skraćenica od CLear Screen. Obično se stavlja na početak programa i time se postiže da se sav tekst u programu, uključujući i prošle programe izbriše sa ekrana u kojem se vidi izvršenje programa. Tako, svaki novi program počinje od početka ekrana i podaci se ispisuju sve do nove upotrebe CLS, kada se svi podaci ponovo izbrišu.
  • END se obično stavlja na kraj programa, mada nije obavezno. To čak ne spada u pravu vrstu naredbe, iako se stavlja na kraju programa, kako bi se potencijalni čitač programa lakše orijentisao. Takođe služi i kod naredbe bezuslovnog izlaska iz podprocedure, funkcije ili IF..THEN bloka.

Primer 3 uredi

Na levoj strani je prikazan programski kod, a na desnoj primer izvršenja programa koji radi po napisanom kodu programa (dobija se pritiskom tipke F5).

 
Primer korištenja naredbe PRINT
 
Program koji sabira dva broja

Uslovi uredi

Uslovi u Bejsiku služe kako bi proverili vrednosti varijabli, uporedili ih, te efikasnije upravljali njima posle ispitanog uslova. Postoji više načina postavljanja uslova, te su neki od njih upriložena u nastavku.

Prvi način postavljanja uslova uredi

Uslov mora počinjati sa rečima IF (ako) i posle te rečice se stavlja uslov koji program treba da ispita. Taj uslov mora da sadrži dve već postojeće varijable te neki od relacionih operatora(=,<,>,<=,>=,<>) koje treba staviti između njih. Znači uslov mora sadržati dve varijable (vrednosti), te relaciju između njih koju ispituje taj uslov. Takođe uslov može sadržati i logičke operatore (AND, OR, NOT). Nakon uslova sledi posledica, šta treba učiniti ako je uslov ispunjen (naredba THEN). Ključne reči IF i THEN moraju biti u istom redu.

Drugi deo uslova sadrži posledicu tj. šta će program učiniti ako se desi da je uslov ispunjen. Posle rečice IF i napisanih varijabli, te relacije između njih koje program ispituje, obavezno se mora staviti rečica THEN, te posledica koju će program učiniti ako je ispunjen svaki deo uslova (ili deo uslova preciziran logičkim operatorima). Ta posledica obavezno mora sadržati neku od naredbi tj. šta će program učiniti sa željenom varijablom ako je uslov ispunjen. Ako se nakon ključne reči za posledicu (THEN) koristiti samo jedna naredba onda se i ona piše u istom redu ali ako treba izvršiti više naredbi onda se one pišu u novom redu (svaka) a blok IF..THEN se mora zaključati naredbom END IF.

Treći deo uslova uključuje naredbu ELSE kojom je omogućeno izvršavanje posledice kada je rezultat ptovere uslova netačan (0). Iza rečice THEN i niza naredbi koje će se ispuniti u slučaju pozitivnog rezultata uslova, stavlja se rečicu ELSE te takođe niz naredbi koje će program izvršiti ukoliko se desi da je rezultat postavljenog uslova netačan. Ukoliko se ne stavi ovaj deo u uslov tj. ako programer ne definiše posledicu negativnog rezultata postavljenog uslova, program će nastaviti izvršavanje programskog koda iz sledećeg reda.

Ako je potrebno da se uvede više uslova tako da rezultat bude jedinstven onda se koriste logički operatori AND (I) ili OR (ILI).

Logičko kolo AND će imati rezultat „tačno” što programu daje vrednost 1 samo ako su oba uslova (ili ako ih ima više onda svi uslovi) tačni. Tablica istinitosti logičkog kola AND (I)
услов А    услов Б    резултат
 тачан       тачан      тачан
 тачан      нетачан    нетачан
нетачан      тачан     нетачан
нетачан     нетачан    нетачан
Logičko kol OR će imati rezultat "tačno" što programu daje vrednost 1 ako je bar jedan od uslova tačan inače ima vrednost 0 (netačan). Tablica istinitosti logičkog kola AND (I)
услов А    услов Б    резултат
 тачан       тачан     тачан
 тачан      нетачан    тачан
нетачан      тачан     тачан
нетачан     нетачан    нетачан

Uz logičke operatore AND i OR Bejsik podržava i ključnu reč NOT, čime se pravi inverzija tj. svi rezultati koji su kod provere uslova bili „tačno” postaju „netačno” i obrnuto.

Sintaksa IF bloka uredi

'''1. Пример'''
IF услов THEN наредба последице

'''2. Пример'''
 IF услов THEN 
  Наредба1
  Наредба2
    ...
 END IF

'''3. Пример'''
 IF услов THEN
  Наредба1
  Наредба2
    ...
 ELSE
  Наредба1
  Наредба2
    ...
 END IF

Još neki od blokova za proveru uslova uredi

WHILE.. WEND Ovaj blok će se izvršavati sve dok je tvrdnja u uslovu tačna a provera se vrši na ulazu u blok. Njegova sintaksa je sledeća:

 
 WHILE услов
  наредба1       
  наредба2
    ...
 WEND

DO.. LOOP WHILE Ovaj blok će se izvršavati sve dok je tvrdnja u uslovu tačna a provera se vrši na kraju bloka. Njegova sintaksa je sledeća:

 DO
  Наредба1
  Наредба2
    ...
 LOOP WHILE услов

DO WHILE.. LOOP Ovaj blok će se izvršavati sve dok je tvrdnja u uslovu tačna a provjera se vrši na ulazu u blok. Njegova sintaksa je sledeća:

 DO WHILE услов
  Наредба1
  Наредба2
    ...
 LOOP

DO.. LOOP UNTIL uslov Ovaj blok će se izvršavati sve dok se tvrdnja u uslovu ne ispuni (dok tvrdnja nije tačna) a provera se vrši na kraju bloka. Njegova sintaksa je sledeća:

 DO
  Наредба1
  Наредба2
    ...
 LOOP UNTIL услов

DO UNTIL uslov...LOOP Ovaj blok će se izvršavati sve dok tvrdnja u uslovu ne bude tačna a provera se vrši na ulazu u blok. Njegova sintaksa je sledeća:

 DO UNTIL услов
  Наредба1
  Наредба2
    ...
 LOOP

Višestruki odabir uredi

Umesto da se koristi više blokova za proveru moguće je koristiti ključne reči SELECT CASE čime je omogućen višestruki izbor. Sintaksa je sledeća:

 SELECT CASE варијабла
   CASE 1
     наредба1
     наредба2
       ...
   CASE 2
     наредба1
     наредба2
   CASE 4 TO 6
     наредба1
     наредба2
   CASE IS >7
     наредба1
 END SELECT

-pretpostavlja se da komentar nije potreban i da je vidljivo iz priloženog kako funkcioniše ova struktura. Jasno da je i u okviru svakog slučaja (CASE) moguće dodavati nove blokove uslova, ubaciti prekid BREAK ..

Naredba bezuslovnog skoka uredi

Naredba GOTO je naredba (bez)uslovnog prelaska na definisani red. Često se koristi uz uslove i tada je uslovna.

Da bi korištenje ove naredbe bilo moguće red u koji se vrši skok mora početi brojem (biti numerisan). Naredba GOTO se koristi kada se želi da program, nakon pročitanog reda nekog programa, ne čita sledeći red, nego uz pomoć naredbe GOTO, pređe na navedeni red tj. odakle će program nastaviti da čita programski kod. Zbog toga je potrebna numeracija tog reda koda. Sintaksa ove naredbe je sledeća:

GOTO broj koda

Posle reči GOTO se stavlja broj kojim je numerisan red, od kojeg se želi da program nastavi da čita programski kod. Naredba GOTO često se upotrebljava kao posledica (ne)ispunjavanja uslova. Npr. može se staviti da, ukoliko se uslov ispuni program nastavi čitati programski kod sa određene pozicije, a ako se ne ispuni, da se vrati na ponovno dodeljivanje vrednosti varijabli (pomoću znaka jednakosti ili naredbe INPUT).

Slični jezici uredi

Standardi uredi

  • ANSI Standard for Minimal BASIC (ANSI X3.60-1978 "FOR MINIMAL BASIC")
  • ISO Standard for Minimal BASIC (ISO/IEC 6373:1984 "DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC")

Reference uredi

  1. ^ „Bejsik ili bejzik?”. Pristupljeno 25. 1. 2021. 
  2. ^ Kemeny, John G.; Kurtz, Thomas E. (1964). Basic: a manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System (PDF) (na jeziku: engleski) (1st izd.). Hanover, N.H.: Dartmouth College Computation Center. 
  3. ^ Mišić, Milan, ur. (2005). Enciklopedija Britanika. A-B. Beograd: Narodna knjiga : Politika. str. 119. ISBN 86-331-2075-5. 
  4. ^ „Šta je BASIC programski jezik. Osnovni jezik. Glavne verzije Visual Basic-a”. Pristupljeno 25. 1. 2021. 

Literatura uredi

Spoljašnje veze uredi

  Mediji vezani za članak BASIC na Vikimedijinoj ostavi