Programmazione I Programmazione I
 
Prova scritta del 14 aprile 2000

  1. Dopo avere dichiarato il tipo lista di caratteri, scrivere in Pascal una PROCEDURE che riceva come parametro il puntatore a una lista di caratteri e rimuova da tale lista il primo nodo contenente una lettera maiuscola. Ad esempio, se la lista contiene inizialmente i caratteri '2' 'p' 'A' '&' '1', dopo l'esecuzione della PROCEDURE la lista dovrà contenere '2' 'p' '&' '1'.

  2. Siano x e y due variabili di tipo real. 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^ := 2 * 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^ := 2 * 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^ := 2 * 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^ := 2 * 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 17 Apr 2000, 13:16.