Sei sulla pagina 1di 3

DIPARTIMENTODIELETTRONICA INTELLIGENZAARTIFICIALEETELECOMUNICAZIONI UNIVERSITA POLITECNICA DELLE MARCHE

Corso di Fondamenti di Informatica (M-Z)


Avvertenze ConsegnaresolofogliformatoA4. Scriveresuunsololato(nofronteretro) Inordinedipreferenzausareinchiostronero,matita,inchiostroblu. Intestaaciascunfoglioscrivere:cognome,nome,numeroprogressivodipaginarispettoaltotale;esempioperil secondofogliodi3consegnati:GiuseppeRusso2/3 Manteneresulbancoillibrettooaltrodocumentodiriconoscimentofinoacontrolloavvenuto Nientaltrodevetrovarsisulbanco:nonconsentitoconsultarelibri,dispense,appunti,ecc. Lacorrezionediriferimentoperlautovalutazioneverreffettuatainquestastessaaulaallafinedellaprova Laconsegnadellefotocopiedeicompitiavverralterminedellacorrezione Chisipresentaalloraledeveportarelimplementazionealcomputerdellapropriasoluzione,eventualmente corretta,corredatadituttoquantonecessarioallaverificadelcorrettofunzionamento.

ProvaScritta Scrivereunprogrammache 1. leggainsuccessionedellerigheditestodallostandardinput 2. lesistemiinunaopportunalistaperinserimentoincoda 3. perognirigaconvertaicaratteriminuscoliincaratterimaiuscoli 4. stampiinoutputlalistacontuttelerigheconvertite


#include<iostream> usingnamespacestd; constintLUNG=80; //definiamoiltipostrutturachesara'usatonellanostralista structlinea { charcontenuto[LUNG]; linea*succ; }; typedeflinea*lista; /* Laseguenteproceduraciclicaprendecomeargomentoattualeunvettoredi LUNGcaratterieloriempie,dalprimoall'ultimoelemento,coni caratterilettidallostandardinput,compresiglispazi,finoal raggiungimentodiunodeidue: a.finisceilvettore b.vienelettoilcaratteredifinelinea(invio) */ voidleggi_riga(charriga[])//questaproceduravale6punti { inti=0; cout<<"Inserisciunoallavoltaicaratterichecompongonolariga," cout<<"alterminepremiinvio"<<endl;
60131ANCONAITALYViaBrecceBiancheSegreteriaphone+39(71)2204242 fax+39(71)2204835email:segreteria.deit@univpm.it

DIPARTIMENTODIELETTRONICA INTELLIGENZAARTIFICIALEETELECOMUNICAZIONI UNIVERSITA POLITECNICA DELLE MARCHE

do {cin.get(riga[i]); i++; } while(riga[i1]!='\n'&&i<LUNG); } /*LaseguenteproceduraprendecomeargomentoattualeunvettorediLUNG caratterielistampasullostandardoutput,dalprimoall'ultimo. */ voidstampa_riga(charriga[])//questaproceduravale3punti. { for(inti=0;i<LUNG;i++)cout<<riga[i]; } /*LaseguenteproceduraprendecomeargomentoattualeunvettorediLUNG caratterieneconvertetuttelelettereminuscoleinletteremaiuscole. */ voidconverti_riga(charriga[])//questaproceduravale7punti { for(inti=0;i<LUNG;i++) if(riga[i]>='a'&&riga[i]<='z')riga[i]='a''A'; } /*Laseguenteprocedurae'unciclo: 1.leggeunarigadall'input(terminataconilcarattere"invio") 2.lainserisceincodaadunalistadielementideltipo"linea" 3.chiedeinoutputsesivuolecontinuare */ voidcrea_lista_di_righe(lista&s)//questaproceduravale9punti. { charc,risposta='S'; listaprecedente=0; while(risposta=='S') { listal=newlinea; leggi_riga(l>contenuto); l>succ=0; if(precedente==0)s=l; elseprecedente>succ=l; precedente=l; cout<<"Vuoicontinuare?[S/N]"; cin>>risposta; cin.get(c); }; } /*Laseguenteprocedurastampatuttiglielementidellalista(cioe'le righe)sullostandardoutput,andandoacapotraunarigael'altra. */ voidstampa_lista(lista&s)//questaproceduravale3punti {
60131ANCONAITALYViaBrecceBiancheSegreteriaphone+39(71)2204242 fax+39(71)2204835email:segreteria.deit@univpm.it

DIPARTIMENTODIELETTRONICA INTELLIGENZAARTIFICIALEETELECOMUNICAZIONI UNIVERSITA POLITECNICA DELLE MARCHE

listal=s; while(l!=0) { stampa_riga(l>contenuto); l=l>succ; }; } /*Laseguenteproceduraprendecomeparametroattualeunalistaene convertetuttiicaratterimaiscoliincaratteriminuscoli. */ voidconverti_righe_della_lista(lista&s)//questaproceduravale3punti. { listal=s; while(l!=0) { converti_riga(l>contenuto); l=l>succ; }; } intmain() { listaschermo; crea_lista_di_righe(schermo); converti_righe_della_lista(schermo); stampa_lista(schermo); }
prompt>$./a.out Inserisciunoallavoltaicaratterichecompongonolariga,alterminepremiinvio Ilcielodi Vuoicontinuare?[S/N]S Inserisciunoallavoltaicaratterichecompongonolariga,alterminepremiinvio questamattina Vuoicontinuare?[S/N]S Inserisciunoallavoltaicaratterichecompongonolariga,alterminepremiinvio sembrapiu'sereno Vuoicontinuare?[S/N]S Inserisciunoallavoltaicaratterichecompongonolariga,alterminepremiinvio diquellodiieri. Vuoicontinuare?[S/N]N ILCIELODI QUESTAMATTINA SEMBRAPIU'SERENO DIQUELLODIIERI. prompt$>

60131ANCONAITALYViaBrecceBiancheSegreteriaphone+39(71)2204242 fax+39(71)2204835email:segreteria.deit@univpm.it