As far as pseudocode goes, this is pretty damn good. The main thing I’d change is that things in “quotes” generally represent strings, i.e. literal text. Variable names usually don’t have quotes around them. That’s a universal enough trait of real programming languages that it would almost never not transfer to pseudocode. Also, numbers intended to be read as numbers don’t typically have quotes.
How I would change this accordingly
If
am_pm_indicator = "pm"
ANDhour=/=12ADD12tohourElse
Ignore the am/pm indicator, timeis correct in24hour format. # Leaving this as-is because it's more like a comment than code anyway
We call that pseudocode and it looks fine to me. No computer will run it natively (AI meat grinders aside), but most devs will be able to pick up on the logic and convert it to actual code.
Disclaimer: am a programmer.
Edit: as an aside, manually dealing with time is its own form of madness and is usually best left to libraries (ie other people’s code) whenever possible.
My favorite is the fact that Microsoft intentionally left a bug in Excel that treats 1900 as a leap year when it wasn’t so they could maintain compatability with Lotus 1-2-3. And at this point fixing it would cause nearly every date value in excel files to display as off by one day and break a bunch of date formulas.
Wow I’ve seen some really weird backwards compatibility issues, but this takes the cake. I would have imagined that in the move to XLSX they could have addressed this and sorted it out when saving, but nope, I guess having all days off by one and maintaining a support page explaining Lotus123 backwards compatibility for forever is earlier?
This is honestly exactly what programming is: breaking down big problems into step by step simple problems. If you’ve never considered taking up programming before, I’d suggest you try it sometime and see where it takes you. It’s not hard to learn, it just takes time.
If only this was true, but for some reason midnight is 12 am. And noon is 12 pm (I’m aware that the reason is that 12:00:00.00001 is in the second half of the day. I just think it should be called 0 pm).
Midnight is 00:00 is 12am. They accounted for 12pm, but need to subtract 12 if it’s 12am.
So, you’d do away with 12 entirely and make AM/PM 0-based: 00:00am - 11:59am, and then 00:00pm - 11:59pm? Makes sense if you’re a programmer, but 0 is a fairly recent invention, and most daily measuring concepts are fundamentally 1-based. Heck, we couldn’t even get all programming languages to agree on 0-based array indexing (looking at you, MATLAB, and you, bash).
If "am/pm indicator" = "pm" AND "hour" =/= "12" ADD "12" to "hour" Else Ignore the am/pm indicator, time is correct in 24 hour format.
Disclaimer: I am not a programmer, I have no idea if my “code” is written in the correct format.
As far as pseudocode goes, this is pretty damn good. The main thing I’d change is that things in “quotes” generally represent strings, i.e. literal text. Variable names usually don’t have quotes around them. That’s a universal enough trait of real programming languages that it would almost never not transfer to pseudocode. Also, numbers intended to be read as numbers don’t typically have quotes.
How I would change this accordingly
If am_pm_indicator = "pm" AND hour =/= 12 ADD 12 to hour Else Ignore the am/pm indicator, time is correct in 24 hour format. # Leaving this as-is because it's more like a comment than code anyway
What is this? Some sort of COBOL or something.
Idk its my non-programmer’s impression of what code looks like, sorry if its incorrect 😅
We call that pseudocode and it looks fine to me. No computer will run it natively (AI meat grinders aside), but most devs will be able to pick up on the logic and convert it to actual code.
Disclaimer: am a programmer.
Edit: as an aside, manually dealing with time is its own form of madness and is usually best left to libraries (ie other people’s code) whenever possible.
Can confirm Source: am a grammerpro
My favorite is the fact that Microsoft intentionally left a bug in Excel that treats 1900 as a leap year when it wasn’t so they could maintain compatability with Lotus 1-2-3. And at this point fixing it would cause nearly every date value in excel files to display as off by one day and break a bunch of date formulas.
https://learn.microsoft.com/en-us/office/troubleshoot/excel/wrongly-assumes-1900-is-leap-year
Wow I’ve seen some really weird backwards compatibility issues, but this takes the cake. I would have imagined that in the move to XLSX they could have addressed this and sorted it out when saving, but nope, I guess having all days off by one and maintaining a support page explaining Lotus123 backwards compatibility for forever is earlier?
This is honestly exactly what programming is: breaking down big problems into step by step simple problems. If you’ve never considered taking up programming before, I’d suggest you try it sometime and see where it takes you. It’s not hard to learn, it just takes time.
You should program
COBOL is an old language Internet to make programs look a bit like English descriptions of what was needed.
I don’t really know it, but your code reminded me of the idea of it.
Don’t worry if your code is incorrect, just make random changes until you hit on something that no longer results in errors :)
If only this was true, but for some reason midnight is 12 am. And noon is 12 pm (I’m aware that the reason is that 12:00:00.00001 is in the second half of the day. I just think it should be called 0 pm).
Midnight is 00:00 is 12am. They accounted for 12pm, but need to subtract 12 if it’s 12am.
So, you’d do away with 12 entirely and make AM/PM 0-based: 00:00am - 11:59am, and then 00:00pm - 11:59pm? Makes sense if you’re a programmer, but 0 is a fairly recent invention, and most daily measuring concepts are fundamentally 1-based. Heck, we couldn’t even get all programming languages to agree on 0-based array indexing (looking at you, MATLAB, and you, bash).