A variable is a quantity that is referred to be name, such as a, b, c, d and average in the above program. A variable can take on many values during program execution, but you must make sure that they are given an initial value, as C does not do so automatically. However, before variables can be used in a program, they must be declared in a type declaration statement.
Exercise. Fill in the gaps to complete the sentences.
1.The Function ... must appear only once in a program. 2. /* CALCULATE AVERAGES*/ is a ... line. 3. The statement float a, b, c, d, average; is a ... statement. 4. The program below contains ... function statements. 5. The assignment statements are on lines ... and ... . 6. The main part of the program is enclosed within ... . 7. Each line of any C program must end with a ..., which acts as a statement ... . 8. If you forget to include the correct punctuation, the ... will produce a ... error. 9. A quantity referred to by name is known as a ... . 10. A ... statement must be used to declare variables.
UNIT 16
COMPUTER SOFTWARE. IT Certification
Task 1. Read, write the translation and learn the basic vocabulary terms:
arbitrary distinction
certification marks
Certified Software Quality Engineer by American Society for Quality
Certified Software Test Professional
CISSP (Certified Information Systems Security Professional)
competently
compilers
container term
cyber security certification
debuggers
digital signatures
distributed systems
education-based certification
electrically programmable memory devices
exam-based certification
file extension
firmware
FPGA configuration
hardware carriers
Help documentation
independent assessment
instructor-led sessions
intangible
Integrated development Environment (IDE)
interpreters
Joint Commission
licensure
linkers
mainboards
Microsoft Certified Systems Engineer (MCSE)
middleware
modular approach
object code
ordered sequence
particular
perceptible by touch
pertaining
preceding state
productive tasks
quality assurance
software product fit
subsets
testware
to be blurred
to be compiled
to be launched
to encompass
to unburden
user-executable files
whim
Text 16 A. SOFTWARE: THE INSIDE STORY
Computer software determines the types of tasks a computer can help you accomplish. Some software helps you create documents; while other software helps you edit home videos, prepare your tax return or design the floor plan for a new house.
The instructions that tell a computer how to carry out a task are referred to as a computer program. These programs form the software that prepares a computer to do a specific task, such as document production, video editing, graphic design or Web browsing. In popular usage the term “software” refers to one or more computer programs and any additional files that are provided to carry out a specific type of task. Whether it’s on a CD or downloaded from the Web, today’s software is typically composed of many files. You might be surprised by the number of files that are necessary to make software work. At least one of the files included in a software package contains an executable program designed to be launched, or started, by users. On PCs, these programs are stored in files that typically have .exe file extensions and are referred to as “executable files”. Other files supplied with a software package contain programs that are not designed to be run by users. These “support programs” contain instructions for the computer to use in conjunction with the main user-executable file. A support program can be activated by the main program as needed. Support programs often have file extensions such as .dll and .ocx.
In addition to program files, many software packages also include data files. As you might expect, these files contain any data that is necessary for a task, but not supplied by the user, such as Help documentation. The data files supplied with a software package sport files extensions such as .txt, .bmp, and .hlp. (see fig. 2):
T
he
use of a main user-executable file plus several support programs and
data files offers a great flexibility and efficiency for software
developers. Support programs and data files from existing programs
can usually be modified by developers for other programs without
changing the main executable file. This modular approach can reduce
the time required to create and test the main executable file, which
usually contains a long and fairly complex program. This modular
approach also allows software developers to reuse their support
programs in multiple software products and adapt preprogrammed
support modules for use in their own software. Modular programming
techniques are of interest mainly to people who create computer
programs; however these techniques affect the process of installing
and uninstalling software. It is important, therefore, to remember
that computer software consists of many files that contain
user-executable programs, support programs, and data.
Software is categorized as application software or system software. The primary purpose of application software is to help people carry out tasks using a computer. In contrast, the primary purpose of system software – your computer’s operating system, device drivers, programming languages, and utilities – is to help the computer to carry out its basic operating functions.
Computer software or just software is a general term used to describe the role that computer programs, procedures and documentation play in a computer system. The term includes:
Application software, such as word processors which perform productive tasks for users.
Firmware, which is software programmed resident to electrically programmable memory devices on board, mainboards or other types of integrated hardware carriers.
Middleware, which controls and co-ordinates distributed systems.
System software such as operating systems, which interface with hardware to provide the necessary services for application software.
Software testing is a domain dependent of development and programming.
Software testing consists of various methods to test and declare a software product fit before it can be launched for use by either an individual or a group.
Testware, which is an umbrella term or container term for all utilities and application software that serve in combination for testing a software package but not necessarily may optionally contribute to operational purposes.
As such, testware is not a standing configuration but merely a working environment for application software or subsets thereof.
Software includes things such as websites, programs or video games that are coded by programming languages like C or C++. "Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.
Computer software is often regarded as anything but hardware, meaning that the "hard" are the parts that are tangible while the "soft" part is the intangible objects inside the computer. Software encompasses an extremely wide array of products and technologies developed using different techniques like programming languages, scripting languages, microcode, or an FPGA configuration.
The types of software include web pages developed by technologies like HTML, PHP, Perl, JSP, ASP.NET, XML, and desktop applications like Open Office, Microsoft Word developed by technologies like C, C++, Java, or C#.
Software usually runs on underlying software operating systems such as the Linux or Microsoft Windows. Software also includes video games and the logic systems of modern consumer devices such as automobiles, televisions, and toasters.
Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.
The term "software" was first used in this sense by John W. Tukey in 1958. In computer science and software engineering, computer software is all computer programs. The theory that is the basis for most modern software was first proposed by Alan Turing in his 1935 essay “Computable numbers with an application to the Entscheidungsproblem”.
User Application Operating system Hardware
This is a structure showing where Operating System is located on generally used software systems on desktops. Practical computer systems divide software systems into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.
System software
System software helps run the computer hardware and computer system. It includes a combination of the following:
device drivers;
operating systems;
servers;
utilities;
windowing systems.
The purpose of systems software is to unburden the applications programmer from the often complex details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner. Examples are- Windows XP, Linux, and Mac OS X.
Programming software
Programming software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include:
compilers
debuggers
interpreters
linkers
text editors
An Integrated development environment (IDE) is a single application that attempts to manage all these functions.
Application software
Application software allows end users to accomplish one or more specific (not directly computer development related) tasks. Typical applications include:
industrial automation
business software
computer games
quantum chemistry and solid state physics software
telecommunications (i.e., the internet and everything that flows on it)
databases
educational software
medical software
military software
molecular modeling software
image editing
spreadsheet
Word processing
Decision making software
Application software exists for and has impacted a wide variety of topics.
Task 2. Discuss the following questions.
What does the term “computer software” mean?
What does this term include?
What tasks does application software perform?
Is there any difference between computer software and hardware?
Who and when invented the term “software”?
Practical computer systems divide software systems into three major classes. What are they?
What is the purpose of systems software (programming software, application software)?
What kinds of files are included in a typical software product?
Why does software require so many files?
How does a programmer “write” software?
How does a computer process a program?
How is software categorized?
Task 3. Mark the following statements as True or False.
Computer software typically consists of many files that contain user-executable programs, support programs and data files.
The main executable file provides the primary set of instructions for the computer to execute and calls various support programs and data files as needed.
Support programs often have file extensions such as .txt, .bmp, and .hlp.
Individuals often write software for their personal computers.
High-level languages are fairly easy to test and modify.
A compiler converts high-level instructions into a new file containing machine language instructions.
Task 4. Fill in the blanks choosing from the variants given.
1. The instructions that tell a computer how to … a task are referred to as a computer program.
a) require b) create c) carry out d) define
2. A programming language … tools for creating a lengthy list of instructions called source code.
a) prefer b) refer to c) avoid d) provide
3. As a program is running an interpreter converts one instruction… into machine language.
a) at a time b) at the same time c) all the time
4. eVidpro.exe is a compiled program, so its instructions are immediately … by the processor.
a) provided b) modified c) executed d) adapted
5. Software includes menus, buttons, and other control objects that are … by a programmer, who designates their properties.
a) converted b) defined c) reduced d) purchased
6. The software that provides the computer with … for each use is called application software.
a) approaches b) efficiency c) utilities d) instructions
Task 5. Make two-word expressions by combining words from two lists: A and B. Then fill in the gaps in the following sentences.
A: executable B: language
application code
machine file
source extensions
file software
high-level instructions
When using a Windows PC, you can start an … by clicking its icon, selecting it from a Start menu, or entering its name in the Run dialog box.
Computer software can be divided into two major categories: … software and system software.
The data files supplied with a software package sport … such as .txt, .bmp, .hlp.
A programming language provides tools for creating a lengthy list of instructions called … .
A simple instruction to add two numbers becomes a long series of 0s and 1s in a… .
A compiler converts … into a file containing machine language instructions.
Task 6. Fill in the gaps in the text.
Software consists of computer ___ (programs/utilities) and data files that work together to provide a computer with the ___ (instructions/approaches) and ___ (data/tools) necessary for carrying out a specific type of task, such as document production, video editing, graphic design, or Web browsing.
To create a software ___ (efficiency/environment), a programmer must define the ___ (approaches/properties) for each element in the environment, such as where an object appears, its shape, its color, and its behavior. Most programmers today prefer to use ___ (high-level/machine) languages. A computer’s microprocessor understands only ___ (machine/high-level) language, however, so a program that is written in a high-level language must be ___ (avoided/compiled) or interpreted before it can be ___ (processed/modified).
Task 7. Look back at the article. Find the adjectives which mean the following. The first and the last letters are given:
perceptible by touch; definite, clearly intelligible, not elusive or visionary (t……e);
consisting of two parts, dual (b….y);
capable of being numbered or estimated (c……..e);
based on random choice or whim; capricious; despotic (a…….y);
of or for or done by soldiers of the armed forces (m……y).
Task 8. Which of these statements are true? Correct the false ones.
Middleware controls and co-ordinates distributed systems.
System software provides the necessary services for application software.
Testware performs productive tasks for users.
Software testing can be launched for use by either an individual or a group.
Computer software is often regarded as hardware.
Software includes video games, websites, programs and logic systems of modern consumer devices.
Systems software unburdens the applications programmer from the often complex details of the particular computer being used.
Programming software assists a programmer in writing computer programs.
Industrial automation, educational software and business software are examples of application software.