Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

RELAZIONE DI INFORMATICA - Inversione di una stringa

informatica



RELAZIONE DI INFORMATICA



Titolo: Inversione di una stringa. Il seguente algoritmo permette di invertire una stringa: se una stringa S è vuota, il suo rovesciamento è la stringa vuota; altrimenti è la concatenazione del rovesciamento di S, privata 333c24d del primo carattere, con il primo carattere stesso


Autore

Data di inizio del lavoro: 12 novembre 2001


Data di fine del lavoro: 15 novembre 2001


ANALISI DEL PROGRAMMA


Obbiettivi: Costruire un programma che effettui l'inversione di una stringa


Interfaccia grafico: Avendo costruito il programma in pascal non posso presentare alcun tipo si interfaccia grafico


Soluzione delle procedure: Ho risolto il programma utilizzando 2 cicli for perché se avessi utilizzato un ciclo solo avrei avuto come risultato la stringa identica a come l'avevo immessa.

Il ciclo J parte dall'inizio dell'array fino a metà mentre il ciclo I parte dalla fine dell'array fino a metà.

Ad ogni passo del ciclo si scambiano le celle con contatore I e J utilizzando la variabile d'appoggio varapp.

Utilizzando ad esempio un array di 6 caselle avrò che il primo ciclo for comprenderà le prime 3 celle mentre il secondo ciclo comprenderà le restanti.

Array = inverti







1° ciclo for 2° ciclo for


Se l'array sarebbe stato di 7 caselle o comunque un numero dispari non avrebbe avuto importanza in quanto nell'inverso di una parola la lettera al centro rimarrebbe invariata.


Variabili utilizzate

Varapp = variabile d'appoggio

I, J = contatori

Inverti = array

n = determina le lettere dell'array


Programma

Program inverso

Var I,n,J,varapp:integer;

var inverti:array[1..100] of string;

begin



writeln ('quante lettere vuoi immettere?,);

readln(n);

for I:=1 to n do

begin

writeln ('scrivi la lettera nella cella',I);

readln(inverti[I]);

end;

for I:=n downto n/2 do

begin

for J:=1 to n/2 do

begin

varapp:=inverti[I];

inverti[I]:=inverti[J];

inverti[J]:=varapp;

write(inverti[j]);

end;

end;

end.


Test




P

A

R

O

L

A




A

A

R

O

L

P




A

L

R

O

A

P





A

L

O

R

A

P




Osservazione e Conclusione: Il programma non ha presentato particola difficolta nello svolgimento eccetto quello di capire che doveva essere svolto con 2 cicli.

Ho svolto il programma in pascal in quanto lo ritenevo più semplice nell'esecuzione. 




Privacy




Articolo informazione


Hits: 2184
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024