
- •Лекция № 1
- •Тема 1.1. Сущность и роль технологии программирования, языки и системы программирования.
- •Учебные вопросы:
- •Тема 1.1. Сущность и роль технологии программирования, языки и системы программирования.
- •Введение
- •1. История программирования от первых автоматов до первых эвм
- •1.1. О терминах
- •1.2. Ранняя история программирования автоматов
- •1.3. Станки с числовым программным управлением
- •1.4. Вычислительные машины
- •1.5. Двоичная система
- •1.6. Архитектура фон Неймана
- •1.7. Машинный код
- •2. Сущность, роль и основные принципы технологии программирования
- •2.1. Этапы решения задач на эвм
- •2.2. Задачи технологии программирования
- •2.3. Основные принципы технологии программирования
- •3. Основные понятия программирования
- •4. Языки и системы программирования, язык JavaScript
- •4.1. Классификация языков программирования
- •4.2. Характеристика систем программирования на языкахJavaScript/Jscript
Введение
Программирование как деятельность по созданию программ и программных систем для вычислительных машин в наше время является развитой индустрией, обладающей своей технологией, базирующейся на научных и технических достижениях в этой области. Программисты должны в совершенстве владеть своими технологиями и от них нельзя требовать столь же глубоких познаний в других областях, для которых они создают программы.
Специалистам в других областях приходится обращаться к программистам, когда они заказывают создание тех или иных программ, или в процессе их эксплуатации, когда они сталкиваются с ошибками в программах или с необходимостью их модернизации. Лучше всего это общение происходит, когда представители этих разных областей говорят на одном языке – языке алгоритмов и информационных моделей. При этом специалисту-непрограммисту достаточно знания лишь основ программирования и технологии программирования. Неоценимую помощь оказывает опыт самостоятельного создания хотя бы небольших работоспособных программ.
Помимо того, специалисты, использующие информационные технологии, часто сталкиваются с появлением задач, не предусмотренных штатным программным обеспечением, но решение которых с помощью специально разработанных сравнительно небольших программ повысило бы эффективность их основной профессиональной деятельности. Навыки программирования могут и здесь сыграть решающую роль.
Наконец, знание того, какими средствами решаются информационные задачи, как протекают процессы их решения в компьютерной системе, позволяет более эффективно настраивать и эксплуатировать штатное специальное и общее программное обеспечение.
Технология– определённая совокупность средств и методов достижения определённой цели. Технология основывается на опыте и достижениях науки и техники. Она обеспечивает определённый гарантированный уровень качества результата при определённых затратах ресурсов. В данном курсе мы изучаем технологии программирования.
1. История программирования от первых автоматов до первых эвм
1.1. О терминах
Программированиемназывается процесс создания программ, управляющих действиями объекта управления (машины, механизма, человека, предприятия и т.п.). Объект, действующий по заданной программе, называетсяпрограммно управляемым, а если он самостоятельно исполняет программу, то он называетсяавтоматом.
Здесь нам предстоит разобраться с терминами «машина», «автомат», «программа» и «алгоритм».
Машина(лат.machina– «механизм, устройство, конструкция», от др.‑греч.μηχανη mechane– «двигать») – техническое устройство, выполняющее определённые действия для преобразования энергии, материалов и информации. В современном понимании машина может и не содержать механически движущихся частей. Примерами таких устройств могут служить электронно-вычислительная машина, электрический трансформатор, ускоритель заряженных частиц, квантовый компьютер1.
Автомат(от др.-греч. αὐτόματος – самодействующий) – машина, самостоятельно, без непосредственного участия человека выполняющая по заданной программе все операции в процессах получения, преобразования, передачи и использования энергии, материалов или информации2.
Программа(от др.-греч.προ– пред,γράμμα– запись) – термин, в переводе означающий «предписание», то есть описание предстоящих событий или действий. Данное понятие относится не только к машинам, но и к людям, и к государственным, общественным и экономическим структурам. В этом качестве понятие «программа» давно и широко используется3.
Понятия «программа» и «алгоритм» и в литературе, и в справочниках определяются практически одинаково:
АЛГОРИТМ – способ (программа) решения вычислительных и др. задач, точно предписывающий, как и в какой последовательности получить результат, определяемый исходными данными. Алгоритм – одно из основных понятий математики и кибернетики4. Часто в качестве исполнителя алгоритма выступает некоторый механизм (компьютер, токарный станок, швейная машина), но понятие алгоритма необязательно относится к компьютерным программам, так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек5.
Само слово «алгоритм» происходит от имени учёного Мухаммеда ибн Муса аль-Хорезми (из Хорезма), работавшего в Багдаде в 819–850 гг. Около 825 года он написал сочинение по арифметике «Книга об индийском счёте», в котором впервые дал описание придуманной в Индии позиционной десятичной системы счисления и сформулировал правила вычислений в новой системе. В первой половине XII века книга аль-Хорезми в латинском переводе проникла в Европу под названием Algoritmi de numero Indorum(«Аль-Хорезми о счёте индийском»). Ничего не зная об аль-Хорезми, европейские авторы решили, чтоalgoritmi(алгоритмы) и есть правила счёта с помощью цифр. Впоследствии это понятие распространилось на все правила вычисления в математике6. Лишь с информатизацией общества оно вышло за узкие рамки круга специалистов.
В программировании же для компьютеров эти понятия различаются.
Алгоритм– это конечноеописаниедействий и порядка их выполнениядля решения поставленной задачи. В этом описании не указано, кем или чем должен выполняться алгоритм. Предполагается только, что каждое действие в этом описании реально выполнимо за ограниченный промежуток времени («за конечное время», «за конечное число шагов»).
Программаже – это предписание, которое полностью могут выполнить автоматические устройства определённого типа.