Программирование это процесс

Машинные языки. Языки ассемблера и Языки высокого уровня

Программисты пишут инструкции на различных языках программирования. Некоторые из которых непосредственно понятны компьютерам. А другие требуют промежуточных шагов перевода. Сегодня используются сотни компьютерных языков. Их можно разделить на три основных типа:

  1. Машинные языки
  2. Языки ассемблера
  3. Языки высокого уровня

Любой компьютер может непосредственно понимать только свой собственный машинный язык. Машинный язык является [Примечание: Машинный язык часто называют объектным кодом Этот термин предшествует Эти два вида использования Машинные языки обычно состоят из битовых строк (последовательность двоичных чисел 0 и 1), которые инструктируют компьютеры выполнять свои самые элементарные операции по одному. Машинные языки являются машинно — зависимыми (т. е. Конкретный машинный язык может использоваться только на одном типе компьютера).

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

Язык ассемблера Машинный язык

НАГРУЗКА 100100

STOR 100010

MULT 100110

ДОБАВИТЬ 100101

SUB 100011

ПЕРЕВОДЧИКИ ПРОГРАММ: АССЕМБЛЕРЫ, КОМПИЛЯТОРЫ и ИНТЕРПРЕТАТОРЫ.

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

Язык ассемблера     Машинный язык
загрузить базовую плату             100100 010001 добавить переплату             100110 010010 магазин grosspay  100010 010011 

Хотя ассемблерный код понятен людям. Он все еще непонятен компьютерам. Пока не переведен на машинный язык. Вам нужен ан Ассемблер: А программа. Которая переводит программу. Написанную на ассемблере, в эквивалентную программу на машинном языке.

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

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

grossPay = basePay + overTimePay; 

Переход от машинного языка к ассемблеру облегчил программирование, но

программист все еще был вынужден мыслить в терминах отдельных машинных инструкций. То

следующим шагом на пути к упрощению программирования стало создание языков высокого уровня, которые

были ближе к естественные языки. Такие как английский. Французский. Немецкий и испанский. Основные,

FORTRAN, COBOL. Pascal, C, C++. C# и Java-все это языки высокого уровня. Вы

изучите язык высокого уровня C++ в этом курсе ICS-111.

С точки зрения программиста, очевидно, языки высокого уровня предпочтительны машинный и ассемблерный языки. C, C++, языки Microsoft .NET (например. Visual Basic .NET, Visual C++ .NET и C#) и Java являются одними из наиболее широко используемых языков программирования высокого уровня. 

В C++ вы пишете уравнение недельной заработной платы следующим образом:

заработная плата = ставка * часы;

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

Компилятор: Программа. Которая переводит инструкции. Написанные на языке высокого уровня, в эквивалентный машинный язык.

ПРИМЕЧАНИЕ: Программирование на самых старых языках программирования—машинном языке и языке ассемблера—называется низкоуровневым программированием. Потому что вы должны иметь дело с деталями того. Как физически работает машина. Напротив, языки программирования. Такие как COBOL и BASIC. Называются высокоуровневыми. Потому что программисту не нужно беспокоиться об аппаратных деталях. Хотя C++ является языком высокого уровня. Его иногда называют языком среднего уровня. Поскольку он содержит функции. Которые позволяют использовать его как на высоком. Так и на низком уровне.Процесс компиляции высокоуровневой языковой программы на машинный язык может занять значительное количество компьютерного времени. Программы-интерпретаторы были разработаны для непосредственного выполнения языковых программ высокого уровня. Хотя и гораздо медленнее. Интерпретаторы популярны в средах разработки программ. В которых добавляются новые функции и исправляются ошибки. После того. Как программа полностью разработана. Скомпилированная версия может быть создана для наиболее эффективной работы.

Каждый язык программирования использует часть программного обеспечения. Называемую компилятор или интерпретатор, чтобы перевести ваш исходный код на машинный язык.  Машинный язык также называется двоичным языком и представляется в виде ряда 0s и 1s. Компилятор или интерпретатор. Который переводит ваш код. Сообщает вам. Если какой-либо компонент языка программирования был использован неправильно. Синтаксические ошибки относительно легко обнаружить и исправить. Поскольку компилятор или интерпретатор выделяет их.

Хотя есть различия в том. Как компиляторы и интерпретаторы работа. Их основная функция одна и та же—для перевода ваших программных операторов в код компьютер может использовать. Когда вы используете компилятор. Вся программа переводится до того. Как она может быть выполнена; когда вы используете интерпретатор. Каждая инструкция переводится непосредственно перед выполнением. Обычно вы не выбираете. Какой тип перевода использовать—это зависит от языка программирования. Однако есть некоторые языки. Для которых доступны как компиляторы. Так и интерпретаторы.

В скриптовых языках (также называемых скриптовыми языками программирования или скриптовыми языками) . Таких как Python, Lua. Perl и PHP. Скрипты могут быть набраны непосредственно с клавиатуры и хранятся в виде текста. А не в виде двоичных исполняемых файлов. Программы на языке сценариев интерпретируются построчно каждый раз. Когда программа выполняется. Вместо того. Чтобы храниться в скомпилированной (двоичной) форме. Тем не менее. Со всеми языками программирования каждая инструкция должна быть переведена на машинный язык. Прежде чем она сможет выполняться. После того. Как исходный код программы успешно переведен на машинный язык. Компьютер может выполнять инструкции программы. Ваш операторы языка программирования называются исходным кодом, а также переведенные операторы машинного языка представляют собой объектный код Когда инструкции выполняются. Программа запускается или выполняется. В типичной программе процесс потока выглядит следующим образом — ввод будет принят. Обработка произойдет. И результаты будут выведены.

ПРИМЕЧАНИЕ Интерпретатор — это программа. Которая переводит инструкции языка программирования по одной строке за раз; компилятор работает. Переводя всю программу за один раз. Обычно вы не выбираете. Использовать ли компилятор или интерпретатор; вместо этого программное обеспечение. Которое вы используете для разработки программ на определенном языке. Содержит одно или другое. C++ обычно рассматривается как компилируемый язык. Хотя для него доступны программы-интерпретаторы.

Набор компьютерных инструкций. Которые работают с данными и аппаратными компонентами компьютера или манипулируют ими. Написанными на языке программирования. Называется “Программный код или Программа”… Когда Программирование или кодирование программ, Программы создаются или пишутся с помощью компьютера Язык программирования (Basic. Java, C++ ).  Язык программирования имеет правила. Регулирующие его словоупотребление и пунктуацию. Эти правила называются синтаксис языка Ошибки в этих правилах называются синтаксические ошибки.

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


Finding logical errors is much more time consuming for a programmer than finding syntax errors.  A logical error occurs when you use a statement that. Although syntactically correct. Doesn’t do what you intended. For a program that is supposed to add two numbers and show the sum. Logical errors arise when multiplication is used instead of addition. Or when the sum is given before the arithmetic occurs. The language compiler will not tell you when you have committed a logical error; only running and testing your program will enable you to find inappropriate statements. You run a program by issuing a command to execute—that is. To carry out—the program statements. You  test a program by using sample data to determine whether the program results are correct.

NOTE Selecting data for testing is an art in itself. For example. Imagine that you write a program to add two numbers, and test the program with the values 2 and 2. You cannot be sure that the program is free of logical errors just because the answer is 4. Perhaps you used the multiplication symbol rather than the addition symbol. You can confirm your program’s correctness by testing the program several times using a variety of data.

For a program to completely work properly, you must have correct syntax and develop correct logic; that is. You must write program instructions in a specific sequence. You must not leave any instructions out. And you must not add extraneous instructions.


NOTE:  Programmers call some logical errors semantic errors. For example. If you misspell a programming language word. You commit a syntax error. But if you use a correct word in the wrong context, you commit a semantic error.

Program LOGIC — The instructions in a program arranged in a prescribed order with deductive reasoning and sound judgement to solve a problem. 

Programming Development Process

A programmer’s job involves writing instructions, but a professional programmer usually does not just sit down at a computer keyboard and start typing. Programming is a process of problem solving. To be a good problem solver and a good programmer. You must follow good problem-solving techniques. One common problem-solving technique includes analyzing a problem, outlining the problem requirements. And designing steps. Called an algorithm, to solve the problem.


Algorithm: A step-by-step problem-solving process in which a list of instructions specifying a sequence of operations will provide the solution to any given type of problem. It is the sequence of steps necessary to solve any problem.

In Programming Development Process, the programming steps or problem-solving process requires the following steps:  This is also referred to as the Programming Development Cycle.

1.  Problem Analysis — Understand the problem.

2. Logic Formulation or Plan the logic — Design the Algorithm.

3. Code the program — Write the Source Program using a Programming Language

4. Compile & Link the Source Program to produce the Executable Program — Use a compiler or interpreter to translate the program into machine language (Machine Code or Object code).

5. Test the Executable program — confirm your program’s correctness by testing the Executable program several times using a variety of data.

6. Use the Executable program  — Put the program into production.

7. Maintain the program — Make changes or revisions for new requirements in the Program’s Input/Process/Output.

Programming Development Cycle

1.  Problem Analysis — Analyzing the problem is the first and most crucial step in programming. This step requires you to do the following:

• Completely understand the problem.

• Understand the all problem requirements with regards to its INPUT. OUTPUT and PROCESS operations.

 If the problem is complex. Divide the problem into sub-problems. Analyze
each sub-problem. And understand each sub-problem’s requirements.

2. Logic Formulation or Planning the logic  The heart of the programming process lies in planning the program’s logic. During this phase . The programmer plans the steps of the program. Deciding what steps to include and how to order them. This is known as the Algorithm. 

AlgorithmA step-by-step problem-solving process in which a list of instructions specifying a sequence of operations will provide the solution to any given type of problem. It is the sequence of steps necessary to solve any problem.

You can plan the solution to a problem in many ways. The two most common planning tools are flowcharts and pseudocode.  If the problem is complex. You broke the problem into subproblems. You need to design an algorithm for each subproblem. Once you design an algorithm. You need to check it for correctness. You can sometimes test an algorithm’s correctness by using sample data. At other times. You might need to perform some mathematical analysis to test the algorithm’s correctness.

Planning the logic includes thinking carefully about all the possible data values a program might encounter and how you want the program to handle each scenario. The process of walking through a program’s logic on paper before you actually write the program is called desk-checking.  The programmer shouldn’t worry about the language syntax  during this stage. But should rather focus on figuring out what sequence of events will lead from the available input to the desired output.

3. Code the program — Once you have designed the algorithm and verified its correctness. The next step is to convert it into an equivalent programming code by coding the program in one of more than 400 programming languages. You then use a text editor to enter the programming code or the program into a computer.

4.  Compile & Link the Source Program to produce the Executable Program —  Next. You must make sure that the program follows the language’s syntax. To verify the correctness of the syntax. You run the code through a compiler. A computer program must be free of syntax errors before you can execute it. Usually, the software displays a list of syntax errors. Which the programmer corrects. If the compiler generates error messages. You must identify the errors in the code. Correct them. And then run the code through the compiler again. When all the syntax errors are removed, the compiler generates the equivalent machine code. The linker links the machine code with the system’s resources. And the loader places the program into main memory so that it can be executed. Usually When writing a program. A programmer might need to re-compile the code several times. An executable program is created only when the code is free of syntax errors.

5. Test the Executable program —   The final step is to execute the program and test with some data to verify for correct outputs. The compiler guarantees only that the program follows the language’s syntax. It does not guarantee that the program will run correctly. A program that is free of syntax errors is not necessarily free of logical errors. During execution. The program might terminate abnormally due to logical errors. Such as division by zero or may not even terminate due to an endless loop. Even if the program terminates normally. It may still generate erroneous results. Under these circumstances. You may have to reexamine the code. The algorithm. Or even the problem analysis.

6. Use the Executable program  — Once the program is tested adequately. It is ready for an  individual or organization to use it. Putting the program into production might mean simply running the program only  once. If it was written to satisfy a user’s request for a special list. However, the process might take longer if the program will be run on a regular basis. Or if it is one of a large system of programs being developed.

7. Maintain the program — After programs are put into production. Making required changes is called maintenance. These changes or revisions maybe for new requirements in the Program’s Input/Process/Output. Like new format or specification for input or output data.  Or requiring a new revision or additional operating process or computation. When you make changes to existing programs, you repeat the development cycle. That is. You must understand these changes, and plan. Code, translate. And test them again before putting them into production. If a substantial number of program changes are required. The original program might be retired. And the program development cycle started for a new program.

Problem analysis–coding–execution cycle