Difference between revisions of "Basic Pascal Tutorial/Compilers/ru"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "{{Compilers_ty}} {{TYNavigator|Object_Pascal_History|Hello,_World}} <font size="5">Компиляторы Pascal</font> Pascal Compilers (author: Tao Yue, state: ''changed''...")
 
Line 6: Line 6:
 
Pascal Compilers (author: Tao Yue, state: ''changed'')
 
Pascal Compilers (author: Tao Yue, state: ''changed'')
  
This document will explain the basics about compilers as well as provide links to well-known Pascal compilers and explain how to set up Free Pascal.
+
Этот документ даст базовую информацию о компиляторах, а также предоставит ссылки на известные компиляторы Pascal и объяснит, как установить Free Pascal.
  
===About Computer Languages and Compilers===
+
=== О компьютерных языках и компиляторах ===
When talking about computer languages, there are basically three major terms that will be used.
 
  
# '''Machine language''' -- actual binary code that gives basic instructions to the computer's CPU. These are usually very simple commands like adding two numbers or moving data from one memory location to another.
+
Когда говорят о компьютерных языках, обычно используется три основных термина:
# '''Assembly language''' -- a way for humans to program computers directly without memorizing strings of binary numbers. There is a one-to-one correspondence with machine code. For example, in Intel x86 machine language, ADD and MOV are mnemonics for the addition and move operations.
 
# '''High-level language''' -- permits humans to write complex programs without going step-by step. High-level languages include Pascal, C, C++, FORTRAN, Java, Visual Basic, C#, Java, and many more. One command in a high-level language, like writing a string to a file, may translate to dozens or even hundreds of machine language instructions.
 
  
Microprocessors can only run machine language programs directly. Assembly language programs are assembled, or translated into machine language. Likewise, programs written in high-level languages, like Pascal, must also be translated into machine language before they can be run. To do this translation is to compile a program.
+
# '''Машинный язык''' -- фактический бинарный код, который даёт основные инструкции центральному процессору (CPU) компьютера. Обычно это очень простые команды, такие, как сложение двух чисел или перемещение данных из одной области памяти в другую.
 +
# '''Язык ассемблера''' -- способ для людей программировать компьютеры напрямую без запоминания строк двоичных чисел. Существует однозначное соответствие с машинным кодом. Например, в машинном языке Intel x86 '''ADD''' и '''MOV''' - мнемоники для операций сложения и перемещения.
 +
# '''Язык высокого уровня''' -- позволяет людям писать сложные программы без расписывания каждого шага. Языками высокого уровня являются Pascal, C, C++, FORTRAN, Java, Visual Basic, C#, Java и многие другие. Одна команда в языке высокого уровня, вроде записи строки в файл, может транслироваться в десятки и даже сотни инструкций машинного языка.
  
The program that accomplishes the translation is called a '''compiler'''. This program is rather complex since it not only creates machine language instructions from lines of code, but often also optimizes the code to run faster, adds error-correction code, and links the code with subroutines stored elsewhere. For example, when you tell the computer to print something to the screen, the compiler translates this as a call to a pre-written module. Your code must then be linked to the code that the compiler manufacturer provides before an executable program results.
+
Микропроцессоры напрямую могут выполнять только программы на машинном языке. Программы на языке ассемблера собираются, или транслируются, в машинный язык. Точно так-же, программы, написанные на языках высокого уровня, таких, как Pascal, тоже должны быть переведены в машинный язык перед тем, как они могут быть выполнены. Выполнение этого перевода и есть компиляция программы.
  
With high-level languages, there are again three basic terms to remember:
+
Программа, которая выполняет перевод (транслирует), называется '''компилятор'''. Это достаточно сложная программа, поскольку не только создаёт инструкции на машинном языке из строк кода, но часто ещё и оптимизирует код для более быстрого выполнения, добавляет код обработки ошибок и связывает код с подпрограммами, хранящимися в другом месте. Например, когда вы говорите компьютеру, чтобы он напечатал что-нибудь на экране, компилятор транслирует это в обращение к ранее написанному модулю. Ваш код потом должен быть связан с кодом, который предоставляет производитель компилятора, прежде чем получится исполняемая программа.
  
# Source code -- the code that you write. This typically has an extension that indicates the language used. For example, Pascal source code usually ends in "<tt>.pas</tt>" and C++ code usually ends in "<tt>.cpp</tt>"
+
С языками высокого уровня есть опять три основных термина для запоминания:
# Object code -- the result of compiling. Object code usually includes only one module of a program, and cannot be run yet since it is incomplete. On DOS/Windows systems, this usually has an extension of "<tt>.obj</tt>"
 
# Executable code -- the end result. All the object code modules necessary for a program to function are linked together. On DOS/Windows systems, this usually has an extension of "<tt>.exe</tt>"
 
  
===More About Compilers===
+
# '''Исходный код''' -- код, который вы пишете. Обычно файлы исходного кода имеют расширение, указывающее на используемый язык. Например, файлы исходного кода Pascal обычно заканчиваются '''.pas''', а C++ - '''.cpp'''
The de facto standard in DOS and Windows-based Pascal compilers is Borland Pascal. Before it came out, most Pascal compilers were clumsy and slow, strayed from the Pascal standard, and cost several hundred dollars. In 1984, Borland introduced Turbo Pascal, which sold for less than $100, compiled an order of magnitude faster than existing compilers, and came with an abundance of source code and utility programs.
+
# '''Объектный код''' -- результат компиляции. Объектный код обычно включет только один модуль программы и пока не может быть выполнен, поскольку ещё не завершён. В системах DOS/Windows такие файлы обычно имеют расширение '''.obj'''
 +
# '''Исполняемый код''' -- конечный результат. Все модули объектного кода, необходимые для функционирования программы, связаны вместе. В системах DOS/Windows такие файлы обычно имеют расширение '''.exe'''
  
This product was a great success and was prominent for almost a decade. But in the 1990s, the world was moving to Windows. In 1993, the last version of Turbo Pascal, version 7 for DOS, came out. After that, the demand for DOS programs plummeted and Borland (briefly known as Inprise) focused on producing Windows IDE/compilers (e.g. Delphi). Later, Borland sold its compilers to Embarcadero, who still regularly update Delphi.
+
=== Ещё о компиляторах ===
  
This tutorial will only deal with console-based programming, where the computer prints lines of data to the screen and the user interacts with the program using a keyboard. The goal of the tutorial is to teach how to program in Pascal. Once you've learned that, you can easily look at a reference book or another web page and pick up graphics and windowing systems on your own.
+
Стандартом де-факто для компиляторов Pascal под DOS и Windows является Borland Pascal. До того, как он вышел, большинство компиляторов Pascal были медленными и неповоротливыми, не соответствовали стандарту Pascal и стоили несколько сотен долларов. В 1984 году Borland представила Turbo Pascal, который продавался менее, чем за 100 долларов, компилировал на порядок быстрее существующих компиляторов и шёл с большим количеством исходного кода и утилит.
  
Although old commercial Pascal compilers are often available for download (e.g. Turbo Pascal 5.5 from the [http://dn.codegear.com/museum/ Borland Museum] and Symantec Think Pascal (Macintosh), see The Free Country's [http://www.thefreecountry.com/compilers/pascal.shtml Free Pascal Compiler List]), computers have progressed much since the 1980s and early 1990s. We are no longer stuck with 8.3 filenames on DOS or non-preemptive multitasking on Mac OS. Using an old compiler is fun in the same sense as playing an old game on an emulator is fun, but the open source movement has produced good compilers for modern operating systems, and a beginner will find it much easier to use those.
+
Этот продукт был огромным успехом и был выдающимся в течении почти десятилетия. Но в 1990-х годах мир двигался в сторону Windows. В 1993 году вышла последняя, 7-я, версия Turbo Pascal для DOS. После этого спрос на DOS-программы резко упал и Borland (краткое время также известная как Inprise), направила свои усилия на выпуск сред разработки (IDE) и компиляторов для Windows (например, Delphi). Позже Borland продала свои компиляторы Embarcadero, которая продолжает регулярно обновлять Delphi.
  
===Open Source Compilers===
+
Этот учебник будет иметь дело только с программированием консольных приложений, где компьютер печатает строки данных на экран, а пользователь взаимодействует с программой с помощью клавиатуры. Цель учебника - научить, как программировать на Pascal. Изучив это, вы легко сможете посмотреть в справочнике или другой web-странице, и выбрать графическую или оконную систему по своему вкусу.
The two main open-source compiler projects are:
+
 
 +
Хотя старые коммерческие компиляторы Pascal часто доступны для скачивания (например, Turbo Pascal 5.5 - здесь: [http://dn.codegear.com/museum/ Borland Museum], а Symantec Think Pascal (Macintosh) - здесь: [http://www.thefreecountry.com/compilers/pascal.shtml Free Pascal Compiler List]), компьютеры с 1980-х и начала 1990-х годов ушли далеко вперёд. Мы больше не связаны именами файлов формата 8.3 в DOS или невытесняющей многозадачностью в Mac OS. Использование старого компилятора - это удовольствие в том-же смысле, что и запуск старой игры на эмуляторе. Но Движение за открытые исходные коды ([https://en.wikipedia.org/wiki/Open-source_movement Open-source movement]) создаёт хорошие компиляторы для современных операционных систем и новичкам будет гораздо легче использовать их.
 +
 
 +
=== Компиляторы с открытым исходным кодом ===
 +
 
 +
Два основных проекта компиляторов с открытым исходным кодом:
 
* [http://www.gnu-pascal.de GNU Pascal]
 
* [http://www.gnu-pascal.de GNU Pascal]
 
* [http://www.freepascal.org Free Pascal]
 
* [http://www.freepascal.org Free Pascal]
  
Free Pascal is generally considered friendlier for novices, and strives to emulate Borland Pascal in many ways, though both will serve fine for learning Pascal.
+
Free Pascal обычно считается более дружественным для новичков и он во многом старается эмулировать Borland Pascal, но оба хорошо послужат для обучения Pascal.
  
As most users of this tutorial will be running Windows, here's how to set up Free Pascal and get to the point where you're compiling a program on a modern Windows operating system:
+
Поскольку большинство пользователей этого учебника будут работать под Windows, ниже дана краткая инструкция, как установить Free Pascal и дойти до места, где вы сможете откомпилировать программу в современной операционной системе Windows:
  
# Download the Win32 installer for Free Pascal from the [http://www.freepascal.org/download.var Free Pascal download page].
+
# Загрузите Win32-инсталлятор для Free Pascal с [http://www.freepascal.org/download.var Free Pascal download page].
# Run the file you just downloaded and go through the wizard to setup Free Pascal.
+
# Запустите файл, который вы только что скачали, и пройдите через мастер установки Free Pascal.
# Open Free Pascal using the shortcut (by default it is located in Start -> Free Pascal.
+
# Запустите Free Pascal, используя ярлык (по умолчанию он находится в Пуск -> Free Pascal).
# Type in a program (flip to the [[Hello%2C_World|next lesson]] to get a "Hello, world." program).
+
# Наберите текст программы (см. программу "Hello, world." в [[Hello%2C_World.ru|следующем уроке]]).
# Save the file with File-Save As ...
+
# Сохраните файл с помощью '''File-Save As ...'''
# Run the program from the Run menu. This will automatically compile the program if you've made any changes, then run the program. It will also run the program without compiling if you've not made any changes since the last time you compiled.
+
# Запустите программу из меню '''Run'''. Это автоматически откомпилирует вашу программу, если вы внесли какие-либо изменения, а потом запустит программу. Это также запустит вашу программу без компиляции, если вы не вносили никаких изменений после предыдущей компиляции.
 +
 
 +
С программами, которые не ожидают ввода от пользователя, вы увидите, как промелькнёт программа на чёрном экране. Но программа завершится в мгновение ока и вы вернётесь в среду разработки, не увидев результатов своей работы. Есть два способа обойти это:
 +
 
 +
* Выберите '''User screen''' из меню '''Debug''', чтобы увидеть результат работы программы.
 +
* Добавляйте вызов '''ReadLn''' в конце каждой программы. Это заставит программу ждать нажатия пользователем клавиши '''Enter''' перед завершением программы и возвратом в IDE.
  
With programs that don't expect user input, you'll see the program flash on a black screen. But the program completes in the blink of an eye and you are returned to the IDE without seeing the results of your work. There are two ways around this:
 
  
* Select User screen from the Debug menu to see the results of the program.
 
* Add a readln statement at the end of every program. This will make the program wait for the user to press the Enter key before the program ends and returns to the IDE.
 
 
[[Image:Userscreen.png]]
 
[[Image:Userscreen.png]]
  
Note that an .exe file was created in the directory where you saved your program. This is the executable. You can go to the Command Prompt, change to the directory, and run this executable straight. You can also double-click on it in Windows Explorer (and it will still flash by quickly if it ends without requiring user input).
 
  
=== See also ===
+
Обратите внимание, что файл '''.exe''' был создан в том-же каталоге, где вы сохранили свою программу. Это исполняемый файл. Вы можете пойти в Командную строку, сменить каталог и напрямую запустить этот исполняемый файл. Вы также можете сделать на нём двойной клик в Windows Explorer (программа по-прежнему быстро промелькнёт, если завершается без запроса ввода со стороны пользователя).
* [[Control_Pascal_Tutorial]] - a simple way to start with no installation needed
+
 
* [[How_to_start]] - another way to start with an installation
+
=== См. также ===
 +
 
 +
* [[Control Pascal Tutorial]] - простой способ начать без небходимости инсталляции
 +
* [[How to start]] - другой способ начать с инсталляцией
  
 
{{TYNavigator|Object_Pascal_History|Hello,_World}}
 
{{TYNavigator|Object_Pascal_History|Hello,_World}}

Revision as of 05:17, 10 February 2016

български (bg) Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

Компиляторы Pascal

Pascal Compilers (author: Tao Yue, state: changed)

Этот документ даст базовую информацию о компиляторах, а также предоставит ссылки на известные компиляторы Pascal и объяснит, как установить Free Pascal.

О компьютерных языках и компиляторах

Когда говорят о компьютерных языках, обычно используется три основных термина:

  1. Машинный язык -- фактический бинарный код, который даёт основные инструкции центральному процессору (CPU) компьютера. Обычно это очень простые команды, такие, как сложение двух чисел или перемещение данных из одной области памяти в другую.
  2. Язык ассемблера -- способ для людей программировать компьютеры напрямую без запоминания строк двоичных чисел. Существует однозначное соответствие с машинным кодом. Например, в машинном языке Intel x86 ADD и MOV - мнемоники для операций сложения и перемещения.
  3. Язык высокого уровня -- позволяет людям писать сложные программы без расписывания каждого шага. Языками высокого уровня являются Pascal, C, C++, FORTRAN, Java, Visual Basic, C#, Java и многие другие. Одна команда в языке высокого уровня, вроде записи строки в файл, может транслироваться в десятки и даже сотни инструкций машинного языка.

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

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

С языками высокого уровня есть опять три основных термина для запоминания:

  1. Исходный код -- код, который вы пишете. Обычно файлы исходного кода имеют расширение, указывающее на используемый язык. Например, файлы исходного кода Pascal обычно заканчиваются .pas, а C++ - .cpp
  2. Объектный код -- результат компиляции. Объектный код обычно включет только один модуль программы и пока не может быть выполнен, поскольку ещё не завершён. В системах DOS/Windows такие файлы обычно имеют расширение .obj
  3. Исполняемый код -- конечный результат. Все модули объектного кода, необходимые для функционирования программы, связаны вместе. В системах DOS/Windows такие файлы обычно имеют расширение .exe

Ещё о компиляторах

Стандартом де-факто для компиляторов Pascal под DOS и Windows является Borland Pascal. До того, как он вышел, большинство компиляторов Pascal были медленными и неповоротливыми, не соответствовали стандарту Pascal и стоили несколько сотен долларов. В 1984 году Borland представила Turbo Pascal, который продавался менее, чем за 100 долларов, компилировал на порядок быстрее существующих компиляторов и шёл с большим количеством исходного кода и утилит.

Этот продукт был огромным успехом и был выдающимся в течении почти десятилетия. Но в 1990-х годах мир двигался в сторону Windows. В 1993 году вышла последняя, 7-я, версия Turbo Pascal для DOS. После этого спрос на DOS-программы резко упал и Borland (краткое время также известная как Inprise), направила свои усилия на выпуск сред разработки (IDE) и компиляторов для Windows (например, Delphi). Позже Borland продала свои компиляторы Embarcadero, которая продолжает регулярно обновлять Delphi.

Этот учебник будет иметь дело только с программированием консольных приложений, где компьютер печатает строки данных на экран, а пользователь взаимодействует с программой с помощью клавиатуры. Цель учебника - научить, как программировать на Pascal. Изучив это, вы легко сможете посмотреть в справочнике или другой web-странице, и выбрать графическую или оконную систему по своему вкусу.

Хотя старые коммерческие компиляторы Pascal часто доступны для скачивания (например, Turbo Pascal 5.5 - здесь: Borland Museum, а Symantec Think Pascal (Macintosh) - здесь: Free Pascal Compiler List), компьютеры с 1980-х и начала 1990-х годов ушли далеко вперёд. Мы больше не связаны именами файлов формата 8.3 в DOS или невытесняющей многозадачностью в Mac OS. Использование старого компилятора - это удовольствие в том-же смысле, что и запуск старой игры на эмуляторе. Но Движение за открытые исходные коды (Open-source movement) создаёт хорошие компиляторы для современных операционных систем и новичкам будет гораздо легче использовать их.

Компиляторы с открытым исходным кодом

Два основных проекта компиляторов с открытым исходным кодом:

Free Pascal обычно считается более дружественным для новичков и он во многом старается эмулировать Borland Pascal, но оба хорошо послужат для обучения Pascal.

Поскольку большинство пользователей этого учебника будут работать под Windows, ниже дана краткая инструкция, как установить Free Pascal и дойти до места, где вы сможете откомпилировать программу в современной операционной системе Windows:

  1. Загрузите Win32-инсталлятор для Free Pascal с Free Pascal download page.
  2. Запустите файл, который вы только что скачали, и пройдите через мастер установки Free Pascal.
  3. Запустите Free Pascal, используя ярлык (по умолчанию он находится в Пуск -> Free Pascal).
  4. Наберите текст программы (см. программу "Hello, world." в следующем уроке).
  5. Сохраните файл с помощью File-Save As ...
  6. Запустите программу из меню Run. Это автоматически откомпилирует вашу программу, если вы внесли какие-либо изменения, а потом запустит программу. Это также запустит вашу программу без компиляции, если вы не вносили никаких изменений после предыдущей компиляции.

С программами, которые не ожидают ввода от пользователя, вы увидите, как промелькнёт программа на чёрном экране. Но программа завершится в мгновение ока и вы вернётесь в среду разработки, не увидев результатов своей работы. Есть два способа обойти это:

  • Выберите User screen из меню Debug, чтобы увидеть результат работы программы.
  • Добавляйте вызов ReadLn в конце каждой программы. Это заставит программу ждать нажатия пользователем клавиши Enter перед завершением программы и возвратом в IDE.


Userscreen.png


Обратите внимание, что файл .exe был создан в том-же каталоге, где вы сохранили свою программу. Это исполняемый файл. Вы можете пойти в Командную строку, сменить каталог и напрямую запустить этот исполняемый файл. Вы также можете сделать на нём двойной клик в Windows Explorer (программа по-прежнему быстро промелькнёт, если завершается без запроса ввода со стороны пользователя).

См. также

  • Control Pascal Tutorial - простой способ начать без небходимости инсталляции
  • How to start - другой способ начать с инсталляцией
 ◄   ▲   ►