Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Programma conta lettere
Forum - Pascal - Programma conta lettere

Avatar
slinky998 (Normal User)
Newbie


Messaggi: 2
Iscritto: 01/04/2008

Segnala al moderatore
Postato alle 17:25
Martedì, 01/04/2008
Ciao, devo scrivere il diagramma di flusso di un algoritmo che conta le lettere presenti in un testo. Ad esempio se inserisco la frase Ciao Anna mi dovrà stampare che ci sono 3 A, 2 N e così via. Però proprio non ci riesco anche perchè devo farlo senza utilizzare la case. Non ne ho la più pallida idea...ho guardato quelli che ci sono sul sito ma non ci ho capito nulla...mi potete aiutare? Grazie!

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 21:24
Martedì, 01/04/2008
Ciao!!! Questo sorgente di seguito calcola solo il numero delle singole lettere contenute in un file e il numero totale. Puoi fare la stessa cosa per numeri e altri caratteri speciali...Spero vada bene :rotfl:
Codice sorgente - presumibilmente Delphi

  1. program ConteggioParole;
  2. uses crt,dos;
  3. var fil:text;
  4.     numtotlettere: integer;
  5.     lettere:array[1..21] of integer;
  6.     nome:string;
  7.     car:char;
  8. const    
  9.           a:byte=1;
  10.           b:byte=2;
  11.          c:byte=3;
  12.          d:byte=4;
  13.          e:byte=5;
  14.          f:byte=6;
  15.          g:byte=7;
  16.          h:byte=8;
  17.          i:byte=9;
  18.          l:byte=10;
  19.          m:byte=11;
  20.          n:byte=12;
  21.          o:byte=13;
  22.          p:byte=14;
  23.          q:byte=15;
  24.          r:byte=16;
  25.          s:byte=17;
  26.          t:byte=18;
  27.          u:byte=19;
  28.          v:byte=20;
  29.          z:byte=21;
  30.  
  31. begin
  32.     textbackground(white);
  33.     clrscr;
  34.     textColor(lightblue);
  35.     gotoxy(1,2);
  36.     write('Scrivi il percorso del file: ');
  37.     read(nome);
  38.     assign(fil,nome);
  39.     reset(fil);
  40.     repeat
  41.     read(fil,car);
  42.     if (car='a') or (car='A') then
  43.       lettere[a]:=lettere[a]+1;
  44.     if (car='b') or (car='B') then
  45.       lettere[b]:=lettere[b]+1;
  46.     if (car='c') or (car='C') then
  47.       lettere[c]:=lettere[c]+1;
  48.     if (car='d') or (car='D') then
  49.       lettere[d]:=lettere[d]+1;
  50.     if (car='e') or (car='E') then
  51.       lettere[e]:=lettere[e]+1;
  52.     if (car='f') or (car='F') then
  53.       lettere[f]:=lettere[f]+1;
  54.     if (car='g') or (car='G') then
  55.       lettere[g]:=lettere[g]+1;
  56.         if (car='h') or (car='H') then
  57.       lettere[h]:=lettere[h]+1;
  58.         if (car='i') or (car='I') then
  59.       lettere[i]:=lettere[i]+1;
  60.         if (car='l') or (car='L') then
  61.       lettere[l]:=lettere[l]+1;
  62.         if (car='m') or (car='M') then
  63.       lettere[m]:=lettere[m]+1;
  64.         if (car='n') or (car='N') then
  65.       lettere[n]:=lettere[n]+1;
  66.         if (car='o') or (car='O') then
  67.       lettere[o]:=lettere[o]+1;
  68.     if (car='p') or (car='P') then
  69.       lettere[p]:=lettere[p]+1;
  70.     if (car='q') or (car='Q') then
  71.       lettere[q]:=lettere[q]+1;
  72.     if (car='r') or (car='R') then
  73.       lettere[r]:=lettere[r]+1;
  74.     if (car='s') or (car='S') then
  75.       lettere[s]:=lettere[s]+1;
  76.         if (car='t') or (car='T') then
  77.       lettere[t]:=lettere[t]+1;
  78.         if (car='u') or (car='U') then
  79.       lettere[u]:=lettere[u]+1;
  80.         if (car='v') or (car='V') then
  81.       lettere[v]:=lettere[v]+1;
  82.         if (car='z') or (car='Z') then
  83.       lettere[z]:=lettere[z]+1;
  84.       numtotlettere:=numtotlettere+1;
  85.     until eof(fil);
  86.     close(fil);
  87.     writeln;
  88.     writeln(numtotlettere,' caratteri totali.');
  89.     writeln(lettere[a],' lettere a .');
  90.     writeln(lettere[b],' lettere b .');
  91.     writeln(lettere[c],' lettere c .');
  92.     writeln(lettere[d],' lettere d .');
  93.     writeln(lettere[e],' lettere e .');
  94.     writeln(lettere[f],' lettere f .');
  95.     writeln(lettere[g],' lettere g .');
  96.     writeln(lettere[h],' lettere h .');
  97.     writeln(lettere[i],' lettere i .');
  98.     writeln(lettere[l],' lettere l .');
  99.     writeln(lettere[m],' lettere m .');
  100.     writeln(lettere[n],' lettere n .');
  101.     writeln(lettere[o],' lettere o .');
  102.     writeln(lettere[p],' lettere p .');
  103.     writeln(lettere[q],' lettere q .');
  104.     writeln(lettere[r],' lettere r .');
  105.     writeln(lettere[s],' lettere s .');
  106.     writeln(lettere[t],' lettere t .');
  107.     writeln(lettere[u],' lettere u .');
  108.     writeln(lettere[v],' lettere v .');
  109.     writeln(lettere[z],' lettere z .');
  110.     readln;
  111.     readln;
  112. end.


:k::k::k:

Ultima modifica effettuata da Progman-92 il 01/04/2008 alle 21:30
PM Quote
Avatar
sange_90 (Ex-Member)
Pro


Messaggi: 185
Iscritto: 23/01/2007

Segnala al moderatore
Postato alle 16:49
Giovedì, 10/04/2008
Una soluzione un pò alla "carlona"..

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 17:55
Giovedì, 10/04/2008
Scusa, perche 1 po alla carlona??? Il programma funziona benissimo...:rotfl:

PM Quote
Avatar
FHF93 (Ex-Member)
Pro


Messaggi: 132
Iscritto: 13/11/2007

Segnala al moderatore
Postato alle 19:14
Giovedì, 10/04/2008
perchè probabilmente il codice poteva essere più semplice e flunte ...

PM Quote
Avatar
slinky998 (Normal User)
Newbie


Messaggi: 2
Iscritto: 01/04/2008

Segnala al moderatore
Postato alle 20:46
Giovedì, 10/04/2008
scusate se rispondo così tardi...comunque si infatti dovrei farlo senza usare la case...il sottoprogramma per leggere il testo sono riuscito a farlo però mi manca sempre quello per contare le lettere

PM Quote