Programmazione I Programmazione I
 
Prova scritta del 9 giugno 2000

  1. Dopo avere dichiarato il tipo lista di interi, scrivere in Pascal una PROCEDURE che riceva come parametro il puntatore a una lista di interi e rimuova da tale lista il primo nodo contenente un numero pari. Ad esempio, se la lista contiene inizialmente i valori 5 2 8 1 13, dopo l'esecuzione della PROCEDURE la lista dovrà contenere 5 8 1 13.

  2. Siano x e y due variabili di tipo char. Si esprimano in linguaggio Pascal le condizioni indicate tra le parole IF e THEN:

  3. Scrivere l'output prodotto da ciascuno dei seguenti programmi.
     

    PROGRAM p1 (output);
    TYPE punt = ^integer;
    VAR r: punt;
       PROCEDURE s (q: punt; VAR p: punt);
       VAR x: integer;
       BEGIN
          x := q^;
          new(q);
          q^ := 3 * x;
          p^ := q^ - p^
       END;
    BEGIN
       new(r);
       r^ := 4;
       s(r, r);
       writeln(r^)
    END.
    

    PROGRAM p2 (output);
    TYPE punt = ^integer;
    VAR r: punt;
       PROCEDURE s (VAR q: punt; VAR p: punt);
       VAR x: integer;
       BEGIN
          x := q^;
          new(q);
          q^ := 3 * x;
          p^ := q^ - p^
       END;
    BEGIN
       new(r);
       r^ := 4;
       s(r, r);
       writeln(r^)
    END.
    


     
     

    PROGRAM p3 (output);
    TYPE punt = ^integer;
    VAR r: punt;
       PROCEDURE s (VAR q: punt; p: punt);
       VAR x: integer;
       BEGIN
          x := q^;
          new(q);
          q^ := 3 * x;
          p^ := q^ - p^
       END;
    BEGIN
       new(r);
       r^ := 4;
       s(r, r);
       writeln(r^)
    END.
    

    PROGRAM p4 (output);
    TYPE punt = ^integer;
    VAR r: punt;
       PROCEDURE s (q: punt; p: punt);
       VAR x: integer;
       BEGIN
          x := q^;
          new(q);
          q^ := 3 * x;
          p^ := q^ - p^
       END;
    BEGIN
       new(r);
       r^ := 4;
       s(r, r);
       writeln(r^)
    END.
    


File translated from TEX by TTH, version 2.25.
On 10 Jun 2000, 17:16.