Introduzione al BASIC

From C64-Wiki
Jump to navigationJump to search
Site Under Construction Sign This article or section is in the process of an expansion or major restructuring and is therefore classed as a work in progress. You are welcome to assist in its construction by editing it as well. If this article or section has not been edited in several days, please remove this template.


Introduzione al BASIC Part 1
Developer Andrew Colin
Company Commodore Busines Machine
Publisher Commodore
Release 1982
Licence Proprietary
Platform C64, VIC-20
Genre Tutorial
Operation Keyboard
Media Datassette
Language(s) Language:english
Information aka Introduction to BASIC Part 1 Language:english


Introduzione al BASIC di Andrew Colin è un corso autodidattico del linguaggio di programmazione BASIC 2.0 su Commodore 64. Il corso originariamente in lingua inglese, presentato nel 1982, è stato tradotto in italiano ed è suddiviso in due sezioni, una prima parte principiante e una seconda parte avanzato. Questo corso è stato fatto in modo uguale anche per l’altro computer della Commodore il VIC 20.

La confezione[edit | edit source]

La confezione si presenta in una solida scatola di cartone colorata del classico blu che usa la Commodore per i suoi programmi. Dentro si trova il volume Introduzione al BASIC Parte 1 (Introduction to BASIC Part 1) e in un'altra confezione simile il volume Introduzione al BASIC Parte 2 (Introduction to BASIC Part 2), in formato A4 e completi di indice generale e indice alfabetico. Ogni parte è completata da due cassette a nastro con i programmi listati nei libri. Gli esercizi che si trovano da fare nelle cassette sono in lingua inglese, anche nella versione italiana. E’ abbastanza facile, con un po’ di buona volontà tradurle in italiano, perché i programmi sono in BASIC 2.0, corti e facilmente listabili. Nelle prime edizioni veniva fornito anche un utile mascherina di plastica (flow-chart stencil) per disegnare gli schemi di flusso ma in seguito non ce l'hanno più messa.

I manuali[edit | edit source]

Introduzione al BASIC Parte 1[edit | edit source]

Il manuale “Introduzione al BASIC Parte 1” è un testo autodidattico suddiviso in 15 lezioni, chiamate “unità”, ognuna delle quali tratta un importante aspetto della programmazione in BASIC. Nell’introduzione viene insegnato come procedere nello studio. Colin insegna una metodologia di studio utile per studiare qualsiasi materia di studio, leggere superficialmente velocemente tutto il capitolo e fissare i punti più importanti, poi leggere approfonditamente ogni paragrafo del capitolo, fissando l’attenzione sui punti più importanti, fare gli esercizi, ripetere la lettura cercando di memorizzare i punti più importanti. Non passare al capitolo successivo, se non si è terminato il capitolo precedente. Quando si studia un capitolo, bisogna mettersi nella condizione di avere abbastanza tempo da leggerlo tutto in una sessione, senza avere interruzioni. Se si viene interrotti nello studio a metà di un capitolo e lo si riprende a distanza di tempo, è necessario riprendere la lettura dall’inizio. Non lasciare passare molte settimane nella lettura fra un capitolo e l’altro. D'altronde è necessario digerire lo studio e non studiare più di un capitolo al giorno. La prima unità è suddivisa in tre parti, chiamate “esperimenti”. Il primo esperimento parla delle generalità che bisogna sapere per far funzionare il computer, quando e come fare gli allacci, gli accorgimenti che bisogna tenere per un corretto uso della parte elettrica, in un’altra viene spiegato come aggiustare il monitor e caricare le cassette. A tale fine viene presentato il programma TESTACARD. Nel secondo esperimento si parla del registratore a dischetti e dei comandi appropriati per un corretto uso del registratore a dischetti. Nell’ultimo esperimento si impara a caricare il programma HANGMAN che è il gioco dell’IMPICCATO, bisogna indovinare le lettere di una parola ma ad ogni sbaglio viene costruita una parte della forca. Se la parola viene indovinata ci si salva, se dopo un certo numero di tentativi non si indovine si finisce impiccati. Il gioco Hangman non è stato tradotto La seconda unità parla della tastiera ed è suddiviso in quattro sezioni, una parla dei tasti controllo, una parla dei numeri e delle lettere, una parla dello schermo e una parla di come correggere gli errori di introduzione. Il programma che accompagna la seconda unità si chiama SPEETYPE e insegna a battere la tastiera più velocemente. La terza unità parla di come cambiare i colori sullo schermo. La terza unità è accompagnata dal programma UNIT3QUIZ, come dicevo in inglese anche nella versione italiana ma facilmente traducibile. Ugualmente tutte le unità dalla quattro alla quindici, trattano in modo particolareggiato i comandi diretti, i comandi di programma, dei consigli pratici, il controllo dei cicli, come trovare gli errori, come programmare i colori dello schermo, come introdurre i dati col comando INPUT, come progettare uno schema di flusso per costruire un programma solido. Nell’unità 12 si parla dei cicli di FOR e di come programmare in modo strutturato. Nell’unità 13 si parla del suono del Commodore 64 e dei comandi per controllare la forma d’onda emessa dal sintetizzatore sonoro del Commodore 64, chiamato SID, accompagnato da un programma SOUND DEMO e un programma PIANO che trasforma la tastiera del Commodore 64 in una piccola tastiera musicale. Nell’unità 14 si parla di come costruire programmi robusti, ossia a prova di tutti gli errori che fa l’utente e che di solito fanno uscire il programma con un messaggio d’errore. L’unità 14 è accompagnata come al solito da un programma che si chiama HEAD. L’unità 15 chiude il corso i bellezza parlando dei giochi. Propone il programma REACTION che misura i riflessi di una persona. Nelle tre appendici si parla nell’appendice A degli aspetti matematici del Commodore 64, del trattamento delle espressioni, del grado di precisione dei calcoli e delle funzioni standard messe a disposizione sul Commodore 64. Nella appendice B ci sono risposte alle domande più comuni. Nell’appendice C c’è un elenco di errori comuni.

Introduzione al BASIC Parte 2[edit | edit source]

Il manuale “Introduzione al BASIC Parte 2” è un testo autodidattico suddiviso in 15 lezioni, chiamate “unità”, ognuna delle quali tratta un importante aspetto della programmazione avanzata in BASIC. Nell’unità 16 si parla del comanda DATA, si tratta di come inserire e leggere i dati e di come azzerare i puntatori col comando RESTORE. Nell’unità 17 si parla della complessità dei programmi, dei comandi IF-THEN, degli operatori logici, di AND, OR E NOT. Nell’unità 18 si inizia a parlare delle subroutine, del loro formato e dell’uso del comando GOSUB. Quest’unità è accompagnata dal programma esplicativo PICTURE. L’unità 19 approfondisce l’argomento subroutine e aggiunge un nuovo programma alla serie che si chiama BIGLETTERS64. L’unità 20 parla degli “arreys”. L’unità 21 tratta delle stringhe, ovvero dei comandi per manipolare le parole. L’unità 22 parla di come usare gli “arreys” nei programmi di ricerca. E’ interessante vedere come funziona il programmino QUICKSORT, per capire come il computer manipola le stringhe e le paragona fra loro. Questo programmino qui è lentissimo confronto ai moderni programmi di ricerca che ci sono su Internet ma questo è un programma didattico e studiarlo attentamente fa capire anche come bisogna impostare le parole chiave per fare una ricerca su Google. L’unità 23 finalmente parla della macchina Commodore 64, dando una visione da vicino dei bit, dei bytes e dell’indirizzamento, si parla della struttura del Commodore 64 e dell’organizzazione della memoria del Commodore 64 (che è a gruviera). Si parla di come inserire dati in linguaggio macchina con i comandi PEEK e POKE. Si parla, cosa rara, del set dei caratteri e di come cambiarli. In uno dei programmi d’accompagnamento WASPS64, viene presentato un simpatico gioco d’animazione che insegna come usare i tasti cursore per controllare uno spray d’insetticida per ammazzare una zanzare che gira a random sullo schermo. L’unità 24 è un miscuglio di concetti particolari, su molti comandi raggruppati in questo capitolo, che è accompagnato da MAKENAMES un titolo che è già tutto un programma. L’unità 25 insegna come architettare un programma (program design), con i dimostrativi GRAFFS e DUNGEON. L’ultima unità la 26, finalmente parla di un aspetto molto particolare del Commodore 64, che sono gli SPRITE. Il VIC 20, sprite non ne ha, come pure MS-DOS o Windows sprite non ne hanno. Lo sprite è una piccola area, programmabile in modo grafico, in modo da fare delle figurine, che si può far muovere, per mezzo di appropriati comandi sullo schermo. Il Commodore 64 ha 8 sprite che con altri comandi si possono intercettare a vicenda. Questo è il concetto di base di tutti i giochi che ha il Commodore 64. Nell’unità 26 infatti si parla di come disegnare uno sprite, di come inserire uno sprite in un programma, del controllo degli sprite, dello studio dei programmi con sprite, degli sprite a molti colori e di come far funzionare assieme molti sprite. Questo capitolo è proprio la ciliegina su una torta buona e abbondante. I programmi che accompagnano questo capitolo sono SPRITE DISPLAY, SPRITE EDITOR, e alcuni esempi che si chiamano LINEAR, CIRCULAR 1, CIRCULAR 2, BOUNCE, BUS, COSPRED, un editore di sprite a colori, SOLAR, un programma listabile, tutto DATA e POKE, che calcola l’orbita della Terra intorno al Sole e della Luna intorno alla Terra e mostra le orbite sul video, SPRMAC, GROTTY, listabile, calcola le orbite come Solar, più Venere e una cometa e PLANETS, listabile, come Grotty ma più preciso con la velocità della cometa variabile in funzione della distanza dal Sole. Insomma in questa parte conclusiva ci sono le basi per programmare tutti i giochi e tutti i programmi didattici che possono venire in mente come Visibile solar system, Asronomy e planetario. Tre appendici, nella prima si parla come creare dei suoni e di come suonare la musica, quindi parla dei principi di armonia sul Commodore 64 e da tre programmi dimostrativi che sono DUBLIN, TUNE PLAYER e SHEBA, che suona “L’arrivo della Regina di Saba” di G.F. Handel, la prima demo (stration) di quel che è capace di fare il piccolo SID a tre voci del Commodore 64, sembra di ascoltare un quartetto di un intervallo alla televisione. La musica da camera è l’ideale per essere suonata sul Commodore 64. Al Commodore 64 gli ho fatto fare tutti i rumori che mi sono venuti in mente, dalla sirena della polizia, a quella (difficile) dei sommergibili, alle sirene delle fabbriche in tempo di guerra, clacson, c’è da sbizzarrirsi e divertirsi in un mondo di suoni. Poi mi sono comprato Synthesond della HES (Human Engineer Software) e ci ho marciato, programmato qualsiasi forma d’onda dei tre sintetizzatori che mette a disposizione il SID e suonare la musica con la tastiera, registrandola su floppy disk, una cosa straordinaria. L’appendice B mette a disposizione una libreria di subroutine, di cui si può approfittare molto e intanto si impara a come riconoscere e caricare subroutine interessanti da altri programmi. Le subroutine riguardano un INPUT tollerante, robusto, lettere più grosse, numeri formattati, mostra stringhe, convertitore binario, estrattore di nomi, cerca in una lista, il bubble sort, che è una routine di ricerca, il quicksort, altra routine di ricerca, un semplificatore di frazioni, equazioni, L’appendice C da l’elenco delle risposte agli esercizi proposti.

Il supporto magnetico con i suoi programmi[edit | edit source]

I nastri dei due corsi sono quattro in tutto e contengono prevalentemente unità quiz, da eseguire dopo aver finito di studiare un’unità, per capire se da soli si è imparato abbastanza o se è necessario andare a ripetizione. Le unità a quiz alla fine danno un voto complessivo, per mezzo del quale si capisce se si può passare allo studio dell’unità successiva oppure bisogna tornare daccapo. Oltre alle unità quiz, ci sono molti programmi dimostrativi, come SOUND DEMO, HEADS, ESG, CRAPS e vari altri. Non ho mai visto dischetti, anche perché nel 1982, quando è uscito il corso, il drive Model 154I era una rarità e si andava per tutto solo col registratore a nastro. Poi a quel tempo il registratore a nastro era considerato più sicuro e il backup si preferiva farlo su nastro, come le banche.

Come caricare i programmi[edit | edit source]

Per caricare i programmi inserire la cassetta nel registratore a nastro, scrivere LOAD sulla tastiera e battere il tasto RETURN. Appare la scritta PRESS PLAY ON TAPE e bisogna schiacciare il tasto PLAY sul registratore. All’inizio del caricamento la prima parte è dedicata al titolo che viene caricato e dopo un po’ appare scritto sul video, si batte la barretta spazio per far partire subito il caricamento, altrimenti dopo un po’ parte da solo. Quando ha finito di caricare appare READY, si può vedere il programma, con il comando LIST, si può stampare su stampante, con il comando PRINT, oppure si può eseguire con il comando RUN.

L’autore[edit | edit source]

Andrew Colin è diventato dal 1970 libero docente in Scienze del Computer (Computer Scienze) all’università di Strathclyde a Glasgow, dove insegnava. Il Professor Colin ha publicato 12 libri di testo sui vari aspetti dell'informatica (Computer Science). Qualcuno è stato tradotto in molte lingue. Ha scritto inoltre innumerevoli articoli. E’ co-inventore dell’ albero binario (Binary Tree), una struttura standard di dati ampiamente usata in molti programmi per compiuter. Il professor Colin ha scritto questo libro nel 1982 e a distanza di più di 40 anni anni il suo modo di fare didattica si è propagato nelle scuole di studi superiori e nella università di informatica, impegnando migliaia di studenti nello studio della programmazione strutturata. Gli è dovuto un sincero ringraziamento, perché imparando il BASIC le persone più disparate hanno fatto migliaia di programmi, in modo semplice e popolare, producendo molte valide idee, poi queste idee sono state riprese dalle case produttrici di programmi sul Commodore 64, giungendo alla straordinaria produzione di software che vanta il Commodore 64. Così oltre ai programmi di base per scrivere, EASY SCRIPT, per fare i conti, MULTIPLAN 1.06, per archiviare dati MANAGER e SUPERBASE 64, si trovano giochi d’annata, come Elite, Flight Simulator II, Gunship, Periscop up, Shadowfire, Alice, Dallas e Dylan Dog, fatto in italiano da programmatori italiani della System Editoriale, il simpatico Little Computer People e decine d’altri.

La casa editrice[edit | edit source]

La Commodore era una dittarella californiana, che produceva macchine per la contabilità e vendeva anche macchine da scrivere. Quando i geni dell’hardware, nel garage hanno costruito il primo computer, assemblando vari e disparati pezzi, principalmente controllori di processo, molte persone al mondo si sono date subito da fare per industrializzarne la produzione. In Inghilterra Siclar, ha prodotto lo Spectrum, negli Stati Uniti la Apple, ha prodotto il MacIntosh e l’Apple II e la Commodore, ha fatto il Pet, il VIC 20 e infine il Commodore 64. La Commodore oltre al computer si è messa a produrre il software più adatto all’uso con il suo computer e uno dei suoi primi prodotti, se non proprio il primo è stato quest’introduzione al basic, perché per fare funzionare il commodore 64 bisognava impartirgli semplici comandi in basic. Ne è nata la necessità di estendere questa piccola conoscenza, fino a quel momento spiegata solo sulla guida d’uso dell’utente del Commodore 64 a tutto il repertorio del BASIC 2.0 della CBM (Commodore Busines Machines).

Commento[edit | edit source]

Le lezioni (unità) sono di facile comprensione, sono suddivise in sezioni, ognuna delle quali tratta un solo argomento unitario e quindi corte e facili da ricordare. Si riesce a completare ogni capitolo in circa un’ora, quindi facendo un capitolo al giorno, in 15 giorni si completa il corso principiante. A questo punto si è già in grado di programmare piccoli e semplici programmi che viene in mente di fare ed è bene farlo, perché applicando subito quello che si è imparato si fissano i concetti appena appresi, per sempre. Inoltre fin da subito si è già in grado di leggere i programmi fatti da altri e si vede subito la differenza fra programmi con una struttura solida e i programmi costruiti in modo confuso, che stanno su a furia di subroutine. Questo corso mette in grado qualsiasi persona di costruire solidi programmi, ben strutturati in BASIC 2.0. E’ facile poi, una volta appreso a programmare così in piccolo, estendere lo studio, applicando queste regole, a tutti gli altri linguaggi di programmazione, come il C, presente anche sul Commodore 64 o in Forth, in Pascal, in Fortran, in Cobol, presenti sul Commodore 64, usando il linguaggio più appropriato per gli scopi che ci si prefigge. O addirittura passare ad altre piattaforme e scrivere in Quick Basic, in Visual Basic, in Lisp, in Java e in qualsasi altro linguaggio simbolico di programmazione esista. Una volta imparati i principi, in fondo basta sapere la sintassi dei comandi, per poter usare qualsiasi linguaggio. Infine, basta aver completato questo ciclo di lezioni, per essere in grado di copiare il listato di un gioco da una rivista e correggerne gli errori di battitura che non lo fanno funzionare oppure al limite capire se è un listato fasullo, cioè di quei programmi scritti ma mai provati e che alla prova dei fatti non funzionano, magari correggerlo e farlo funzionare. Chi porta a termine il mese successivo il corso avanzato, poi è in grado di fare qualsiasi cosa, certo i giochi sono la maggior attrattiva ma per passatempo e per capire come funziona si può scrivere un piccolo programma di videoscrittura (word processor), si può scrivere un programma d’archivio (database), ce n’è uno molto bello fatto da Microcomputer che si chiama Galileo. Chi si scrive Galileo, impara le basi del database. Impara a scrivere matrici. In questo corso non solo si impara a programmare ma si impara soprattutto a pensare in modo strutturato e a risolvere difficili problemi complessi, sminuzzandoli in piccole parti e riducendoli a tanti problemini semplici, ognuno facilmente risolvibile. L’Introduzione al BASIC parte 1 e 2 essendo una metodologia per imparare a programmare, per estensione può diventare una modalità per elaborare il pensiero al meglio. Questa ritengo sia la grandezza di questa serie di piccole lezioni fatte dal Professor Andrew Colin.

Bibliografia[edit | edit source]