Worthwhile task shaving: Difference between revisions
Content added Content deleted
(→{{header|Vlang}}: Rename "Vlang" in "V (Vlang)") |
(Worthwhile task shaving in FreeBASIC) |
||
Line 14: | Line 14: | ||
playfulness than rigid scientific accuracy. |
playfulness than rigid scientific accuracy. |
||
=={{header|FreeBASIC}}== |
|||
{{trans|Wren}} |
|||
<syntaxhighlight lang="vbnet">'Rosetta Code problem: https://rosettacode.org/wiki/Worthwhile_task_shaving |
|||
'by Jjuanhdez, 02/2023 |
|||
Dim As Integer shaved(0 To 8) = {1, 5, 30, 60, 300, 1800, 3600, 21600, 86400} |
|||
Dim As String columns(0 To 8) = {" 1 SECOND", " 5 SECONDS", "30 SECONDS", _ |
|||
" 1 MINUTE", " 5 MINUTES", "30 MINUTES", " 1 HOUR", " 6 HOURS", " 1 DAY"} |
|||
Dim As Single diy = 365.25 |
|||
Dim As Integer minuto = 60 |
|||
Dim As Integer hora = minuto * 60 |
|||
Dim As Integer dia = hora * 24 |
|||
Dim As Integer semana = dia * 7 |
|||
Dim As Integer mes = dia * diy \ 12 |
|||
Dim As Integer anno = dia * diy |
|||
Dim As Integer freq(0 To 5) = {50 * diy, 5 * diy, diy, diy\7, 12, 1} |
|||
Dim As Integer y, x, t, mult = 5 |
|||
Sub fmtTime(t As Single, interval As String) |
|||
t = Int(t + .5) |
|||
Dim As String pl = Iif(t = 1, "", "S") |
|||
Print Using " ## \ \"; t; interval & pl; |
|||
End Sub |
|||
Print Spc(34); "HOW OFTEN YOU DO THE TASK" |
|||
Print " SHAVED OFF | 50/DAY 5/DAY DAILY WEEKLY MONTHLY YEARLY" |
|||
Print String (92, "-") |
|||
For y = 0 To Ubound(columns) |
|||
Print Using "\ \ |"; columns(y); |
|||
For x = 0 To Ubound(freq) |
|||
t = freq(x) * shaved(y) * mult |
|||
If (t < minuto) Then |
|||
fmtTime (t, "SECOND") |
|||
Elseif (t < hora) Then |
|||
fmtTime (t/minuto, "MINUTE") |
|||
Elseif (t < dia) Then |
|||
fmtTime (t/hora, "HOUR") |
|||
Elseif (t < 14 * dia) Then |
|||
fmtTime (t/dia, "DAY") |
|||
Elseif (t < 9 * semana) Then |
|||
fmtTime (t/semana, "WEEK") |
|||
Elseif (t < anno) Then |
|||
fmtTime (t/mes, "MONTH") |
|||
Else |
|||
Print String (13, " "); |
|||
End If |
|||
Next |
|||
Print |
|||
Next</syntaxhighlight> |
|||
{{out}} |
|||
<pre> HOW OFTEN YOU DO THE TASK |
|||
SHAVED OFF | 50/DAY 5/DAY DAILY WEEKLY MONTHLY YEARLY |
|||
-------------------------------------------------------------------------------------------- |
|||
1 SECOND | 1 DAY 3 HOURS 30 MINUTES 4 MINUTES 1 MINUTE 5 SECONDS |
|||
5 SECONDS | 5 DAYS 13 HOURS 3 HOURS 22 MINUTES 5 MINUTES 25 SECONDS |
|||
30 SECONDS | 5 WEEKS 3 DAYS 15 HOURS 2 HOURS 30 MINUTES 3 MINUTES |
|||
1 MINUTE | 2 MONTHS 6 DAYS 1 DAY 4 HOURS 1 HOUR 5 MINUTES |
|||
5 MINUTES | 10 MONTHS 5 WEEKS 6 DAYS 22 HOURS 5 HOURS 25 MINUTES |
|||
30 MINUTES | 6 MONTHS 5 WEEKS 5 DAYS 1 DAY 3 HOURS |
|||
1 HOUR | 2 MONTHS 11 DAYS 3 DAYS 5 HOURS |
|||
6 HOURS | 2 MONTHS 2 WEEKS 1 DAY |
|||
1 DAY | 9 MONTHS 9 WEEKS 5 DAYS</pre> |
|||
=={{header|Julia}}== |
=={{header|Julia}}== |