- •Programming languages
- •Comparing Programming Languages
- •Technical factors
- •Political factors
- •Language vs Compiler for the Language
- •Tool Support and Documentation
- •Criteria for Comparing Programming Languages
- •Algorithm Development and Pseudocode
- •Vocabulary
- •Reading
- •User Interface Guidelines
- •Vocabulary
- •to adhere – to obey sth; to hold or follow a set of principles, course of actions
- •Speaking
- •Writing
- •XML: Basic Concepts
- •Task 2. Read the texts and match them with the headings below.
- •1. XML is the basis for RDF and the Semantic Web
- •2. XML is modular
- •4. XML is new, but not that new
- •5. XML leads HTML to XHTML
- •9. The data …… by Computer Services Engineer Technician for several hours.
- •The Graphical User Interface Problem
Федеральное агентство по образованию Российской Федерации Томский политехнический университет
И.Л. Пичугова
ПРОФЕССИОНАЛЬНЫЙ АНГЛИЙСКИЙ ЯЗЫК ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ
Учебное пособие
Издательство ТПУ Томск 2006
|
ББК Ш 143.21-923.81 |
|
УДК 802.0:681.324 (07) |
|
П-364 |
|
Пичугова И.Л. |
П-364 |
Проектирование информационных систем. Учебное пособие по |
|
профессиональному английскому языку. – Томск: Изд-во ТПУ, 2006. |
|
– 144 с. |
|
ISBN |
|
Учебное пособие «Проектирование информационных систем» |
|
состоит из 12 разделов. В каждый раздел включены аутентичные тексты, |
|
содержащие интересную и познавательную информацию о |
|
программировании, языках программирования, базах данных, системах |
|
управления базами данных, интерфейсах и т.д. Каждый раздел содержит |
|
ряд упражнений, нацеленных на усвоение научно-технической лексики. |
|
Также в пособии использованы материалы для аудирования. Пособие |
|
ориентированно как на занятия в аудитории, так и на самостоятельную |
|
работу. |
|
Учебное пособие подготовлено на кафедре английского языка №1 |
|
совместно с кафедрой вычислительной техники ТПУ и предназначено |
|
для студентов старших курсов факультета автоматики и вычислительной |
|
техники. |
|
Учебное пособие рассмотрено и одобрено на заседании Научно- |
|
методического Совета кафедры АЯ №1, протокол №7 от 15.11.2006г. |
|
УДК 802.0:681.324 (07) |
|
Рекомендовано к печати Редакционно-издательским советом |
|
Томского политехнического университета |
|
Рецензенты |
|
Кандидат филологических наук, |
|
доцент кафедры английской филологии ТГУ |
|
И.А. Галкина |
|
Кандидат педагогических наук, |
|
старший преподаватель кафедры английской филологии ТГУ |
|
С.В. Кузнецова |
|
Кандидат технических наук, |
|
доцент кафедры вычислительной техники ТПУ |
|
Е.А. Мирошниченко |
ISBN |
© Томский политехнический университет, 2006 |
|
© Оформление. Изд-во ТПУ, 2006 |
|
1 |
Contents |
|
|
Map of the book |
3 |
|
Unit 1. |
Computer Programming |
5 |
Unit 2. |
Program Design |
12 |
Unit 3. |
Programming Languages |
19 |
Unit 4. |
Comparing Programming Languages |
26 |
Unit 5. |
Structured Programming |
34 |
Unit 6. |
Object Oriented Programming |
41 |
Unit 7. |
Databases |
50 |
Unit 8. |
Database Management Systems |
57 |
Unit 9. |
Graphical User Interface |
65 |
Unit 10. |
User Interface Guidelines |
73 |
Unit 11. |
Web Page Design |
83 |
Unit 12. |
Extensible Markup Language |
93 |
Pairwork Student A |
101 |
|
Pairwork Student B |
103 |
|
Visuals for Speaking |
105 |
|
Progress Check 1 (Units 1 - 6) |
111 |
|
Progress Check 2 (Units 7 - 12) |
116 |
|
Listening Script |
121 |
|
Glossary |
|
132 |
Bibliography |
143 |
2
Map of the Book
Unit |
Title |
Vocabulary |
Grammar |
1. |
Computer programming |
Program, algorithm, process, |
|
|
|
operation, connector, input, |
|
|
|
output, decision, flowchart, |
|
|
|
system/syntax/logic errors |
General and special questions |
2. |
Program design |
Flowchart, documentation, |
|
|
|
testing, debugging, program, |
|
|
|
machine code, programming |
|
|
|
tools, compilation, coding |
Modal verbs |
3. |
Programming languages |
Source code, object module, |
|
|
|
compiler, instructions, |
|
|
|
machine code, load module, |
|
|
|
linkage editor, algorithm |
Compound nouns |
4. |
Comparing programming |
Library, compilation speed, |
|
|
languages |
portability, development |
|
|
|
time, implementation, |
|
|
|
popularity, safety, runtime |
Relative clauses with a |
5. |
Structured programming |
Sequential execution, loop, |
|
|
|
spaghetti code, control |
participle |
|
|
structure, sequence, selection, |
|
|
|
iteration, function |
The Infinitive of purpose |
6. |
Object oriented programming |
Inheritance, class, entity, |
|
|
|
procedure, property, value, |
|
|
|
intelligence encapsulation, |
|
|
|
library, property, attribute |
|
7. |
Databases |
Database, file, record, field, |
|
|
|
data model, hierarchical, |
|
|
|
network and relational |
|
|
|
approaches, sort, update |
|
8. |
Database management |
Logical record, field, |
|
|
systems |
physical record, internal |
|
|
|
schema, external schema, |
|
|
|
conceptual schema, query |
Constructions: |
9. |
Graphical user interface |
Pointer, desktop, windows, |
|
|
|
icon, menus, system tray, |
verb + object + infinitive, |
|
|
buttons, commands, tooltips, |
verb + object + to-infinitive |
|
|
GUI, multimodal interface, |
with such verbs as allow, |
|
|
recognition, hover, select |
permit, let, enable, help |
10. |
User interface guidelines |
Appearance, density of |
Phrasal verbs |
|
|
controls, capabilities, error- |
|
|
|
free navigation, intuitive, |
|
|
|
application, feedback |
The Passive |
11. |
Web page design |
Metalanguage, character, |
|
|
|
markup, XML processor, |
|
|
|
parse, customized, authoring |
|
|
|
environment, entity, HTML |
The Gerund |
12. |
Extensible Markup Language |
Algorithm, technology, |
|
|
|
standard, designer, syntax, |
|
|
|
procedure, namespace |
|
|
|
mechanism, tool, support |
|
|
|
3 |
|
|
|
|
Map of the Book |
|
|
|
|
Listening |
Reading |
Speaking |
Writing |
Matching flowchart |
Scanning; reading |
Talking about computer |
Drawing a flowchart |
symbols and spoken |
and note-taking |
programming, different |
|
output; listening for |
|
types of errors |
|
detail |
|
|
|
Writing a dictation |
Scanning |
Talking about computer |
Describing a process; |
|
|
program design, its main |
Translating sentences |
|
|
steps |
|
|
|
|
|
Listening for specific |
Reading for main |
Exchanging options and |
|
information; noting |
ideas |
information about |
|
specific information |
|
programming languages |
|
|
|
|
|
|
Reading for specific |
Talking about the main |
Writing an essay |
|
information |
criteria for comparing |
comparing programming |
|
|
programming languages |
and natural languages |
|
|
|
|
|
Reading for specific |
Talking about the main |
Translating the text about |
|
information |
rules of structured |
algorithm development |
|
|
programming |
and pseudocode |
|
|
|
|
Listening for specific |
Reading for specific |
Talking about basic |
Translating the text about |
information; noting |
information |
features of object oriented |
object oriented |
specific information |
|
programming; developing |
programming |
|
|
a software package |
|
Noting specific |
Reading for main |
Talking about databases, |
Writing an argumentative |
information |
ideas and for specific |
structuring data model |
essay |
|
information |
|
|
|
|
|
|
Listening for specific |
Reading for main |
Talking about database |
Writing an argumentative |
information |
ideas and for specific |
management systems; |
essay; translating the text |
|
information |
describing a process |
about database |
|
|
|
management systems |
Listening for specific |
Reading diagrams; |
Talking about common |
Writing instructions |
information, noting |
reading for main |
features of graphical user |
|
specific information |
ideas and for specific |
interface; providing |
|
|
information |
explanation of different |
|
|
|
actions |
|
|
Reading for specific |
Talking about the basic |
Completing a table with |
|
information |
principles to design a user |
relevant information; |
|
|
interface |
preparing a leaflet; writing |
|
|
|
a summary |
Listening for specific |
Reading for main |
Talking about top 10 web |
|
information, noting |
ideas and for specific |
page annoyances; |
|
specific information |
information |
basic concepts of XML |
|
|
|
|
|
|
Reading for main |
Exchanging information |
Translating the text about |
|
ideas |
|
XML |
|
|
|
|
|
|
4 |
|
Unit 1. Computer Programming
Warm-up
Task 1. What do you know about programming? Answer the Internet Quiz.
1. |
Programmers use algorithms when writing programs. |
T / F |
2. |
Programmers write programs using the numbers 1 and 0. |
T / F |
3. |
We can only find computer programs in computers. |
T / F |
4. |
Any given program, if running, is obsolete. |
T / F |
5. |
Any given program costs more, and takes longer. |
T / F |
6. |
The most harmful error of any program will not be |
T / F |
|
discovered until the program has been in production for at |
|
|
least six months. |
|
7. |
Profanity is the one language that all programmers know |
T / F |
|
the syntax of. |
|
8. |
There is always one more bug. |
T / F |
9. |
Real programmers never work from 9 to 5. If any real |
T / F |
|
programmer is around at 9 a.m., it’s because they were up |
|
|
all night. |
|
10. |
It is easier to change the specification to fit the program |
T / F |
|
than vice versa. |
|
|
5 |
|
11. |
Any program will expand and fill all of available memory |
T / F |
|
– plus one byte. |
|
12. |
Disk errors occur only after you've done several hours of |
T / F |
|
work without making a backup. |
|
Listening
Task 2. Programmers sometimes use flowcharts when planning a program. Listen to the recording and identify these symbols used in flowcharts. One symbol is not mentioned.
a) ____________ |
b) ____________ |
c) ____________ |
d) ____________ |
e) ____________ |
f) ____________ |
Task 3. Listen again to the recording and write below a typical example of an instruction often found there in flowcharts. One symbol has no words.
a)_________________________________________________________
b)_________________________________________________________
c)_________________________________________________________
d)_________________________________________________________
e)_________________________________________________________
Reading
Task 4. Look at the algorithmic flowchart on the next page and answer the questions.
1.Which computer commands does it show?
2.How many decisions does the computer make?
3.After the user clicks Save, how many times does the user input data?
4.How many ways of developing the events are possible here?
Now describe this algorithmic flowchart.
6
User clicks Save.
The program reads the file name, format and location.
YES
Is there an existing file |
|
|
|
||||
with the same file |
|
Save file. |
END |
||||
name, format and |
|
|
|
||||
location? |
|
|
|
||||
|
|
|
|
|
|
||
|
NO |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Program shows the |
|
|
|
||||
Save As dialog box. |
|
|
|
||||
User enters the file |
|
|
|
||||
name, format and |
|
|
|
||||
location. |
|
|
|
||||
User clicks on Save in |
|
|
|
||||
the Save As dialog box. |
|
|
|
||||
|
|
|
|
|
|
|
|
Program reads the file name, |
|
|
|
|
|
||
format and location. |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Is there an existing file |
YES |
|
A dialog box appears |
||||
|
|
with the message, |
|||||
|
|
||||||
with the same file |
|
‘The file already |
name, format and |
exists. Do you want |
||
location? |
|||
to replace it?’ |
|||
|
|
||
|
|
|
|
|
NO |
|
|
|
|
|
|
Save file. |
|
||
|
|
|
|
END |
|
||
|
|
7 |
Task 5. Read the text about computer programming. Write the number of the paragraph that gives you the information.
a. |
why high-level languages are easy to learn |
_____ |
b. |
a description of machine language |
_____ |
c. |
the greatest problem for computer programmers |
_____ |
d. |
the names of three high-level computer languages |
_____ |
e. |
a description of an algorithm |
_____ |
f. |
different uses of computers in our lives |
_____ |
g. |
a description of a computer program |
_____ |
h. |
what computers do with code |
_____ |
i. |
a description of the binary system |
_____ |
1.The diagram on the right shows part of a simple algorithmic flow chart for the Save command in a computer program. An algorithm is a set of logical rules that we use to solve a problem. Computer programmers often use algorithms to plan their programs, but the only language a computer understands without translation is machine language. This uses the binary system of 1 and 0, which matches the electrical positions ‘on’ and ‘off’. We can also show these numbers in English by
Yes/No or True/False.
2.Machine language is a low-level language and is very difficult to write. Over the years, computer scientists have developed many high-level languages, such as BASIC, C++ and Java. These languages use a computer code that is similar to English, which makes them easier to learn. A computer program is just a set of coded instructions. A computer translates the code into machine language to complete a specific task. A computer receives input, processes data and produces results, or output, according to the program code.
3.We use computers in many parts of our lives, and not just in schools or for the Internet. There are computers in all kinds of electrical devices, from mobile phones to washing machines. We can find them in banks, supermarkets and cars. When programmers write programs, they have to plan carefully for every possible kind of error a computer user can input into the computer. It is planning for the random behaviour of humans that makes programming so much fun.
8
Speaking
Task. 6. Work in groups and discuss the following questions.
1.Have you ever had any problems with the computer?
2.What kind of errors do you make with computers?
3.How do you behave when things go wrong with a computer?
Listening
Task 7. Listen to the interview with Colin who is a programmer and answer these questions.
1.Is programming stressful?
2.What does Colin do as a break from programming?
3.Where do the team do much of the design work?
4.How many people are there in the team?
5.What do they do?
6.How long did Dante take to write?
7.Why was it easy to split?
8.What languages does he mention?
9.How does he keep up with developments in his field?
10.Why does he hate to go home sometimes?
9
Reading
Task 8. Work in groups of three: A, B and C. Read your text below and complete this table.
Text A |
Text B |
Text C |
Type of error
Definition
Example
Ways to avoid or deal with this kind of error
A.System errors affect the computer or its peripherals. For example, you might have written a program which needs access to a printer. If there is no printer present when you run the program the computer will produce a system error message. Sometimes a system error makes the computer stop working altogether and you will have to restart the computer. A sensible way of avoiding system errors is to write code to check that peripherals are present before any data is sent to it. Then the computer would warn you by a simple message on the screen, like ‘printer is not ready or available’.
B.Syntax errors are mistakes in the programming language (like typing PRNIT instead of PRINT). Syntax errors cause the program to fail. Some translator programs won’t accept any line that has syntax errors. Some only report a syntax error when they run the program. Some languages also contain special commands such as debug, which will report structural errors in a program. The programming manual for the particular language you’re using will give details of what each error message means.
C.Logic errors are much more difficult to detect than syntax errors. This is because a program containing logic errors will run, but it won’t work
10
properly. For example, you might write a program to clear the screen and then print ‘hello’. Here is a code for this:
10// |
Message |
20 |
PRINT ‘Hello’ |
30 |
CLS |
40 |
END |
The code has a logic error in it, but the syntax is right so it will run. You can get rid of logic errors from simple programs by ‘hand-testing’ them or doing a ‘dry run’ which means working through each line of the program on paper to make sure it does what you want it to do. You should do this long before you type in the code.
Task 9. Now share information orally about your text with others in your group to complete the table for each of the errors described.
Writing
Task 10. Draw a flowchart like one in Task 4 for one of these activities. Follow these steps:
•Choose a simple procedure from the ones in the box below (or a simple one of your own).
•Break the procedure down into all the steps that you have to follow. Think about where the process starts and ends, and the input from you and from the outside. When you make a decision, think of when you say ‘yes’ and when you say ‘no’, and what happens next.
•Write exactly what happens at each stage.
•Draw the flowchart, putting your text into the different shapes in Task 2.
•Show your flowchart to another student. Does he/she agree with your steps?
Making a cup of tea or coffee Making a telephone call Sending a text message Answering the door
Planning a holiday Choosing a new computer
Preparing for an important exam Playing a cassette or a CD
11
Unit 2. Program Design
Warm-up
Task 1. In pairs, try to think of an answer for the question:
What is programming?
Decide which of the definitions below is the most appropriate? Give a reason for your choice.
1.The process of writing and testing programs for computers.
2.The process by which a set of instructions is produced for a computer to make it perform a specified task. The task can be anything from the solution to a mathematical problem to the production of a graphics package.
3.The act of writing a computer program.
4.It is the craft of implementing one or more interrelated abstract algorithms using a particular programming language to produce a concrete computer program. Programming has elements of art, science, mathematics, and engineering.
Reading
Task 2. Put these five stages of programming in the correct sequence.
a) |
Design a solution |
1. _____ |
b) |
Code the program |
2. _____ |
c) |
Document and maintain the program |
3. _____ |
d) |
Clarify the problem |
4. _____ |
e) |
Test the program |
5. _____ |
Task 3. To which stage does each of these steps belong?
1. |
Clarify objectives and users |
_____ |
2. |
Debug the program |
_____ |
3. |
Write programmer documentation |
_____ |
4. |
Do a structured walkthrough |
_____ |
5. |
Select the appropriate programming language |
_____ |
|
12 |
|
Task 4. Read the text and compare your answers for Tasks 2 and 3.
Steps in Computer Program Development
The steps in the development of each of the computer programs that make up the computer program component of a system are:
1.define the function of the program;
2.plan the logic of the program;
3.code the program;
4.test and debug the program;
5.complete the documentation.
Although the programmer is
responsible for writing the computer program, the system analyst must communicate the computer program requirements to the programmer. The function of each program was defined for the programmer when functions were allocated during system design. Detailed data flow diagrams (DFD) are prepared for each program from the decomposed DFDs created during the design phase. These DFDs define the function of each program.
In program planning, the logic to be used to solve the problem is developed. Algorithms, computer program logic flowcharts, and structure charts are useful tools for program planning. Algorithms are sets of rules or instructions used to accomplish tasks. They may be stated as formulas, decision tables, or narratives.
The next step, writing, or coding, a program, is the actual writing of computer instructions. These instructions will be translated to machine code and followed by the computer; they should follow the steps of the program logic plan.
Several programming languages, particularly COBOL, PL/I, and RPG, are commonly used to solve business problems. In addition to these traditional languages, organizations using database management systems may choose to generate programs using the query language of the DBMS. These query languages are part of a package of programming tools known as fourth-generation languages. Each language has its advantages and disadvantages. Most computer installations have a standard language used by their programmers. Programmers usually are not given a choice of language unless some special circumstances exist.
Testing and debugging a program involve:
1.translating the coded program into machine language, a process called
13
compilation;
2. testing the translated program with sample data and checking the result. If the results of testing are not correct, the program is said to have "bugs". Debugging is the process of correcting computer programs to obtain
correct results.
The last step is to complete the documentation for the program. The documentation must include a statement of the purpose of the program, a description of the solution logic, a listing of the program instructions, and sample outputs from the completed programs. Information provided to the programmer by the analyst, such as descriptions of program inputs, outputs, and files, should be included. Instructions to operators explaining how the program is to be used must be written before the program documentation is completed.
Language work
General and Special Questions
Word order in general questions: auxiliary verb + subject + verb e.g. Have you ever used a computer?
Word order in special questions is as following: question word + auxiliary verb + subject + verb e.g. How long have you been restoring the data?
If there is more than one auxiliary verb, we put only the first auxiliary in front of the subject: e.g. How long has this program been used?
Task 5. There are answers to questions about the text. Write the questions.
1.There are five main steps in the computer program development.
2.For writing the computer program.
3.It is developed in program planning.
4.As formulas, decision tables, or narratives.
5.Yes, it is the actual writing of computer instructions.
6.No, programmers usually are not given a choice of languages.
7.It is called compilation.
8.When the results of testing are not correct.
9.To obtain correct results.
10.They must be written before the program documentation is complete.
14
Task 6. Choose the correct word to complete each sentence. You may have to change some words slightly.
1.compilation, compiler, compile, compiled
a)It took weeks __________ the new customer database.
b)A source program cannot be directly processed by the computer until it has been __________.
c)If the errors are removed and the program re-run, the process of __________ starts all over again, but this time the __________ program will be executed.
d)A computer needs its own __________ for the various high-level languages if it is expected to accept programs written in those languages.
2.program, programmer, programming, programmable
a)The __________ CD-player allows the user to change the order tracks are played in.
b)She __________ the VCR to come on at eight.
c)Most computer __________ make a plan of the program before they write it. This plan is called a flowchart.
d)It is unusual for a __________ to work correctly the first time it is tested.
3.bug, debug, debugger debugging
a)The best compilers usually include an integrated
__________ which detects syntax errors.
b)New programs need __________ to make them work properly.
c)Once you have written your program you have to test it with sample data to see if there are any __________ or errors.
4.instruction, instruct, instructed, instructor
a)The next step is to design an algorithm, which is a step- by-step plan of __________ used to solve the problem.
b)We have been __________ that a decision will not be made before the end of the week.
c)Our maths __________ explained to us the principles of binary arithmetic.
15
Speaking
Task 7. Say what has happened in the cartoon. What do you think this cartoon is about? Write a caption for the last picture. Translate each caption into English.
Как было предложено |
|
Как было описано в |
организатором разработки |
|
техническом задании |
|
|
|
Как было спроектировано |
|
Как было реализовано |
ведущим системным |
|
программистами |
специалистом |
|
|
|
|
|
Как было внедрено |
|
____________________ |
|
|
|
|
16 |
Task 8. Work in pairs and discuss the following:
Many would argue that computer’s actions are merely consequences of how it was programmed, and thus a computer cannot possess free will. In turn, a computer shouldn’t be held responsible for its actions. Is human’s mind a computer? Are humans programmed at birth? Are humans responsible for their actions?
Writing
Task 9. Look at the scheme below and describe activities and connections of the evolutionary development.
Evolutionary development concurrent activities
|
|
Initial |
|
|
|
version |
|
|
Specification |
|
|
Outline |
Development |
Intermediate |
|
description |
versions |
||
|
|||
|
Validation |
|
|
|
|
Final |
|
|
|
version |
Discuss whether it is possible for engineers to test their own programs in an objective ways.
Listening
Task 10. You will hear Lucy Boyd, a software developer, explaining how a program is produced. Listen and write down what you hear.
17
Translation
Task 11. Translate the following sentences into English.
1.Если вам удалось написать программу, в которой транслятор не обнаружил ошибок, обратитесь к системному программисту – он исправит ошибки в трансляторе.
2.В природе программирования лежит то, что нет соотношения между "размерами" самой ошибки и проблем, которые она влечет.
3.Я пишу все свои критические программы на ассемблере, а комедийные – на фортране.
4.Если отладка – процесс удаления ошибок, то программирование должно быть процессом их внесения.
5.Машинная программа выполняет то, что вы приказали ей делать, а не то, что бы вы хотели, чтобы она делала.
6.Законы машинного программирования.
a)Любая действующая программа устарела.
b)Любая программа обходиться дороже и требует больше затрат времени, чем предполагалось.
c)Если программа полностью отлажена, ее нужно будет скорректировать.
d)Любая программа стремится занять всю доступную память.
e)Ценность программы прямо пропорциональна весу ее "выдачи".
f)Сложность программы растет до тех пор, пока не превысит способности программиста.
7.Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший жук разрушил бы цивилизацию.
8.Никогда не выявляйте в программе ошибки, если вы не знаете, что с ними делать дальше.
9.Создайте систему, которой сможет пользоваться даже глупец,
итолько глупец захочет ею пользоваться.
10.Большинство существующих программ создается исключительно для нужд компьютера – для того, чтобы работало нужное человеку меньшинство.
18
Unit 3. Programming Languages
Warm-up
Task 1. Read the saying below and mull it over in pairs.
Alan Perlis once said: “A language that does not affect the way you think about programming is not worth knowing”.
Task 2. Can you identify these programming languages?
A.
10 REM Program to compute integer sum
20 MAXINT% = 32767
30 TOTAL# = 0#
40 PRINT “This program calculates the sum of all integers” 50 PRINT “from 1 to whatever integer you specify.”
60 PRINT “Enter any positive integer up to “MAXINT%”:”; 70 INPUT NUMBER
80 IF (NUMBER > 0) AND (NUMBER <= MAXINT) THEN GOTO 90 ELSE GOTO 150 90 FOR COUNT% = 1 TO NUMBER
100 TOTAL# = TOTAL# + COUNT%
110 NEXT COUNT%
120 PRINT “The sum of all integers from 1 to ”NUMBER
130 PRINT “is “TOTAL#
140 GOTO 160
150 PRINT “This number is out of bounds!” 160 END
B.
/*numbercount.c*/ #include <stdio.h> #define MAXINT 32767
main ()
{
int count, number; long int total;
total = 0;
printf(“This program calculates the sum of all integers\n”); printf(“from 1 to whatever integer you specify.\n”); printf(“Enter any positive integer up to %d:”,MAXINT); scanf(“%d”,&number);
if (number > 0 && number <= MAXINT)
for (count = 1; count <=number; count++) total = total + count;
printf(“The sum of all integers from 1 to %d\n”,number);
printf(“is % d\n”,total);
else printf(This number is out of bounds! \n”);
}
C.
Program Number Count (input, output);
var count,
number: integer; total: real;
begin
total :=0.0;
write|n (‘This program calculates the sum of all integers’);
write|n (‘from 1 to whatever integer you specify.’); write (‘Enter any positive integer up to ’,maxint,’:’); read|n (number);
if (number > 0) and (number <=maxint) then begin
for count = 1 to number do total := total + count;
write|n (‘The sum of all integers from 1 to
‘,number);
write|n (‘is ‘,total) end
else writein (‘This number is out of bounds!’)
end.
19
Reading
Task 3. Read the text and fill in the gaps using the list of words below.
Programming languages
Computers can deal with different kinds of problems if they are given the right 1) …… for what to do. Instructions are first written in one of the 2) ……, e.g. FORTRAN, COBOL, PASCAL, C++, Visual Basic, etc., depending on the type of problem to be solved. A program written in one of these languages is often called a 3) ……, and it cannot be directly processed by the computer until it has been compiled, which means interpreted into 4) …….
In some languages, an interpretable p-code binary is generated, rather than machine language. It is also possible for the 5) …… to write directly in machine code, but this is hardly ever done anymore: instead, when complete low-level control of the target computer is required, programmers resort to 6) ……, whose instructions are mnemonic one-to-one transriptions of the corresponding machine language instructions.
Different programming languages support different styles of programming (called 7) ……), some of which are better suited for a particular task than others. They also require different levels of detail to be handled by the programmer when implementing algorithms, often resulting in a compromise between ease of use and performance.
The program produced after the source program has been converted into machine code is referred to as an 8) …… or object module. This is done by a computer program called the 9) ……, which is unique for each computer.
The compiler is a system program which may be written in any language, but the computer’s operating system is a true systems program which controls the central processing unit, the input, the output, and the secondary memory devices. Another systems program is the 10) ……, which fetches required systems routine and links them to the object module (the source program in machine code). The resulting program is then called the 11) ……, which is the program directly executable by the computer. Although systems programs are part of the software, they are usually provided by the 12) …… of the machine.
1. |
programming paradigms |
3. |
high-level languages |
2. |
assembly language |
4. |
source program |
|
|
20 |
|
5. |
linkage editor |
9. |
programmer |
6. |
machine code |
10. |
manufacturer |
7. |
object program |
11. |
instructions |
8. |
load module |
12. |
compiler |
Listening
Task 4. You are going to hear a lecture about programming languages. Listen carefully and decide whether the following statements are true (T) or false (F) in relation to the information in the recording.
1.All languages discussed are high level languages.
2.A computer program is a sequence of instructions which are executed simultaneously.
3.One can hardly understand a machine code.
4.Assembly languages are very useful when one requires a high speed of command execution.
5.FORTRAN 77 was designed to write highly structured programs.
6.FORTRAN is quite suitable to be used in business environment.
7.Only the originator can make changes in a program written in COBOL.
8.COBOL instructions are of the same size as FORTRAN ones.
9.Originally the major application of BASIC was in education.
10.Manufacturers started using BASIC after the introduction of microcomputers.
Task 5. Now listen again to the recording and complete the table below.
Language |
Date of |
Type |
Advantages |
Disadvantages |
|
introduction |
|
|
|
FORTRAN |
|
|
1. |
1. |
|
|
|
2. |
2. |
|
|
|
3. |
|
COBOL |
|
|
1. |
1. |
|
|
|
2. |
2. |
BASIC |
|
|
1. |
1. |
|
|
|
2. |
|
|
|
|
3. |
|
|
|
|
4. |
|
|
|
21 |
|
|
Speaking
Task 6. Work in pairs, A and B. You each have information about some programming languages. Together decide what would be the most appropriate language to use for each of these situations.
1.A schoolteacher wants his young pupils to learn some basic mathematics by controlling a simple robot.
2.The owner of a small business wants to create a simple database program to keep track of his stock.
3.A professional programmer wants his software to run on any type of computer system.
4.An engineer wants to develop a program for calculating the stresses in a mechanical device.
5.A student wants to create webpages for a personal website.
6.A systems programmer wants to add some new modules to an operating system.
7.A website designer wants to include simple animation in a site.
8.A programmer working for the US army wants to create a program for controlling a new type of weapon.
9.A finance company needs to process data from its branch offices on its mainframe computer.
10.A website designer wants to enable the data on his website to be easily processed by a number of different programs.
11.A student studying artificial intelligence wants to write some programs for a course project.
12.A college lecturer wants his students to learn the principles of programming.
13.A professional programmer wants to create and sell a program for use in language learning.
14.A website designer wants to password-protect a section of a website.
15.A computing student wants to write a general purpose program as a college project.
Student A: Your languages are on page 101.
Student B: Your languages are on page 103.
22
Language work
Modal Verbs
Modal verbs are followed by the |
|
CPUs might go down next time. |
|
infinitive without particle to. They |
|
Must |
|
add extra meaning to the main verb. |
|
Obligation: The system analyst must |
|
The modal verbs are: can (could), |
|
communicate the computer program |
|
may (might), must, should, ought to, |
|
requirements to the programmer. |
|
need. The modal expressions to |
|
Prohibition: You must not open |
|
be+Infinitive and to have+Infinitive |
|
e-mail attachments from strangers. |
|
also belong here. |
|
Logical necessity: This look wrong |
|
Can |
|
|
– there must be a mistake. |
Theoretical |
possibility: Programs |
|
We use cannot to express a negative |
written in |
any programming |
|
conclusion. |
language can be translated into |
|
Should/ ought to |
|
machine language. |
|
There is hardly any difference |
|
Permission: Can I use your |
|
between them but we say ought to |
|
computer for a while? |
|
do (with to). |
|
Ability: Swarming robots can work |
|
Advice: You should update your |
|
together to perform searches. |
|
web site. Or: You ought to update |
|
Could |
|
|
your web site. |
Possibility or ability in hypothetical |
|
Need |
|
situations: We could buy a DVD, if |
|
Necessity: New programs need |
|
you had more money. |
|
debugging to make them work |
|
Geneal ability in the past: Early |
|
properly. |
|
computers could not operate at high |
|
To be + Infinitive |
|
speeds. |
|
|
Arrangement, agreement or part of |
Permission: Could I just interrupt a |
|
a plan: Instructions to operators |
|
minute? |
|
|
explaining how the program is to be |
May |
|
|
used must be written before the |
Factual possibility: Algorithms may |
|
program documentation is complete. |
|
be stated as formulas, decision |
|
To have + Infinitive |
|
tables, or narratives. |
|
Obligation or necessity arising out |
|
Permission: May I use the fax now? |
|
of circumstances: Once you have |
|
In this case may is more formal than |
|
written your program you have to |
|
can. |
|
|
test it with sample data to see if |
Might |
|
|
there are any bugs or errors. |
Weak possibility: The prices of |
|
|
|
|
|
23 |
Task 7. Tick the modal verbs that complete each of the sentences in this passage. One, two or all of them may be possible.
There shouldn’t / might not / ought not (1) be a comma before the ‘who’ in this sentence, Kostas. Oh yes, you may well / might well / will well (2) say that writing English is not important for you. But you could / may / might
(3) have to write a dissertation in English one day. Punctuation and spelling should / could / may (4) be quite a serious problem for you. But it can / should / could (5) always be possible for you to get full stops in the right place. And it can’t / shouldn’t / mustn’t (6) be that difficult to spell most short words more or less correctly. You may / must / might (7) not have realised how flexible English is. For example, you may / should / can (8) find ‘organisation’ spelt with an ‘s’ or ‘z’. It makes life easier, doesn’t it?
Task 8. Complete the sentences using modal verbs.
1.Before you start to make a web site, you ….. decide how to organize the content.
2.A source program …… be directly processed by the computer until it has been compiled.
3.The documentation …… include a statement of the purpose of the program, a description of the solution logic, a listing of the program instructions, and sample outputs from the completed programs.
4.…… I use your laptop? I need to print out this report.
5.With a web page editor you …… create a web document easily.
6.If I knew the Java language, I …… include some attractive banners on my web page.
7.I …… to make a back-up copy.
8.The logical structure of the data …… be different from the way it is physically represented on backing store media.
9.No goto statements …… to be used in writing code.
10.A graphical user interface saves a lot of time: you don't need to memorize commands in order to execute an application; you only …… to point and click so that its content appears on the screen.
11.The instructions …… follow the steps of the program logic plan.
12.Organizations using data base management systems …… choose to generate programs using the query language of the DBMS.
13.Computer consultants …… specialize in too narrow a field.
14.Programmers …… to know a range of up-to-date languages.
24
15.Before IBM set the standard for PCs, software houses …… write different versions of their programs for every make of computer.
16.When he was a schoolboy, Bill Gates …… write programs in BASIC.
17.Most website designers …… use HTML and XML.
18.You …… learn COBOL unless you want to work with business software.
Speaking
Task 9. Work in pairs and both look at the pictures on pages 105 and 106.
1.In this activity, Student A and Student B will each talk about different pictures showing a process of creating a computer program.
•Describe the scene in the picture fairly briefly, suggesting what problem might occur.
•Comment on the steps in computer program development, different types of errors and ways to avoid or deal with these kinds of errors.
Student A should talk about picture A on page 105.
Student B should talk about picture B on page 106.
2.When you have both finished speaking, you should comment on what your partner has said, saying if you agree or disagree.
25
Unit 4. Comparing Programming Languages
Warm-up
Task 1. Answer the following questions:
1.What types of programming languages do you know?
2.How does one compare programming languages?
3.What are the main criteria? Make a list.
Reading
Task 2. Before reading the text, match the terms with the correct definition or explanation.
a. |
Debugging |
1. |
the ability to use hardware in different places or |
b. |
Compilation |
|
software on different types of computer |
2. |
a type of computer or program used as a standard |
||
c. |
Portability |
|
for a particular computer system |
3. |
the rate of translating a high-level language into |
||
d. |
Platform |
|
machine code |
4. |
a collection of subroutines and functions stored in |
||
|
|
|
one or more files, usually in compiled form, for |
e. |
Support |
|
linking with other programs. |
5. |
the process of correcting errors in a program or |
||
f. |
Library |
|
system |
6. |
the help offered to the user by a company who |
||
|
|
|
makes or sells a computer |
|
|
|
26 |