Similar presentations:
Первые языки программирования
1.
Дисциплина« Основы алгоритмизации
и программирования »
Кафедра цифровой экономики
Гринева Елизавета Сергеевна,
преподаватель
14 декабря 2022 г.
2.
Цель занятия:1. Познакомиться с первыми языками программирования
2. Обзор языков программирования. Области применения
языков программирования. Стандарты языков
программирования. Среда проектирования. Компиляторы
и интерпретаторы.
3.Жизненный цикл программы. Программа. Программный
продукт и его характеристики.
2
3.
Учебные вопросы1.Когда появилось программирование?
2.Какие языки дали основу нынешним?
3.Для чего нужны ЯП?
3
4.
Список основной литературы1. Родыгин, А.В. Информационные технологии: алгоритмизация и
программирование : [16+] / А.В. Родыгин. – Новосибирск : Новосибирский
государственный технический университет, 2017. – 92 с. : ил., табл. – Режим
доступа: по подписке. – URL: https://biblioclub.ru/
2. Нагаева, И.А. Основы алгоритмизации и программирования: практикум :
[12+] / И.А. Нагаева, И.А. Кузнецов. – Москва ; Берлин : Директ-Медиа,
2021. – 169 с. : схем. – Режим доступа: по подписке. –
URL: https://biblioclub.ru/
4
5.
Списокдополнительной литературы
1. Нагаева, И.А. Алгоритмизация и программирование. Практикум : учебное
пособие : [12+] / И.А. Нагаева, И.А. Кузнецов. – Москва ; Берлин : ДиректМедиа, 2019. – 168 с. : ил., табл. – Режим доступа: по подписке. –
URL: https://biblioclub.ru/
2. Степаненко, Е.В. Информатика: учебное электронное издание /
Е.В. Степаненко, И.Т. Степаненко, Е.А. Нивина ; Тамбовский
государственный технический университет. – Тамбов : Тамбовский
государственный технический университет (ТГТУ), 2018. – 104 с. : табл.,
схем., ил. – Режим доступа: по подписке. – URL: https://biblioclub.ru/
3. Златопольский, Д.М. Программирование: типовые задачи, алгоритмы,
методы : [12+] / Д.М. Златопольский. – 4-е изд. (эл.). – Москва :
Лаборатория знаний, 2020. – 226 с. : ил. – Режим доступа: по подписке. –
URL: https://biblioclub.ru/
5
6.
Развитие языков программирования.Первые языки программирования
Асемблер
В середине 50-х годов под руководством Джона Бэкуса для
фирмы
IBM
был
разработан
алгоритмический
язык
программирования FORTRAN
• С целью некоторой возможной на тот момент унификации языка
язык FORTRAN IV, разработанный в 1966 году, стал первым стандартом,
именуемым FORTRAN 66.
Как альтернатива языку FORTRAN, первоначально ориентированному на
архитектуру IBM, под руководством Питера Наура в конце 50-х годов был
разработан язык ALGOL (ALGOrithmic Language).
• Язык PL 1, первые версии которого появились в начале 60-х годов, был
первоначально ориентирован на IBM 360 и расширял возможности
языка FORTRAN некоторыми средствами языка COBOL, разработанного в эти же
годы.
6
7.
В конце 60-х годов под руководством Найарда и Дала был разработан язык
Simula-67, использующий концепцию пользовательских типов данных.
Фактически это первый язык, применяющий понятие классов.
• В середине 70-х годов Вирт предложил язык Pascal, который сразу стал
широко использоваться
• В это же время по инициативе Министерства обороны США началась
работа по созданию языка высокого уровня, получившего название Ada – в
честь Ады Лавлейс, программистки и дочери лорда Байрона.
• Универсальный язык программирования С был разработан в середине 70-х
годов Денисом Ритчи и Кеном Томпсоном.
• Наряду с алгоритмическими языками параллельно развивались и языки,
предназначаемые для обработки деловой информации, а также языки
искусственного интеллекта. К первым относится язык COBOL (COmmon
Business Oriented Language.
• а ко вторым – языки LISP (LISt Processing)
• И PROLOG
• Появляются языки, ориентированные на создание серверных приложений,
такие как Java, Perl и PHP, языки описания документов – HTML и XML.
7
8.
Области применения языков программирования• научные вычисления (языки C++, FORTRAN,
Java);
• системное программирование (языки C++,
Java);
• обработка информации (языки C++, COBOL,
Java);
• искусственный интеллект (LISP, Prolog);
• издательская деятельность (Postscript, TeX);
• удаленная обработка информации (Perl, PHP,
Java, C++);
• описание документов (HTML, XML).
8
9.
С течением времени одни языки развивались, приобреталиновые черты и остались востребованы, другие утратили
свою актуальность и сегодня представляют в лучшем
случае чисто теоретический интерес. В значительной
степени это связано с такими факторами, как:
• наличие среды программирования, поддерживающей
разработку
приложений
на
конкретном
языке
программирования;
• удобство сопровождения и тестирования программ;
• стоимость разработки с применением конкретного языка
программирования;
• четкость и ортогональность конструкций языка;
• применение объектно-ориентированного подхода.
9
10.
Парадигмы программирования10
11.
Процедурные языки, которые представляют собой последовательность выполняемых11
операторов. Если рассматривать состояние ПК как состояние ячеек памяти, то процедурный язык –
это последовательность операторов, изменяющих значение одной или нескольких ячеек. К
процедурным языкам относятся FORTRAN, C, Ada, Pascal, Smalltalk и некоторые другие.
Процедурные языки иногда также называются императивными языками. Код программы на
процедурном языке может быть записан следующим образом:
оperator1; operator2; operator3;
Аппликативные языки, в основу которых положен функциональный подход. Язык
рассматривается с точки зрения нахождения функции, необходимой для перевода памяти ПК из
одного состояния в другое. Программа представляет собой набор функций, применяемых к
начальным данным, позволяющий получить требуемый результат. К аппликативным
языкам относится язык LISP. Код программы на аппликативном языке может быть записан
следующим образом:
function1(function2(
function3(beginning_date)));
Языки системы правил, называемые также языками логического программирования, основываются на
определении набора правил, при выполнении которых возможно выполнение определенных действий.
Правила могут задаваться в виде утверждений и в виде таблиц решений. К языкам логического
программирования относится язык Prolog.
Код программы на языке системы правил может быть записан следующим образом:
if condition1 then operator1;
if condition2 then operator2;
if condition3 then operator3;
Объектно-ориентированные языки, основанные на построении объектов как набора данных и
операций над ними. Объектно-ориентированные языки объединяют и расширяют возможности,
присущие процедурным и аппликативным языкам. К объектно-ориентированным языкам относятся
C++, Object Pascal, Java.
12.
Среда проектирования• С развитием языков программирования совершенствовались и средства
разработки программ – от режима командной строки до интегрированной среды
проектирования. Такая среда предоставляет удобный графический интерфейс разработки
и большой спектр сервисов, включающих управление версиями хранимых данных,
утилиты просмотра и управления информацией, библиотеки классов, мастера создания
шаблонов приложений и т.п.
• Компилятор языка программирования выступает как составная часть среды
проектирования. Сама программа наряду с конструкциями, предусмотренными
стандартом, как правило, использует библиотечные функции и классы, предоставляемые
средой
проектирования.
Так,
интегрированная
среда
разработки
VisualStudio.NET
содержит
библиотеку
классов MFC (Microsoft Foundation Classes), значительно упрощающую процесс
разработки приложений, использующих оконный интерфейс.
• Интегрированная среда проектирования VisualStudio.NET позволяет создавать и
компилировать приложения на языках C++, C#, Visual Basic и VisualJ. Для разработки
приложений на языке С++ предназначается также среда CBuilder.
• Для проектирования приложений на языке Object Pascal используется
интегрированная среда проектирования Delphi.
• Наиболее удобной средой разработки программ на языке Java является
интегрированная среда проектирования JBuilder.
12
13.
С помощью языка программирования создается текст программы,описывающий разработанный алгоритм. Чтобы программа была
выполнена, надо либо весь ее текст перевести в машинный код (это
действие и выполняет программа – компилятор) и затем передать на
исполнение процессору, либо сразу выполнять команды языка,
переводя на машинный язык и исполняя каждую команду поочередно
(этим занимаются программы – интерпретаторы).
Интерпретатор функционирует следующим образом: берет очередной
оператор языка из текста программы, анализирует его структуру и
затем сразу исполняет. После успешного выполнения текущей
команды интерпретатор переходит к анализу и исполнению
следующей. Если один и тот же оператор в программе выполняется
несколько раз, интерпретатор всякий раз воспринимает его так, будто
встретил впервые. Поэтому программы, в которых требуется
произвести большой объем повторяющихся вычислений, будут
работать медленно. Для выполнения программы на другом
компьютере также необходимо установить интерпретатор, так как без
него программа представляет собой набор слов и работать не может.
13
14.
Компиляторы полностью обрабатывают весь текст программы (егоназывают исходным кодом или source code). Они осуществляют поиск
синтаксических ошибок, выполняют семантический анализ и только
затем, если текст программы в точности соответствует правилам
языка, его автоматически переводят (транслируют) на машинный язык
(говорят: генерируют объектный код или object code). Нередко при
этом выполняется оптимизация с помощью набора методов,
позволяющих
повысить
быстродействие
программы.
Сгенерированный объектный код обрабатывается специальной
программой сборщиком или редактором связей, который производит
связывание объектного и машинного кодов. Текст программы
преобразуется в готовый к исполнению ЕХЕ-файл (исполнимый
код), его можно сохранить в памяти компьютера или на диске. Этот
файл имеет самостоятельное значение, и может работать под
управлением операционной системы. Его можно перенести на другие
компьютеры с процессором, поддерживающим соответствующий
машинный код.
14
15.
Совокупность этих программных средств входит в состав системы
программирования:
• Текстовый редактор (необходимый для создания и редактирования
исходного кода программы на языке программирования).
• Компилятор.
• Редактор связей.
• Отладчик.
• Библиотеки функций.
• Справочная система.
15
16.
Процесс создания программы включает:• Составление исходного кода программы (рис. 1) на языке
программирования.
• Этап трансляции, необходимый для создания объектного кода
программы
• Построение загрузочного модуля, готового к исполнению.
16
17.
ПрограммаВ информатике программа определяется как последовательный набор команд, с
помощью которого происходит выполнение действий, после того как они
декодированы при помощи вычислительной машины (компьютера).
Такое определение показывает, что между пользователем и компьютером
должен быть общий язык. Язык, благодаря которому возможны такая связь
называется программирование, его и используют создатели программ.
17
18.
1819.
Разница между программой и программнымобеспечением
• Программа — это ограниченный одиночный продукт, работающий в
информационно-вычислительной
сфере,
а
программное
обеспечение — это совокупность отдельных программ, связанных в
одну группу для достижения единого результата.
• Это рассуждение хоть и не показывает разницу по
функциональности между одной программой, которая состоит из
разных компонентов, и объединением разных программ в одну сеть
взаимодействий, но заметна разница только в объёме выполняемых
задач.
19
20.
Программный продукт20
Программный продукт— комплекс взаимосвязанных программ для
решения определенной проблемы (задачи) массового спроса,
подготовленный к реализации как любой вид промышленной
продукции.
Программные продукты могут создаваться как:
- индивидуальная разработка под заказ;
- разработка для массового распространения среди пользователей.
Сопровождение программного продукта — поддержка
работоспособности программного продукта, переход на его новые
версии, внесение изменений, исправление обнаруженных ошибок.
21.
Основными характеристиками программ являются:алгоритмическая сложность (логика алгоритмов обработки информации);
состав и глубина проработки реализованных функций обработки;
полнота и системность функций обработки;
объем файлов программ;
требования к операционной системе и техническим средствам обработки со стороны
программного средства;
объем дисковой памяти;
размер оперативной памяти для запуска программ;
тип процессора;
версия операционной системы;
21
наличие вычислительной сети и др.
22.
Домашние задание(Задание на самоподготовку)
1 Изучить пройденный материал
2 Почитать дополнительную литературу
22