• Commodore Free, Issue 52 - Part Seven

    From Stephen Walsh@39:901/280 to All on Mon Aug 22 15:04:51 2011
    A democracy thrives on the individual's freedom to choose. Anything less is a despotism or / and dictatorship. Although The film Brewster's Millions had it right with the option "NONE of the Above!" where you could vote not to vote! The choice to opt out is useful in an Alternative Voting system. It says I
    have no second, third,. Choice/s or even says no thanks to all -which is fair enough! If truth be told. If it were down to policy matching my beliefs I'd never vote. As the current MP proved there worth with a problem I was having with the hospital, a word from said MP got things moving in my favour so quickly that I wish I'd written there in the first place!

    On the other hand if I was cynical I would say that this is state manipulation to get people to vote! So I'm on a one good, successful deed to one election vote favour basis! The current one is with the Housing Association, who
    doesn't want to spend money. Even though the items suggested are required for proper up to date and accessible hygiene functions for the premises!

    Enough of my life / "existence!".

    What did we think of the referendum on AV.? A mass NO turn out, I see. I was for it until I realised it would replace first past the post. I thought the idea was to have it as a back up to avoid having to have another coalition. So that if no-one got past the commons majority post, they could look at the AV form and decide where the majority actually is. It can work if the no. 1 spot gets 3 points, while the number 3 spot gets 1 point -assuming three piles of votes to count. That way the chances of third place getting in are diminished somewhat, while the party that was in the lead under 1st past the post, have a deserved advantage. As said, this would be effective where seats didn't have a 60% or more majority.

    To illustrate:

    1 party A, 2 party B etc. So in AV party A will always get the most points. They could also tip the party with the most seats at the end of the 1st past post round with an extra half a point.

    Alternatively (get it? Alternative Voting! ...? "Oh! OK.") You could make it even more interesting. By reversing the score of a count! There are a number
    of ways to do this but for sake of arguing; If a. The least score wins. Number 1 being first choice scoring 1, where 2nd choice scores 2 etc. Personally I feel AV should only come into play when no-one gets past that national majority, the post they all rant on about. This might avoid us having another coalition, if and when this one fails. As is ;too much compromise has been
    made already. Don't you think? -say "Yes John!"...

    In any system, to get the right scale; We need the number of seats: divided by number of parties standing for election.

    Here, Independents usually come under others, but generally have an allegiance with a former party. And other parties are assumed to form as one to make things easier to play with!

    We also need a category on the vote form for those who "chose to abstain".
    This is especially necessary with Alternative Voting (AV) or the system really won't work as democratic. For instance if votes aren't counted just because some-one only put a cross in the 1 category, and so isn't interested in going onto the next round if their choice goes out, trying to force them won't work. Remember democracy not conspiracy or conscripted vote. Hopefully, the No to AV campaign has got how it will work wrong for the sake of their propaganda. I'm no liberal, nor do I care much for politics, but this has got my imagination going. Make the politicians and vote counters etc. work for the excessive
    money they're on!

    The Intro. prog. being designed to be simple for the beginner. Therefore are deliberately limited to encourage learners to expand on them for their own
    use. So, Lets now look at improving/tweaking ways of programming the above.
    And even move towards programs that allow a user to count in their own elections. Say for a committee, or schoolyard coup!

    VOTES1B

    I cannot speak for the excellent professor whose teaching I am very grateful to. But I can say that for these purposes the results I created are entirely fictional and not meant as a representation of real life. I've avoided
    politics for radio stations, as it was a cheap way to plug the one I'm
    involved with. -which of course has been given the most listeners!

    The results aren't the important thing here,

    The program is.

    10-70 Remember my wish to cover each command in the c16 manual with something. Well, here's a good opportunity to use The "DELETE" command. What is more,
    I've typed it for you. just type:

    LIST70

    press <return>

    line 70 will appear.

    take the cursor over the 7.

    Press <space bar> twice to take REM out, and press <return>

    When you type list again, all that rubbish will be gone.

    You might want to replace some lines with proper form. And I still feel a bit off publishing it. So, if you have an emulator like Yape. You can copy and paste the following:-

    10 REM *FAIRER VOTING*
    20 REM *BASED ON HAPPY PROG'ING ARTICLE IN*
    30 REM *COMMODORE FREE MAGAZINE*

    add the Issue number for reference if you wish.

    with that done, save it to avoid having to do it again!

    80 find the best backdrop to highlight the bar chart. (made easy with the next program!)

    100 after messing about, I decided to get on with it.

    110 variable: should give more than enough options for.. options!

    120 v$ for names, v for numbers. (here, you could use the integer as in v% for numbers as fractions won't work).

    130-190 The candidates

    210 The Question is what is the question? Q$ determines what is the question.

    220 Some made up numbers for the bar chart.

    230 nucleus for the actual bars!

    300 & 310 The above was intended as a back up if user just pressed return, though there are alternative ways to do this. Like demanding an answer, or simply skipping an item leaving it blank.

    e.g.

    A: INPUT" WHAT IS YOUR QUESTION ";Q$
    B: IFQ$=""THEN A

    No method stops a user typing gibberish, or swear words (-"Ed!!") but as the program is written for a third party user, it is their business what they do with it! I have left this blank for peoples learning. It's simple stuff like.

    How many parties? <max. a>

    name parties, give numbers etc.

    You could even add a loop in the program to allow a live count!

    450 clear screen, and set up title.

    460 print question neatly.

    470 print measuring bar

    500 reset data count, necessary if going back to reprint such as live or recounts! (note that data can be used with the variables that can be added to)

    510 0 to 6 = 7 times round. Remember 0 is 1 and 1 is 1 again too!

    520 read data give it a variable

    530 assign a use for that data.

    540 print party name,

    550 print the bar to the required length for each party

    560 start a new line

    600 complete loop from line510

    610 job done, wait for key press.

    620 Inform user of above.

    700-720 The Gold Bar Standard. I originally thought 255 was the maximum. But
    as this is not a string (re. IN$) rather a repetition of one. There isn't really a number limit, except what the commodore can't handle.

    900 reset the ink to standard

    10000- set the numbers for the colours.

    speaking of colours... Remember I said choosing the best is now easier. Well, it is Thanks to this program. And can also be expanded. Try keys to alter foreground and background, as well as repeat a colour set.

    COLORS1

    90 clear screen

    100 start main colour loop

    105 start luminance count

    110 set up codes for bar/s, and print one bar. Approx. length, 10 or 12 spaces as required.

    115 wait for key press

    120 next luminance and eventually colour.

    200 return standard ink at end of program.


    --- MBSE BBS v0.95.12 (GNU/Linux-i386)
    * Origin: Dragon's Lair: telnet: bbs.vk3heg.net Port: 2323 (39:901/280)