Objectives
By the end of this reading you should be adept to response the following questions:
What are the three notions fundamental to programming, regardless of the dialect?
realise when each of these concepts might request when composing a program.
Name two strategies that can be cooperative in designing your program.
What is Programming?
In the most rudimentary sense, programming means creating a set of directions for completing some exact task. In this sense, many of our every day activities can be recounted as programmatic—they engage exact steps that often pursue a set alignment. For example, if you get home from school and desire to make yourself a peanut dairy spread and jelly sandwich, you know that you will have to get two pieces of bread, dairy disperse each part, disperse peanut dairy disperse on one slice and jelly on the other, and eventually put the two together. If you depart out a step you might end up with certain thing other than a PB&J sandwich. If you do things out of order—say, you put the slices of bread together before you disperse the peanut butter—you'll end up with a untidy.
Apple pie recipe:
In this general sense, our inhabits are topped up with programs and programming. When you make your bed you pursue certain steps in a programmatic latest trend. The steps should be the correct ones and they should be in the correct order. If you desire to make your grandmother's favorite apple fruit pie, you would ask her how to do it, and she most expected would drive you a program—a recipe. A program is thus furthermore useful for replicating a merchandise even if you are far taken from the original creator of the product.
But programs are not only useful for reproducing goods. Humans—even young children—have a amazing capability for mastering programmatic methods and behaviors. Take the familiar children's game, One Potato, Two Potato. This chant is a common way for young kids to select who is going to be "it" in a game. The children will all stand in a circle round the counter and contain their fists out in front of them. The contradict recites the rhyme, striking each fist in the around in turn for each phrase of the rhyme. When the contradict hits a fist on the last phrase of the rhyme—"...seven potato, more."—that fist is knocked out of the game. The contradict then repeats the rhyme, each time banging out another fist. The last person with a fist residual increased is "it". This simple game has all of the components of a program—a set sequence of events, activities presented founded on the outcome of a method, and repetition.
In the context of computing, programming means conceiving a set of directions not for a individual but for a computer, in alignment to complete a specific task. To do so you use a set of directives—a programming language—known to both the programmer and the computer operating scheme. The kind of things we program computers to do is distinct from what we “program” us to do. Usually a set of instructions, or program, for a computer is intended to entire a task that:
is repetitious, and thus would exceed human endurance or capacity for long period vigilance to minutia;
controls machinery in conditions unsuitable for humans because of personal limitations, dicey situation, etc.;
requires a high degree of accuracy;
needs high hasten.
Basic Programming notions:
Even though each programming dialect you use is exclusive, there are certain notions common to all dialects, encompassing LiveCode's scripting dialect. Let's gaze at three of the most widespread notions and structures utilised in programming.
Sequence of commands (The right commands in the right order.)
It is significant not only to give the right instructions or steps—they should furthermore be given in the correct sequence. We can effortlessly glimpse in some of our mundane examples—making a sandwich, tying one's footwear, following a recipe—that proper alignment is absolutely vital to our achievement. We might call such conspicuous sequences task order, because the correct sequence is dictated by the environment of the task.
But there are furthermore procedures in which the alignment of steps is insignificant. Often in such methods, a conventional alignment emerges to bypass confusion. An very good example in the U.S. context is speaking to notes for mailing. Every school child understands that you do it in this alignment:
First title Last title
House number road title
town, State Zip cipher
homeland
Oddly sufficient, this accepted order is exactly the turn around of how the address is analyzed at the diverse postal distribution points in the posted letters scheme. The posted letters agency at the issue of origin would gaze at the homeland and put the note in a pile for worldwide posted notes. The distribution center in the destination homeland would gaze at the zip cipher and possibly state. The localizedized mail office would examine the street address and location it in the correct mail carrier's route, and the posted letters carrier, upon arriving on that road, would location it into the mailbox bearing that address. Finally, whoever checked the posted letters at the dwelling would look at the title and give the note to the person it was addressed to.
wrapper displaying Russian address order
In some countries the accepted alignment follows the alignmented task alignment in addressing wrappers. In Russia, for example, notes are addressed in exactly the converse order to the U.S. convention.
Example: You desire to clear your computer display of all buttons and areas, show a area with text, delay for the client to click, then conceal the field and display the previous ones.
To work correctly, not only do all the instructions have to be there, they have to be in the right alignment.
dependent organisations (Do certain things founded on a factual or false, yes or no decision.)
These supply for one conclusion or sequence of events to be executed if a statement is factual, and another outcome or sequence of events to be triggered if the statement is untrue.
In most programming dialects these structures take the pattern if . . . then . . . additional.
The One Potato, Two Potato game utilises many of dependent decisions.
If the counter countries on your fist on the word "more" then you should remove your fist from the around.
If both of your fists are knocked out of the circle then you are out of the game.
Computing demonstrations:
demonstration 1:
If a phrase lives in a register, then print it out,
Else tell the client that the phrase does not live.
Example 2:
If a judgment comprises the phrase "silly" then put that judgment into the stupid register.
Else if it doesn't contain the phrase stupid" then put it into the grave register.
Looping organisations (A list of directions to do more than once.)
Used to make the computer replicate a certain command or sequence of instructions. The loop may run for a fixed number of times, until a certain condition becomes factual, or as long as a certain status continues true.
Here are some ways that looping might be finished:
Do the following 20 times.
Do the following one time for each word in the register
Repeat the following until the client presses the option key
replicate the following as long as the choice key is depressed.
afresh, the One Potato game provides an conspicuous demonstration of a looping structure. The rhyme is recurring and fists counted for as many times as required until just one person is left.
Another Example:
Given a register of party visitors, accredit everyone to one of three groups for "ice-breaker" sport.
Programming schemes:
Programming can variety in complexity from solving small problems—like setting an alert time on your watch or cell phone—to very sophisticated instructional or enterprise applications. For more complex jobs, you can use these strategies to help you believe through the reasoning of your program before beginning to write cipher.
A flow journal diagram of the one potato-two potato game
(Click to enlarge.)
Top-down conceive:
Top-down conceive is a way of close to a complex programming task by first mapping out the entire program and recognising the foremost components that it will require. Then the programmer would use flowcharts and general statements to comprise the ordered flow of your program. Once the major constituents are identified, the programmer then focuses on each component in larger minutia, eventually culminating in composing the genuine program cipher for conceiving each constituent.
In the example at right, we have represented the “program” for playing One Potato, Two Potato using a top-down approach. Each form in the flowchart comprises a foremost step in the game. blends of forms and projectiles display dependent “if-then” decision points, as well as looping organisations in which segments of the program are recurring, perhaps with minor variations in each iteration.
Pseudocode:
This term, from the prefix pseudo-, 'false' and the origin word cipher, 'programming instructions', recounts a way of comprising the comprehensive steps your program should perform without having to worry about the exact vocabulary or syntax of a exact programming language. You use your information of the rudimentary command structures, widespread sense and logic to compose plain-English statements to interpret in detail how you will accomplish each major step. All of the demonstrations shown here and used in class could be advised types of pseudocode.
Here is an example of pseudocode that describes our One Potato, Two Potato “program”. observe how it endeavours to minutia all of the steps, dependent declarations and looping segments using simple declarations, indents and negligible punctuation brackets.rudimentary Programming notions