Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-02-2016, 18:02   #1
Hikarusama
Junior Member
 
Iscritto dal: Oct 2012
Messaggi: 7
Pascal, dubbio.

Salve a tutti. Da pochi giorni ho iniziato a seguire alcune video-lezioni (integrando con alcuni manuali) per entrare nel mondo della programmazione.
Le lezioni sono molto esaustive, fatte da un prof d'informatica e devo dire che mi sto trovando bene. Il prof ha iniziato con Pascal, perchè a detta sua è il miglior punto di partenza per poi spostarsi ad altri linguaggi (che ne pensate voi?).
Ora ho un problema, sto cercando di creare un programma che calcoli l'età media dei visitatori di un museo e progressivamente mi dica il numero del visitatore del quale sto inserendo l'età. Il codice è questo :

Codice:
program museo;

uses crt;

var
visitatori, somma_eta: integer;
eta_media: real;
risposta: char;   
eta: integer;
etaS: string;
errore: integer;

begin

clrscr;

eta_media :=0 ;
visitatori :=0;
eta :=0;
somma_eta :=0;



        repeat

              visitatori := visitatori + 1;

              repeat

                    writeln('vistitatore numero: ', visitatori, '. Inserisci la sua eta''');
              	    readln(etaS);

                    val(etaS, eta, errore);

                    if errore<>0 then
                       writeln('errore, inserisci un numero in cifre')
                    else
                        if eta<0 then
                        writeln('eta non valida, inserisci un numero superiore o uguale a 0');

              until ( eta>=0 ) and ( errore=0 );

              somma_eta := somma_eta + eta;
              eta_media := somma_eta / visitatori;

              writeln('Eta'' media attuale: ' ,eta_media:4:2);

              writeln('Ci sono altri visitatori da inserire? (S/N)');
              readln(risposta);
              risposta := upcase(risposta);

                    repeat
                         if (risposta<>'S') or (risposta<>'N') then
                          writeln('errore');
                          readln;
                    until (risposta='N') or (risposta='S');
                    

         until risposta='N';

         writeln(' Oggi il museo ha ricevuto ', visitatori, ' visite');
         writeln(' l''eta'' media dei visitatori di oggi e''', eta_media:4:2);

         write('Premi invio per continuare');
         readln
end.
Volendo creare un controllo che permettesse al programma di non accettare
altri simboli diversi da S ed N, ho creato l'ultimo IF
che compara la variabile risposta (resa maiuscola in precedenza con upcase) e se essa è diversa da S o N mi restituisce un errore e richiede di nuovo la variabile.
Il repeat esterno si interrompe solo se risposta è uguale a N.
Nella mia testa dovrebbe funzionare tutto ma a quanto pare sbaglio qualcosa, qualcuno può illuminarmi? Non riesco proprio a venirne a capo.

Ultima modifica di Hikarusama : 29-02-2016 alle 19:18.
Hikarusama è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2016, 20:03   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Il problema è che nel repeat/until che hai aggiunto per controllare la risposta e forzarne il reinserimento in caso di errore, in quest'ultimo caso... non provvedi a rileggere la risposta un'altra volta.

Potresti risolvere il tutto piazzando:
Codice:
writeln('Ci sono altri visitatori da inserire? (S/N)');
              readln(risposta);
              risposta := upcase(risposta);
all'inizio del suddetto repeat/until, e modificando opportunamente le righe seguenti.

P.S. Il prof dice male: guarda la mia firma.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
WINDTRE, le offerte di fine luglio: 5G F...
Due scrivanie angolari gaming a prezzi b...
Telecamere e intelligenza artificiale su...
L'ASUS Zenbook di cui tutti parlano torn...
Helios, la piattaforma di Schneider Elec...
Multiverse Computing raccoglie 500 milio...
Videogiochi, social e azzardo: un giovan...
Tre astronauti rientrano dalla ISS: la S...
Kimi K3 ha trovato 19 zero-day in Redis ...
Aggiungere un acceleratore IA per data c...
Debian valuta lo stop totale ai contribu...
Huawei sfida il ban USA: al via la produ...
QNAP lancia i nuovi NAS TS-262A e TS-462...
E4 Computer Engineering e EuroHPC JU uni...
World di Sam Altman raccoglie 52,5 milio...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v