Concetti Chiave
- Il programma calcola il costo totale e medio dei trattamenti di un cliente in un salone di parrucchieri.
- Utilizza un ciclo FOR per raccogliere informazioni sui trattamenti, come il nome del cliente e il costo di ogni trattamento.
- Il costo totale è la somma dei costi di tutti i trattamenti, mentre il costo medio è ottenuto dividendo il costo totale per il numero di trattamenti.
- Nel ciclo WHILE, manca la logica per incrementare il contatore 'conta', impedendo il corretto funzionamento del ciclo.
- Le variabili principali includono 'ntrattamenti' per il numero di trattamenti e 'costotot' per il costo totale dei trattamenti.
Siamo in un salone di parrucchieri. Inserire da input il nome di un cliente che fa n trattamenti al costo x. Calcolare il costo totale dei trattamenti fatti al cliente e il costo medio di ogni trattamento.
Con cicloo FOR:
Ciclo FOR per calcolare
program parrucchiere;
uses crt;
var n,ntrattamenti,conta,i:integer;
nomecliente,nometrattamento:string;
costotratt,costotot,costomedio:real;
begin
clrscr;
writeln('numero trattamenti');
readln(ntrattamenti);
conta:=0;
costotot:=0;
for i:=1 to ntrattamenti do
begin
writeln('nome cliente');
readln(nomecliente);
writeln('nome trattamento');
readln(nometrattamento);
writeln('prezzo trattamento');
readln(costotratt);
conta:=conta+1;
costotot:=costotot+costotratt;
end;
costomedio:=costotot/ntrattamenti;
writeln('il costo totale dei trattamenti ricevuti Š ' , costotot:0:2);
writeln('il costo medio dei trattamenti Š ' , costomedio:0:2);
readln;
end.
Con ciclo WHILE:
program parrucchiere;
uses crt;
var n,ntrattamenti,conta:integer;
nomecliente,nometrattamento:string;
costotratt,costotot,costomedio:real;
begin
clrscr;
writeln('numero trattamenti');
readln(ntrattamenti);
conta:=0;
costotot:=0;
while (conta
begin
writeln('nome cliente');
readln(nomecliente);
writeln('nome trattamento');
readln(nometrattamento);
writeln('prezzo trattamento');
readln(costotratt);
conta:=conta+1;
costotot:=costotot+costotratt;
end;
costomedio:=costotot/ntrattamenti;
writeln('il costo totale dei trattamenti ricevuti Š ' , costotot:0:2);
writeln('il costo medio dei trattamenti Š ' , costomedio:0:2);
readln;
end.
Con ciclo REPEAT:
program parrucchiere;
uses crt;
var n,ntrattamenti,conta:integer;
nomecliente,nometrattamento:string;
costotratt,costotot,costomedio:real;
begin
clrscr;
writeln('numero trattamenti');
readln(ntrattamenti);
conta:=0;
costotot:=0;
repeat
writeln('nome cliente');
readln(nomecliente);
writeln('nome trattamento');
readln(nometrattamento);
writeln('prezzo trattamento');
readln(costotratt);
conta:=conta+1;
costotot:=costotot+costotratt;
until (conta>=ntrattamenti);
costomedio:=costotot/ntrattamenti;
writeln('il costo totale dei trattamenti ricevuti Š ' , costotot:0:2);
writeln('il costo medio dei trattamenti Š ' , costomedio:0:2);
readln;
end.
Domande da interrogazione
- Qual è il procedimento per calcolare il costo totale e il costo medio dei trattamenti in un salone di parrucchieri?
- Quali variabili sono utilizzate per gestire i dati dei trattamenti?
- Qual è la differenza principale tra l'uso del ciclo FOR e del ciclo WHILE nel programma?
Il procedimento prevede di chiedere il numero di trattamenti, quindi utilizzare un ciclo (FOR o WHILE) per raccogliere il nome del cliente, il nome del trattamento e il prezzo di ciascun trattamento. Alla fine, si calcola il costo totale e il costo medio dividendo il costo totale per il numero di trattamenti.
Le variabili utilizzate includono 'ntrattamenti' per il numero di trattamenti, 'conta' per contare i trattamenti effettuati, 'costotratt' per il costo di ciascun trattamento, 'costotot' per il costo totale e 'costomedio' per il costo medio dei trattamenti.
La differenza principale è che il ciclo FOR itera un numero specifico di volte, mentre il ciclo WHILE continua fino a quando una condizione è vera. Tuttavia, nel codice fornito per il ciclo WHILE, manca la logica per incrementare 'conta', il che impedirebbe il corretto funzionamento del ciclo.