Logotyp | |
---|---|
Språkklass | instruktionsprogrammeringsspråk , funktionellt programmeringsspråk och programmeringsspråk |
Framträdde i | 1967 |
Författare | Seymour Papert , Cynthia Solomon , |
Utvecklaren | Papert, Seymour , Harel, Idita och Cynthia Solomon [d] [1] |
Blivit påverkad | Läspa |
Mediafiler på Wikimedia Commons |
Logo ( English Logo ) är ett programmeringsspråk på hög nivå som utvecklades 1967 av Wally Förzeg , Seymour Papert och Cynthia Solomon i utbildningssyfte för att lära förskole- och grundskolebarn de grundläggande begreppen programmering ( rekursion , töjbarhet, etc..).
Det första vetenskapliga beviset på framgången med att använda Logo som ett inlärningsverktyg visades av Idit Harel , en student vid Papert som använde Logo för att lära barn programmering och bråk 1988 [2] .
Logotyp ger en miljö där barn kan utveckla sina resonemang och problemlösningsförmåga.
En typisk och förväntad del av logotypens programmeringsspråk och miljö är grafiska verktyg för sköldpaddor , som å ena sidan gör det möjligt att visualisera inlärning av programmering, och å andra sidan är mycket organiskt kombinerade med den utbredda användningen av rekursion. .
Logotyptolkare finns för olika plattformar och operativsystem : Windows , DOS , Linux , Mac OS , Unix , etc. Det finns också många objektorienterade logotypdialekter, som Object Logo , som släpptes 1986 . 1997 släpptes den ryska versionen - LogoMira .
Brian Harvey, författare till trevolymen Computer Science Logo Style, skapade Berkeley-logotypen . Multiagentversioner av logotypen - StarLogo och NetLogo .
Typiska logoimplementeringar (från LCSI , till exempel) ger programmeraren ett bibliotek med inbyggda kommandon, en textbaserad tolkkonsol och ett "programblad" på vilket instruktioner för registrering av nya funktioner kan placeras. Minst en grafisk skärm är också försedd med minst en sköldpadda.
Många implementeringar stöder multithreading - på nivån för utförande av kommandon av sköldpaddor och på nivån för förmågan att köra ett kommando asynkront och senare kontrollera om det har slutförts. Det är möjligt att skicka en programmatiskt genererad lista med ord till tolken för exekvering.
Logotypen är mer avancerad än de processuella programmeringsspråken BASIC och Fortran som vanligtvis används för att lära ut programmering. Men logoimplementeringar har i allmänhet inte väldesignade filprogram, och detta förhindrar att det blir allmänt antaget som ett programmeringsspråk.
Logospråket är i huvudsak en anpassning av Lisp-språket (en del kallar det till och med "Lisp utan parentes").
I Logo är ett program en lista med "ord".
Som regel begränsar implementeringar av logotyper något listan över tecken som är tillåtna i ett ord, så kommandon kan också anropas på ryska. Dessutom har många ryskspråkiga implementeringar av Logotypen ryskspråkiga kommandon eller inbyggda ryskspråkiga synonymer för alla inbyggda kommandon.
Orden i listan är åtskilda med mellanslag.
Ordet kan vara antingen ett kommando eller en bokstavlig av en av tre typer - en sträng, en numerisk eller en lista bokstavlig. Ett kommando kan returnera ett värde, i vilket fall det anses vara en funktion. Bokstaver returnerar sitt värde direkt. En bokstavlig sträng är formaterad som ett ord som föregås av ett dubbelt citattecken. Ord som består av siffror tolkas som numeriska bokstaver. För att bilda en lista med ord i programtexten är de omgivna av hakparenteser.
Det finns också kommandon för att spara och få ett värde vid namn, men många implementeringar kompletterar det med konceptet med en variabel - introducerar en kompakt kommandosyntax för att få värdet på en variabel. Därför, för att få värdet på en variabel, räcker det vanligtvis att skriva dess namn med ett kolon som prefix.
Det finns en speciell syntax för att skicka ett icke-fixerat antal parametrar till vissa inbyggda kommandon. För att göra detta föreslås det att inkludera kommandot och alla dess parametrar inom parentes, till exempel: (СПИСОК :A :Б :В :Г 1 2 3 4)För användarkommandon är denna syntax inte tillämplig, eftersom det inte finns någon syntax för att beskriva behandlingen av parametrar som skickas på detta sätt.
Listan över kommandon som skickas till tolken exekveras i tur och ordning. Nästa ord tolkas som ett kommando från systemets nuvarande ordbok. Om det krävs parametrar, så exekverar tolken nästa ord i listan för att få ett värde att passera som den första parametern.
Om ett kommando ersätter en parameter förväntas kommandot returnera ett värde. Och om värdet som returneras av nästa kommando inte är avsett att skickas till ett annat kommando, rapporterar systemet ett fel om ett sådant anrop påträffas i programtexten, eller visar värdet om kommandot anropades i interaktivt läge.
Användningen av den vanliga infixformen av uttryck för matematik och logik på bekanta operatorer, såsom "(2 + 3) * 5" och "2 > 5", stöds. Men på grund av det faktum att, enligt språkets grundläggande regler, kommer kommandot först, och sedan dess parametrar, för grundläggande aritmetiska och logiska operationer i vissa dialekter (LCSI LogoWorlds och LogoWriter, till exempel) finns det också kommandon, med hjälp av vilka uttryck har formen "multiplicera lägg till 2 3 5" och "mer? 2 5".
Det finns ett kommando för att utöka ordlistan med anpassade kommandon, det accepterar ett nytt kommandonamn, en lista med parametrar och en lista med kommandon.
Det finns två huvudmekanismer för att kontrollera programexekveringen: loop-satsen med ett fast antal repetitioner och rekursion.
I den ryska versionen av logotypen:
FÖR HÄLSNINGAR SKRIV [Hej världen!] SLUTETI juni 2010 har det funnits minst 246 implementeringar av Logotyp [3] sedan språket skapades.
Det finns för närvarande ingen enskild standard för logotypen, även om vissa konventioner om de grundläggande aspekterna av språket är allmänt accepterade. Dialekterna i Logo har betydande skillnader. Situationen kompliceras av närvaron av ett antal sköldpaddsgrafikprogram, som felaktigt kallas "Logo".
Den mest använda och dominerande implementeringen av språket vid den tiden var Apple Logo -systemet , utvecklat av LCSI för Apple II -datorn och distribuerat på 1980 -talet . I Bulgarien lokaliserades denna produkt till bulgariska och ryska för Apple II-kompatibla datorer i Pravets 8 -serien , distribuerade under namnet "Logo 2.0" och används i stor utsträckning i utbildningsprocessen i Bulgarien och Sovjetunionen . Därefter släpptes en rysk lokalisering av LCSI-produkten för MS-DOS kallad LogoWriter i Ryssland .
En gratis plattformsoberoende implementering av UCBLogo [4] , även känd som Berkeley Logo , används flitigt idag , men saknar ett rudimentärt grafiskt användargränssnitt .
MSWLogo [5] och dess nyare version FMSLogo [6] [7] är tillgängliga för Microsoft Windows och används ofta i skolor i Storbritannien och Australien . Även kommersiella implementeringar av MicroWorlds Logo [8] och Imagine Logo [9] används i västerländska skolor .
MSWLogo och FMSLogo stöder flera sköldpaddor och 3D-grafik, såväl som avancerade I/O och andra tillägg.
För MacOS X finns en gratis implementering av ACSLogo [10] tillgänglig , som har ett ganska avancerat grafiskt gränssnitt, lokalisering på flera språk och låter dig lägga till dina egna lokaliseringar.
I Ryssland använder utbildningsprocessen ryska lokaliseringar av LCSI MicroWorlds för Windows och Mac OS X som kallas "LogoMira" och "PervoLogo" [11] .
Läspa | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Egenskaper |
| ||||||||||||||
Genomföranden |
| ||||||||||||||
Hårdvara |
| ||||||||||||||
gemenskap |
| ||||||||||||||
|
Programmeringsspråk | |
---|---|
|