Вы находитесь на странице: 1из 103

Кафедра менеджмента технологий

Основы алгоритмизации и
программирования на
языках высокого уровня
Холодова Елена Петровна
магистр экономических наук
+375 29 681 63 09
alena-kholadava@yandex.ru

Минск, 2017 1
ТЕМА 1: АЛГОРИТМЫ И ПРОГРАММЫ

1. Алгоритм: понятие, свойства, способы


записи.
2. Стандартизация графического
представления алгоритмов.
3. Графическое представление линейных,
ветвящихся и циклических алгоритмов.
4. Основы структурного проектирования
программ.
5. Языки программирования. Язык С++.

Институт бизнеса и менеджмента технологий БГУ 2


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

Институт бизнеса и менеджмента технологий БГУ 3


 Как компьютеры решают поставленные перед
ними задачи?
 Как GPS в считанные секунды находит самый
быстрый путь из несметного множества
возможных маршрутов?
 Когда вы покупаете что-то в Интернете, как
обеспечивается защита номера вашей карты от
перехвата злоумышленников?
 Как задачи, решаемые компьютерами, и
используемые для этого методы связаны с
реальным, некомпьютерным миром?
Ответом на эти и массу других вопросов являются
алгоритмы.

Институт бизнеса и менеджмента технологий БГУ 4


1. Алгоритм: понятие, свойства, способы записи

Обобщенный ответ – «набор


шагов для выполнения
задачи».

W: набор инструкций,
описывающих порядок
действий исполнителя для
достижения некоторого
результата.

Институт бизнеса и менеджмента технологий БГУ 5


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

Институт бизнеса и менеджмента технологий БГУ 6


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

Институт бизнеса и менеджмента технологий БГУ 8


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

Институт бизнеса и менеджмента технологий БГУ 9


Мерой эффективности алгоритма
является скорость – время, в
течение которого алгоритм выдает
результат.

Институт бизнеса и менеджмента технологий БГУ 10


Разработка алгоритма является сложным и
трудоемким процессом.

Институт бизнеса и менеджмента технологий БГУ 11


Институт бизнеса и менеджмента технологий БГУ 12
Институт бизнеса и менеджмента технологий БГУ 13
 Результаты алгоритмизации процесса решения
задачи обычно систематизируются и оформляются в
виде схемы, в которой указывается последователь-
ность выполнения операций.

Институт бизнеса и менеджмента технологий БГУ 14


Для записи алгоритма существует общая
методика:

1. Каждый алгоритм должен иметь имя, которое


раскрывает его смысл.

2. Необходимо обозначить начало и конец алгоритма.

2. Описать входные и выходные данные.

3. Указать команды, которые позволяют выполнять


определенные действия над выделенными данными.

Институт бизнеса и менеджмента технологий БГУ 15


Общий вид алгоритма:
название алгоритма

описание данных

команды

конец

Институт бизнеса и менеджмента технологий БГУ 16


Институт бизнеса и менеджмента технологий БГУ 17
 Словесно-формульной называют форму записи
алгоритма, которая описывается с помощью
общепринятых изобразительных средств:
алгебраических символов и словесного текста.

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

Институт бизнеса и менеджмента технологий БГУ 18


 Первым алгоритмом, сформулированным как научный результат стал
Алгоритм Евклида для нахождения наибольшего общего делителя «h» двух
положительных чисел «a»и «b».

1) Сравнить А и В;
если А = В, то Н = А и перейти к третьему
шагу;
если А < В, то поменять А и В местами, и
перейти к следующему шагу:
если А > В, то перейти к следующему шагу.
2) А = А - В и перейти к первому шагу.
3) Процесс вычислений прекратить.

Институт бизнеса и менеджмента технологий БГУ 19


Вариант 1
A B Действия
6 9 A<B
9 6 Меняем местами
3 (т.е. 9-6) 6 A=A-B.
3 6 опять A < B
6 3 Меняем местами
3 (т.е. 6-3) 3 A=A-B,
3 3 A=B, следовательно Н = А
Вариант 2
A B Действия
9 6 A>B
3(т.е. 9-6) 6 A=A-B
3 6 A<B
6 3 Меняем местами
3 3 A=A-B
3 3 бизнеса и менеджмента
Институт A=B, следовательно
технологийНБГУ
=А 20
2. Стандартизация графического представления
алгоритмов

 Блок-схема - графическое
изображение логической структуры алгоритма,
в котором каждый этап процесса переработки
данных представляется в виде геометрических
фигур (блоков).

БЛОКИ – условные графические изображения,


используемые для составления блок-схем.

Институт бизнеса и менеджмента технологий БГУ 21


Правила выполнения регламентируются
ГОСТ 19.701-90 (ISO 5807-85) "Схемы
алгоритмов, программ, данных и систем.
Условные обозначения и правила выполнения".
Стандарт в частности регулирует способы
построения схем и внешний вид их элементов.

Институт бизнеса и менеджмента технологий БГУ 22


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

Естественным направлением движения считается:


сверху – вниз и слева – направо

 Внутри каждого блока кратко записывается содержание


данного участка задачи.

 Геометрические фигуры имеют определенную


конфигурацию в зависимости от характера выполняемых
операций (отображаемых функций)

Институт бизнеса и менеджмента технологий БГУ 23


Блоки делятся на арифметические или вычислительные (прямоугольник),
логические (ромб) и блоки ввода-вывода данных (параллелограмм).
Блок «начало», «конец»

Вычислительный блок

Логический блок

Блок ввода - вывода

Блок «типовой процесс»

Соединитель

Институт бизнеса и менеджмента технологий БГУ 24


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

Ввод-вывод, т.е. преобразование данных в форму, пригодную


для обработки (ввод), или регистрации результатов обработки
(вывод).

Список ввода может содержать только имена переменных. При выполнении


блока ввода они все получают соответствующие входные значения.

Вычислительный блок - выполнение операции или группы


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

Институт бизнеса и менеджмента технологий БГУ 25


Логический блок - выбор направления выполнения
алгоритма в зависимости от некоторых переменных
условий.
ОН содержит логическое выражение, которое является условием
перехода. Если значение логического выражения "истина", то
следующим выполняется блок по стрелке "Да", в противном
случае - по стрелке "Нет".

Типовой процесс, т.е. использование ранее созданных и


отдельно описанных алгоритмов и программ

Соединитель, т.е. указание связи между прерванными


линиями потока, связывающими символы.

Между расположенными на значительном расстоянии друг от друга


символами линию потока можно разрывать. При этом в конце и начале
обрыва должен быть помещен символ «соединитель» с указанием внутри его
цифры блока – приемника по передаче управления.

Институт бизнеса и менеджмента технологий БГУ 26


ОСНОВНЫЕ КОНСТРУКЦИИ, СИМВОЛЫ И ПРАВИЛА ,
ИСПОЛЬЗУЕМЫЕ ПРИ ПОСТРОЕНИЯ БЛОК-СХЕМ

Константы. Пример: 1, -23.45


Переменные. Переменной называется величина,
которая в ходе выполнения программы может
принимать различные значения. Переменным
можно давать любые имена: x, y, z, alfa и т.д.
Арифметические операции ( +, -, * , / ).
Арифметические выражения. Арифметическое
выражение (АВ) - это комбинация констант,
переменных, знаков арифметических операций и
круглых скобок, имеющая определённый
математический смысл.
Институт бизнеса и менеджмента технологий БГУ 27
Операторы присваивания. Оператор присваивания
позволяет запомнить результат вычисления АВ в
качестве значения заданной переменной. Оператор
присваивания имеет следующую структуру:
Имя переменной = АВ
Пример. Задача: даны две переменные a и b. Какие
операторы и в каком порядке надо выполнить, чтобы
поменять местами значения этих переменных.
Ответ: w = a; a = b; b = w .
Логические выражения. Логическое выражение (ЛВ)
имеет структуру:
АВ1 < | <= | = | < > | >= | > АВ2
Блоки и стрелки. Они используются для построения
схемы алгоритма, которая в наглядной форме
позволяет проследить ход выполнения алгоритма.
Институт бизнеса и менеджмента технологий БГУ 28
Структура оператора присваивания

Имя переменной = АВ

Пример.
w=a
a = b/3
b = w *2+1

Институт бизнеса и менеджмента технологий БГУ 29


Логическое выражение (ЛВ) имеет
структуру:

АВ < | <= | = | <> | >= | > АВ

Например, С>=8
A*B < F
и т.д.

Институт бизнеса и менеджмента технологий БГУ 30


Алгоритм, записанный на языке
программирования, называется программой.
Язык программирования является способом
передачи компьютеру списка логически
точных инструкций, которые предписывают
компьютеру, что нужно делать. Этот список
инструкций является текстом программы,
называемый исходным кодом (source code).

 Инструкции языка программирования


имеют строгие синтаксические правила!

Институт бизнеса и менеджмента технологий БГУ 31


Програ́ мма (от греч. προ —
пред, греч. γράμμα — запись) —
термин, в переводе означающий
«предписание», то есть
предварительное описание
предстоящих событий или действий.
Данное понятие непосредственно
связано с понятием алгоритм.

Институт бизнеса и менеджмента технологий БГУ 32


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

Институт бизнеса и менеджмента технологий БГУ 33


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

Институт бизнеса и менеджмента технологий БГУ 34


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

Институт бизнеса и менеджмента технологий БГУ 35


3. Графическое представление линейных, ветвящихся и
циклических алгоритмов

По структуре выполнения алгоритмы и программы делятся на три вида:

ЛИНЕЙНЫЕ ВЕТВЯЩИЕСЯ ЦИКЛИЧЕСКИЕ

Институт бизнеса и менеджмента технологий БГУ 36


 Важнейшей отличительной
особенностью трех названных
структур является наличие в них
единственной точки входа и точки
выхода.

Эти структуры могут объединяться,


вкладываясь одна в другую произвольным
образом. Однако правило "один вход - один
выход" должно выполняться для любого
объединения структур и, следовательно, для
всей программы в целом.
Институт бизнеса и менеджмента технологий БГУ 37
Институт бизнеса и менеджмента технологий БГУ 38
Линейный алгоритм –
это такой алгоритм, в
котором все действия
выполняются строго
последовательно друг за
другом и только один раз,
пока не встретится
оператор конца, после
которого все вычисления
прекращаются.
Институт бизнеса и менеджмента технологий БГУ 39
Блок-схема представляет собой последовательность блоков, которые
располагаются сверху вниз в порядке их выполнения.

Для
линейных
процессов
характерно, что
направление
вычислений не
зависит от
значения
исходных
данных и
получаемых в
результате
решения задачи
промежуточных
результатов.
Институт бизнеса и менеджмента технологий БГУ 40
Пример блок-схемы алгоритма линейного процесса

Алгоритм задачи
определения складских
остатков материалов на
конец месяца по формуле:
И = В + П - Р,
где
И — исходящий остаток;
В — входящий остаток;
П — поступление материала
на склад;
Р — отпуск материала со
склада.

Институт бизнеса и менеджмента технологий БГУ 41


Институт бизнеса и менеджмента технологий БГУ 42
Ветвящимся (условным) называется
процесс, в котором в зависимости от значения
некоторого признака вычисления проводятся по
одному из нескольких возможных направлений.
Каждое направление вычисления называется
ветвью.

Институт бизнеса и менеджмента технологий БГУ 43


В таких алгоритмах выбор направления
продолжения вычисления осуществляется по
итогам проверки заданного условия.
Признаком разветвлений может служить:
• знак числа (+ или -)
• отношение числа к нулю (=0, >0, <0)
• характер отношений между двумя
величинами (a=b, a>b, a<b)
• и др.

Институт бизнеса и менеджмента технологий БГУ 44


Блоком проверки
условия является
ромб.

В словесном
описании
разветвляющих
ся алгоритмов
используются
слова «если»,
«то», «иначе».

Институт бизнеса и менеджмента технологий БГУ 45


Институт бизнеса и менеджмента технологий БГУ 46
Условные конструкции бывают ПОЛНЫЕ, НЕПОЛНЫЕ И
СЕЛЕКТИВНЫЕ.

Полная условная
конструкция
Неполная условная
конструкция
 Полные и неполные конструкции
предполагают выбор по одному из двух
направлений.

Институт бизнеса и менеджмента технологий БГУ 47


Пример полной условной конструкции

Институт бизнеса и менеджмента технологий БГУ 48


Пример полной Алгоритм задачи
условной конструкции деления двух
чисел

Институт бизнеса и менеджмента технологий БГУ 49


Пример неполной условной конструкции

Институт бизнеса и менеджмента технологий БГУ 50


Если возможных направлений больше, то
используется селективная конструкция,
блок-схема которой представлена на рисунке.

Селективная условная конструкция

Институт бизнеса и менеджмента технологий БГУ 51


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

Разбиение сложного условия на


несколько простых

Институт бизнеса и менеджмента технологий БГУ 52


Институт бизнеса и менеджмента технологий БГУ 53
Институт бизнеса и менеджмента технологий БГУ 54
Институт бизнеса и менеджмента технологий БГУ 55
В процессе решения задач часто некоторые
участки в них повторяются несколько раз.
Такой многократно повторяющийся участок
принято называть ЦИКЛОМ, а
вычислительные процессы, содержащие
циклы, ‒ ЦИКЛИЧЕСКИМИ.
Циклический процесс сводится к
многократному повторению вычислений по
одним и тем же математическим
зависимостям при различных значениях
входящих в них величин.

Институт бизнеса и менеджмента технологий БГУ 56


В зависимости от характера ограничений на количество
повторений в цикле различают два их типа:

циклы со циклы без


счетчиком, счетчика, или
или циклы с циклы с
известным неизвестным
количеством количеством
повторений повторений

Институт бизнеса и менеджмента технологий БГУ 57


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

Институт бизнеса и менеджмента технологий БГУ 58


Циклы без счетчика

В этом случае выход из цикла осуществляется на


основе проверки некоторого условия.

Институт бизнеса и менеджмента технологий БГУ 59


В зависимости от
расположения проверки
окончания цикла циклы
без счетчика делятся на:

циклы с предусловием циклы с постусловием

Институт бизнеса и менеджмента технологий БГУ 60


В циклах с предусловием проверка
окончания предшествует рабочей части
цикла (действие S выполняется до тех
пор, пока истинно условие В).

Цикл с предусловием

Институт бизнеса и менеджмента технологий БГУ 61


Пример циклического
процесса с
предусловием

Алгоритм получения квадратов чисел натурального ряда


Институт бизнеса и менеджмента технологий БГУ 62
Институт бизнеса и менеджмента технологий БГУ 63
В циклах с постусловием проверка окончания
цикла следует за рабочей частью (действие S
выполняется до проверки истинности условия В).

Цикл с постусловием

При выборе логических условий обычно


пользуются изменяемой от цикла к циклу
величиной, встречающейся в процессе вычислений.
Институт бизнеса и менеджмента технологий БГУ 64
Цикл с постусловием

Институт бизнеса и менеджмента технологий БГУ 65


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

Институт бизнеса и менеджмента технологий БГУ 66


Основные структуры могут комбинироваться друг с другом

Институт бизнеса и менеджмента технологий БГУ 67


Алгоритм Эвклида — нахождение
наибольшего общего делителя "Н" двух
положительных чисел "А" и "В".

Институт бизнеса и менеджмента технологий БГУ 68


Задание 1.

Институт бизнеса и менеджмента технологий БГУ 69


Задание 2. Определить блок-схему
алгоритма вычисления корней квадратного
уравнения.
D=b2-4*a*c
x1,2= -b  D /2a, при D>0
x1,2= -b /2a, при D=0

,где
при D<0

Институт бизнеса и менеджмента технологий БГУ 70


Задание 3. Вычислить сумму S
чисел от 1 до 10, составив блок-
схемы алгоритмов с предусловием и
с постусловием.

Институт бизнеса и менеджмента технологий БГУ 72


Задание 4.
Определите
неточности в
изображении
алгоритма

Институт бизнеса и менеджмента технологий БГУ 74


РЕЗЮМЕ

Институт бизнеса и менеджмента технологий БГУ 75


Институт бизнеса и менеджмента технологий БГУ 76
4. Основы структурного проектирования программ

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

Институт бизнеса и менеджмента технологий БГУ 77


Блок (также говорят блок кода, блок
команд, блок инструкций) в
программировании — это логически
сгруппированный набор идущих подряд
инструкций в исходном коде программы,
является основой парадигмы структурного
программирования.

Институт бизнеса и менеджмента технологий БГУ 78


Cтруктурное программирование зародилось в середине
1960-х годов.

Структурная методология
разработки программного
обеспечения была изобретена
голландским ученым Эдсгером
Дейкстрой (Edsger Dijkstra).
Он впервые сосредоточил
внимание на эффективных
способах внутренней
организации программы.
Эдсгер Вибе Дейкстра
Edsger Wybe Dijkstra

11 мая 1930 - 6 августа 2002


Институт бизнеса и менеджмента технологий БГУ 79
В 1969 году в Риме прошла научная
конференция НАТО по программированию.
Дейкстра выступил на ней со знаменитым
докладом «Структурное программирование
В соответствии с данной методологией
любая программа строится без
использования оператора goto из трёх
базовых управляющих структур:
последовательность, ветвление, цикл.

Институт бизнеса и менеджмента технологий БГУ 80


Кроме того, используются
подпрограммы. При этом разработка
программы ведётся пошагово, методом
«сверху вниз».
Сначала в реализуемом алгоритме
выделяются крупные модули. Их
функционирование детализируется до
более и более мелких элементов, но
все они выполняются
последовательно.

Институт бизнеса и менеджмента технологий БГУ 81


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

Институт бизнеса и менеджмента технологий БГУ 82


Методология структурной разработки
программного обеспечения была признана
«самой сильной формализацией 70-х годов».
Структурное программирование стало
основой всего, что сделано в методологии
программирования, включая и объектное
программирование.
1

1. По материалам
https://ru.wikipedia.org/wiki/Структурное_программирование

Институт бизнеса и менеджмента технологий БГУ 83


Основная идея структурного программирования вполне

соответствует принципу "разделяй и властвуй".

Компьютерную программу можно представить в виде

набора задач. Любая задача, которая слишком сложна для

простого описания, должна быть разделена на несколько

более мелких составных задач, и это деление необходимо

продолжать до тех пор, пока задачи не станут достаточно

простыми для понимания.

Институт бизнеса и менеджмента технологий БГУ 84


Для примера возьмем вычисление средней заработной
платы всех служащих компании. Это не такая уж простая
задача, однако ее можно разделить на ряд подзадач.

1. Выяснить, сколько зарабатывает каждый служащий.

2. Подсчитать количество служащих компании.

3. Найти общую сумму всех зарплат.

4. Разделить суммарную зарплату на количество


служащих компании.

Институт бизнеса и менеджмента технологий БГУ 85


Подсчет суммарной зарплаты тоже можно разделить на
несколько этапов.

1. Прочитать запись о каждом


служащем.

2. Получить доступ к информации


о зарплате.

3. Прибавить очередное значение


зарплаты к накопительной сумме.

4. Прочитать запись о следующем


служащем.

Институт бизнеса и менеджмента технологий БГУ 86


В свою очередь операцию чтения записи о
каждом служащем можно разделить на более
мелкие.

1. Открыть файл служащих.

2. Перейти к нужной записи.

3. Считать данные.

Институт бизнеса и менеджмента технологий БГУ 87


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

Институт бизнеса и менеджмента технологий БГУ 88


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

Институт бизнеса и менеджмента технологий БГУ 89


5. Языки программирования

Институт бизнеса и менеджмента технологий БГУ 90


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

Институт бизнеса и менеджмента технологий БГУ 91


Язык программи́ рования — формальный
язык, предназначенный для
записи компьютерных программ. Язык
программирования определяет
набор лексических, синтаксических и
семантических правил, определяющих внешний
вид программы и действия, которые выполнит
исполнитель (обычно — ЭВМ) под её
управлением.

Институт бизнеса и менеджмента технологий БГУ 92


Для многих широко распространённых
языков программирования
созданы международные стандарты.
Специальные организации проводят
регулярное обновление и публикацию
спецификаций и формальных определений
соответствующего языка.
В рамках таких комитетов продолжается
разработка и модернизация языков
программирования и решаются вопросы о
расширении или поддержке уже
существующих и новых языковых
конструкций.
Институт бизнеса и менеджмента технологий БГУ 93
Формально язык программирования не
имеет такого критерия как «уровень».
Условно этот термин означает степень
отличия семантики языка от машинного
кода целевой архитектуры процессора —
другими словами, наименьший масштаб
преобразований, которые должен
претерпеть код программы перед тем, как он
сможет исполняться.

Институт бизнеса и менеджмента технологий БГУ 94


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

Институт бизнеса и менеджмента технологий БГУ 95


Низкоуровневый язык
программирования (язык
программирования низкого уровня) —
язык программирования, близкий к
программированию непосредственно в
машинных кодах.

Институт бизнеса и менеджмента технологий БГУ 96


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

Институт бизнеса и менеджмента технологий БГУ 97


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

Институт бизнеса и менеджмента технологий БГУ 98


Язык C++ был создан Бьерном
Страуструпом (Bjarne Stroustrup) в
1979 году в компании Bell Laboratories
(г. Муррей-Хилл, шт. Нью-Джерси).

Бьёрн Страуструп
дат. Bjarne Stroustrup
99
Сначала новый язык получил имя "С с
классами" (С with Classes), но в 1983 году он
стал называться C++.
Язык C++ стал популярным благодаря
тому, что он полностью унаследовал и
расширил возможности языка С, который до
сих пор часто используется в задачах
системного программирования. История
создания C++ начинается с языка С.

Институт бизнеса и менеджмента технологий БГУ 100


101
C++ широко используется для разработки
программного обеспечения, являясь одним из
самых популярных языков программирования.
Область его применения включает
создание операционных систем, разнообразных
прикладных программ, драйверов устройств,
приложений для встраиваемых систем,
высокопроизводительных серверов, а также
развлекательных приложений (игр).
Существует множество реализаций языка C++,
как бесплатных, так и коммерческих и для
различных платформ. C++ оказал огромное
влияние на другие языки программирования, в
первую очередь на Java и C#.
ЛИТЕРАТУРА

Институт бизнеса и менеджмента технологий БГУ 102


Tomas_Kh_Kormen_-
_Algoritmy_Vvodny_kurs.djvu

Институт бизнеса и менеджмента технологий БГУ 103


algoritmyi-teoriya-
prakticheskoe-primenenie.pdf

Институт бизнеса и менеджмента технологий БГУ 104


Скиена С. - Алгоритмы. Руководство по
разработке.djvu

Институт бизнеса и менеджмента технологий БГУ 105


Институт бизнеса и менеджмента технологий БГУ 106