Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mathematical-Software-and-Computer-Systems-Admi...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.29 Mб
Скачать

Unit IV computer programming

Grammar: Non-Finite Forms of the Verb. The Participle I, II.

Reading. Text A. Programming Techniques

Text B. 10 Programming Languages You Should Learn

Summary writing. Text C. Video Game Programming

Topical Vocabulary

I. Read and memorize.

affine function аффинная функция

application domain область применения

avoid избегать

behavior – поведение

configure настраивать, устанавливать конфигурацию

constraint ограничивающее условие

debugging отладка

declarative language декларативный язык

elaboration разработка, переработка

expertise компетенция, знания и опыт

hierarchy иерархия

inherit наследовать

iteration итерация, цикл, повторение

lambda calculus лямбда-исчисление

linear equality линейное равенство

linear inequality – линейное неравенство

linear objective function линейная функция цели

mutable изменяемый, переменный

polytope политоп

problem-solver решатель задач

programming (coding) –программирование

functional programming функциональное программирование

linear programming линейное программирование

logic programming логическое программирование

object-oriented programming объектно-ориентированное программирование

recursive programming рекурсивное программирование

programming languages языки программирования

high-level programming language язык программирования высокого уровня

low-level programming language – язык программирования низкого уровня

5GL – язык программирования пятого поколения

programming (software) tools – средства программирования, инструментальное ПО

application generator – генератор прикладных программ

assembler – ассемблер

compiler – компилятор

debugger – отладчик

editor – программа редактирования

interpreterинтерпретатор

rather than… а не…

real-valued function – действительная функция

recursion рекурсия

source code исходный код

technique метод, прием

theorem-prover программа автоматического доказательства теорем

troubleshooting поиск и устранение неисправностей, отладка

vertex (pl. vertices) вершина, точка пересечения кривых

II. Which terms from the Topical Vocabulary do these definitions refer to?

1. The process of preparing an instructional program through the use of objects. 2. The process also known as debugging. 3. A computer program, intended to work as a universal machine for finding solutions. 4. A restricting condition, a force. 5. The process also known as programming. 6. А principal or highest point; а point that terminates a line or curve or comprises the intersection of two or more lines or curves. 7. A mathematical method of solving practical problems by means of linear functions. 8. A computer programming technique involving recursion. 9. A programming tool that translates instructions written in a higher-level symbolic language into machine language before the instructions can be executed.

Reading Section

Pre-reading discussion.

1. What programming languages have you already learned or are now learning in the course of University studies? Did you learn programming before entering the University?

2. Are you good at programming? Is it difficult for you to grapple with this subject?

3. Can you say what stages a typical programming process involves?

4. Do you consider any programming techniques you study of little or even no importance?

Text A. Programming Techniques

Computer programming is a field that has to do with the analytical creation of source code that can be used to configure computer systems. More detailed, programming (or coding) is the process of designing, writing, testing, debugging (or troubleshooting), and maintaining the source code of computer programs. The purpose of programming is to create a program that exhibits a certain desired behavior. The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

In what follows, some most common programming techniques will be considered.

Linear programming is a mathematical modeling technique for the optimization of a linear objective function, subject to linear equality and linear inequality constraints. Given a polytope and a real-valued affine function defined on this polytope, a linear programming method will find a point on the polytope, where this function has the smallest (or largest) value if such point exists, by searching through the polytope vertices. Linear programming is useful for guiding quantitative decisions in business planning, industrial engineering, and – to a lesser extent – in the social and physical sciences.

Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids mutable data. Functional programming wants to avoid state changes as much as possible and works with data flowing between functions. This method has its roots in lambda calculus, developed in the 1930s to investigate function definition, function application, and recursion. Many functional programming languages can be viewed as elaborations on the lambda calculus.

Logic programming is the use of mathematical logic for computer programming. In this view of logic programming, logic is used as a purely declarative representation language, and a theorem-prover or model-generator is used as the problem-solver. The problem-solving task is split between the programmer, who is responsible only for ensuring the truth of programs expressed in logical form, and the theorem-prover or model-generator, which is responsible for solving problems efficiently.

Recursive programming is a powerful technique that can greatly simplify some programming tasks. In brief, recursive programming is the situation in which a procedure calls itself, passing in a modified value of the parameter(s) that was passed in to the current iteration of the procedure. Typically, a recursive programming environment contains (at least) two procedures: first, a procedure to set up the initial environment and make the initial call to the recursive procedure, and second, the recursive procedure itself that calls itself one or more times.

Object-oriented programming (OOP) is a programming language model organized around “objects” rather than “actions” and data rather than logic. OOP uses predefined programming modular units (objects, classes, subclasses, and so forth) in order to make programming faster and easier to maintain. Object-oriented languages help to manage complexity in large programs. Objects package data and the operations on them so that only the operations are publicly accessible and internal details of the data structures are hidden. This information hiding made large-scale programming easier by allowing a programmer to think about each part of the program in isolation. In addition, objects may be derived from more general ones, “inheriting” their capabilities. Such an object hierarchy made it possible to define specialized objects without repeating all that is in the more general ones.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]