What is a program and also why do we create them?

The publication C++ early on Objects, defines a regime as "a collection of accuse a computer follows in order to do a task. A programming language is a distinct language used to write computer system programs."

Computers and software walk hand in hand. Computers are powerful because they have the right to do plenty of things and programs are the method that us get computers to execute these many things.

You are watching: When a program is not running, it is stored

Video: What is Programming?

Computer hardware

A usual computer is composed of:The main processing unit (CPU)Main memory (random-access memory, or RAM)Secondary warehouse devicesInput devicesOutput devices


The CPU is the love of the computer. A program is a sequence of instructions stored in key memory. As soon as a regimen is run, the CPU fetches the instructions and executes or complies with the instructions.

The fetch/decode/execute cyclefetch - obtain the next instruction from main memory.decode - identify what instruction to perform.execute - do the instruction.

Every program ends up together a succession of straightforward instructions that consist that arithmetic and also logic operations and also control flow operations.

Arithmetic and logic operations incorporate add, subtract, multiply, divide and comparison of worths (equality, less than, better than).

Control flow operations are supplied to determine what instruction come execute next. Because that example, based upon the instruction, the program may skip or branch come another part of the accuse list.

You will find out the details of exactly how CPUs process instructions in CS 271, computer architecture and also assembly language.

Main memory or ram is used to keep the program while that is executing and also to keep the data the the regimen is functioning with.

RAM detailsThe CPU is able come quickly access any location in RAM.RAM is called volatile storage. Uneven persistent storage, as soon as a computer system is turned off or when a program finishes executing, the worths stored in RAM are erased.RAM is separated into warehouse units referred to as bytes. A byte is a sequence of eight bits.A little bit is the smallest element of the RAM and it stores a binary digit, one of two people a 0 or a 1. Every program and every data value in your computer system is stored as sequences that Os and ls.

Secondary storage offers long lasting and also persistent storage. Uneven RAM, data save on computer within secondary storage does no disappear once a computers is turned turn off or restarted. The many common kind of secondary storage for huge computers is a disk drive but computers deserve to use other creates of second storage such as solid state drives which usage memory chips that keep data worths without power.

Like main memory, second storage also stores info as order of 0s and also 1s together bits and bytes.

We frequently think of keyboards and mice but input devices can include cameras, microphones, and many other types of various sensors once you begin thinking of computer systems embedded in cars, electronics, and practically any electrical device.

The info a computer system sends to the outside human being is dubbed output. If a human is involved, output is generally sent come an output an equipment such as the computer system screen or a printer. No all programs will certainly output data to an output device. Instead, the output may be sent out over a computer network or stored in a database.

Programs and also programming languages

As declared above, programming involves producing a collection of instructions that a computer system will monitor to fix a problem or attain a task. Let"s filter our ax in this section.


An algorithm mentions a finite sequence of plainly defined work to deal with a certain problem or class of problems. Friend can explain the actions of one algorithm in plenty of ways including words (also well-known as herbal language), circulation charts, pseudo-code (described below), and also programming language code.

As the complexity of the problems increase, that is crucial to architecture algorithms that are reliable (i.e. Quick) and correct in the they produce the stated output for any valid input. In CS 325, analysis of Algorithms, girlfriend will find out techniques for evaluating complexity and for prove correctness.

An algorithm have the right to be implemented in numerous different computer languages and a solitary program may use or implement countless different algorithms. For example, you may use a sorting algorithm come order messages and a decryption algorithm to know the messages.

A computer"s CPU executes her program"s instructions. However, if you compose a regime in a language prefer C++, a computer system CPU deserve to only follow instructions coded together sequences the Os and also s. A software application compiler is a special regime that switch statements written in the computer system language come a binary type (Os and also s} called maker code. Because it is tough for us to acknowledge 0 and 1sequences, there is a low-level (close to hardware) programming language dubbed assembly language i beg your pardon uses quick abbreviations and patterns to describe what the CPU should do. For example, the assembly statement "MOV AL, 61h;" method copy the complying with value (61h, hexadecimal depiction of 97) right into memory place "AL".

You will discover much more about device code and also assembly language in CS 271,Computer architecture and also Assembly Language.

In this class, friend will discover C++ which is a high level language. High level languages space those computer languages the hide plenty of of the low level details that the computer system and tend come use much more natural words and symbols versus words such as "MOV" in assembly language i m sorry is a short level language.

C++ is one of plenty of high level languages. To view the existing popularity of all computer languages, walk to the TIOBE Index.

When you start producing programs in this class, you will certainly be creating resource code. Source code is saved in a straightforward text document called a resource file.

Your computer system does no understand source code. You should use a compiler to convert resource code to executable code, which you have the right to start and also run on her computer.

During the procedure of converting your resource code to an executable file, the C++ compiler will develop object code.

Source code is converted to what is called object password by the compiler. The object code for a C++ regime is conserved in documents with one .o or .obj suffix. In a final step dubbed linking, the object documents are an unified with any kind of library routines (routines detailed by the language for usage by you) to develop the last executable record with one .exe extension.

Depending on just how you compile your program, you may or might not actually check out the various procedures of convert your resource files right into an executable. For instance in countless IDEs (integrated breakthrough environments such as Visual Studio, Code:: Blocks, or XCode), the intermediate actions are taken care of instantly so you can click on a "build" button and the executable is created.

Most programming languages encompass the complying with elements.

Key words

Key words are words that have actually a special meaning in the language. They have the right to only be offered for their intended purpose. Likewise known as reserved words.

Programmer-defined identifiers

Programmer-defined identifiers are words you choose as the programmer to specify variables or programming routines.


Operators preform to work on one or much more operands. One operand is a item of data. The miscellaneous arithmetic signs such together +, *, and also / are examples of operators.


Punctuation personalities mark the start or ending of a statement or different items in a list.


Rules that need to be adhered to when creating a program. These rules specify how you have the right to combine vital words, programmer-defined identifiers, operators, and punctuation.

C++ specifically, - You will start discovering the C++specific language elements in chapter 2.

We often think the programs together made of up lines and statements. A heat is simply a solitary line in the program. Friend can display screen line numbers in most IDE source code editors. In intuitive Studio 2013, you have to turn castle on together they room off through default. Friend will regularly see recommendations to line numbers once you compile her program and also you have actually an error.


The display screen shot shows a routine with one error. As soon as the routine was compiled, the calculation (gray shaded home windows above) contained "source.cpp(B)" indicating that the trouble was on line 8 the thefile referred to as source. Cpp.

A statement is a finish instruction that reasons the computer to execute some action. A statement may span more than one line. The definition of a statement will certainly make much more sense when you begin programming in thing 2.

A statement is a complete instruction that causes the computer system to perform some action. A statement may span much more than one line. The an interpretation of a statement will make more sense when you begin programming in chapter 2.

Two of the most necessary considerations once programming space the input and also output. Many of the programs you will write for the course assignments will use key-board inputs. The program will prompt because that input and you will type in a response. As you progression through the level program, girlfriend will acquire experience making use of files, databases, web resources, and also other sources for input.

See more: What Is The National Animal Of Australia, The National Animals Of Australia

In countless if not every one of your CS 161 assignments, you will straight the program output come the console. You don"t regularly see console output if you space running applications on windows or OS X since those species of applications programs use graphical user interfaces (GUI). However, GUI programming add to a lot much more work to producing a program and our task in CS 161 is to teach girlfriend the fundamentals the programming for this reason we will certainly stick through console output.