Annuncio

Collapse
No announcement yet.

[Turbo Pascal] Parole palindrome

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts

  • [Turbo Pascal] Parole palindrome

    Salve ragazzi, potreste farmi un programma in turbo pascal che riconosca se una parola è palindroma??! Fino a quante lettere volete...HELP ME!!!
    sigpic

    Live or die, make your choice.

  • #2
    Una parola è palindroma quando mantiene lo stesso significato se letta all'incontrario, ad esempio:
    Osso -> (letto al contrario) Osso (la parola è palindroma).
    Si può fare anche con le frasi:
    I topi non avevano nipoti > (al contrario)-> I topi non avevano nipoti.
    Ho dovuto fare questo programma qualche mese fa, ora però nn ricordo assolutamente nulla di come si debba fare.
    Ricordo solo che utilizzavo una funzione chiamata Copy, che mi consentiva di girare la parola, dall'ultimo carattere al primo, per poi confrontarlo con l'originale. Se è uguale è palindroma, altrimenti non lo è.
    But I can't do this all on my own
    No, I know, I'm no Superman

    sigpic

    Comment


    • #3
      Originariamente Scritto da Setzer Visualizza Messaggio
      Una parola è palindroma quando mantiene lo stesso significato se letta all'incontrario, ad esempio:
      Osso -> (letto al contrario) Osso (la parola è palindroma).
      Si può fare anche con le frasi:
      I topi non avevano nipoti > (al contrario)-> I topi non avevano nipoti.
      Ho dovuto fare questo programma qualche mese fa, ora però nn ricordo assolutamente nulla di come si debba fare.
      Ricordo solo che utilizzavo una funzione chiamata Copy, che mi consentiva di girare la parola, dall'ultimo carattere al primo, per poi confrontarlo con l'originale. Se è uguale è palindroma, altrimenti non lo è.
      wow.....ora mi informo meglio su questa funzione "copy" grazie!
      sigpic

      Live or die, make your choice.

      Comment


      • #4
        Altrimenti fai un ciclo che confronta la prima e l'ultima lettera, poi seconda e penultima e così a scalare, ricordandoti di ignorare gli spazi. Non dovrebbe essere difficile, solo che è passato qualche anno da quando usavo turbo pascal e non ricordo più nulla

        Comment


        • #5
          Originariamente Scritto da Illuskan Visualizza Messaggio
          Altrimenti fai un ciclo che confronta la prima e l'ultima lettera, poi seconda e penultima e così a scalare, ricordandoti di ignorare gli spazi. Non dovrebbe essere difficile, solo che è passato qualche anno da quando usavo turbo pascal e non ricordo più nulla
          Si il fatto è che questo fatto funziona finchè ci sono 3 lettere..ad esempio:
          se chiamo a,b,c le 3 lettere.
          if a=c then
          è palindroma
          else
          non è palindroma

          però se ci sono 4 o più lettere il fatto è che nel ciclo if then else se metto per esempio (chiamando a,b,c,d le lettere)
          if a=d AND b=c then
          è palindroma
          else
          non è palindroma

          mi fa errore su AND.
          sigpic

          Live or die, make your choice.

          Comment


          • #6
            Devi mettere l'if dentro un ciclo repeat until, controllando due lettere alla volta, la seconda volta che ripete controlla la seconda e la penultima e così via

            Comment


            • #7
              Originariamente Scritto da Illuskan Visualizza Messaggio
              Devi mettere l'if dentro un ciclo repeat until, controllando due lettere alla volta, la seconda volta che ripete controlla la seconda e la penultima e così via
              ho capito il senso e la teoria ma non riesco a farlo in pratica ...potresti scriverlo per favore?
              sigpic

              Live or die, make your choice.

              Comment

              Working...
              X