Раздел1. Основные принципы алгоритмизации и программирования

Федеральное государственное образовательное бюджетное учреждение

Высшего профессионального образования

«Поволжский государственный университет телекоммуникаций и информатики»

КОЛЛЕДЖ СВЯЗИ

                                              

ОСНОВЫ ПРОГРАММИРОВАНИЯ

Часть 1

Учебное пособие

 

 

 для специальностей:

09.02.03 – Программирование в компьютерных системах

Составил

преподаватель  Игнатов А.С.

 

Самара

2015

 

 

Содержание.

Пояснительная записка…………………………………………………………….……..3

Раздел1. Основные принципы алгоритмизации и программирования…………….5

Тема 1.1.Основные понятия алгоритмизации………………………………………….….5

Тема 1.2 Алгоритмы………………………………………………………………………....8

Тема 1.3 Языки программирования……………………………………………………......10

Раздел 2. Программирование на языке Pascal…………………………………………12

Тема 2.1 Основные элементы языка Pascal………………………………………………..12

Тема 2.2 Переменные и константы. Типы данных……………………………………..…16

Тема 2.3 Операторы языка: ввода-вывода, условные операторы………………………...23

Тема 2.4 Составной оператор. Операторы цикла. Операторы управления……………...26

Тема 2.5 Одномерные и многомерные массивы. Обработка массивов.............................32

Тема 2.6 Операции со строками……………………………………………………………38

Тема 2.7 Процедуры и функции……………………………………………………………42

Тема 2.8 Файлы……………………………………………………………………………...50

Тема 2.9 Указатели и динамическая память…………………………………………….…58

Тема 2.10 Модули……………………………………………………………………………65  

Раздел 3. Программирование на языке С++……………………………………………72

Тема 3.1 Лексика языка С++………………………………………………………………..72

Тема 3.2 Константы и строки………………………………………………………….……77

Тема 3.3 Линейные программы на С++. Программирование ветвлений…….……….….81

Тема 3.4 Программирование циклов. Операторы управления…………………………...85

Тема 3.5 Одномерные и многомерные массивы…………………………………………..89

Тема 3.6 Указатели…………………………………………………………………………..93

Список литературы………………………………………………………………………...99

 

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

 

Дисциплина «Основы программирования» относитьсяв общепрофессиональный цикл для студентов специальности 09.02.03  – «Программирование в компьютерных системах».

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

Целью изучения дисциплины «Основы программирования» является:

· этапы решения задач на компьютере;

· типы данных;

· базовые конструкции изучаемых языков программирования;

· принципы структурного и модульного программирования;

· принципы объектно-ориентированного программирования.

.

Задачи дисциплины:

· работать в среде программирования;

· реализовывать построенные алгоритмы в виде программ на конкретном языке программирования.

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

Методика изучения дисциплины строиться из следующих элементов:

- теоретическая часть (лекция, урок);

- лабораторно-практические занятия;

- самостоятельная работа с книгой и конспектами лекций;

- домашние задание;

- аудиторная контрольная работа;

- консультации.

Цель лекции - сообщение новых знаний, систематизация и обобщение накоплен­ных, развитие познавательных и профессиональных интересов.

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

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

Изучение дисциплины начинается с теоретического вступления о основных понятиях данной темы, о моделировании в целом.

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

Домашние задание - выполняется студентами после изучения соответствующих тем программного материала данного курса и является формой промежуточного кон­троля знаний студентов по дисциплине.

Аудиторная контрольная работа - предусмотренная действующим учебным планом и рабочей программой. Это форма итогового контроля знаний и проверки уровня ус­воения программного материала изучаемой дисциплины.

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

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

для специальностей:

Рабочая программа рассчитана на:

Максимальная учебная нагрузка обучающегося 210 часов, в том числе:

- обязательная аудиторная учебная нагрузка – 140 часа;

в том числе:

лабораторные занятия – 70 часа;

самостоятельная работа – 70 часов;

Итоговая аттестация в форме экзамена

После изучения предмета «Основы программирования" студент должен:

· иметь представление о роли и месте знаний по дисциплине «Основы программирования»;

· знать основные понятия и принципы программирования;

· уметь работать с языками программирования- Pascal, C++, Delphi.

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

 

 

Раздел1. Основные принципы алгоритмизации и программирования

 

Тема 1.1.Основные понятия алгоритмизации

 

Этапы решения задачи на ЭВМ. Работа по решению любой задачи с использованием компьютера делится на следующие этапы:

1. Постановка задачи.

2. Формализация задачи.

3. Построение алгоритма.

4. Составление программы на языке программирования.

5. Отладка и тестирование программы.

6. Проведение расчетов и анализ полученных результатов.

Часто эту последовательность называют технологической цепочкой решения задачи на ЭВМ..

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

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

Третий этап — построение алгоритма. Опытные программисты часто сразу пишут программы на языках, не прибегая к каким либо специальным способам описания алгоритмов (блок-схемам, псевдокодам). Однако в учебных целях полезно использовать эти средства, а затем переводить полученный алгоритм на язык программирования.

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

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

• уметь строить алгоритмы;

• знать языки программирования;

• уметь работать в соответствующей системе программирования.

Основой программистской грамотности является развитое алгоритмическое мышление.

Понятие алгоритма. Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithmi — латинского написания имени Мухаммеда альХорезми (787 — 850), выдающегося математика средневекового Востока. В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами. Сложение, вычитание, умножение столбиком, деление уголком многозначных чисел — вот первые алгоритмы в математике. Правила алгебраических преобразований, способы вычислений корней уравнений также можно отнести к математическим алгоритмам.

В наше время понятие алгоритма трактуется шире. Алгоритмэто последовательность команд управления каким-либо исполнителем.

В школьном курсе информатики с понятием алгоритма, с методами построения алгоритмов ученики знакомятся на примерах учебных исполнителей: Робота, Черепахи, Чертежника и т.д. Эти исполнители ничего не вычисляют. Они создают рисунки на экране, перемещаются в лабиринтах, перетаскивают предметы с места на место. Таких исполнителей принято называть исполнителями, работающими в обстановке.

В разделе информатики под названием «Программирование»

изучаются методы программного управления работой ЭВМ. Следовательно,

в качестве исполнителя выступает компьютер. Компьютер работает с величинами — различными информационными объектами: числами, символами, кодами и т. п. Поэтому алгоритмы, предназначенные для управления компьютером, принято называть алгоритмами работы с величинами.

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

вычислений.

Например, при решении квадратного уравнения исходными данными являются коэффициенты а, Ь, с; результата

ми — корни уравнения х1 х2; промежуточным данным — дискриминант уравнения  Для успешного освоения программирования необходимо усвоить следующее правило: всякая величина занимает свое определенное место в памяти ЭВМ (иногда говорят — ячейку памяти). Хотя термин «ячейка» с точки зрения архитектуры современных ЭВМ несколько устарел, однако в учебных целях его удобно использовать. У всякой величины имеются три основных свойства: имя, значение и тип. На уровне команд процессора величина идентифицируется при помощи адреса ячейки памяти, в которой она хранится. В алгоритмах и языках программирования величины делятся на константы и переменные. Константа — неизменная величина, и в алгоритме она представляется собственным значением, например: 15, 34.7, k, true и т.д. Переменные величины могут изменять свои значения в ходе выполнения программы и представляются символическими именами — идентификаторами, например: X, S2, cod 15. Любая константа, как и переменная, занимает ячейку памяти, а значение этих величин определяется двоичным кодом в этой ячейке. Теперь о типах величин — типах данных. С понятием типа данных вы уже, возможно, встречались, изучая в курсе информатики базы данных и электронные таблицы. Это понятие является фундаментальным для программирования. В каждом языке программирования существует своя концепция типов данных, своя система типов. Тем не менее в любой язык входит минимально необходимый набор основных типов данных, к которому относятся: целый, вещественный, логический и символьный типы. С типом величины связаны три ее характеристики: множество допустимых значений, множество допустимых операций, форма внутреннего представления. В табл. 1.1 представлены эти характеристики основных типов данных.

Типы констант определяются по контексту (т.е. по форме за­писи в тексте), а типы переменных устанавливаются в описаниях переменных.

Есть еще один вариант классификации данных — классифи­кация по структуре. Данные делятся на простые и структуриро­ванные. Для простых величин (их еще называют скалярными) справедливо утверждение: одна величина — одно значение, для структурированных: одна величина — множество значений. К структурированным величинам относятся массивы, строки, множества и т.д.

ЭВМ — исполнитель алгоритмов. Как известно, всякий алго­ритм (программа) составляется для конкретного исполнителя в рамках его системы команд. О каком же исполнителе идет речь при обсуждении вопроса о программировании для ЭВМ? Ответ очевиден: исполнителем является компьютер. Точнее говоря, ис­полнителем является комплекс ЭВМ + Система программирова­ния (СП). Программист составляет программу на том языке, на который ориентирована СП. Иногда в литературе такой комплекс называют виртуальной ЭВМ. Например, компьютер с работаю­щей системой программирования на Бэйсике называют Бэйсик-машиной; компьютер с работающей системой программирования на Паскале называют Паскаль-машиной и т. п.

Входным языком такого исполнителя является язык программирования Паскаль.

Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд:

• присваивания;

• ввода;

• вывода;

• обращения к вспомогательному алгоритму;

• цикла;

• ветвления.

Для описания алгоритмов в дальнейшем мы будем использовать блок-схемы и учебный алгоритмический язык, применяемый в школьном курсе информатики.

 

Тема 1.2 Алгоритмы.

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

Присваивание может осуществляться двумя способами: с помощью команды присваивания и с помощью команды ввода.

Рассмотрим пример. В школьном учебнике математики правила деления обыкновенных дробей описаны так:

1. Числитель первой дроби умножить на знаменатель второй дроби.

2. Знаменатель первой дроби умножить на числитель второй дроби.

3. Записать дробь, числитель которой есть результат выполнения пункта 1, а знаменатель — результат выполнения пункта 2. В алгебраической форме это выглядит следующим образом:

Построим алгоритм деления дробей для ЭВМ. В этом алгоритме сохраним те же обозначения для переменных, которые использованы в записанной выше формуле. Исходными данными являются целочисленные переменные а, Ь, с, d. Результатом — также целые величины тип. Блок-схема и текст алгоритма на учебном алгоритмическом языке приведены ниже (в дальнейшем для краткости будем обозначать учебный алгоритмический язык буквами АЯ).

Формат команды присваивания следующий:

переменная:=выражение

Знак «:=» нужно читать как «присвоить».

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

1. Вычисляется выражение.

2. Полученное значение присваивается переменной.

В приведенном выше алгоритме присутствуют две команды присваивания. В блок-схемах команда присваивания записывается в прямоугольнике. Такой блок называется вычислительным блоком. В описаниях алгоритмов необязательно соблюдать строгие правила в записи выражений. Их можно писать в обычной математической форме. Это еще не язык программирования со строгим синтаксисом.

В приведенном алгоритме присутствует команда ввода: ввод a, b, c,d

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

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

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

вывод m,n

С помощью этой команды результаты выводятся на экран или на устройство печати на бумагу.

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

Рассмотрим последовательное выполнение четырех команд при­сваивания, в которых участвуют две переменные величины а и Ь.

В приведенной ниже таблице напротив каждой команды при­сваивания указываются значения переменных, которые устанав­ливаются после ее выполнения.

 

Команда а b
а:= 1 1 -
Ь:=2- а 1 2
а:=Ь 2 2
b:=a+ b 2 4

Этот пример иллюстрирует три основных свойства команды присваивания:

• пока переменной не присвоено значение, она остается неопре­деленной;

• значение, присвоенное переменной, сохраняется в ней вплоть до выполнения следующей команды присваивания этой переменной;

• новое значение, присваиваемое переменной, заменяет ее пре­дыдущее значение.

Рассмотрим один очень полезный алгоритм, который прихо­дится часто использовать при программировании. Даны две вели­чины: Хи Y. Требуется произвести между ними обмен значениями. Например, если первоначально было Х= 1, Y= 2, то после обме­на должно стать: Х= 2, Y= 1.

Хорошей моделью для решения этой задачи является следую­щая ситуация: имеются два стакана — один с молоком, другой с водой. Требуется произвести обмен их содержимым. Всякому ясно, что в этом случае нужен дополнительный третий пустой стакан. Последовательность действий будет следующей: 1) перелить из первого стакана в третий; 2) перелить из второго в первый; 3) перелить из третьего во второй. Цель достигнута!

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

 

Команда X Y Z
ввод X, Y 1 2 -
Z:=X 1 2 1
X:=Y 2 2 1
Y\=Z 2 1 1

Аналогия со стаканами не совсем точна в том смысле, что при переливании из одного стакана в другой первый становится пус­тым. В результате же присваивания (Х:= Y) переменная, стоящая справа (Y), сохраняет свое значение.

Алгоритм для деления дробей имеет линейную структуру. В нем все команды выполняются в строго однозначной последователь­ности, каждая по одному разу. Линейный алгоритм составляется из команд присваивания, ввода, вывода и обращения к вспомога­тельным алгоритмам (об этом позже).

При описании алгоритмов в блок-схемах типы, как правило, не указываются (но подразумеваются). В алгоритмах на АЯ для всех переменных типы указываются явно. Описание типов переменных производится сразу после заголовка алгоритма. В них используют­ся следующие обозначения типов: цел — целый тип, вещ — веще­ственный тип, лит — символьный (литерный) тип, лог — логи­ческий тип. В алгоритме для деления дробей для всех переменных указан целый тип.

 

Тема 1.3 Языки программирования

Язык программирования — это способ записи программ реше­ния различных задач на ЭВМ в понятной для компьютера форме. Процессор компьютера непосредственно понимает язык машин­ных команд (ЯМК). Программы на ЯМК программисты писали лишь для самых первых ламповых машин — ЭВМ первого поколения. Программирование на ЯМК — дело непростое. Программист дол­жен знать числовые коды всех машинных команд, должен сам рас­пределять память под команды программы и данные.

В 1950-х гг. появляются первые средства автоматизации про­граммирования — языки Автокоды. Позднее для языков этого уровня стало применяться название «Ассемблеры». Появление язы­ков типа Автокод-Ассемблер облегчило участь программистов. Пе­ременные величины стали изображаться символическими име­нами. Числовые коды операций заменились на мнемонические (словесные) обозначения, которые легче запомнить. Язык про­граммирования стал понятнее для человека, но при этом уда­лился от языка машинных команд. Чтобы компьютер мог испол­нять программы на Автокоде, потребовался специальный пере­водчик — транслятор. Транслятор — это системная программа, переводящая текст программы на Автокоде в текст эквивалент­ной программы на ЯМК.

Компьютер, оснащенный транслятором с Автокода, понимает Автокод. В этом случае можно говорить о псевдо-ЭВМ (аппаратура плюс транслятор с Автокода), языком которой является Автокод. Языки типа Автокод-Ассемблер являются машинно-ориентиро­ванными, т.е. они настроены на структуру машинных команд кон­кретного компьютера. Разные компьютеры с разными типами про­цессоров имеют разный Ассемблер. Языки программирования вы­сокого уровня (ЯПВУ) являются машинно-независимыми языками. Одна и та же программа на таком языке может быть выполнена на ЭВМ разных типов, оснащенных соответствующим транслятором. Форма записи программ на ЯПВУ по сравнению с Автокодом еще ближе к традиционной математической форме, к естествен­ному языку. Очень скоро вы увидите, что, например, на языке Паскаль она почти такая же, как на школьном Алгоритмическом языке. ЯПВУ легко изучаются, хорошо поддерживают структур­ную методику программирования.

Первыми популярными языками высокого уровня, появивши­мися в 1950-х гг., были Фортран, Кобол (в США) и Алгол (в Европе). Языки Фортран и Алгол были ориентированы на науч­но-технические расчеты математического характера. Кобол — язык для программирования экономических задач. В Коболе по сравне­нию с двумя другими названными языками слабее развиты мате­матические средства, но зато хорошо развиты средства обработки текстов, организация вывода данных в форме требуемого доку­мента. Для первых ЯПВУ предметная ориентация языков была ха­рактерной чертой.

Большое количество языков программирования появилось в 1960 —1970-х гг. А за всю историю ЭВМ их было создано более тысячи. Но распространились, выдержали испытание временем не­многие. В 1965 г. в Дартмутском университете был разработан язык Бейсик. По замыслу авторов это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных за­дач. Наибольшее распространение Бейсик получил на микроЭВМ и персональных компьютерах. На некоторых моделях школьных ком­пьютеров программировать можно только на Бейсике. Однако Бей­сик — неструктурный язык, и потому он плохо подходит для обу­чения качественному программированию. Справедливости ради сле­дует заметить, что последние версии Бейсика для ПК (например, QBasic) стали более структурными и по своим изобразительным возможностям приближаются к таким языкам, как Паскаль.

В эпоху ЭВМ третьего поколения получил большое распростра­нение язык PL/1 (Program Language One), разработанный фирмой IBM. Это был первый язык, претендовавший на универсальность, т. е. на возможность решать любые задачи: вычислительные, обра­ботки текстов, накопления и поиска информации. Однако PL/1 оказался слишком сложным языком. Для машин типа IBM 360/370 транслятор с него не мог считаться оптимальным, содержал ряд не выявленных ошибок. На ЭВМ класса мини и микро он вообще не получил распространения. Однако тенденция к универсализа­ции языков оказалась перспективной. Старые языки были модер­низированы в универсальные варианты — Алгол-68, Фортран-77.

Значительным событием в истории языков программирования стало создание в 1971 г. языка Паскаль. Его автор — швейцарский профессор Н.Вирт — разрабатывал Паскаль как учебный язык структурного программирования.

Наибольший успех в распространении этого языка обеспечили персональные компьютеры. Фирма Borland International, Inc (США) разработала систему программирования Турбо Паскаль для ПК. Турбо Паскаль — это не только язык и транслятор с него, но еще и операционная оболочка, обеспечивающая пользователю удоб­ство работы. Турбо Паскаль вышел за рамки учебного предназна­чения и стал языком профессионального программирования с

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

Язык программирования Си (английское название — С) со­здавался как инструментальный язык для разработки операцион­ных систем, трансляторов, баз данных и других системных и при­кладных программ. Так же как и Паскаль, Си — это язык струк­турного программирования, но, в отличие от Паскаля, в нем заложены возможности непосредственного обращения к некото­рым машинным командам, к определенным участкам памяти ком­пьютера. Дальнейшее развитие Си привело к созданию языка объек­тно-ориентированного программирования Си++.

Модула-2 — это еще один язык, предложенный Н.Виртом, осно­ванный на языке Паскаль и содержащий средства для создания больших программ.

ЭВМ будущего, пятого поколения называют машинами «ис­кусственного интеллекта». Но прототипы языков для этих машин были созданы существенно раньше их физического появления. Это языки ЛИСП и Пролог.

ЛИСП появился в 1965 г. Язык ЛИСП основан на понятии ре­курсивно определенных функций. А поскольку доказано, что лю­бой алгоритм может быть описан с помощью некоторого набора рекурсивных функций, то ЛИСП, по сути, является универсаль­ным языком. С его помощью на ЭВМ можно моделировать доста­точно сложные процессы, в частности интеллектуальную деятель­ность людей.

Язык Пролог разработан во Франции в 1972 г. также для реше­ния проблемы «искусственного интеллекта». Пролог позволяет в формальном виде описывать различные утверждения, логику рас­суждений и заставляет ЭВМ давать ответы на заданные вопросы.

Реализовать тот или иной язык программирования на ЭВМ — это значит создать транслятор с этого языка для данной ЭВМ. Существуют два принципиально различных метода трансляции. Они называются соответственно компиляция и интерпретация. Для объяс­нения их различия можно предложить следующую аналогию: лек­тор должен выступить перед аудиторией на незнакомом ей языке. Перевод можно организовать двумя способами:

• полный предварительный перевод — лектор заранее переда­ет текст выступления переводчику, тот записывает перевод, раз­множает его и раздает слушателям (после чего лектор может и не выступать);

• синхронный перевод — лектор читает доклад, переводчик одновременно с ним слово в слово переводит выступление.

• Компиляция является аналогом полного предварительного пе­ревода; интерпретация — аналогом синхронного перевода. Транс­лятор, работающий по принципу компиляции, называется ком­пилятором; транслятор, работающий методом интерпретации, — интерпретатором.

• При компиляции в память ЭВМ загружается программа-ком­пилятор. Она воспринимает текст программы на ЯПВУ как исход­ную информацию. После завершения компиляции получается про­грамма на языке машинных команд. Затем в памяти остается толь­ко программа на ЯМК, которая выполняется, и получаются требуемые результаты.

• Интерпретатор в течение всего времени работы программы на­ходится во внутренней памяти. В ОЗУ помещается и программа на ЯПВУ. Интерпретатор в последовательности выполнения алгоритма «читает» очередной оператор программы, переводит его в коман­ды и тут же выполняет эти команды. Затем переходит к переводу и выполнению следующего оператора. При этом результаты преды­дущих переводов в памяти не сохраняются. При повторном вы­полнении одной и той же команды она снова будет транслиро­ваться. При компиляции исполнение программы разбивается на два этапа: трансляцию и выполнение. При интерпретации, по­скольку трансляция и выполнение совмещены, программа на ЭВМ проходит в один этап. Однако откомпилированная программа вы­полняется быстрее, чем интерпретируемая. Поэтому использова­ние компиляторов удобнее для больших программ, требующих бы­строго счета. Программы на Паскале, Си, Фортране всегда ком­пилируются. Бейсик чаще всего реализован через интерпретатор.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: