Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
BASIC - Wikipedia, wolna encyklopedia

BASIC

Z Wikipedii

Na tę stronę wskazuje przekierowanie ze strony basic. Zobacz też: Basic - język ze świata Gwiezdnych Wojen.

BASIC (Beginner's All-purpose Symbolic Instruction Code) - język programowania wysokiego poziomu, opracowany w 1964 przez Johna George'a Kemeny'ego i Thomasa E. Kurtza w Dartmouth College w oparciu o Fortran i Algol-60. Jego pierwsza wersja znana była później pod nazwą Dartmouth BASIC, pierwszy program w BASIC-u został uruchomiony 1 maja 1964[1].

Spis treści

[edytuj] Historia

Założenia projektantów BASIC-a uwzględniały łatwość użytkowania, wszechstronność zastosowań, interaktywność i dobrą komunikację z użytkownikiem poprzez jasne komunikaty błędów.

BASIC wybił się na czoło języków do zastosowań amatorskich i półprofesjonalnych po wprowadzeniu na rynek mikrokomputera Altair 8800. Twórcami dialektu BASIC-a dla tej maszyny byli Bill Gates i Paul Allen. BASIC szybko zaimplementowany został przy budowie serii komputerów Apple, a później (jako GW BASIC) w IBM PC (początkowo w ROM, a po pojawieniu się DOS-a na dyskietce).

Następcą GW BASIC-a dla pecetów został QB, później rozprowadzany komercyjnie jako QuickBASIC, który w końcu wyewoluował w Visual Basic for Windows. Istnieją też alternatywne interpretery i kompilatory tego języka dla platformy win32 (Power BASIC, DarkBASIC itp.)

W Polsce najbardziej znane są dialekty BASIC-a napisane dla popularnych komputerów ośmiobitowych - Commodore, Amstrada CPC, Atari i Sinclair ZX Spectrum.

[edytuj] Semantyka

Programy w BASIC-u składają się z kolejno wykonywanych instrukcji, które zebrane są w wiersze. Wszystkie dialekty oprócz najprymitywniejszych dopuszczają kilka instrukcji w jednym wierszu, rozdzielonych zazwyczaj znakiem dwukropka. Starsze wersje wymagały numerowania wierszy (maksymalny numer wynosił zwykle 9999, 16384, 32767, czasami 65535 co miało miejsce w Meritum).

Zmienne mogą mieć dowolnie długie nazwy zaczynające się od litery. Nazwy zmiennych łańcuchowych zakończone są znakiem dolara, np. x$, zmienna$. Tablice mogą mieć dwa lub więcej wymiarów (w niektórych dialektach tablice znakowe służą do wskaźnikowego dostępu do łańcuchów, jak w C).

BASIC w sprowadzonej do wspólnego mianownika wersji posiada bardzo proste mechanizmy sterowania przebiegiem programu - instrukcję skoku bezwarunkowego GOTO, wywołania podprogramu GOSUB (kończonego instrukcją RETURN) oraz warunkową (IF..THEN (oraz ELSE w niektórych dialektach). Za pomocą konstrukcji FOR..NEXT można powtarzać określone fragmenty programu w pętli iteracyjnej.

Niektóre dialekty posiadają także instrukcje pętli warunkowej (DO LOOP..UNTIL, WHILE..WEND), skoku warunkowego (ON GOTO, ON GOSUB), oraz wyboru warunkowego (CASE..SELECT).

Inne typowe instrukcje:

RUN - uruchomienie programu
PRINT tekst - wyprowadzenie tekstu lub wartości zmiennej na urządzenie wyjściowe (najczęściej ekran).
INPUT zmienna - wczytanie wartości z klawiatury do zmiennej
DIM tablica - deklaracja tablicy
LET zmienna = wartość - deklaracja zmiennej (czasami LET można opuścić)
STOP - zatrzymanie programu
CONTINUE - wznowienie zatrzymanego programu (CONT w Atari BASIC)

W niektórych wersjach dostępne były skróty najczęściej wykorzystywanych instrukcji, np.

  • PRINT – PR. oraz ?
  • GOTO - G.
  • DRAWTO – DR.
  • RUN – RU.

Ponadto w większości dialektów dostępne są funkcje matematyczne (INT, ABS, SGN) trygonometryczne (SIN, COS, TAN, czasami LOG, LN) i operacji na łańcuchach (szereg funkcji zakończonych znakiem $, np. LEFT$, UPPER$).

[edytuj] Najbardziej znane dialekty

[edytuj] Przykładowy program

10 PRINT "Witaj"
20 INPUT "Ile gwiazdek mam wydrukowac"; ile
30 PRINT "*";
40 LET ile = ile -1
50 IF ile > 0 THEN GOTO 30

Powyższy program to klasyczny, niestrukturalny BASIC. Linie są w nim numerowane a pętle uzyskuje się używając instrukcji skoku GOTO. Duża ilość skoków powodowała, że kod wczesnego BASIC-a był często trudny do odczytania i zrozumienia, powstał nawet termin spaghetti code określający taki sposób tworzenia programów.

[edytuj] Ciekawostki

  • Podejmowano różne próby ułatwienia pisania programów przez osoby nie robiące tego zawodowo (czyli większość posiadaczy komputerów domowych). Najbardziej oryginalne rozwiązanie było zastosowane w komputerach ZX Spectrum, gdzie do każdego klawisza przypisana było słowo kluczowe bądź nazwa funkcji wbudowanej języka BASIC (tak aby nie było potrzeby wpisywania ich znak po znaku). Miało to znacznie ułatwić i przyspieszyć pisanie programów. Rozwiązanie to w praktyce oznaczało niemałe trudności w pisaniu programów, gdyż język dostępny dla tego komputera miał na tyle dużo instrukcji, że każdemu klawiszowi przypisane było ich wiele. Dostęp do nich był możliwy po kłopotliwym przełączaniu trybów edytora[potrzebne źródło].

[edytuj] Zobacz też

[edytuj] Przypisy

  1. "May 1, 1964: First Basic Program Runs"

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com