Istorija osnovna. OSNOVNI programski jezik. Osnove jezika. Postavljanje cilja lekcije

» [Naučite programirati][Uvod u Basic]

Učenje programiranja!
Bilješke učenika.

Uvod u osnovni programski jezik.

Da se algoritam predstavi u obliku razumljivom računaru, programski jezici. Prvo se razvija algoritam radnji, a zatim se piše na jednom od ovih jezika. Rezultat je tekst programa - kompletan, potpun i Detaljan opis algoritam u programskom jeziku. Zatim ovaj tekst programa sa posebnim servisnim aplikacijama, koje se zovu prevodioci, ili preveden u mašinski kod (jezik nula i jedinica), ili izvršen.

A kada plaćate kreditnom karticom? Svi ovi uređaji su ugrađeni sistemi. Ovaj program treba da detektuje pritisak na tastere i da se ponaša u skladu sa tim, kao i da prikaže informacije korisniku. Na primjer, budilnik treba da stupi u interakciju s korisnikom, da otkrije koje dugme korisnik pritisne i ponekad koliko dugo je pritisnuto, te programira uređaj u skladu s tim, a sve prikazuju relevantne informacije korisniku. Na primjer, sistem protiv blokiranja kočnica vozila mora biti u stanju da otkrije iznenadno blokiranje guma i djeluje tako da otpusti pritisak na kočnice u kratkom vremenskom periodu, otključa ih i na taj način spriječi nekontrolisano proklizavanje.

Programski jezici su umjetni jezici. Od prirodnih se razlikuju po ograničenom broju "riječi", čije je značenje jasno prevodiocu, te po vrlo strogim pravilima za pisanje naredbi ( operateri).

Za pisanje teksta programa možete koristiti običan uređivač teksta (na primjer, Notepad), a zatim ga pomoću kompajlera prevesti u mašinski kod, tj. nabavite izvršni program. Ali lakše je i praktičnije koristiti posebna integrirana programska okruženja.

Neki osnovni jezički operateri

Sve ove proračune izvodi programirani ugrađeni sistem. Ali uprkos tome, postoji mnogo razloga za vjerovanje da će C programiranje ostati aktivno još dugo vremena. U programskim jezicima, jedna veličina ne odgovara svima.

To je što bliže mašini, iako je skoro univerzalno za postojeće procesorske arhitekture. A ovih dana, zbog visoko optimiziranih binarnih datoteka koje proizvode moderni kompajleri, nije lak zadatak poboljšati njihov izlaz pisanom gradnjom. Sistemske aplikacije moraju čitati i pisati na ove prilagođene memorijske lokacije kako bi komunicirale sa svijetom.

Basic (Basic) je nastao 60-ih godina kao obrazovni jezik i vrlo je lak za učenje. Nalazi se na prvom mjestu po popularnosti u svijetu.

Neki operatori osnovnog jezika.

REM je operator komentara. Sve nakon ovog operatora do kraja reda kompajler ignorira i namijenjeno je isključivo ljudima. One. ovde možete pisati šta god želite. Zgodno je koristiti komentar na početku programa da naznači njegovo ime i svrhu.

Deterministička upotreba resursa

Prvi red funkcije će se proširiti na. Sljedeći red će se proširiti na. Ove informacije su važne za optimizator kompajlera. Uobičajena jezička karakteristika na koju se sistemsko programiranje ne može osloniti je sakupljanje smeća ili čak samo dinamička alokacija za neke ugrađene sisteme. Ugrađene aplikacije su vrlo ograničene u vremenu i memorijskim resursima. Često se koriste za sisteme u realnom vremenu gde nije moguće obezbediti deterministički poziv sakupljaču smeća.

primjer:
REM Ovo je komentar
moglo bi biti tako:
„Ovo je takođe komentar.

CLS- obrišite ekran. Sve informacije koje su bile na ekranu se brišu.

PRINT(output, print) – izlazni izraz.

primjer:
PRINT "Zdravo! Moje ime je Sasha."

Na ekranu će se prikazati poruka: Zdravo! Moje ime je Sasha.

INPUT(input) je operator unosa. Koristi se za prosljeđivanje vrijednosti u program.

Jezici koji se u velikoj meri oslanjaju na dinamičku alokaciju i sakupljanje smeća nisu prikladni za sisteme sa ograničenim resursima. A količina memorije za njegov kod je manja nego za većinu drugih jezika. Jedan od glavnih razloga za to je podrška izuzecima. Stoga ih kompajler ne može raščlaniti i ne može znati da li će izbaciti izuzetke. Stoga se mora pripremiti za rukovanje izuzecima izbačenim iz bilo kojeg od njihovih konstruktora, destruktora ili drugih poziva metoda.

Destruktori ne moraju bacati, ali korisnik svejedno može bacati, inače se mogu pozvati indirektno pozivanjem neke funkcije ili metode koja izbacuje izuzetak. Jedna implementacija mehanizma za odmotavanje steka koristit će povratnu adresu posljednjeg poziva ovoj funkciji za provjeru "broja kontrolne tačke" poziva koji je izazvao izuzetak.

primjer:
INPUT a

Ekran će od vas tražiti da unesete podatke (pojaviće se "?") i računar će čekati da se oni unesu. Za ulazak morate unijeti podatke sa tastature i pritisnuti enter (enter).

INPUT "Unesite broj a:", i

Računar će prikazati: "Unesite broj a:" i sačekajte da se unesu podaci.

DIM– operator opisa tipa varijable.

To radi koristeći pomoćnu funkciju automatskog generiranja koja će se koristiti za odmotavanje steka u slučaju iznimke iz tijela ove funkcije izuzetka, što bi bilo slično ovome. Ako je izbačen izuzetak iz tačaka prekida 1 i 9, nijedan objekt ne mora biti uništen. U svim slučajevima mora se poštovati redosled uništavanja. Ova pomoćna funkcija dodaje veličinu kodu. Mnoge ugrađene aplikacije ne mogu priuštiti ovaj dodatni prostor.

razumeti mašinu

Korištenje ove modificirane sheme bez izuzetaka zahtijeva više pripreme za identifikaciju mogući problemi ili tražite greške. Ovo povećanje binarne veličine pogoršava se za druge jezike, što dodaje dodatne troškove i druge korisne karakteristike, ali ih ne mogu obezbijediti ugrađeni sistemi. Pogledajmo neke od ovih prednosti. Ovo daje maksimalnu moguću prenosivost za implementaciju. Stoga ćete vjerovatno imati koristi od poznavanja ovog jezika. Da li ovaj dio prosljeđuje "pokazivač" na objekt ili kopira cijeli objekt?

Ispod varijabla programski jezici razumiju programski objekt (broj, riječ, dio riječi, nekoliko riječi, simbola) koji ima ime i vrijednost koju program može dobiti i izmijeniti.
Ako "pogledate" u kompjuter, onda se varijabla može definirati na sljedeći način:

Varijabla je ime fizičke lokacije u memoriji koja može imati samo jednu vrijednost u isto vrijeme.

Može li ovdje biti neka vrsta "dobacivanja"? Rijetko smo raspravljali o asemblerskim uputama koje dio koda izvršava kada analiziramo ponašanje dijela koda jezika. visoki nivo. Štaviše, ako ne možete da stanete i razmislite o tome šta radite, možda ćete završiti sa programiranjem sa sujeverjem o tome kako se stvari rade.

Ovo je sjajan članak, Daniele. Obojica su mi potpisali i napisali ličnu poruku! Učenje samo jezika visokog nivoa, iako je dobro i može biti neophodno za današnje potrebe, nije dovoljno da bi jedan jak programer. Ako znate šta radite i imate dobro i solidno znanje o tehnologiji koju koristite, ne samo da ne oduzima mnogo vremena, već je i mnogo brže i efikasnije. Međutim, svijet web razvoja rado žrtvuje performanse radi performansi: to je "okvir" domene.

Varijabla je ćelija u ram memorija kompjuter za pohranjivanje informacija.

Sam naziv "varijable" implicira da se sadržaj ovog odjeljka može mijenjati.
Latinična slova sa indeksima mogu se koristiti kao imena varijabli. I možda neće biti jedno slovo, već nekoliko.

primjer:
DIM a, b, čislo1 KAO INTEGER

Uvod u osnovni programski jezik

Iznova i iznova vas podsjećaju da ne izmišljate točak. Pod ovim motom, jezici višeg nivoa imaju mnoštvo "programera" koji se ne očekuju ili su možda čak i sposobni da razmišljaju: samo bezimeni radnici na proizvodnoj traci. Molim te reci mi odakle da počnem. Ovo je jedno od najpopularnijih pitanja. Jedini problem sa ovim pitanjem je što je to skoro kao da nekoga pitate koji auto treba da kupi.

Odgovor zavisi od mnogo stvari. Sa razvojem weba, slijedi potpuno isti model scenarija automobila. Da li želite da radite za sebe ili za kompaniju? Koliko ste spremni uložiti u obrazovanje? Koliko vremena imate? Koja su vaša trenutna znanja o web razvoju? Koja je svrha studiranja programa? Da li više volite backend ili interfejs?

Integer – cijeli brojevi od -32768 do 32768

Ako program koristi varijable koje nisu deklarirane pomoću DIM naredbe, tada će ih računalo tretirati kao univerzalne varijable. To može dovesti do neefikasne upotrebe RAM-a. Osim toga, takve programe nije uvijek lako razumjeti - slabo su čitljivi.

Ako želite da postanete web programer

Ako vam se sviđa ovaj članak, dajte ga opšti pristup❤️. Primeri šta on može da uradi se mogu naći. Na kraju krajeva, to je uvijek odličan izbor, a statistike sugeriraju da neće nestati uskoro. Koristi ga 15 milijardi ljudi.To je univerzalni jezik za izgradnju brzih, sigurnih aplikacija koje koriste prednosti današnjih višejezgrenih procesora.

Paralelnost je jedna od glavnih prednosti. Ovo je odlično za velike aplikacije koji obavljaju više zadataka u isto vrijeme. Ima odličnu standardnu ​​biblioteku i brzo se kompilira. Također je odličan za istovremene zadatke i programe.

Operator dodjeljivanja se koristi za dodjelu vrijednosti varijabli. Napisano je ovako:
LET varijabla = značenje(ili jednostavno: varijabla = značenje)

primjer:
NEKA je a = 3
broj1 = 15

KRAJ je izjava o kraju programa.

Aritmetičke operacije u osnovnom jeziku.

Operacija Oznaka Primjer Rezultat
Dodatak + 2+5 7
Oduzimanje - 10-8 2
Množenje * 3*4 12
Division / 15/3
15/4
5
3.75
Cjelobrojna podjela \ 15\4 3
Eksponencijacija ^ 2^3 8
Ostatak divizije MOD 13MOD5 3

Matematičke funkcije u osnovnom jeziku.

Ovo je najveći mit o programiranju. Ako živite u "stvarnom svijetu", oboje znamo da je to daleko od istine. Samo zato što znate sve programske jezike ne znači da možete napraviti bolju web stranicu od nekoga ko zna upola manje od vas.

Istorija programskih jezika

Pokazali smo vam najbolji jezici programiranje za. To znači da je to programski jezik. Računalni jezici su prvo bili sastavljeni od niza koraka za povezivanje određenog programa; pretvorili su se u niz koraka koji su uneseni u kompjuter i potom izvršeni; kasnije, ovi jezici su dobili dodatne karakteristike kao što su logičko grananje i objektna orijentacija. Računalni jezici u posljednjih pedeset godina prošli su kroz dvije faze: prvi glavni jezici i drugi glavni jezici koji su danas u upotrebi.

Sada, bez komplikacija, možete nastaviti direktno na kompajliranje programa ...

U prvom primjeru, ako unesena vrijednost varijable i1% nije pozitivna (manja ili jednaka nuli), tada se u varijablu i1% upisuje vrijednost 1. U drugom primjeru se izvode iste radnje kao u prvi, ali sa drugačijom sintaksom komande. U trećem primjeru, također, ako vrijednost varijable i1% nije pozitivna, tada vrijednost postaje jednaka 1, a ako je pozitivna, onda se množi sa 2. U četvrtom primjeru, ako je vrijednost varijable varijabla nije pozitivna. tada varijabla uzima vrijednost 1. U suprotnom (kada je vrijednost pozitivna), a ako je jednaka 3 (i1% = 3), tada se vrijednost udvostručuje (i1% = i1% * 2). Ako je vrijednost varijable i1% pozitivna i nije jednaka 3, onda se povećava za jedan (i1% = i1% + 1).

U početku, umni motor Charlesa Babbagea mogao se natjerati da izvršava zadatke samo promjenom zupčanika koji su izvodili proračune. Dakle, najraniji oblik kompjuterskog jezika bilo je fizičko kretanje. Slijedio je mnoge od istih principa Babbageovog motora, i stoga je mogao biti programiran samo unaprijed postavljenim prekidačima i resetiranjem cijelog sistema za svaki novi "program" ili proračun. Ovaj proces se pokazao veoma zamornim.

Provjera domaćeg

Razvio je dva važna koncepta koji su direktno uticali na način programiranja jezika. Prva od njih bila je poznata kao "tehnologija zajedničkog programa". Ovaj metod navodi da stvarni hardver računara treba da bude jednostavan i da ne zahteva ručno ožičenje za svaki program. Umjesto toga, složene komande moraju se koristiti za kontrolu jednostavnog hardvera, što omogućava da se reprogramira mnogo brže.

INKEY$- Provjerava da li su tipke na tastaturi pritisnute.

Primjer. URADITI: PETLJA DO INKEY$ = "a"

U ovom primjeru, petlja je organizirana sve dok se ne unese znak "a".

INP- čitanje bajta sa specificiranog porta.

INPUT- čita podatke sa tastature.

Primjeri. 1. INPUT i1% 2. INPUT "Unesite vrijednost - ", i1%

U prvom primjeru čita se jedna vrijednost koja će biti dodijeljena varijabli i1%. Nakon unosa numeričke vrijednosti, pritisnite tipku Enter. Vrijednosti znakova mogu se unijeti direktno ili okružene navodnicima. U drugom primjeru, prije unosa vrijednosti, na ekranu će se pojaviti poruka: " Unesite vrijednost -».

Drugi koncept je takođe bio izuzetno važan za razvoj programskih jezika. Von Neumann je ovo nazvao "prijenos uslovne kontrole". Ova ideja je dovela do koncepta potprograma, ili malih blokova koda koji se mogu preskočiti bilo kojim redoslijedom, umjesto jednog skupa hronološki poredanih koraka za računar. Nažalost, njegov rad se proširio tek mnogo kasnije.

Bio je to prvi kompjuterski jezik za elektronske uređaje, i zahtijevao je od programera da ručno promijeni njihove izjave na 0 i 1. Međutim, to je bio prvi korak ka tome teški jezici danas. Kompajler je program koji pretvara jezičke instrukcije u 0 i 1 kako bi ih računar razumio. Ovo je rezultiralo bržim programiranjem jer programer više nije morao raditi ručno.

INPUT$- vraća određeni broj znakova unesenih s tastature ili čita podatke iz datoteke.

Primjeri. 1. i1$=INPUT$(4) 2. OTVORI "Rab.txt" ZA ULAZ KAO #1: ŠTAMPAJ INPUT$(5, 1)

U prvom primjeru, kada se izvrši linija sa ovim operatorom, program će čekati da se sa tastature unesu 4 znaka, koji će ih nakon unosa smjestiti u varijablu i1$. Drugi primjer čita 5 znakova (INPUT$(5, 1)) iz datoteke pod nazivom Rab.txt i šalje te informacije na ekran.

Komponente su bile vrlo jednostavne i omogućavale su programeru pristup računarima nizak nivo pristup. Dizajniran je od temelja kao jezik za poslovne ljude. Jedini tipovi podataka bili su brojevi i nizovi teksta. To je također omogućilo njihovo grupisanje u nizove i zapise kako bi se podaci mogli bolje pratiti i organizirati. Sve ove karakteristike su osmišljene kako bi prosječnom preduzeću bilo lakše da ih nauči i usvoji.

Dizajniran je za istraživanje umjetne inteligencije. Programeri pišu kod u stablima raščlanjivanja, koja obično posreduju između više sintakse i koda nižeg nivoa. Algolski jezik je kreirao komitet za naučnu upotrebu.

INSTR- vraća broj pozicije pronađenog teksta u karakternoj varijabli.

Primjer. a$ = "Prvi program": PRINT " pozicija - "; INSTR(1, a$, "program")

U ovom primjeru tražimo poziciju na kojoj se nalazi tekstualni "program" u karakternoj varijabli a$.

INT- vraća maksimalnu vrijednost broja koji je manji ili jednak zadanoj vrijednosti.

Njegov razvoj je uglavnom bio vođen potrebom za dobrom studijski vodič. U početku se programeri jezika nisu nadali da će postati široko rasprostranjen. Umjesto toga, fokusirali su se na razvoj dobrih nastavnih alata, kao što su program za otklanjanje grešaka i sistem za uređivanje, i podršku za uobičajene rane mikroprocesorske mašine koje se koriste u školama.

Čineći to, mnoge neravnine i čudne formulacije ovih jezika su očišćene, pomažući im da pridobiju korisnike. Pascal je takođe poboljšao tip podataka "pokazivač", veoma moćnu karakteristiku u bilo kom jeziku koji ga implementira. Objekti su dijelovi podataka kojima programer može upakirati i njima manipulirati.

Primjer. PRINT INT(-8,65), INT(9,3) ((-9 9))

IOCTL- prijenos kontrolnog niza na vanjski uređaj.

IOCTL$- daje informacije o statusu eksternog uređaja.

ključ- 1. dodeljivanje vrednosti funkcijskim tasterima.

Primjeri. 1. KEY 1,”33” 2. LISTA KLJUČEVA 3. KEY ON 4. KEY OFF

U prvom primjeru dodijeljen je funkcijski taster F1 vrijednost "33". Za funkcijske tipke F11 i F12 koriste se vrijednosti 31 i 32. Ovi ključevi se koriste tokom izvršavanja programa. Drugi primjer prikazuje listu dodjela funkcijskih tipki. U trećem primjeru, za vrijeme izvršavanja programa, na ekranu će se prikazati dodjela funkcijskim tipkama. U četvrtom primjeru je isključen izlaz vrijednosti na funkcijske tipke.

ključ- 2. izvršavanje potprograma pritiskom na određeni taster na tastaturi (u stvari, organizacija rada "vrućih" tastera).

KILL- brisanje fajla.

Primjeri. 1. UBITI “Rab.txt” 2. a$=”C:\Basic\Rab.txt”: KILL a$

U prvom primjeru, izraz sadrži ime datoteke koju treba izbrisati. Ova datoteka se nalazi u trenutnom direktoriju. U drugom primjeru, specificirana je datoteka koju treba izbrisati i navedena je puna putanja, počevši od logičkog uređaja.

LBOUND- vraća broj prvog elementa niza.

Primjer. DIM a1%(10), a2%(3 DO 7, 5 DO 8)

ŠTAMPA LBOUND(a1%, 1), LBOUND(a2%, 1) ((0 3))

U ovom primjeru definirana su dva niza: a1% i a2%. Niz a1% ima jedanaest elemenata: a1%(0), a1%(1), a1%(2)…a1%(10), tako da je minimalni broj koji se ispisuje za ovaj niz nula. Niz a2% ima dvostruku dimenziju, prva je od 3 do 7, druga je od 5 do 8. Minimalni broj prve dimenzije, a to je 3, je prikazan na ekranu.

LCASE$- pretvara znakove iz velikih (mala) u mala (velika slova).

Primjer. a$ = "GRAD Moskva"

PRINT a$,: PRINT LCASE$(a$); "LCASE izjava"

((Grad Moskva grad Moskva operater LCASE))

Kao što možete vidjeti iz primjera, program pretvara velike (male) znakove u male (velike), ali, nažalost, samo za engleske znakove. Simbol "M", kako je bilo malo, tako je i ostalo.

LIJEVO$- vraća znakove lijevo od karakterne varijable.

Primjer. a$ = "Moj prvi program"

ŠTAMPAJ LIJEVO$(a$, 3) ((Moje))

LEN- vraća dužinu karakterne varijable.

Primjer. a$ = "Moj prvi program"

PRINT LEN(a$) ((20))

LET- dodjeljivanje vrijednosti varijabli.

Primjeri. 1. NEKA i1% = 1 2. i1% = 1

U prvom primjeru, varijabli i1% je dodijeljena vrijednost 1. Naredba "LET" je opciona, kao što je prikazano u drugom primjeru, koja izvodi istu akciju kao i prva.

LINE- crtanje linije i pravougaonika na ekranu.

Primjer. EKRAN 9

LINIJA (2, 2)-(20, 20)

LINIJA (21, 21)-(40, 40), 2, B

LINE (42, 42)-(60, 60), BF

LINIJSKI KORAK(2, 2)-KORAK(20, 15), B

LINIJA (90, 90)-(110, 110), &HAAAA

Operator u drugom redu prikazuje liniju, sa koordinatama krajeva segmenta: (2,2) i (20,20). Štaviše, pošto boja nije navedena, ona će se podrazumevano prikazivati ​​u beloj boji. Sljedeća izjava daje kvadrat koji ima suprotne uglove u koordinatama: (21, 21) i (40, 40). Drugi parametar definiše crvenu boju (2), a simbol "B" - da treba da nacrtate pravougaonik, a ne ravnu liniju.

Operator u četvrtom redu prikazuje pravougaonik sa koordinatama: (42, 42) i (60, 60), a simbol "BF" označava da treba da prikažete pravougaonik. Štaviše, unutrašnjost bi trebala biti obojena istom bojom kao i njegove ivice, odnosno bijelom, koja se standardno koristi.

Sljedeća izjava ima ključnu riječ "STEP", koja specificira da se koordinate uzimaju ne apsolutne, već relativne. Odnosno, ove koordinate se dodaju trenutnoj poziciji kursora, koje su određene u prethodnom redu. Kao rezultat, prva koordinata je: (60,60) + (2,2) = (62,62), a druga u odnosu na prvu je: (62,62)+(20,15)=(82,77). Znak "B" također označava da treba nacrtati pravougaonik.

U posljednjoj liniji postavljena je linija sa koordinatama: (90, 90) i (110, 110), a linija neće biti kontinuirana, već će imati uzorak prema "AAAA" šablonu. Znak "A" u heksadecimalnom je jednak "1100b" u binarnom prikazu, tako da će biti izlazne dvije tačke (11) - zatim dva piksela napuštaju prethodnu boju (00), zatim se niz ponavlja, pošto je i sljedeći znak također "A" i tako dalje.

LINE INPUT- čita red iz datoteke ili sa tastature.

Primjer. LINE INPUT "Unesite prvi tekst - ", a1$

LINE INPUT ; " Unesite drugi tekst - ", a2$

OTVORI "rab.txt" ZA IZLAZ KAO #1

ŠTAMPA #1, 1, 2, 3, "pet": ZATVORI

OTVORI "rab.txt" ZA ULAZ KAO #1

LINE INPUT #1, a3$

PRINT a1$: PRINT a2$: PRINT a3$: CLOSE

Operator u prvom redu omogućava unos znakova sa tastature. Prije ulaska, na ekranu će se pojaviti poruka: Unesite prvi tekst -“, zatim se s tastature unosi tekst (jedan), nakon čega se pritisne tipka Enter. Možete unijeti do 255 znakova ukupno. Nažalost, ćirilični znak "r" nije unesen.

Izjava u drugom redu prikazuje poruku: " Unesite drugi tekst -' i čeka da se unesu znakovi. Nakon što ih unesete i pritisnete tipku Enter, uneseni znakovi, kao i u prethodnoj izjavi, se prikazuju na ekranu. Tačka i zarez iza ključnih riječi "LINE INPUT" znači da će sljedeći tekst nakon ovog operatora biti prikazan u istom redu (dva). Dakle, znakovi "jedan", koje ispisuje operator" PRINT"U posljednjoj liniji programa, nalaze se u istom redu kao i prethodni ulaz.

Zatim se otvara datoteka pod imenom "rab.txt", u nju se unose znakovi "1", "2", "3" i "pet". Zatim se datoteka zatvara (CLOSE), otvara za izlaz, vrijednost iz datoteke se unosi u varijablu "a3 $" i prikazuje na ekranu.