convert Metric to English and English to Metric using pseudocod
-
xcom2001 wrote:
This is my first programming class and I need help. I am being asked to design an algorithm for a converter that converts units in Metric to English and vice versa. The choice of code is pseudocode. Please if someone would at least write an example for me of this code I could study it and use it as a teaching aide to help me understand how this works.
Here is an example of one of the routines you will need:
To convert some centigrade degrees to some fahrenheit degrees:
Put the centigrade degrees into the fahrenheit degrees.
Multiply the fahrenheit degrees by 9.
Divide the fahrenheit degrees by 5.
Add 32 to the fahrenheit degrees.Incidently, though most people would consider this "pseudocode", it is actually Plain English code and can be compiled and run using the Osmosian Order's Plain English development system (which was written entirely in Plain English).
Or more succinctly: f = 9/5*c+32 Where "c" is degrees centigrade and "f" is degrees in fahrenheit. This is clearer in every way. -- modified at 20:39 Sunday 10th December, 2006 Not only is it clearer but also more useful. Using the basic rules of algebra I can derive the f->c conversion as follows: f = 9/5*c+32 f-32 = 9/5*c (f-32)*5 = 9*c (f-32)*5/9 = c So c = (f-32)*5/9
Steve
-
Chris Maunder wrote:
I just want you, as I have asked many times before, to cease using these forums for self promotion.
Self promotion, as we've discussed before, is the wrong term. As I've said many times before, what we're promoting is ideas - in this case, the ideas that (1) people naturally think, not in artificial languages, but in natural languages, of which pseudocode is a degenerate case; and (2) since pseudocode-like languages can be compiled and run and used to develop even low-level programs like compilers and high-level programs like page editors, we should all reconsider the role of artifical/natural languages in computer programming. The original poster is just starting out and we wouldn't want this person to be denied exposure to all aspects of "state of the art", now would we? Our Plain English development system is nothing but a "proof of concept" that we offer, here and elsewhere, to eliminate unnecessary responses claiming our ideas are "nice, but impractical". That's all. The product is not important except as a working manifestation of the ideas behind it.
The Grand Negus wrote:
Self promotion, as we've discussed before, is the wrong term.
Actually, I think it's pretty much spot on. Don't get me wrong; I don't really care one way or the other if you use this forum for self promotion. Denying it is futile however. In general you only reply to questions which give you some "plausibile deniability".
Steve
-
The Grand Negus wrote:
Self promotion, as we've discussed before, is the wrong term.
Actually, I think it's pretty much spot on. Don't get me wrong; I don't really care one way or the other if you use this forum for self promotion. Denying it is futile however. In general you only reply to questions which give you some "plausibile deniability".
Steve
Stephen Hewitt wrote:
In general you only reply to questions which give you some "plausibile deniability".
Actually, I reply when the opportunity presents itself to promote - not myself - but one or more of several principles that lead to different ways of thinking about programming, and that, when applied, produce significantly different programs. Our Plain English development system is one example.
-
Or more succinctly: f = 9/5*c+32 Where "c" is degrees centigrade and "f" is degrees in fahrenheit. This is clearer in every way. -- modified at 20:39 Sunday 10th December, 2006 Not only is it clearer but also more useful. Using the basic rules of algebra I can derive the f->c conversion as follows: f = 9/5*c+32 f-32 = 9/5*c (f-32)*5 = 9*c (f-32)*5/9 = c So c = (f-32)*5/9
Steve
Stephen Hewitt wrote:
Or more succinctly: f = 9/5*c+32 Where "c" is degrees centigrade and "f" is degrees in fahrenheit.
And what language is that last line?
Stephen Hewitt wrote:
Not only is it clearer but also more useful. Using the basic rules of algebre I can derive the f->c conversion as follows: f = 9/5*c+32 f-32 = 9/5*c (f-32)*5 = 9*c (f-32)*5/9 = c So c = (f-32)*5/9
Let me make this perfectly clear, at least between you and I, once and for all. We're not saying that algebra is useless, or that algebraic notation is less appropriate than Plain English for certain specific tasks. We're saying that algebraic notation is more easily thought of as a sub-language of English rather than the reverse. We're saying that an intelligent machine should understand both; specifically, it should understand the sub-language in the context of the larger, natural language - exactly as you have used both "languages" in the quotations above. The letters "c" and "f" can be appropriate abbreviations, in certain contexts, but only if their meanings are clearly defined at a higher, more descriptive level. The reason we are emphasizing (at this time) the natural language aspect is that computers already know how to parse, manipulate, and otherwise process algebraic notation - but they don't know how to deal with natural languages with the same level of expertise. And because most programmers are unaware of the amazing power and flexibility that natural languages possess. C'mon - off the top of your head, would you think that an efficient native-code-generating compiler could be conveniently written in English?
-
Chris Maunder wrote:
I will repeat: Enough is enough.
:laugh::laugh::laugh:
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
Chris Maunder wrote:
I just want you, as I have asked many times before, to cease using these forums for self promotion.
Self promotion, as we've discussed before, is the wrong term. As I've said many times before, what we're promoting is ideas - in this case, the ideas that (1) people naturally think, not in artificial languages, but in natural languages, of which pseudocode is a degenerate case; and (2) since pseudocode-like languages can be compiled and run and used to develop even low-level programs like compilers and high-level programs like page editors, we should all reconsider the role of artifical/natural languages in computer programming. The original poster is just starting out and we wouldn't want this person to be denied exposure to all aspects of "state of the art", now would we? Our Plain English development system is nothing but a "proof of concept" that we offer, here and elsewhere, to eliminate unnecessary responses claiming our ideas are "nice, but impractical". That's all. The product is not important except as a working manifestation of the ideas behind it.
The Grand Negus wrote:
Our Plain English development system
Haven't you taken the hint that most people here are not interested in Plain English? This site is a Microsoft technologies based site.
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
Stephen Hewitt wrote:
Or more succinctly: f = 9/5*c+32 Where "c" is degrees centigrade and "f" is degrees in fahrenheit.
And what language is that last line?
Stephen Hewitt wrote:
Not only is it clearer but also more useful. Using the basic rules of algebre I can derive the f->c conversion as follows: f = 9/5*c+32 f-32 = 9/5*c (f-32)*5 = 9*c (f-32)*5/9 = c So c = (f-32)*5/9
Let me make this perfectly clear, at least between you and I, once and for all. We're not saying that algebra is useless, or that algebraic notation is less appropriate than Plain English for certain specific tasks. We're saying that algebraic notation is more easily thought of as a sub-language of English rather than the reverse. We're saying that an intelligent machine should understand both; specifically, it should understand the sub-language in the context of the larger, natural language - exactly as you have used both "languages" in the quotations above. The letters "c" and "f" can be appropriate abbreviations, in certain contexts, but only if their meanings are clearly defined at a higher, more descriptive level. The reason we are emphasizing (at this time) the natural language aspect is that computers already know how to parse, manipulate, and otherwise process algebraic notation - but they don't know how to deal with natural languages with the same level of expertise. And because most programmers are unaware of the amazing power and flexibility that natural languages possess. C'mon - off the top of your head, would you think that an efficient native-code-generating compiler could be conveniently written in English?
The Grand Negus wrote:
algebraic notation is less appropriate than Plain English for certain specific tasks
Isn't it possible for you to have any kind of discussion in these forums without uttering "Plain English"? I am starting to think it is not possible...
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
Stephen Hewitt wrote:
Or more succinctly: f = 9/5*c+32 Where "c" is degrees centigrade and "f" is degrees in fahrenheit.
And what language is that last line?
Stephen Hewitt wrote:
Not only is it clearer but also more useful. Using the basic rules of algebre I can derive the f->c conversion as follows: f = 9/5*c+32 f-32 = 9/5*c (f-32)*5 = 9*c (f-32)*5/9 = c So c = (f-32)*5/9
Let me make this perfectly clear, at least between you and I, once and for all. We're not saying that algebra is useless, or that algebraic notation is less appropriate than Plain English for certain specific tasks. We're saying that algebraic notation is more easily thought of as a sub-language of English rather than the reverse. We're saying that an intelligent machine should understand both; specifically, it should understand the sub-language in the context of the larger, natural language - exactly as you have used both "languages" in the quotations above. The letters "c" and "f" can be appropriate abbreviations, in certain contexts, but only if their meanings are clearly defined at a higher, more descriptive level. The reason we are emphasizing (at this time) the natural language aspect is that computers already know how to parse, manipulate, and otherwise process algebraic notation - but they don't know how to deal with natural languages with the same level of expertise. And because most programmers are unaware of the amazing power and flexibility that natural languages possess. C'mon - off the top of your head, would you think that an efficient native-code-generating compiler could be conveniently written in English?
The Grand Negus wrote:
And what language is that last line?
I've got nothing against English; my gripe is with the use of English in an inappropriate context.
The Grand Negus wrote:
We're not saying that algebra is useless, or that algebraic notation is less appropriate than Plain English for certain specific tasks.
I agree with this sentiment. However, going back to the point I made above, a formula with some definitions in English as I gave above is a much better way to present the c->f conversion algorithm than English. In short, I contend that your example was a bad example of the merits of plain English.
Steve
-
Stephen Hewitt wrote:
In general you only reply to questions which give you some "plausibile deniability".
Actually, I reply when the opportunity presents itself to promote - not myself - but one or more of several principles that lead to different ways of thinking about programming, and that, when applied, produce significantly different programs. Our Plain English development system is one example.
The Grand Negus wrote:
Our Plain English development system is one example.
:|:zzz:
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
The Grand Negus wrote:
And what language is that last line?
I've got nothing against English; my gripe is with the use of English in an inappropriate context.
The Grand Negus wrote:
We're not saying that algebra is useless, or that algebraic notation is less appropriate than Plain English for certain specific tasks.
I agree with this sentiment. However, going back to the point I made above, a formula with some definitions in English as I gave above is a much better way to present the c->f conversion algorithm than English. In short, I contend that your example was a bad example of the merits of plain English.
Steve
Stephen Hewitt wrote:
In short, I contend that your example was a bad example of the merits of plain English.
Agreed. Mathematical relations are a weak point in every natural language; that's why things like algebraic notation are invented in the first place. But I didn't get the choose the example here - the problem assigned by the instructor was clearly math-centric. Nevertheless, I'm quite sure that a complete solution to the given problem - including the interface, etc - would include a much smaller percentage of formulaic matter and would therefore benefit from the "compiled pseudocode" I recommended. It's not unlike a MIDI music machine I programmed years ago on and Apple II. There were certain routines that, for performance, had to be written in assembler. But the bulk of the program was much more easily written, tested, modified, and perfected in Applesoft Basic (a more English-like language). Besides, formulaic languages reach their "limits" very quickly (no pun intended). Consider, for example, this natural language description of an object:
a two-inch aluminum cube with a quarter-inch spherical void at its center
What's the formula for that? And for the other zillion things that can be easily described in half a sentence but that nevertheless defy mathematical description?
-
The Grand Negus wrote:
Our Plain English development system
Haven't you taken the hint that most people here are not interested in Plain English? This site is a Microsoft technologies based site.
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
The Grand Negus wrote:
algebraic notation is less appropriate than Plain English for certain specific tasks
Isn't it possible for you to have any kind of discussion in these forums without uttering "Plain English"? I am starting to think it is not possible...
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
PaulC1972 wrote:
Isn't it possible for you to have any kind of discussion in these forums without uttering "Plain English"? I am starting to think it is not possible...
Actually, I've discussed many different things here. This very thread contains a reference to a post I made today regarding Latex where Plain English is not mentioned at all. But we came here specifically to discuss issues illustrated in our Plain English development system, and so it is not surprising that most of our posts address those same issues. We're not here to "socialize". We're on a mission...
-
PaulC1972 wrote:
Haven't you taken the hint that most people here are not interested in Plain English?
Define "most". Supply verifiable numbers to support your definition.
The Grand Negus wrote:
Supply verifiable numbers to support your definition.
That's not necessary, just look at the "nasty" replies you get :|
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
Stephen Hewitt wrote:
In short, I contend that your example was a bad example of the merits of plain English.
Agreed. Mathematical relations are a weak point in every natural language; that's why things like algebraic notation are invented in the first place. But I didn't get the choose the example here - the problem assigned by the instructor was clearly math-centric. Nevertheless, I'm quite sure that a complete solution to the given problem - including the interface, etc - would include a much smaller percentage of formulaic matter and would therefore benefit from the "compiled pseudocode" I recommended. It's not unlike a MIDI music machine I programmed years ago on and Apple II. There were certain routines that, for performance, had to be written in assembler. But the bulk of the program was much more easily written, tested, modified, and perfected in Applesoft Basic (a more English-like language). Besides, formulaic languages reach their "limits" very quickly (no pun intended). Consider, for example, this natural language description of an object:
a two-inch aluminum cube with a quarter-inch spherical void at its center
What's the formula for that? And for the other zillion things that can be easily described in half a sentence but that nevertheless defy mathematical description?
I agree that English has its place; just not where you used it. It seems you concede this point so I won't go on about it.
The Grand Negus wrote:
a two-inch aluminum cube with a quarter-inch spherical void at its center What's the formula for that?
You could describe this mathematically in many ways but I agree that for many uses an English description or a diagram would be superior. However, if you wanted to figure the required volume of aluminum required a mathematical description would be preferable.
The Grand Negus wrote:
Besides, formulaic languages reach their "limits" very quickly (no pun intended).
I think that pun was intended:)
Steve
-
PaulC1972 wrote:
Isn't it possible for you to have any kind of discussion in these forums without uttering "Plain English"? I am starting to think it is not possible...
Actually, I've discussed many different things here. This very thread contains a reference to a post I made today regarding Latex where Plain English is not mentioned at all. But we came here specifically to discuss issues illustrated in our Plain English development system, and so it is not surprising that most of our posts address those same issues. We're not here to "socialize". We're on a mission...
The Grand Negus wrote:
We're not here to "socialize". We're on a mission...
Mission to annoy...
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
The Grand Negus wrote:
Supply verifiable numbers to support your definition.
That's not necessary, just look at the "nasty" replies you get :|
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
PaulC1972 wrote:
That's not necessary, just look at the "nasty" replies you get
But from how many of the larger community here? A handful of cranks do not a majority make. Besides, I don't say what I say because it's popular (or not). I say these things simply because I believe them to be true. In other words, even if I got three million nasty remarks on this forum, I'd still be compelled to say the same kind of things.
-
PaulC1972 wrote:
That's not necessary, just look at the "nasty" replies you get
But from how many of the larger community here? A handful of cranks do not a majority make. Besides, I don't say what I say because it's popular (or not). I say these things simply because I believe them to be true. In other words, even if I got three million nasty remarks on this forum, I'd still be compelled to say the same kind of things.
The Grand Negus wrote:
I say these things simply because I believe them
That's fine and dandy, we all are entitled to it.
If you try to write that in English, I might be able to understand more than a fraction of it. - Guffa
-
I agree that English has its place; just not where you used it. It seems you concede this point so I won't go on about it.
The Grand Negus wrote:
a two-inch aluminum cube with a quarter-inch spherical void at its center What's the formula for that?
You could describe this mathematically in many ways but I agree that for many uses an English description or a diagram would be superior. However, if you wanted to figure the required volume of aluminum required a mathematical description would be preferable.
The Grand Negus wrote:
Besides, formulaic languages reach their "limits" very quickly (no pun intended).
I think that pun was intended:)
Steve
Stephen Hewitt wrote:
However, if you wanted to figure the required volume of aluminum required a mathematical description would be preferable.
Not necessarily. Recall the story of Henry Ford who, encountering one of his engineers feverishly working out the volume of an oddly-shaped fuel tank, simply filled the thing with water and poured the contents into a graduated cylinder. Point being, the "mathematical" approach is not always the most effective. And in our opinion, much less often than commonly assumed. Did you, for example, "calculate" your way to the store the other day, or did you use other methods of measurement, comparison, and decision making? When you reach for the mouse, do you have trigonometry, consciously or unconsciously, on your mind?
-
Stephen Hewitt wrote:
However, if you wanted to figure the required volume of aluminum required a mathematical description would be preferable.
Not necessarily. Recall the story of Henry Ford who, encountering one of his engineers feverishly working out the volume of an oddly-shaped fuel tank, simply filled the thing with water and poured the contents into a graduated cylinder. Point being, the "mathematical" approach is not always the most effective. And in our opinion, much less often than commonly assumed. Did you, for example, "calculate" your way to the store the other day, or did you use other methods of measurement, comparison, and decision making? When you reach for the mouse, do you have trigonometry, consciously or unconsciously, on your mind?
The Grand Negus wrote:
Not necessarily. Recall the story of Henry Ford who, encountering one of his engineers feverishly working out the volume of an oddly-shaped fuel tank, simply filled the thing with water and poured the contents into a graduated cylinder.
I take your point but immersing an aluminum cube with a void in the center will measure the volume of the cube including the void. You would have to fill the void with fluid to figure out how much to subtract since I was after how much aluminum was required. Based on the description of the shape, to get access to the void I would have to drill a hole in the box. In this case the mathematical approach seems best.
The Grand Negus wrote:
Did you, for example, "calculate" your way to the store the other day, or did you use other methods of measurement, comparison, and decision making? When you reach for the mouse, do you have trigonometry, consciously or unconsciously, on your mind?
Mainly memory but I can say little out what method my mind used internally.
Steve
-
The Grand Negus wrote:
Not necessarily. Recall the story of Henry Ford who, encountering one of his engineers feverishly working out the volume of an oddly-shaped fuel tank, simply filled the thing with water and poured the contents into a graduated cylinder.
I take your point but immersing an aluminum cube with a void in the center will measure the volume of the cube including the void. You would have to fill the void with fluid to figure out how much to subtract since I was after how much aluminum was required. Based on the description of the shape, to get access to the void I would have to drill a hole in the box. In this case the mathematical approach seems best.
The Grand Negus wrote:
Did you, for example, "calculate" your way to the store the other day, or did you use other methods of measurement, comparison, and decision making? When you reach for the mouse, do you have trigonometry, consciously or unconsciously, on your mind?
Mainly memory but I can say little out what method my mind used internally.
Steve
Stephen Hewitt wrote:
Mainly memory but I can say little about what method my mind used internally.
But that is exactly what we're trying to figure out. And we not interested in "higher mathematics" at this point because we're convinced there are no higher mathematics going on in, say, a two-year-old's mind when he understands and properly responds to simple commands.