MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_01C6D999.A70CDEA0" Данный документ является веб-страницей в одном файле, также называемой файлом веб-архива. Если вы видите это сообщение, значит данный обозреватель или редактор не поддерживает файлы веб-архива. Загрузите обозреватель, поддерживающий веб-архивы, например Microsoft Internet Explorer. ------=_NextPart_01C6D999.A70CDEA0 Content-Location: file:///C:/D0C89E97/inf37.htm Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="us-ascii"
ЯЗЫКИ ПРО=
;ГРАММИРОВА
=
53;ИЯ
Для
того чтобы
ЭВМ могла
выполнять
программу,
программа
должна быть
записана по
строгим
правилам в
виде,
доступном
для обработ
=
82;и
на ЭВМ.
Еще
до окончани=
03;
постройки
1-ой ЭВМ "Э=
1053;ИАК"
в США в 1943-1946, в
которой
вычисления
производилl=
0;сь
электронныl=
4;и
блоками, а
программа
задавалась
=
74;ручную,
с помощью
механическl=
0;х
переключатk=
7;лей,
видный
американскl=
0;й
ученый фон Н=
077;йман
предложил
более
прогрессивl=
5;ую
конструкциn=
2;,
в которой:
- =
в
памяти ЭВМ
хранятся не
только числ
=
72;,
но и сама
программа;
- =
и
то, и др. храни=
тся
в виде
двоичных
чисел.
Программа
для такой
машины
записываетl=
9;я
на так
называемом машин=
085;ом
языке, т. е.
представляk=
7;т
собой
последоватk=
7;льность
двоичных
чисел.
Придумыватn=
0;
и записыват=
00;
программу н
=
72;
машинном
языке
неудобно, по=
101;тому
фон Нейман
предложил н
=
72;
начальном
этапе
разработки
программы и
=
89;пользовать
блок-с=
;хему
-
графическуn=
2;
форму запис
=
80;
алгоритма.
Блок-схему
затем
переводили
на машинный
язык. Это
нудная и
долгая
работа не
обходилась
без ошибок,
которые был
=
86;
очень
непросто
найти.
Поэтому
возникла
идея
записывать
программу н
=
72;
так
называемом языке
программисm=
0;а,
а перевод с
языка
программисm=
0;а
на язык ЭВМ
поручать
самой ЭВМ.
Термин
язык
программисm=
0;а
не прижился
и, вместо
него, стали
говорить алгоритми
=
95;еский
язык или язык
программирl=
6;вания.
Набор
правил, по ко=
1090;орым
закодироваl=
5;а
программа,
называется
языком
программирl=
6;вания
или алгорит
=
84;ическим
языком. Язык=
080;
программирl=
6;вания
- специально
разработанl=
5;ые
искусственl=
5;ые
языки,
предназначk=
7;нные
исключителn=
0;но
для записи
алгоритмов,
исполнение
которых пор
=
91;чается
ЭВМ.
Описание
любого язык
=
72;
включает в себя
алфавит,
синтаксис и
семантику.
Алфавит=
; -
набор
символов
(букв, цифр,
специальныm=
3;
знаков и т.д.),
которые
могут быть
использоваl=
5;ы
при
написании
программы.
Синтакс=
;ис -
правила
построения
из символов
алфавита сп
=
77;циальных
конструкциl=
1;,
с помощью
которых
составляетl=
9;я
алгоритм.
Семанти=
;ка -
система
правил
толкования
этих
конструкциl=
1;.
Таким
образом, программа
составляетl=
9;я
с помощью
соединения
символов
алфавита в
соответствl=
0;и
с синтаксич
=
77;скими
правилами и =
089;
учетом
правил сема
=
85;тики.
Каждый
язык
программирl=
6;вания
имеет свой а=
083;фавит,
в котором по=
076;
буквами
понимается
=
74;се
символы,
использующl=
0;еся
для записи в=
099;ражений.
В каждом из
языков
действует
своя грамма
=
90;ика
(синтаксис) -
четкие
правила обр
=
72;зования
слов и фраз
на этом
языке.
Словарь люб
=
86;го
из языков
очень мал по
объему.
Один
из первых
языков
программирl=
6;вания
– Фортран(For<=
/b>mula=
Ttanslation)
был создан в
середине 50-х
годов.
Благодаря с
=
74;оей
простоте и
тому, что на
этом языке
накоплены
большие
библиотеки
программ
Фортран и в
наши дни ост=
072;ется
одним из
самых
распростраl=
5;енных.
Используетl=
9;я
для
инженерных
=
80;
научных
расчетов, дл=
103;
решения
задач физик
=
80;
и других нау=
082;
с развитым
математичеl=
9;ким
аппаратом.
В
1960 году был
создан язык Алгол-60
ориентировk=
2;нный
на
научно-техн
=
80;ческие
задачи.
Для
решения
экономичесl=
2;их
задач был
создан язык
программирl=
6;вания
- Кобол.
Расширение
областей
применения
ЭВМ влечет з=
072;
собой
создание
языков
ориентировk=
2;нных
на новые
сферы
применения:
Появляются
языки прl=
6;граммирова=
085;ия
предназначk=
7;нные
для обучени=
03;.
В
Необходимо=
;сть
разработки
больших
программ,
управляющиm=
3;
работой ЭВМ
(системных п=
088;ограмм),
потребовалk=
2;
создания
специальноk=
5;о
языка
программирl=
6;вания
СИ
в начале 70-х г.
=
54;н
является
одним из
универсальl=
5;ых
языков прог
=
88;аммировани=
1103;.
Появление
функционалn=
0;ного
программирl=
6;вания
привело к
созданию
языка Проло=
075;.
Этот язык
программирl=
6;вания
разрабатывk=
2;лся
для задач
анализа и
понимания
естественнm=
9;х
языков на
основе язык
=
72;
формальной
=
83;огики
и метода
автоматичеl=
9;кого
доказательl=
9;тва
теории. В 80-Х г.
был создан
язык Ада,
названый в
честь перво
=
81;
женщины -
программисm=
0;а
Ады Лавлейс,
дочери
Байрона. Это=
090;
язык в
дополнение
=
82;
классическl=
0;м
свойствам, о=
073;еспечивает
программирl=
6;вание
задач реаль
=
85;ого
времени,
моделироваl=
5;ия
параллельнl=
6;го
решения
задач. Язык Рефал
(создан В.=
1058;урчиным)
использует
мощные
средства
преобразовk=
2;ния
списков
(символьная
информация)
на основе
концепции
распознаваl=
5;ия
по образу. С м&=
#1086;мента
появления
первых
языков в 1952-
Системы
программирl=
6;вания
предназначk=
7;ны
для создани=
03;
программ
управления
компьютероl=
4;.
Системы
программирl=
6;вания
позволяют
использоваm=
0;ь
на ЭВМ
программы,
написанные
на языке
более
высокого
уровня, чем
язык машинн
=
99;х
команд.
Понятие
уровня язык
=
72;
программирl=
6;вания
связано со
степенью ег
=
86;
удаленностl=
0;
от языка
процессора
ЭВМ и
приближеннl=
6;сти
к
естественнl=
6;му
человеческl=
6;му
языку, к форм=
1072;льному
языку
предметной
области (чащ=
077;
всего -
математики).
Чем выше
уровень, тем
дальше от ЭВ=
052;
и ближе к
человеку.
Этот принци
=
87;
схематичесl=
2;и
отражает
рисунок.
Естест=
1074;енный
язык, язык
математики<=
o:p>
Язык
машинных
команд – это
язык самого
низкого
уровня.
Первые язык
=
80;
программирl=
6;вания,
отличаются
от ЯМК,
появились н
=
72;
машинах
первого
поколения и =
085;азывались
Автокодами.
Автокод
– это машинн=
086;е
–
ориентировk=
2;нный
язык
символичесl=
2;ого
программирl=
6;вания.
Одна
команда на
Автокоде
соответствm=
1;ет
одной
машинной
команде.
Работая на
Автокоде,
программисm=
0;
освобожден
от
необходимоl=
9;ти
распределяm=
0;ь
память под
программу и
величины, ем=
091;
не
приходится
работать с
адресами
ячеек.
Переменные
величины и
числовые
константы
обозначаютl=
9;я
так же как в м&=
#1072;тематике,
коды операц
=
80;й-
мнемоничесl=
2;ими
(буквенными)
обозначениn=
3;ми.
Начиная
с машин
третьего
поколения,
языки таког
=
86;
типа стали
называть
Ассемблераl=
4;и.
В наше время
на Ассембле
=
88;е
программирm=
1;ют
довольно
редко, это,
как правило,
делают
системные
программисm=
0;ы.
Сокращение
ЯПВУ
расшифровыk=
4;ается
так, языки
программирl=
6;вания
высокого
уровня.
Сегодня
большинствl=
6;
программисm=
0;ов
работают
именно на
этих языках.
Наиболее
распростраl=
5;енными
являются
языки
Паскаль,
Бейсик, СИ,
Фортран.
Вот
пример
записи одно
=
81;
и той же
команды сло
=
78;ения
двух чисел н=
072;
трех языках
разного уро
=
74;ня,
ЯМК,
Автокод,
Паскаль.
=
&nb=
sp; =
C:=3D A+<=
span
lang=3DEN-US style=3D'font-size:12.0pt;mso-ansi-language:EN-US'>D
=
&nb=
sp;
=
ADD<=
span
lang=3DEN-US style=3D'font-size:12.0pt'> A,B,<=
span
lang=3DEN-US style=3D'font-size:12.0pt;mso-ansi-language:EN-US'>C Авток=
од
=
&nb=
sp; =
01 24 28 2С =
ЯМК
Видно,
как с
повышением
уровня язык
=
72;
повышается
«понятностn=
0;»
команд (по–английск
=
80;
слово ADD ознk=
2;чает
«сложить»).
Однако, чем
понятнее дл=
03;
человека, те=
084;
непонятнее
для
процессора
ЭВМ.
Процессор
понимает
только Я
=
52;К,
это его
«родной
язык».
Человеку же
легче писат=
00;
программы н
=
72;
языках боле
=
77;
высокого ур
=
86;вня.
Как
сделать так,
чтобы
человек мог
писать прог
=
88;аммы
на Автокоде
или Паскале,
а компьютер
мог
исполнять
эти програм
=
84;ы?
Ответ на
поставленнm=
9;й
вопрос тако
=
81;
же, как ответ
на вопрос:
«как мне
общаться с
японцем, есл=
080;
я не знаю
японского
языка?».
Нужен перев
=
86;дчик,
по-английск
=
80;
переводчик R=
11;translator<=
/span>.
Программы-l=
7;ереводчики
с Автокода,
Паскаля,
Фортрана и
других
языков на
язык
машинных
команд
называются
трансляторk=
2;ми.
Таким
образом,
компьютер
сам
производит
=
87;еревод
под
управлениеl=
4;
программы-
трансляторk=
2;.
Процесс
перевода
программы н
=
72;
язык машинн
=
99;х
команд
называется
трансляциеl=
1;. Прежде
чем
выполнить,
например,
программу н
=
72;
Паскале, ее
нужно
оттранслирl=
6;вать.
Трансляцию
=
84;ожно
представитn=
0;
как спуск с
верхней сту
=
87;еньки
языка на
самую перву=
02;
ступеньку - ЯМК.
C:=3DA+B =
ПАСКАЛ=
1068;
=
Трансляциn=
3;
с Паскаля
ADD A, B,C АВТОКО=
1044;
=
Тран=
;. с
автокода
Транслятор
является
обязательнm=
9;м
элементом
любой
системы
программирl=
6;вания.
Первые СП
включали в
себя только
трансляторm=
9;. Затем
к
трансляторm=
1;
стали
добавлятьсn=
3;
различные
сервисные
средства,
текстовые р
=
77;дакторы,
отладчики, с=
080;стемы
обслуживанl=
0;я
программныm=
3;
библиотек,
средства
организациl=
0;
дружественl=
5;ого
интерфейса
=
89;
пользоватеl=
3;ем.
Транслятор
- это
посредник,
работающий
=
89;
исходными
текстами
программ. Ра=
089;смотрим
программ=
;у-компилято=
088;
и
программу-и
=
85;терпретато=
1088;.
Программа-к
=
86;мпилятор
(от слова compile - состав=
083;ять,
собирать)
переводит
исходный те
=
82;ст
в машинный
код и
записывает
его на диск в
форме
исполняемоk=
5;о
(загрузочно
=
75;о)
файла. После
этого
программа
выполняетсn=
3;
независимо
от исходног
=
86;
текста.
Программа-l=
0;нтерпретат=
086;р
всегда
работает
совместно с
исходным
текстом. Она
разбирает к
=
72;ждую
инструкцию
исходного
текста (инте=
088;претирует
ее) и
немедленно
исполняет (т.=
1077;.
файл на маши=
085;ном
языке не
создается). П=
1088;ограмма
в режиме
интерпретаm=
4;ии
работает
гораздо
медленнее,
чем такая же
программа в
машинном
коде. Это
связано с
тем, что
каждую
инструкцию
приходится
=
88;азбирать
во время
выполнения (=
072;
не заранее, к=
1072;к
при компиля
=
94;ии).
Многие инст
=
88;укции
в программе =
074;ыполняются
многократнl=
6;,
- и при каждом
выполнении
интерпретиl=
8;уются
заново. Но
интерпретаm=
4;ия
имеет и свои
преимущестk=
4;а:
с ее помощью
проще
отлаживать
программу. И=
085;огда
пользуются
режимом «псевдоинте=
1087;ретации»:
ускоряют
интерпретаm=
4;ию
за счет
предваритеl=
3;ьного
запоминаниn=
3;
тех или иных
элементов
разобранныm=
3;
команд в
памяти
машины.
В
наше время
машинные
коды не
используютl=
9;я,
и каждая про=
075;рамма
для
компьютера
составляетl=
9;я
на том или ин=
1086;м
языке
программирl=
6;вания.
Существует
очень много
языков,
однако все
они, как
правило,
содержат
средства
описания
данных,
арифметичеl=
9;кие
операторы,
средства уп
=
88;авления
и организац
=
80;и
циклов,
средства
ввода и выво=
076;а
информации. =
052;ногие
языки
пользуются
похожими
принципами
организациl=
0;
программ, но -
разным синт
=
72;ксисом.
Слова
и синтаксис
языков прог
=
88;аммировани=
1103;
придумываюm=
0;ся
искусственl=
5;о.
Поэтому не
следует стр
=
77;миться
к изучению
как можно
большего
числа языко
=
74;.
Программирl=
6;вания.
Их можно
знать, но
знать и
владеть - не
одно и то же. Изучив о=
1076;ин
язык, можно
усвоить
главное -
идеологию
программирl=
6;вания. При необ=
1093;одимости
можно легко
перейти на
другой язык,
однако для
продуктивнl=
6;й
работы в нем
придется
довести до
автоматизмk=
2;
навыки
правильногl=
6;
написания
команд,
освоить мно
=
78;ество
функций,
соглашений,
умолчаний и
других
тонкостей,
характерныm=
3;
для этого
языка.