Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [pascal] teoria

  1. #1

    [pascal] teoria

    Salve ragazzi,
    purtroppo, per superare un test di programmazione, oltre a saper fare programmi, bisogna conoscere la teoria....
    Volevo avere degli aiuti riguardo queste domande:

    1) All'interno di un corpo di una procedura, si possono chiamare tutte le altre procedure dichiarate nel programma. Vero o falso?

    2) Ogni procedura viene eseguita nell'ordine in cui è dichiarata nel programma principale. Vero o falso?

    3) Puoi sempre sostituire un ciclo while con u nciclo for o repeat. Se si, perchè? Se no, perchè?

    Io credo che le risposte siano: vero, falso, falso; però vorrei una vostra opinione perchè non ne sono sicuro al 100%!!! :tongue:
    Vi ringrazio


  2. #2

  3. #3

    Re: [pascal] teoria

    Originariamente inviato da pakylory

    1) All'interno di un corpo di una procedura, si possono chiamare tutte le altre procedure dichiarate nel programma. Vero o falso?
    Si purchè siano in ordine, esempio se ho una procedura "pippo" che chiama la procedura "pluto", la procedura "pluto" deve essere dichiarata prima di "pippo".

    2) Ogni procedura viene eseguita nell'ordine in cui è dichiarata nel programma principale. Vero o falso?
    Vero se una procedura non richiama un altra prcoedura, senno è Falso.


    3) Puoi sempre sostituire un ciclo while con u nciclo for o repeat. Se si, perchè? Se no, perchè?
    Dipende da problema a problema, cmq io direi "Vero".

  4. #4

  5. #5
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Secondo me la terza domanda è falsa, infatti con il ciclo repeat le istruzioni in esso, vengono eseguite almeno una volta; mentre un ciclo while può anche non essere mai eseguito.
    Con un for invece è possibile ad esempio:
    codice:
    for cont:= 1 to 2
      begin
        if <CONDIZIONE VERIFICATA> then
          begin
            cont:=cont-1;
          end;
      end;

  6. #6
    Hai ragione Mabi, ma ricorda che esistono sempre gli if!

  7. #7
    Ho controllato meglio anche io e credo proprio che la terza sia VERA
    Guardate:

    a:=1;
    while a<=10 do
    begin
    writeln (a);
    a:=a+1;
    end;

    for a:=1 to 10 do
    writeln (a);

    a:=1;
    repeat
    writeln(a);
    a:=a+1;
    until
    a=11;

    E' la stessa cosa fatta con while, for, repeat....

    Però scusate se approfitto ancora di voi....
    mi sapreste dire cos'è un errore sintattico, un errore di run-time, e un errore logico, e farmi un esempio per ciascun caso???
    Per quanto riguarda l'errore logico credo che possa andar bene, per esempio, un ciclo di while che non viene mai attivato:

    a:=1;
    while a<1 do
    writeln...

    è corretto sintatticamente ma inutile...Vero?

    E per gli altri due errori potete aiutarmi????
    Grazie ancora

  8. #8
    Originariamente inviato da pakylory
    Ho controllato meglio anche io e credo proprio che la terza sia VERA
    ...
    Si è vera, ma ripeto dipende dai casi..il repeat svolge le istruzioni almeno una volta, il while può anche fare a meno di svolgerle, cmq mediante if-then-else, puoi fare in modo che che anche il repeat possa fare a meno di svolgere le istruzioni.
    Quindi direi che sia Vera.

    Però scusate se approfitto ancora di voi....
    mi sapreste dire cos'è un errore sintattico, un errore di run-time, e un errore logico, e farmi un esempio per ciascun caso???
    Per quanto riguarda l'errore logico credo che possa andar bene, per esempio, un ciclo di while che non viene mai attivato:

    a:=1;
    while a<1 do
    writeln...

    è corretto sintatticamente ma inutile...Vero?
    No, questo non è un errore logico..

    Errore Sintattico:

    codice:
    for i:=1 to 30
     writeln(i);
    Questo è un errore sintattico, perchè manca il do del for.

    codice:
    for i:=1 to 30 do
     writeln(i);
    Errore di Run-Time:
    L'errore di Run-Time è quando si verifica un errore mentre il programma è in esecuzione (* esempio la divisione di un numero per zero *)

    Errore Logico:
    L'errore logico è quando si verifica un errore di logica del programma e cioè:

    Mettiamo che devi fare la somma di 1000kb + 1Mb e ti dimentichi di convertire il Mb in Kilobyte..

    Come noti il programma funzionerebbe, ma i risultati non sarebbero quelli aspettati.

    Spero di averti chiarito le idee, ciao :quipy:

  9. #9

    Scusate ancora....

    ....ma devo farvi delle altre domande.....

    1) Qual è l'istruzione di controllo che è sempre presente in una funzione o procedura ricorsiva????

    2) In nome di una funzione in una funzione ricorsiva si usa per ______________________ e per _________________

    Scusatemi ancora se approfitto di voi.....


  10. #10

    Re: Scusate ancora....

    Originariamente inviato da pakylory
    ....ma devo farvi delle altre domande.....

    1) Qual è l'istruzione di controllo che è sempre presente in una funzione o procedura ricorsiva????
    IF-THEN-ELSE
    Devi controllare sempre il valore!
    2) In nome di una funzione in una funzione ricorsiva si usa per ______________________ e per _________________
    Per assegnare il valore di ritorno della funzione e per...
    uhm........che ne sò!
    Si usa per quello :quipy:

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.