Programmare il pascal

di il
14 risposte

Programmare il pascal

Ciao,vorrei parlare anke se vecchissimo del turbo pascal e programmare il questo linguaggio di programmazione....
ciao

14 Risposte

  • Re: Programmare il pascal

    Ciao,grazie per i tuoi consigli ma questi comandi gia li sapevo viservirebbero due o tre kose,se hai tempo,mi servirebbe la codifica il pascal del caricamento di una matrice,e poi non so risolvere un problema:devo caricare un vettore e poi lo devo ordinare con la tecnica bubble sort,lo sai fare?
    grazie
    ciao.....................
  • Re: Programmare il pascal

    Pascal.. "purtroppo" lo faccio a scuola
    ... Passiamo direttamente al dunque. In caso non abbia ancora risolto i problemi.. Per il caricamento dei dati in una matrice (supponendo, di 100 numeri interi [10x10]) ti scrivo la procedura:

    <b>PROCEDURE inserimento_matrice;
    VAR
    x , y : Integer; // Coordinate riga , colonna
    matrice : Array [1..10 , 1..10] of Integer;
    Begin
    FOR x := 1 TO 10 DO
    Begin
    For y := 1 TO 10 DO
    Begin
    Write('Inserisci numero: ');
    ReadLn(matrice[x,y])
    End
    End
    End; </b>

    Il codice si commenta da sè ma se hai bisogno di chiarimenti chiedi pure..

    "La nostra ignoranza è il loro potere"
  • Re: Programmare il pascal

    Riguardo all'ordinamento Bubble Sort:

    <b>PROCEDURE OrdBubbleSort;
    VAR
    v : Array [1..10] of Integer;
    i , k , temp : Integer; { i = indice, k = var utilizz. per l'ordinamento, temp = var utilizz. per lo scambio }
    Begin
    FOR i := 1 TO 10 DO // Inserimento elementi nel vettore
    Begin
    Write('Inserisci ',i,'° numero: ');
    ReadLn(v[i])
    End;

    // Ordinamento elementi del vettore
    FOR i := 9 DOWNTO 1 DO
    FOR k := 1 TO i DO
    IF v[k] > v[k+1] THEN
    Begin // Scambio elementi
    temp := v[k];
    v[k] := v[k+1];
    v[k+1] := temp
    End;

    Writeln('*************************************'); // Output
    WriteLn('Numeri in ordine crescente:');
    FOR i := 1 TO 10 DO
    Writeln(v[i])
    End;</b>

    Ciao ciao

    "La nostra ignoranza è il loro potere"
  • Re: Programmare il pascal

    Guarda il mio problema e ke la procedura per ordinare il vettore l'ho fatta,ora ho un problema:
    devo fare un controllo per vedere se il vettore e stato ordinato:ciao mi spiego meglio,se uno inserisce il vettore gia ordinato il programmadeve capire che e gia ordinato e fare apparire un messaggio del tipo:vettore gia ordinato
  • Re: Programmare il pascal

    Metti un flag=1 quando fai lo scambio, se il flag rimane a 0 vuol dire che non ha fatto alcuno scambio ed era già ordinato.

    Chip
  • Re: Programmare il pascal

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    metti un flag=1 quando fai lo scambio, se il flag rimane a 0 vuol dire che non ha fatto alcuno scambio ed era già ordinato.

    Chip
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->
    e nel pascal kome si mette il flog?
  • Re: Programmare il pascal

    Prima dell'ordinamento del vettore inizializza una variabile - che Chip ha denominato "flag - (integer o boolean) a "0" o "false", quindi nel procedimento dell'ordinamento, se si verifica che un elemento è maggiore del suo successore (e quindi va scambiato di posizione), oltre alle istruzioni relative allo scambio inserisci un'istruzione che modifichi il valore della tua variabile (flag). Alla fine dell'ordinamento controlli il valore della variabile per vedere se era già ordinato o meno:


    <b>flag := False // o "0"</b>

    FOR i := 9 DOWNTO 1 DO
    FOR k := 1 TO i DO
    IF v[k] > v[k+1] THEN
    Begin
    temp := v[k];
    v[k] := v[k+1];
    v[k+1] := temp;
    <b>flag := True // o "1"</b>
    End;

    <b>IF flag = False THEN
    WriteLn('Vettore gia'' ordinato.'); </b>


    «La NOSTRA ignoranza è il LORO potere­»
  • Re: Programmare il pascal

    Allora devo inzializzare una variabile a 0 e dopo l'ordinamento incremento il flag a 1?prima pero devo fare il controllo se il flag =falso se è kosi faccio uscire il mess. vettore gia ordinamto?ok?
  • Re: Programmare il pascal

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    allora devo inzializzare una variabile a 0 e dopo l'ordinamento incremento il flag a 1?prima pero devo fare il controllo se il flag =falso se è kosi faccio uscire il mess. vettore gia ordinamto?ok?
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    stiamo supponendo che la variabile in questione si chiami flag; boolean o integer lo decidi tu. nel primo caso la inizializzi a false, nel secondo a 0.
    se si verifica qualche scambio (tra gli elementi del vettore) la variabile diventa True o 1 (a seconda del tipo [boolean o integer] assegnatole in precedenza.
    ALLA FINE del ciclo controlli il valore di flag. in caso non abbia subito modificazioni (quindi sia rimasta a False o 0) appare il messaggio 'vettore già ordinato'.
    il codice postato precedente mi pare fosse abbastanza chiaro..

    «La NOSTRA ignoranza è il LORO potere­»
  • Re: Programmare il pascal

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    allora devo inzializzare una variabile a 0 e dopo l'ordinamento incremento il flag a 1?prima pero devo fare il controllo se il flag =falso se è kosi faccio uscire il mess. vettore gia ordinamto?ok?
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    allorA IL FLAG LO INIZIALIZZO O A 1 O A TRU DIPENDE DA KOME LO DIKIARO,ok grazie

    stiamo supponendo che la variabile in questione si chiami flag; boolean o integer lo decidi tu. nel primo caso la inizializzi a false, nel secondo a 0.
    se si verifica qualche scambio (tra gli elementi del vettore) la variabile diventa True o 1 (a seconda del tipo [boolean o integer] assegnatole in precedenza.
    ALLA FINE del ciclo controlli il valore di flag. in caso non abbia subito modificazioni (quindi sia rimasta a False o 0) appare il messaggio 'vettore già ordinato'.
    il codice postato precedente mi pare fosse abbastanza chiaro..

    «La NOSTRA ignoranza è il LORO potere­»
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->
  • Re: Programmare il pascal

    Ho iniziato a fare i RECORD ke in teoria non sembrano difficili
    in poke parole il record è una struttura dati ke puo kontenere dati di tipo etereogeneo a differenza dell'array ke e sembre una struttura dati ke pero kontiene dati di tipo omogeneo

    la mia domanda è in pratica kom'e il record e tipo matrice?
  • Re: Programmare il pascal

    La risposta l'hai già data tu spiegando cos'è il record
    son tutte e due strutture che contengono dati. però il record può tenere sia dati omogenei che eterogenei..l'array (vettore e/o matrice) contengono dati dello stesso tipo

    «La NOSTRA ignoranza è il LORO potere­»
  • Re: Programmare il pascal

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    la risposta l'hai già data tu spiegando cos'è il record
    son tutte e due strutture che contengono dati. però il record può tenere sia dati omogenei che eterogenei..l'array (vettore e/o matrice) contengono dati dello stesso tipo

    «La NOSTRA ignoranza è il LORO potere­»
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->
    ma il record allora e tipo come la matrice o il vettore?
    x ke kosa viene usato di solito?
    e kome si definisce in pascal?
    grazie ciao
  • Re: Programmare il pascal

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    ho iniziato a fare i RECORD ke in teoria non sembrano difficili
    in poke parole il record è una struttura dati ke puo kontenere dati di tipo etereogeneo a differenza dell'array ke e sembre una struttura dati ke pero kontiene dati di tipo omogeneo

    la mia domanda è in pratica kom'e il record e tipo matrice?
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    "ho iniziato a fare" e poi non sapevi definirlo in pascal!? questa è bella

    La NOSTRA ignoranza è il LORO potere­
Devi accedere o registrarti per scrivere nel forum
14 risposte