ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 20

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Computer Program

Computer Program, set of instructions that directs a computer to perform some processing function or combination of functions. For the instructions to be carried out, a computer must execute a program, that is, the computer reads the program, and then follows the steps encoded in the program in a precise order until completion. A program can be executed many different times, with each execution yielding a potentially different result depending upon the options and data that the user gives the computer.

Programs fall into two major classes: application programs and operating systems. An application program is one that carries out some function directly for a user, such as word processing or game-playing. An operating system is a program that manages the computer and the various resources and devices connected to it, such as RAM (random access memory), hard drives, monitors, keyboards, printers, and modems, so that they may be used by other programs. Examples of operating systems are DOS, Windows 95, OS/2, and UNIX.







PROGRAM DEVELOPMENT

Software designers create new programs by using special applications programs, often called utilityprograms or development programs. A programmer uses another type of program called a text editor to write the new program in a special notation called a programming language. With the text editor, the programmer creates a text file, which is an ordered list of instructions, also called the program source file. The individual instructions that make up the program source file are called source code. At this point, a special applications program translates the source code into machine language, or object code—a format that the operating system will recognize as a proper program and be able to execute.

Three types of applications programs translate from source code to object code: compilers, interpreters, and assemblers. The three operate differently and on different types of programming languages, but they serve the same purpose of translating from a programming language into machine language.

A compiler translates text files written in a high-level programming language—such as Fortran, C, or Pascal—from the source code to the object code all at once. This differs from the approach taken by interpreted languages such as BASIC, APL and LISP, in which a program is translated into object code statement by statement as each instruction is executed. The advantage to interpreted languages is that they can begin executing the program immediately instead of having to wait for all of the source code to be compiled. Changes can also be made to the program fairly quickly without having to wait for it to be compiled again. The disadvantage of interpreted languages is that they are slow to execute, since the entire program must be translated one instruction at a time, each time the program is run. On the other hand, compiled languages are compiled only once and thus can be executed by the computer much more quickly than interpreted languages. For this reason, compiled languages are more common and are almost always used in professional and scientific applications.

Another type of translator is the assembler, which is used for programs or parts of programs written in assembly language. Assembly language is another programming language, but it is much more similar to machine language than other types of high-level languages. In assembly language, a single statement can usually be translated into a single instruction of machine language. Today, assembly language is rarely used to write an entire program, but is instead most often used when the programmer needs to directly control some aspect of the computer’s function.

Programs are often written as a set of smaller pieces, with each piece representing some aspect of the overall application program. After each piece has been compiled separately, a program called a linker combines all of the translated pieces into a single executable program.

Programs seldom work correctly the first time, so a program called a debugger is often used to help find problems called bugs. Debugging programs usually detect an event in the executing program and point the programmer back to the origin of the event in the program code.


Recent programming systems, such as Java, use a combination of approaches to create and execute programs. A compiler takes a Java source program and translates it into an intermediate form. Such intermediate programs are then transferred over the Internet into computers where an interpreter program then executes the intermediate form as an application program.







PROGRAM ELEMENTS

Most programs are built from just a few kinds of steps that are repeated many times in different contexts and in different combinations throughout the program. The most common step performs some computation, and then proceeds to the next step in the program, in the order specified by the programmer.

Programs often need to repeat a short series of steps many times, for instance in looking through a list of game scores and finding the highest score. Such repetitive sequences of code are called loops.

One of the capabilities that makes computers so useful is their ability to make conditional decisions and perform different instructions based on the values of data being processed. If-then-else statements implement this function by testing some piece of data and then selecting one of two sequences of instructions on the basis of the result. One of the instructions in these alternatives may be a goto statement that directs the computer to select its next instruction from a different part of the program. For example, a program might compare two numbers and branch to a different part of the program depending on the result of the comparison.

Компьютерная программа, набор инструкций, который направляет компьютер выполнять некоторые функции обработки или комбинации функций. Для инструкций, которые будут осуществляться, компьютер должен выполнить программу, то есть, компьютер считывает программу, а затем следует шагам, закодированным в программе, в определенном порядке до его завершения. Программа может быть выполнена много различных раз, при этом каждое исполнение приносит потенциально различный результат в зависимости от опций и данных, которые пользователь вводит в компьютер.

Программы делятся на два основных класса: прикладные программы и операционные системы. Прикладная программа - та, которая выполняет некоторую функцию непосредственно для пользователя, такую как обработка текста или ведение игры. Операционная система - программа, которая управляет компьютером и различными ресурсами и устройствами, соединенными с ним, такими как RAM (оперативная память), жесткие диски, мониторы, клавиатуры, принтеры и модемы, так, чтобы они могли использоваться другими программами. Примеры операционных систем - DOS, Windows 95, ОС/2 и UNIX.

Разработчики программного обеспечения создают новые программы с помощью специальных прикладных программ, часто называемых служебные программы или программы развития. Программист использует другой тип программы, который называется текстовый редактор, чтобы написать новую программу в специальной нотации, называемой языком программирования. С помощью текстового редактора, программист создает текстовый файл, который представляет собой упорядоченный список инструкций, называемый также исходный файл программы. Отдельные инструкции, входящие в состав исходного файла программы, называются исходным кодом. На данный момент, специальные прикладные программы преобразует исходный код в машинный язык или объектный код-формат, который операционная система будет распознавать как подходящую программу и будет в состоянии выполнить.



Три типа прикладных программ переводят из исходного кода в объектный код: компиляторы, интерпретаторы и ассемблеры. Они работают по-разному и на разных типах языков программирования, но они служат одной и той же цели перевода с языка программирования на машинный язык.

Компилятор переводит текстовые файлы, записанные в высокоуровневом языке программирования — такие как Фортран, C, или Паскаль — от исходного кода до объектного кода все сразу. Это отличается от подхода, принятого интерпретируемыми языками, такими как BASIC, APL и LISP, в котором программа переводится в оператора объектного кода оператором, поскольку каждая инструкция выполняется. Преимущество интерпретируемых языков в том, что они могут начать выполнение программы немедленно вместо того, чтобы ждать, пока весь исходный код будет составлен. Изменения могут также быть внесены в программу довольно быстро, без необходимости ожидания, пока он снова составится. Недостатком интерпретируемых языков является то, что они медленно выполняются, так как вся программа должна быть переведена одну инструкцию за один раз, каждый раз при запуске программы. С другой стороны, транслируемые языки составляются только один раз, и, таким образом, может быть выполнены с помощью компьютера гораздо быстрее, чем интерпретируемые языки. По этой причине, транслируемые языки являются более распространенными и почти всегда используются в профессиональных и научных приложениях.

Другой тип переводчика - ассемблер, который используется для программ или частей программ, написанных на языке ассемблера. Язык ассемблера – другой язык программирования, но он гораздо больше похож на машинный язык, чем другие типы языков программирования высокого уровня. В языке ассемблера, как правило, один оператор может быть переведен на одну инструкцию машинного языка. На сегодняшний день язык ассемблера редко используется, чтобы написать целую программу, но вместо этого чаще всего используется, когда программист должен непосредственно контролировать некоторые аспекты функции компьютера.

Программы часто пишутся как набор мелких кусков, с каждой частью, представляющей некоторый аспект полной прикладной программы. После того, как каждая часть была скомпилирована отдельно, программа, называемая компоновщик, объединяет все переведенные части в единую исполняемую программу.


Программы редко работают правильно в первый раз, так что программа под названием отладчик часто используется, чтобы помочь найти проблемы, называемые багами. Отладчик программ, как правило, обнаруживает событие в выполняемой программе и указывает программисту обратно к происхождению события в программном коде.

Современные системы программирования, такие как Java, используют комбинацию подходов для создания и выполнения программ. Компилятор принимает исходную программу Java и переводит его в промежуточную форму. Такие промежуточные программы затем передаются через Интернет в компьютеры, где программа интерпретатор затем выполняет промежуточную форму в качестве прикладной программы.

Большинство программ построено всего из нескольких видов шагов, которые много раз повторяются в различных контекстах и в различных комбинациях по всей программе. Наиболее распространенный шаг выполняет некоторое вычисление, и затем переходит к следующему шагу в программе в порядке, определенном программистом.

Программы часто должны повторять короткую серию шагов много раз, например, в просмотре списка игровых рекордов и нахождения самого высокого балла. Такиеповторяющиесяпоследовательностикоданазываютциклами.

Одна из возможностей, что делает компьютеры настолько полезным, является их способность принимать условные решения и выполнять различные инструкции на основе обрабатываемых значений данных. Если-то-иначе операторы реализовывают эту функцию, тестируя некоторую часть данных, а затем выбирая одну из двух последовательностей команд на основе результата. Одной из инструкций в этих альтернативах может быть оператор goto, который направляет компьютер, чтобы выбрать его следующую команду из другой части программы. Например, программа может сравнить два числа и перейти к другой части программы в зависимости от результата сравнения.