Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [PASCAL]Come creare programma MATRIX

    Voglio creare un programmino tipo matrix.
    Soltanto che non saprei come far trasportare nella riga sotto ogni lettera che l'utente scrive al momento in cui la scrive, ed anche come cancellare la singola lettera della riga precedente.
    Mi sapete dire se c'è qualche comando che mi puo aiutare?
    grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Mi sa che devi utilizzare la Unit CRT e la procedura GotoXY().

    Hai a disposizione la guida per ulteriori informazioni.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  4. #4
    E' da piero che mi era venuta l'idea ma non era esattamente quello che volevo fare xkè volevo far cadere a cascata le lettere digitate dall'utente. Non lettere predefinite dal programmatore o random come fa piero.

  5. #5
    Originariamente inviato da Mico:
    __________________________________________________ _________________________________________
    cmq x quanto riguarda il codice:

    code:Program MATRIX;
    USES wincrt;
    var a,b:integer;
    var c:char;
    BEGIN
    READLN (c);
    for a:1 to 1000 d (*Mi da qua l'erroreTO expected but:found*)
    BEGIN
    b:=(a+1);
    gotoxy (1,b);
    WRITELN (d);
    DELAY (250);
    clrscr;
    end;
    REPEAT UNTIL KEYPRESSED
    END.
    penso ke devi scrivere for a:=1 to 1000 do

    __________________________________________________ _______________________________________

    Quando ho scritto il codice avevo dimenticato il do.
    Ma anche corretto mi da sempre l'errore su TO.
    Qualche consiglio?

    :master:

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    L'errore è dovuto al fatto che non hai usato la sintassi corretta del FOR:
    codice:
    FOR variabile := valore1 To valore2 Do
       <istruzione>
    Se noti nel tuo codice manca il simbolo di uguale dopo i due punti.

    In effetti, quello che viene fatto dall'istruzione FOR è assegnare il valore1 alla variabile ed incrementarla ad ogni ciclo fino a raggiungere il valore 2. Per questo è stata adottata la stessa sintassi dell'assegnazione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Grazie leleFT. Ho aggiunto l'uguale dopo i due punti ma adesso mi da 6 errori!

    Ecco il codice e gli errori:
    __________________________________________________ ___________________
    Program MATRIX;
    USES wincrt;
    var a,b:integer;
    var c:char;
    BEGIN
    READLN (c);
    for a:=1 to 1000 do
    BEGIN
    b:=(a+1);
    gotoxy (1,b);(*Error:Identifier not found GOTOXY*.Error:Illegal expression*)
    WRITELN (d); (*Error:Identifier not found D*)
    DELAY (250);
    clrscr; (*Error:Identifier not found CLRSCR*. Error illegal expression*)
    end;
    REPEAT UNTIL KEYPRESSED
    END.

    (*Fatal: There were 5 errors compiling module, stopping*)

    __________________________________________________ ___________________

  8. #8
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    direi che manca la uses crt

    aggiungila così:

    codice:
    USES wincrt, crt; { wincrt non so che è }
    Inoltre d non la vedo dichiarata.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  9. #9
    Grazie netarrow. Quasi mi vergogno di aver fatto degli errori così stupidi. Si vede che sono ai primi mesi di programmazione!
    Avrei un'altro quesito da porre: è possibile che l'utente possa inserire una seconda stringa mentre vede la prima che ha inserito scendere a cascata? In pratica mentre il programma usa il GOTOXY per la caduta della prima stringa si possono inserire altre stringe che si vedono cadere in contemporanea?
    Non so se mi sono spiegato bene
    Rimetto il codice principale:

    Program MATRIX;
    USES wincrt, crt;
    var a,b:integer;
    var c:string;
    BEGIN
    READLN (c);
    for a:=1 to 1000 do
    BEGIN
    b:=(a+1);
    gotoxy (1,b);
    WRITELN (c);
    DELAY (200);
    clrscr;
    end;
    REPEAT UNTIL KEYPRESSED
    END.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.