tarife program u Pascal-u
04.03.2007. u 15:39 · pre 239 meseci
#1
1. Tvrtka VH se bavi telefonijom. U svrhu što bolje suradnje s korisnicima tvrtka im šalje detaljne ispise svih njihovih poziva, zajedno s vremenom trajanja i cijenama. Za svaki razgovor zapisuje se sat, minuta i sekunda početka i kraja razgovora, te prve tri znamenke zvanog broja. Dan je podijeljen na ukupno dvije vremenske tarife o kojima, između ostaloga, ovise cijene. Tablica cijena ima sljedeći oblik:
Tarifa/vrijeme----- 07-19 sati-------- 19-07 sati
098/091---------- 1.60 kn----------- 0.80 kn
099-------------- 0.62 kn----------- 0.31 kn
Nacionalna tarifa-- 0.23 kn----------- 0.115 kn
Napišite program koji će unositi vrijeme početka i završetka razgovora, te prve tri znamenke biranog broja. Program treba ispisivati cijenu razgovora (ako je vrijeme razgovora trajalo više od pune minute, vrijeme se zaokružuje na prvu veću minutu).
Ja sam pokušala na slijedeći način, ali što ako razgovor traje od 6:30 do 7:30...?
PROGRAM tarife;
VAR h1,h2,m1,m2,s1,s2,broj:INTEGER;
t:REAL;
BEGIN
WRITE('Upišite početak h1:m1:s1- ');READLN(h1);READLN(m1);READLN(s1);
WRITE('Upišite završetak h2:m2:s2- ');READLN(h2);READLN(m2);READLN(s2);
t:=(h2-h1)*60+(m2-m1)+(s2-s1)/60;
WRITE('Upišite prve 3 znamenke biranog broja: ');READLN(broj);
IF (h1>7) AND (h1<19) AND (h2>7) AND (h2<19) THEN
BEGIN
CASE broj OF
098,091: WRITELN (round(t)*1,6);
099: WRITELN (round(t)*0,62);
021: WRITELN (round(t)*0,23);
ELSE
CASE broj OF
098,091: WRITELN (round(t)*0,8);
099: WRITELN (round(t)*0,31);
021: WRITELN (round(t)*0,115);
END;
READLN
END.
Tarifa/vrijeme----- 07-19 sati-------- 19-07 sati
098/091---------- 1.60 kn----------- 0.80 kn
099-------------- 0.62 kn----------- 0.31 kn
Nacionalna tarifa-- 0.23 kn----------- 0.115 kn
Napišite program koji će unositi vrijeme početka i završetka razgovora, te prve tri znamenke biranog broja. Program treba ispisivati cijenu razgovora (ako je vrijeme razgovora trajalo više od pune minute, vrijeme se zaokružuje na prvu veću minutu).
Ja sam pokušala na slijedeći način, ali što ako razgovor traje od 6:30 do 7:30...?
PROGRAM tarife;
VAR h1,h2,m1,m2,s1,s2,broj:INTEGER;
t:REAL;
BEGIN
WRITE('Upišite početak h1:m1:s1- ');READLN(h1);READLN(m1);READLN(s1);
WRITE('Upišite završetak h2:m2:s2- ');READLN(h2);READLN(m2);READLN(s2);
t:=(h2-h1)*60+(m2-m1)+(s2-s1)/60;
WRITE('Upišite prve 3 znamenke biranog broja: ');READLN(broj);
IF (h1>7) AND (h1<19) AND (h2>7) AND (h2<19) THEN
BEGIN
CASE broj OF
098,091: WRITELN (round(t)*1,6);
099: WRITELN (round(t)*0,62);
021: WRITELN (round(t)*0,23);
ELSE
CASE broj OF
098,091: WRITELN (round(t)*0,8);
099: WRITELN (round(t)*0,31);
021: WRITELN (round(t)*0,115);
END;
READLN
END.
Potpis
Blago onome ko zna da ne zna, a hoće da zna
Re: tarife program u Pascal-u