Фрагмент для ознакомления
1
Оглавление
Введение 3
1. История возникновения языков программирования 5
1.1. Краткая история и классификация языков программирования 5
1.2. Описание процедурных языков программирования 10
Выводы по главе 16
2. Теоретические основы императивного программирования. 17
2.1. Императивная парадигма программирования 17
2.2. Принципы императивного программирования 20
2.3. Языки императивного программирования 21
2.4. Виды императивного программирования 22
2.5. Парадигмы императивного стиля программирования 23
2.6. Сравнение императивного и декларативного программирования 26
2.7. Примеры использования парадигм 27
Выводы по главе 29
Заключение 30
Список литературы 32
Фрагмент для ознакомления
2
Введение
Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 1940-х годах.
Теоретической моделью процедурного программирования служит алгоритмическая система под названием Машина Тьюринга.
Машина Тьюринга (МТ) – абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.
Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча – Тьюринга, способна имитировать все другие исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.
Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи.
Основным является оператор присваивания, служащий для изменения содержимого областей памяти.
Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании.
Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, то есть значений исходных данных, в заключительное, то есть в результаты.
Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней.
Процедурный язык программирования предоставляет возможность программисту определять каждый шаг в процессе решения задачи.
Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом.
Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов.
Актуальность данной работы высока, так как со времени создания первых программируемых машин человечество придумало уже более двух с половиной тысяч языков программирования и каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования
Цель курсовой работы:
- расссмотреть историю развития
- изучить особенности применения императивного программирования
Задачи исследования:
1. Ознакомления с языками функционального программирования.
2. Рассмотрение истории развития функциональных языков программирования.
3. Обзор современных функциональных языков программирования
Объект курсовой работы-среда программирования
Предмет курсовой работы анализ парадигм императивного программирования
Метод изучения темы курсовой работы- аналитический и статистический.
Цели и задачи курсовой работы определяют её структуру.
1. История возникновения языков программирования
Первые языки программирования были очень примитивными и мало чем отличались от формализованных упорядоченных последовательностей единиц и нулей, понятных компьютеру.
Использование таких языков было крайне неудобно с точки зрения программиста, так как он должен был знать числовые коды всех машинных команд, должен был сам распределять память под команды программы и данные.
1.1. Краткая история и классификация языков программирования
Для того, чтобы облегчить общение человека с ЭВМ были созданы языки программирования типа Ассемблер.
Переменные величины стали изображаться символическими именами. Числовые коды операций заменились на мнемонические обозначения, которые легче запомнить. Язык программирования приблизился к человеческому языку, и отдалился от языка машинных команд.Один из первых языков программирования - Фортран (Formula Translation) был создан в середине 50-х годов. Благодаря своей простоте и тому, что на этом языке накоплены большие библиотеки программ Фортран и в наши дни остается одним из самых распространенных.
Он используется для инженерных и научных расчетов, для решения задач физики и других наук с развитым математическим аппаратом.[17,19]
Для решения экономических задач был создан язык программирования – Кобол.Расширение областей применения ЭВМ влечет за собой создание языков, ориентированных на новые сферы применения: Снобол – алгоритмический язык для обработки текстовой информации, Лисп – алгоритмический язык для обработки символов. Лисп находит широкое применение в исследованиях по созданию искусственного интеллекта.В 1968 г. был объявлен конкурс на лучший язык программирования для обучения студентов.
Победителем стал язык Алгол-68, но широкого распространения не получил. Для этого конкурса Никлаус Вирт создал язык Паскаль, достаточно простой, удобный, с наличием мощных средств структурирования данных.
Фрагмент для ознакомления
3
Список литературы
1. Александр Волчек GeekBrains - образование в IT https://gb.ru/blog/imperativnoe-programmirovanie/
2. В. В. Кручинин «Процедурно - ориентированное программирование» (Томск 2006) https://ie.tusur.ru/books/ProgDevelTech/index.htm
3. Алексеев Е.Г., Богатырев С.Д. Информатика. Мультимедийный электронный учебник https://nashaucheba.ru/v11791/ алексеев _е.г._электронный_учебник_по_информатике
4. Программирование. Методология программирования http://izi.vlsu.ru/files/teach/books/905/theory.html
5. Что такое парадигмы программирования и зачем они нужны. Статья https://skillbox.ru/media/code/chto_takoe_paradigmy_programmirovania/
6. Современные языки программирования(Парадигмы программирования) https://www.evkova.org
7. История развития языков программирования https://www.evkova.org
8. Декларативное и императивное программирование как сообщение из Просто: разработка https://ru.telegram-store.com/catalog/channels prostorazrabotka/884
9. WebDev → Императивное vs Функциональное программирование http://sauron.org.ua/post/1288
10. Dmitry Kudla Декларативное и императивное программирование Перевод статьи Ian Mundy: Declarative vs Imperative Programming https://medium.com/@linus2228/декларативное-и-императивное-программирование-e1d153bc9c28
11. Семен Гринштейн Парадигмы программирования: простое объяснение https://highload.today/uk/
12. Императивное программирование https://megaobuchalka.ru/9/4626 .html
13. Программирование. Методология программирования. http://izi.vlsu.ru/files/teach/books/905/theory.html
14. Tproger Павел Романченко Императивное и декларативное программирование простым языком https://tproger.ru/experts /imperative-and-declarative-programming/
15. OTUS JOURNAL Императивное и декларативное программирование https://otus.ru/journal/imperativnoe-i-deklarativnoe-programmirovanie/
16. Анна Евкова Современные языки программирования (Императивная модель) https://www.evkova.org /sovremennyie-yazyiki-programmirovaniya -imperativnaya-model
17. Современные языки программирования и их использование. - URL: http://wiki.iteach.ru/index.php/Современные_языки_программировани и_их_использование
18. Урок 4 Языки программирования. - URL: http://os39inf.ucoz.ru/Uroki_11kl/Urok4_11kl_Jaziki_Prog.doc
19. В.М.Дёмкин ИМПЕРАТИВНОЕ ПРОГРАММИРОВАНИЕ в примерах на C++ https://www.hse.ru/data/2013/11/19/1239097584 /Императивное%20программирование.pdf
20. Учебные материалы Парадигмы и стили программирования https://works.doklad.ru/view/R-a9Pnro6jk/3.html
21. Процедурное программирование https://studall.org/all-113577.html
22. Императивное программирование https://prognote.ru/other/imperative-programming/
23. Программа по выбору языка программирования : https: //www.bibliofond.ru/view.aspx?id=551425
24. Императивное программирование https://www.hmong. Press /wiki/ Imperative _programming
25. Стили программирования https://nashaucheba.ru/v5431